expo-file-system 19.0.14 → 19.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/filesystem/FileSystemModule.kt +1 -1
  4. package/android/src/main/java/expo/modules/filesystem/FileSystemNextRecords.kt +3 -1
  5. package/build/ExpoFileSystem.types.d.ts +10 -0
  6. package/build/ExpoFileSystem.types.d.ts.map +1 -1
  7. package/expo-module.config.json +1 -1
  8. package/ios/FileSystemModule.swift +5 -1
  9. package/ios/FileSystemRecords.swift +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.14/expo.modules.filesystem-19.0.14-sources.jar → 19.0.15/expo.modules.filesystem-19.0.15-sources.jar} +0 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15-sources.jar.md5 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15-sources.jar.sha1 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15-sources.jar.sha256 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15-sources.jar.sha512 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.aar +0 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.aar.md5 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.aar.sha1 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.aar.sha256 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.aar.sha512 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.14/expo.modules.filesystem-19.0.14.module → 19.0.15/expo.modules.filesystem-19.0.15.module} +22 -22
  21. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.module.md5 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.module.sha1 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.module.sha256 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.module.sha512 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.14/expo.modules.filesystem-19.0.14.pom → 19.0.15/expo.modules.filesystem-19.0.15.pom} +1 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.pom.md5 +1 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.pom.sha1 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.pom.sha256 +1 -0
  29. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.15/expo.modules.filesystem-19.0.15.pom.sha512 +1 -0
  30. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml +4 -4
  31. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.md5 +1 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha1 +1 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256 +1 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512 +1 -1
  35. package/package.json +3 -3
  36. package/src/ExpoFileSystem.types.ts +10 -0
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14-sources.jar.md5 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14-sources.jar.sha1 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14-sources.jar.sha256 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14-sources.jar.sha512 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.aar +0 -0
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.aar.md5 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.aar.sha1 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.aar.sha256 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.aar.sha512 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.module.md5 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.module.sha1 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.module.sha256 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.module.sha512 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.pom.md5 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.pom.sha1 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.pom.sha256 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.14/expo.modules.filesystem-19.0.14.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 19.0.15 — 2025-09-22
14
+
15
+ ### 🎉 New features
16
+
17
+ - add `idempotent` option to `downloadFileAsync` ([#39681](https://github.com/expo/expo/pull/39681) by [@vonovak](https://github.com/vonovak))
18
+
13
19
  ## 19.0.14 — 2025-09-13
14
20
 
15
21
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '19.0.14'
7
+ version = '19.0.15'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.filesystem"
11
11
  defaultConfig {
12
12
  versionCode 30
13
- versionName "19.0.14"
13
+ versionName "19.0.15"
14
14
  }
15
15
  }
16
16
 
@@ -74,7 +74,7 @@ class FileSystemModule : Module() {
74
74
  to.javaFile
75
75
  }
76
76
 
77
- if (destination.exists()) {
77
+ if (options?.idempotent != true && destination.exists()) {
78
78
  throw DestinationAlreadyExistsException()
79
79
  }
80
80
 
@@ -19,7 +19,9 @@ data class CreateOptions(
19
19
 
20
20
  data class DownloadOptions(
21
21
  @Field
22
- val headers: Map<String, String> = emptyMap()
22
+ val headers: Map<String, String> = emptyMap(),
23
+ @Field
24
+ val idempotent: Boolean = false
23
25
  ) : Record
24
26
 
25
27
  data class FileInfo(
@@ -123,6 +123,16 @@ export type DownloadOptions = {
123
123
  headers?: {
124
124
  [key: string]: string;
125
125
  };
126
+ /**
127
+ * This flag controls whether the `download` operation is idempotent
128
+ * (safe to call multiple times without error).
129
+ *
130
+ * If `true`, downloading a file that already exists overwrites the previous one.
131
+ * If `false`, an error is thrown when the target file already exists.
132
+ *
133
+ * @default false
134
+ */
135
+ idempotent?: boolean;
126
136
  };
127
137
  /**
128
138
  * Represents a file on the file system.
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoFileSystem.types.d.ts","sourceRoot":"","sources":["../src/ExpoFileSystem.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpoFileSystem.types.d.ts","sourceRoot":"","sources":["../src/ExpoFileSystem.types.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  "publication": {
13
13
  "groupId": "host.exp.exponent",
14
14
  "artifactId": "expo.modules.filesystem",
15
- "version": "19.0.14",
15
+ "version": "19.0.15",
16
16
  "repository": "local-maven-repo"
17
17
  }
18
18
  }
@@ -94,7 +94,11 @@ public final class FileSystemModule: Module {
94
94
  destination = to.url
95
95
  }
96
96
  if FileManager.default.fileExists(atPath: destination.path) {
97
- throw DestinationAlreadyExistsException()
97
+ if options?.idempotent == true {
98
+ try FileManager.default.removeItem(at: destination)
99
+ } else {
100
+ throw DestinationAlreadyExistsException()
101
+ }
98
102
  }
99
103
  try FileManager.default.moveItem(at: fileURL, to: destination)
100
104
  // TODO: Remove .url.absoluteString once returning shared objects works
@@ -10,6 +10,7 @@ struct CreateOptions: Record {
10
10
 
11
11
  struct DownloadOptions: Record {
12
12
  @Field var headers: [String: String]?
13
+ @Field var idempotent: Bool = false
13
14
  }
14
15
 
15
16
  struct FileInfo: Record {
@@ -0,0 +1 @@
1
+ 243397e0d8c3e68d5bce371d9a1ac30805c8b93e4f2940d0ddb312d5056ef292
@@ -0,0 +1 @@
1
+ 5e896d6a549d64430a226c22eb689f3d84f088506657d2985750534e5840f17b1c903a4fee9cd9a915f47a3e6773596b1f33bd388570e9f4fd360ac2d5d54521
@@ -0,0 +1 @@
1
+ 38db39dc4425a365524ef25cca51740a6c671970a34c27bc8da80ad7ef853a97
@@ -0,0 +1 @@
1
+ acbe861a908142be88eae95809a80e51574b5a70c980bc45fa0c1c634972e7ee98ca03d9286e6a2aca0b9b2764e3e92e4f484472a587e9330f1cf9efb3b866a9
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.filesystem",
6
- "version": "19.0.14",
6
+ "version": "19.0.15",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -75,13 +75,13 @@
75
75
  ],
76
76
  "files": [
77
77
  {
78
- "name": "expo.modules.filesystem-19.0.14.aar",
79
- "url": "expo.modules.filesystem-19.0.14.aar",
80
- "size": 386425,
81
- "sha512": "8c00661df12bf3a0124f5bab782d544bef6a0f06340ac9f86c2d3f2c5384d542c242dce0d832f9960da4adb5cd7bbb576bd8fa55a6de439890ee7403efd08fe3",
82
- "sha256": "24ecb7d1223c1ed7b11208f7ba90b688b68f69316b557aa53fa4850560eff347",
83
- "sha1": "d6f2c0f72cd8798791ef0c2427a8dc27451d1c49",
84
- "md5": "393ebd0bb15c84c2251df0dba55049b4"
78
+ "name": "expo.modules.filesystem-19.0.15.aar",
79
+ "url": "expo.modules.filesystem-19.0.15.aar",
80
+ "size": 386747,
81
+ "sha512": "acbe861a908142be88eae95809a80e51574b5a70c980bc45fa0c1c634972e7ee98ca03d9286e6a2aca0b9b2764e3e92e4f484472a587e9330f1cf9efb3b866a9",
82
+ "sha256": "38db39dc4425a365524ef25cca51740a6c671970a34c27bc8da80ad7ef853a97",
83
+ "sha1": "795f2aa667934af20b277058a973e66e567aabd5",
84
+ "md5": "65a90c8c307beb7e905d5d1b87f47f71"
85
85
  }
86
86
  ]
87
87
  },
@@ -153,13 +153,13 @@
153
153
  ],
154
154
  "files": [
155
155
  {
156
- "name": "expo.modules.filesystem-19.0.14.aar",
157
- "url": "expo.modules.filesystem-19.0.14.aar",
158
- "size": 386425,
159
- "sha512": "8c00661df12bf3a0124f5bab782d544bef6a0f06340ac9f86c2d3f2c5384d542c242dce0d832f9960da4adb5cd7bbb576bd8fa55a6de439890ee7403efd08fe3",
160
- "sha256": "24ecb7d1223c1ed7b11208f7ba90b688b68f69316b557aa53fa4850560eff347",
161
- "sha1": "d6f2c0f72cd8798791ef0c2427a8dc27451d1c49",
162
- "md5": "393ebd0bb15c84c2251df0dba55049b4"
156
+ "name": "expo.modules.filesystem-19.0.15.aar",
157
+ "url": "expo.modules.filesystem-19.0.15.aar",
158
+ "size": 386747,
159
+ "sha512": "acbe861a908142be88eae95809a80e51574b5a70c980bc45fa0c1c634972e7ee98ca03d9286e6a2aca0b9b2764e3e92e4f484472a587e9330f1cf9efb3b866a9",
160
+ "sha256": "38db39dc4425a365524ef25cca51740a6c671970a34c27bc8da80ad7ef853a97",
161
+ "sha1": "795f2aa667934af20b277058a973e66e567aabd5",
162
+ "md5": "65a90c8c307beb7e905d5d1b87f47f71"
163
163
  }
164
164
  ]
165
165
  },
@@ -173,13 +173,13 @@
173
173
  },
174
174
  "files": [
175
175
  {
176
- "name": "expo.modules.filesystem-19.0.14-sources.jar",
177
- "url": "expo.modules.filesystem-19.0.14-sources.jar",
178
- "size": 28550,
179
- "sha512": "b8f0a84aa8f6377f6fb162699e663d8e9de63caff453a37513e1cfeeaaa050261f8ae32032f15e8968e8591d518531d46e8e549c745b2998ee16fc7578903872",
180
- "sha256": "267e88a3c5d6745c834050282f9a45c0305f51c7b8554e18e0b68a16ab337edb",
181
- "sha1": "1c9d91c71b0534cc4967a352ccb7864aa71054c1",
182
- "md5": "792cb40c62c2c908a410b672981f14b0"
176
+ "name": "expo.modules.filesystem-19.0.15-sources.jar",
177
+ "url": "expo.modules.filesystem-19.0.15-sources.jar",
178
+ "size": 28571,
179
+ "sha512": "5e896d6a549d64430a226c22eb689f3d84f088506657d2985750534e5840f17b1c903a4fee9cd9a915f47a3e6773596b1f33bd388570e9f4fd360ac2d5d54521",
180
+ "sha256": "243397e0d8c3e68d5bce371d9a1ac30805c8b93e4f2940d0ddb312d5056ef292",
181
+ "sha1": "8de8a89b5e329ae1f0989a09d1fc13fe6b672fb5",
182
+ "md5": "e4ed87add3090ef9b1f273d33bc37969"
183
183
  }
184
184
  ]
185
185
  }
@@ -0,0 +1 @@
1
+ 8a122e20c3496ba05ce6a47b5505fa9fdd756c2a41d5b47376a58c3686485e1a
@@ -0,0 +1 @@
1
+ 9a660930a1f487c38b1bb23f51eb84ba9d44e98e41041e8116785f1b026850ab2aa65cfadf4b7e881ff230ef43689c78fe92dd5a081cb02468b94ce857a8e3c0
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.filesystem</artifactId>
12
- <version>19.0.14</version>
12
+ <version>19.0.15</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.filesystem</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ bc5aad17ac0c14a65fa0d1cbd707e397ad87855cda5ee7ec90c18ef319105790
@@ -0,0 +1 @@
1
+ 9fc3e1e35258de6ed24367b89ebd600ba65f09a12ed80d5699f3f161efd687d4e36a0c46633ff6b3d43509e2ef1fae3458e467cc3976a2ddddd2a5dd9a993dbf
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.filesystem</artifactId>
5
5
  <versioning>
6
- <latest>19.0.14</latest>
7
- <release>19.0.14</release>
6
+ <latest>19.0.15</latest>
7
+ <release>19.0.15</release>
8
8
  <versions>
9
- <version>19.0.14</version>
9
+ <version>19.0.15</version>
10
10
  </versions>
11
- <lastUpdated>20250913004535</lastUpdated>
11
+ <lastUpdated>20250922222656</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- a333767b64e790cef5812ef36ff1a53c
1
+ a08705e104bf3a3a429e74130057d2cc
@@ -1 +1 @@
1
- 20b88d8f4e94ebc41ef40424b0f23fbf7522c207
1
+ 1a08d359f25fe0e05ddab478bc5674d5613bff84
@@ -1 +1 @@
1
- 0a4d02a5cdb1644d8dc7d2b60aa3cb1ed6621bca577402f87cd1f5a43078596f
1
+ 1b96b0a5aee52850d256c440c7b1f0551ff55e7b9d97ddb8ee824c10d58b7d74
@@ -1 +1 @@
1
- 8c0a3b7144ba617e6fb2a364f07bcc71b01cf9d889f1a2bae10ee35cc4cdd096a3dc31c5f9a12a515273acd4c4229b0554847e4b27796f24bcc72d5c5b893571
1
+ e56211b815de4697d1fb6341550a2fa3e0015466daf2ce8440953e457aee1307b2700912284ee69f5ed5afd2fbd21a6800385efc24de868b4f4cefd3200955aa
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "19.0.14",
3
+ "version": "19.0.15",
4
4
  "description": "Provides access to the local file system on the device.",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -36,11 +36,11 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "expo-module-scripts": "^5.0.7",
39
- "jest-expo": "~54.0.11"
39
+ "jest-expo": "~54.0.12"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "expo": "*",
43
43
  "react-native": "*"
44
44
  },
45
- "gitHead": "c59b0b711af9b43cf17abe7613ce1c2f42808ec3"
45
+ "gitHead": "6523053d0d997d2a21f580d2752b2f873c122038"
46
46
  }
@@ -138,6 +138,16 @@ export type DownloadOptions = {
138
138
  headers?: {
139
139
  [key: string]: string;
140
140
  };
141
+ /**
142
+ * This flag controls whether the `download` operation is idempotent
143
+ * (safe to call multiple times without error).
144
+ *
145
+ * If `true`, downloading a file that already exists overwrites the previous one.
146
+ * If `false`, an error is thrown when the target file already exists.
147
+ *
148
+ * @default false
149
+ */
150
+ idempotent?: boolean;
141
151
  };
142
152
 
143
153
  /**
@@ -1 +0,0 @@
1
- 267e88a3c5d6745c834050282f9a45c0305f51c7b8554e18e0b68a16ab337edb
@@ -1 +0,0 @@
1
- b8f0a84aa8f6377f6fb162699e663d8e9de63caff453a37513e1cfeeaaa050261f8ae32032f15e8968e8591d518531d46e8e549c745b2998ee16fc7578903872
@@ -1 +0,0 @@
1
- 24ecb7d1223c1ed7b11208f7ba90b688b68f69316b557aa53fa4850560eff347
@@ -1 +0,0 @@
1
- 8c00661df12bf3a0124f5bab782d544bef6a0f06340ac9f86c2d3f2c5384d542c242dce0d832f9960da4adb5cd7bbb576bd8fa55a6de439890ee7403efd08fe3
@@ -1 +0,0 @@
1
- eecf5516375a4abc683cacd8e33d0edb519a35ebab73b241eaafbed6219e0054
@@ -1 +0,0 @@
1
- 116448828814b6d0bcd937277454728e24c190c87395ef81141e69d107a391e0246ea6e0d43fe897c2142ea762a713f487ac6db598ff5b4b85ac63b3b732ca3b
@@ -1 +0,0 @@
1
- f5f7c4bc990af9cd2105e939e55c724ddc69973731d948631236d4efb4a0e226
@@ -1 +0,0 @@
1
- 7cb5ca682959a4fdfd8a14127e912e06ed0bf11699f97afff790354a9b3d0ef0dad39ff7314f85f3b41b1bca9dec0b82b0abd6e665a11adb9857846324f4a3ab