expo-file-system 19.0.13 → 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 (54) hide show
  1. package/CHANGELOG.md +10 -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.13/expo.modules.filesystem-19.0.13-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.13/expo.modules.filesystem-19.0.13.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.13/expo.modules.filesystem-19.0.13.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.13/expo.modules.filesystem-19.0.13-sources.jar.md5 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13-sources.jar.sha1 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13-sources.jar.sha256 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13-sources.jar.sha512 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.aar +0 -0
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.aar.md5 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.aar.sha1 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.aar.sha256 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.aar.sha512 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.module.md5 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.module.sha1 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.module.sha256 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.module.sha512 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.pom.md5 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.pom.sha1 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.pom.sha256 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.13/expo.modules.filesystem-19.0.13.pom.sha512 +0 -1
  54. /package/android/src/main/{AndroidManifest.xml → java/expo/modules/filesystem/AndroidManifest.xml} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
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
+
19
+ ## 19.0.14 — 2025-09-13
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 19.0.13 — 2025-09-12
14
24
 
15
25
  ### 🐛 Bug fixes
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '19.0.13'
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.13"
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.13",
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.13",
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.13.aar",
79
- "url": "expo.modules.filesystem-19.0.13.aar",
80
- "size": 386749,
81
- "sha512": "0c08582364a2872800dfba57ac6e6b65d8c3a9c2c40ade9976e7168fe8540c991b0a09c04f01cc414839cfc804025d9e95fb26e26beb9212ceaad9904c6fd0dc",
82
- "sha256": "f86d2bfd5970e0f219f7144fd936c241a2f3d69ff33a564cd0a9400c5dbee5fa",
83
- "sha1": "6aed4f34eaf5a7174835a505a5555aa38dae422b",
84
- "md5": "5c13d9b55c1033ea981f6d15f046c27b"
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.13.aar",
157
- "url": "expo.modules.filesystem-19.0.13.aar",
158
- "size": 386749,
159
- "sha512": "0c08582364a2872800dfba57ac6e6b65d8c3a9c2c40ade9976e7168fe8540c991b0a09c04f01cc414839cfc804025d9e95fb26e26beb9212ceaad9904c6fd0dc",
160
- "sha256": "f86d2bfd5970e0f219f7144fd936c241a2f3d69ff33a564cd0a9400c5dbee5fa",
161
- "sha1": "6aed4f34eaf5a7174835a505a5555aa38dae422b",
162
- "md5": "5c13d9b55c1033ea981f6d15f046c27b"
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.13-sources.jar",
177
- "url": "expo.modules.filesystem-19.0.13-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.13</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.13</latest>
7
- <release>19.0.13</release>
6
+ <latest>19.0.15</latest>
7
+ <release>19.0.15</release>
8
8
  <versions>
9
- <version>19.0.13</version>
9
+ <version>19.0.15</version>
10
10
  </versions>
11
- <lastUpdated>20250912154224</lastUpdated>
11
+ <lastUpdated>20250922222656</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- af1fcfbf42062e89cd4ec2b81ce2fdf5
1
+ a08705e104bf3a3a429e74130057d2cc
@@ -1 +1 @@
1
- aaca3f6d640d6ad46b68b9989bac021a7dfc19ae
1
+ 1a08d359f25fe0e05ddab478bc5674d5613bff84
@@ -1 +1 @@
1
- 9ea0ec8362b16ffb4466b92df3ed3c956acebc78f53b012dbcdab51ce03597fd
1
+ 1b96b0a5aee52850d256c440c7b1f0551ff55e7b9d97ddb8ee824c10d58b7d74
@@ -1 +1 @@
1
- 835d8c01768d20834ed746e3d17150b7cb31a3a2cf683be84107ca6fa556a7971ed1418039ba68db7d9577cb6d0bbfa17db861caba50cb2efc0a1e08412b6873
1
+ e56211b815de4697d1fb6341550a2fa3e0015466daf2ce8440953e457aee1307b2700912284ee69f5ed5afd2fbd21a6800385efc24de868b4f4cefd3200955aa
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "19.0.13",
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": "33f49d0f802b101fd61ac0eedcb1ce35b0adde51"
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
- f86d2bfd5970e0f219f7144fd936c241a2f3d69ff33a564cd0a9400c5dbee5fa
@@ -1 +0,0 @@
1
- 0c08582364a2872800dfba57ac6e6b65d8c3a9c2c40ade9976e7168fe8540c991b0a09c04f01cc414839cfc804025d9e95fb26e26beb9212ceaad9904c6fd0dc
@@ -1 +0,0 @@
1
- 5c7c00b2b02afc7600d80a9db4293810435469b4f6f2337c6b9770b8be10eb81
@@ -1 +0,0 @@
1
- 2f9f60e8c9236ae8c4c86b8e01829a5fc4cfbcff973b4e131fb26c95bbee6ba4f33009600880982c69484aa30d06c02147a07da41df8b029030f975d4b70b324
@@ -1 +0,0 @@
1
- c03e3e66b47508bcbbd47810330af197cb6512f36197cca000b34b2b92bb3c83
@@ -1 +0,0 @@
1
- 2af60888ccf508f41914f179666a7d4486a6e21ea9c5dee0f1274e96fa8bbb7bc5de87f0cc87040db020d6ba5454d3df48786fecabd85a9e5d1fa20c798afa94