expo-file-system 19.0.19 → 19.0.21-canary-20251205-756eb7a

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 (51) hide show
  1. package/CHANGELOG.md +12 -5
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/AndroidManifest.xml +2 -2
  4. package/build/ExpoFileSystem.d.ts +3 -1
  5. package/build/ExpoFileSystem.d.ts.map +1 -1
  6. package/expo-module.config.json +1 -1
  7. package/ios/FileSystemModule.swift +2 -2
  8. package/ios/Legacy/FileSystemHelpers.swift +2 -2
  9. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar +0 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar.md5 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar.sha1 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar.sha256 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar.sha512 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19.module → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.module} +18 -18
  15. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.module.md5 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.module.sha1 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.module.sha256 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.module.sha512 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19.pom → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.pom} +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.pom.md5 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.pom.sha1 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.pom.sha256 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.pom.sha512 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml +4 -4
  25. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.md5 +1 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha1 +1 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256 +1 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512 +1 -1
  29. package/package.json +5 -6
  30. package/plugin/build/withFileSystem.d.ts +5 -1
  31. package/plugin/build/withFileSystem.js +13 -2
  32. package/plugin/src/withFileSystem.ts +25 -3
  33. package/src/ExpoFileSystem.ts +3 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.aar +0 -0
  35. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.aar.md5 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.aar.sha1 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.aar.sha256 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.aar.sha512 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.module.md5 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.module.sha1 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.module.sha256 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.module.sha512 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.pom.md5 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.pom.sha1 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.pom.sha256 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.19/expo.modules.filesystem-19.0.19.pom.sha512 +0 -1
  47. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19-sources.jar → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar} +0 -0
  48. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19-sources.jar.md5 → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar.md5} +0 -0
  49. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19-sources.jar.sha1 → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar.sha1} +0 -0
  50. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19-sources.jar.sha256 → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar.sha256} +0 -0
  51. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.19/expo.modules.filesystem-19.0.19-sources.jar.sha512 → 19.0.21-canary-20251205-756eb7a/expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,7 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
- ## 19.0.19 2025-11-18
13
+ - [Android] Add `android:maxSdkVersion` annotation to `READ_EXTERNAL_STORAGE` and `WRITE_EXTERNAL_STORAGE` permissions. ([#40976](https://github.com/expo/expo/pull/40976) by [@behenate](https://github.com/behenate))
14
+
15
+ ## 19.0.20 - 2025-12-05
16
+
17
+ _This version does not introduce any user-facing changes._
18
+
19
+ ## 19.0.19 - 2025-11-18
14
20
 
15
21
  ### 🎉 New features
16
22
 
@@ -20,28 +26,29 @@
20
26
 
21
27
  - [iOS] Add missing `createFile` and `createDirectory` methods. ([#40314](https://github.com/expo/expo/pull/40314) by [@jakex7](https://github.com/jakex7))
22
28
 
23
- ## 19.0.18 2025-11-17
29
+ ## 19.0.18 - 2025-11-17
24
30
 
25
31
  _This version does not introduce any user-facing changes._
26
32
 
27
- ## 19.0.17 2025-10-09
33
+ ## 19.0.17 - 2025-10-09
28
34
 
29
35
  ### 🐛 Bug fixes
30
36
 
31
37
  - [Android] Fix recursive file deletion. ([#40248](https://github.com/expo/expo/pull/40248) by [@aleqsio](https://github.com/aleqsio))
32
38
 
33
- ## 19.0.16 2025-10-01
39
+ ## 19.0.16 - 2025-10-01
34
40
 
35
41
  ### 🎉 New features
36
42
 
37
43
  - Add write options for base64 encoded bytes. ([#39963](https://github.com/expo/expo/pull/39963) by [@aleqsio](https://github.com/aleqsio))
44
+ - [iOS] Add file sharing config options ([#39286](https://github.com/expo/expo/pull/39286) by [@kosmydel](https://github.com/kosmydel))
38
45
 
39
46
  ### 🐛 Bug fixes
40
47
 
41
48
  - Fix typedoc in the File class. ([#40064](https://github.com/expo/expo/pull/40064) by [@aleqsio](https://github.com/aleqsio))
42
49
  - [Android] Fix getContentUri. ([#40001](https://github.com/expo/expo/pull/40001) by [@aleqsio](https://github.com/aleqsio))
43
50
 
44
- ## 19.0.15 2025-09-22
51
+ ## 19.0.15 - 2025-09-22
45
52
 
46
53
  ### 🎉 New features
47
54
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '19.0.19'
7
+ version = '19.0.21-canary-20251205-756eb7a'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.filesystem"
11
11
  defaultConfig {
12
12
  versionCode 30
13
- versionName "19.0.19"
13
+ versionName "19.0.21-canary-20251205-756eb7a"
14
14
  }
15
15
  }
16
16
 
@@ -1,7 +1,7 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
2
2
  <uses-permission android:name="android.permission.INTERNET"/>
3
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
4
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
5
5
  <application>
6
6
  <provider tools:replace="android:authorities" android:name=".FileSystemFileProvider" android:authorities="${applicationId}.FileSystemFileProvider" android:exported="false" android:grantUriPermissions="true">
7
7
  <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_system_provider_paths" />
@@ -1,16 +1,18 @@
1
1
  import { NativeModule } from 'expo-modules-core';
2
- import type { Directory, File, DownloadOptions } from './ExpoFileSystem.types';
2
+ import type { Directory, File, DownloadOptions, PathInfo } from './ExpoFileSystem.types';
3
3
  declare class ExpoFileSystemModule extends NativeModule {
4
4
  FileSystemDirectory: typeof Directory;
5
5
  FileSystemFile: typeof File;
6
6
  downloadFileAsync(url: string, destination: File | Directory, options?: DownloadOptions): Promise<string>;
7
7
  pickDirectoryAsync(initialUri?: string): Promise<Directory>;
8
8
  pickFileAsync(initialUri?: string, mimeType?: string): Promise<File>;
9
+ info(uri: string): PathInfo;
9
10
  totalDiskSpace: number;
10
11
  availableDiskSpace: number;
11
12
  documentDirectory: string;
12
13
  cacheDirectory: string;
13
14
  bundleDirectory: string;
15
+ appleSharedContainers?: Record<string, string>;
14
16
  }
15
17
  declare const _default: ExpoFileSystemModule;
16
18
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoFileSystem.d.ts","sourceRoot":"","sources":["../src/ExpoFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IACrD,mBAAmB,EAAE,OAAO,SAAS,CAAC;IACtC,cAAc,EAAE,OAAO,IAAI,CAAC;IAC5B,iBAAiB,CACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,IAAI,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IAClB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAC3D,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;;AAED,wBAAuE"}
1
+ {"version":3,"file":"ExpoFileSystem.d.ts","sourceRoot":"","sources":["../src/ExpoFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IACrD,mBAAmB,EAAE,OAAO,SAAS,CAAC;IACtC,cAAc,EAAE,OAAO,IAAI,CAAC;IAC5B,iBAAiB,CACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,IAAI,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IAClB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAC3D,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;;AAED,wBAAuE"}
@@ -12,7 +12,7 @@
12
12
  "publication": {
13
13
  "groupId": "host.exp.exponent",
14
14
  "artifactId": "expo.modules.filesystem",
15
- "version": "19.0.19",
15
+ "version": "19.0.21-canary-20251205-756eb7a",
16
16
  "repository": "local-maven-repo"
17
17
  }
18
18
  }
@@ -143,11 +143,11 @@ public final class FileSystemModule: Module {
143
143
  output.exists = false
144
144
  output.isDirectory = nil
145
145
 
146
- guard let permissionsManager: EXFilePermissionModuleInterface = appContext?.legacyModule(implementing: EXFilePermissionModuleInterface.self) else {
146
+ guard let fileSystemManager = appContext?.fileSystem else {
147
147
  return output
148
148
  }
149
149
 
150
- if permissionsManager.getPathPermissions(url.path).contains(.read) {
150
+ if fileSystemManager.getPathPermissions(url.path).contains(.read) {
151
151
  var isDirectory: ObjCBool = false
152
152
  if FileManager.default.fileExists(atPath: url.path, isDirectory: &isDirectory) {
153
153
  output.exists = true
@@ -60,10 +60,10 @@ internal func getResourceValues(from directory: URL?, forKeys: Set<URLResourceKe
60
60
  }
61
61
 
62
62
  internal func ensurePathPermission(_ appContext: AppContext?, path: String, flag: EXFileSystemPermissionFlags) throws {
63
- guard let permissionsManager: EXFilePermissionModuleInterface = appContext?.legacyModule(implementing: EXFilePermissionModuleInterface.self) else {
63
+ guard let fileSystemManager = appContext?.fileSystem else {
64
64
  throw Exceptions.PermissionsModuleNotFound()
65
65
  }
66
- guard permissionsManager.getPathPermissions(path).contains(flag) else {
66
+ guard fileSystemManager.getPathPermissions(path).contains(flag) else {
67
67
  throw flag == .read ? FileNotReadableException(path) : FileNotWritableException(path)
68
68
  }
69
69
  }
@@ -0,0 +1 @@
1
+ a5291613c37278eb20f359b7119621e1046f0c6499b8ba8d98bc7dd3eb3a180312f35de230e1c1c273342e6567dbf98c09f36de8ab54150af58f78e1193d0811
@@ -3,14 +3,14 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.filesystem",
6
- "version": "19.0.19",
6
+ "version": "19.0.21-canary-20251205-756eb7a",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
10
10
  },
11
11
  "createdBy": {
12
12
  "gradle": {
13
- "version": "8.14.3"
13
+ "version": "9.0.0"
14
14
  }
15
15
  },
16
16
  "variants": [
@@ -75,13 +75,13 @@
75
75
  ],
76
76
  "files": [
77
77
  {
78
- "name": "expo.modules.filesystem-19.0.19.aar",
79
- "url": "expo.modules.filesystem-19.0.19.aar",
80
- "size": 393129,
81
- "sha512": "66cca546f6f55437628c6fad443bb817e5c0eef007414292fed3f907c68b11d718a3f3d816ee0ea78835567fdaa5686f525ab9f1a27137d5f799b9459d9719d1",
82
- "sha256": "addebabe9511120923e9a0f4490c31306162dc95ae60cb64867a27847d99dfaf",
83
- "sha1": "0d42a8415fa94ce162b33e740bb63f1602d7cc21",
84
- "md5": "083a9a998bd18c4424272ba3827a26ee"
78
+ "name": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar",
79
+ "url": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar",
80
+ "size": 393132,
81
+ "sha512": "a5291613c37278eb20f359b7119621e1046f0c6499b8ba8d98bc7dd3eb3a180312f35de230e1c1c273342e6567dbf98c09f36de8ab54150af58f78e1193d0811",
82
+ "sha256": "64296d18c5609bd13c32abe79e4cdbc2baa25ceae129b62531a15bf5c68f8a64",
83
+ "sha1": "bc51c8dda80dd8be7a700052d158bae50d9e6d13",
84
+ "md5": "d1496f79ec35ab85452ff33b608b13fd"
85
85
  }
86
86
  ]
87
87
  },
@@ -153,13 +153,13 @@
153
153
  ],
154
154
  "files": [
155
155
  {
156
- "name": "expo.modules.filesystem-19.0.19.aar",
157
- "url": "expo.modules.filesystem-19.0.19.aar",
158
- "size": 393129,
159
- "sha512": "66cca546f6f55437628c6fad443bb817e5c0eef007414292fed3f907c68b11d718a3f3d816ee0ea78835567fdaa5686f525ab9f1a27137d5f799b9459d9719d1",
160
- "sha256": "addebabe9511120923e9a0f4490c31306162dc95ae60cb64867a27847d99dfaf",
161
- "sha1": "0d42a8415fa94ce162b33e740bb63f1602d7cc21",
162
- "md5": "083a9a998bd18c4424272ba3827a26ee"
156
+ "name": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar",
157
+ "url": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a.aar",
158
+ "size": 393132,
159
+ "sha512": "a5291613c37278eb20f359b7119621e1046f0c6499b8ba8d98bc7dd3eb3a180312f35de230e1c1c273342e6567dbf98c09f36de8ab54150af58f78e1193d0811",
160
+ "sha256": "64296d18c5609bd13c32abe79e4cdbc2baa25ceae129b62531a15bf5c68f8a64",
161
+ "sha1": "bc51c8dda80dd8be7a700052d158bae50d9e6d13",
162
+ "md5": "d1496f79ec35ab85452ff33b608b13fd"
163
163
  }
164
164
  ]
165
165
  },
@@ -173,8 +173,8 @@
173
173
  },
174
174
  "files": [
175
175
  {
176
- "name": "expo.modules.filesystem-19.0.19-sources.jar",
177
- "url": "expo.modules.filesystem-19.0.19-sources.jar",
176
+ "name": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar",
177
+ "url": "expo.modules.filesystem-19.0.21-canary-20251205-756eb7a-sources.jar",
178
178
  "size": 29329,
179
179
  "sha512": "6cac7b2fa58a18696e1468e4e9afe7e6092ca1a404351400345349e028cbaeda51386f4303d05372a2be2baf8de77fd97490ea91caa74bfc2a8cfe7b62619bfe",
180
180
  "sha256": "4177d9bd9a22a528b97cc2f2bd7ba47f6cbf7fb1c09d93a1cacdce6f553b05d6",
@@ -0,0 +1 @@
1
+ 5ecd6c08f0caa452f9e55234f391ba50aa4d7eb1759fb280aef98fd30e4b5c44abff4f4ac7861201bd1b8a3eff44c4cdb8ae5a832736b50daa2081023a024c0d
@@ -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.19</version>
12
+ <version>19.0.21-canary-20251205-756eb7a</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
+ d2b9c5b00e8f58041cd3a51335c30879622b2d2d778c59033ead11e8abe1c40d3e654dc2ca07d199f7141de34de539dde1e6836e69a2a6a6028cfa7df1210029
@@ -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.19</latest>
7
- <release>19.0.19</release>
6
+ <latest>19.0.21-canary-20251205-756eb7a</latest>
7
+ <release>19.0.21-canary-20251205-756eb7a</release>
8
8
  <versions>
9
- <version>19.0.19</version>
9
+ <version>19.0.21-canary-20251205-756eb7a</version>
10
10
  </versions>
11
- <lastUpdated>20251118163421</lastUpdated>
11
+ <lastUpdated>20251205115945</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- beae1b25d8445f088e6cf6a14bad3166
1
+ 070276362e9ac31bc170290bef724d2e
@@ -1 +1 @@
1
- 4f66326831559e3af8d0e8f219011d3017d7bdd7
1
+ 34c5ca5c5ed6f0d2ce308eab3b1c390ed2c8d6bd
@@ -1 +1 @@
1
- d57c2792e574c8881703bac21f64002916593f57ac51d3c0e62d035c00b94443
1
+ a1df0c01c8194094bf39d48932dfc5d4f31926833ffd31fe8f9818c94f5d360d
@@ -1 +1 @@
1
- cacfe25d679304708c44a4c00b209888891926dc57722c2cfeb8e28e042a53985082be9453032c5fa3850f925d8f11938ad2c3675412783cee3e6a27f43b4939
1
+ ab1bad7609efbe545c93ff44997f3d7769b38e1668cac047b50c38465f4f28135f1fe21a9cb5643bd2c0aff0b67e5d12e4bb64895b02d9f8adecee529c3e8758
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "19.0.19",
3
+ "version": "19.0.21-canary-20251205-756eb7a",
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",
@@ -35,12 +35,11 @@
35
35
  "preset": "expo-module-scripts"
36
36
  },
37
37
  "devDependencies": {
38
- "expo-module-scripts": "^5.0.7",
39
- "jest-expo": "~54.0.13"
38
+ "expo-module-scripts": "5.1.0-canary-20251205-756eb7a",
39
+ "jest-expo": "55.0.0-canary-20251205-756eb7a"
40
40
  },
41
41
  "peerDependencies": {
42
- "expo": "*",
42
+ "expo": "55.0.0-canary-20251205-756eb7a",
43
43
  "react-native": "*"
44
- },
45
- "gitHead": "aecf0c36c0342e1e050328b86dddfeec0041ec0b"
44
+ }
46
45
  }
@@ -1,3 +1,7 @@
1
1
  import { ConfigPlugin } from 'expo/config-plugins';
2
- declare const _default: ConfigPlugin<void>;
2
+ type FileSystemProps = {
3
+ supportsOpeningDocumentsInPlace?: boolean;
4
+ enableFileSharing?: boolean;
5
+ };
6
+ declare const _default: ConfigPlugin<FileSystemProps>;
3
7
  export default _default;
@@ -2,11 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const config_plugins_1 = require("expo/config-plugins");
4
4
  const pkg = require('expo-file-system/package.json');
5
- const withFileSystem = (config) => {
6
- return config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
5
+ const withFileSystem = (config, options = {}) => {
6
+ // Apply Android permissions
7
+ config = config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
7
8
  'android.permission.READ_EXTERNAL_STORAGE',
8
9
  'android.permission.WRITE_EXTERNAL_STORAGE',
9
10
  'android.permission.INTERNET',
10
11
  ]);
12
+ // Apply iOS modifications
13
+ return (0, config_plugins_1.withInfoPlist)(config, (config) => {
14
+ if ('supportsOpeningDocumentsInPlace' in options) {
15
+ config.modResults.LSSupportsOpeningDocumentsInPlace = options.supportsOpeningDocumentsInPlace;
16
+ }
17
+ if ('enableFileSharing' in options) {
18
+ config.modResults.UIFileSharingEnabled = options.enableFileSharing;
19
+ }
20
+ return config;
21
+ });
11
22
  };
12
23
  exports.default = (0, config_plugins_1.createRunOncePlugin)(withFileSystem, pkg.name, pkg.version);
@@ -1,13 +1,35 @@
1
- import { AndroidConfig, ConfigPlugin, createRunOncePlugin } from 'expo/config-plugins';
1
+ import {
2
+ AndroidConfig,
3
+ ConfigPlugin,
4
+ createRunOncePlugin,
5
+ withInfoPlist,
6
+ } from 'expo/config-plugins';
2
7
 
3
8
  const pkg = require('expo-file-system/package.json');
4
9
 
5
- const withFileSystem: ConfigPlugin = (config) => {
6
- return AndroidConfig.Permissions.withPermissions(config, [
10
+ type FileSystemProps = {
11
+ supportsOpeningDocumentsInPlace?: boolean;
12
+ enableFileSharing?: boolean;
13
+ };
14
+
15
+ const withFileSystem: ConfigPlugin<FileSystemProps> = (config, options = {}) => {
16
+ // Apply Android permissions
17
+ config = AndroidConfig.Permissions.withPermissions(config, [
7
18
  'android.permission.READ_EXTERNAL_STORAGE',
8
19
  'android.permission.WRITE_EXTERNAL_STORAGE',
9
20
  'android.permission.INTERNET',
10
21
  ]);
22
+
23
+ // Apply iOS modifications
24
+ return withInfoPlist(config, (config) => {
25
+ if ('supportsOpeningDocumentsInPlace' in options) {
26
+ config.modResults.LSSupportsOpeningDocumentsInPlace = options.supportsOpeningDocumentsInPlace;
27
+ }
28
+ if ('enableFileSharing' in options) {
29
+ config.modResults.UIFileSharingEnabled = options.enableFileSharing;
30
+ }
31
+ return config;
32
+ });
11
33
  };
12
34
 
13
35
  export default createRunOncePlugin(withFileSystem, pkg.name, pkg.version);
@@ -1,6 +1,6 @@
1
1
  import { NativeModule, requireNativeModule } from 'expo-modules-core';
2
2
 
3
- import type { Directory, File, DownloadOptions } from './ExpoFileSystem.types';
3
+ import type { Directory, File, DownloadOptions, PathInfo } from './ExpoFileSystem.types';
4
4
 
5
5
  declare class ExpoFileSystemModule extends NativeModule {
6
6
  FileSystemDirectory: typeof Directory;
@@ -12,11 +12,13 @@ declare class ExpoFileSystemModule extends NativeModule {
12
12
  ): Promise<string>;
13
13
  pickDirectoryAsync(initialUri?: string): Promise<Directory>;
14
14
  pickFileAsync(initialUri?: string, mimeType?: string): Promise<File>;
15
+ info(uri: string): PathInfo;
15
16
  totalDiskSpace: number;
16
17
  availableDiskSpace: number;
17
18
  documentDirectory: string;
18
19
  cacheDirectory: string;
19
20
  bundleDirectory: string;
21
+ appleSharedContainers?: Record<string, string>;
20
22
  }
21
23
 
22
24
  export default requireNativeModule<ExpoFileSystemModule>('FileSystem');
@@ -1 +0,0 @@
1
- addebabe9511120923e9a0f4490c31306162dc95ae60cb64867a27847d99dfaf
@@ -1 +0,0 @@
1
- 66cca546f6f55437628c6fad443bb817e5c0eef007414292fed3f907c68b11d718a3f3d816ee0ea78835567fdaa5686f525ab9f1a27137d5f799b9459d9719d1
@@ -1 +0,0 @@
1
- eb38c3d587768d2bb6c4875b3ac850e563d5c16bfc72a58caa43d640a98a8d82
@@ -1 +0,0 @@
1
- 994f17cf2e7bafc67a5dfe8da8ddb830fcf84f840de3189001dcd33485030518b0750327667a2654b81decd7141149f20b06049556391c4a4f01566e1a42552a
@@ -1 +0,0 @@
1
- 05cce690d4d0867cb40c77c721fc5a4b230ac7da9cd32f2dde028e2392fa37c6
@@ -1 +0,0 @@
1
- 566ce5c3da79dba6f5d4f7fd9ef02d10857abb2f683b1663103fe8ab2584e62c6195899b2b139e4656f92eb9f7259a8c98b39d82e71b8e5619f5867eaa5efc12