expo-file-system 19.0.20 → 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 +9 -6
  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.20/expo.modules.filesystem-19.0.20.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.20/expo.modules.filesystem-19.0.20.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.20/expo.modules.filesystem-19.0.20.aar +0 -0
  35. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.aar.md5 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.aar.sha1 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.aar.sha256 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.aar.sha512 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.module.md5 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.module.sha1 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.module.sha256 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.module.sha512 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.pom.md5 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.pom.sha1 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.pom.sha256 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.20/expo.modules.filesystem-19.0.20.pom.sha512 +0 -1
  47. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.20/expo.modules.filesystem-19.0.20-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.20/expo.modules.filesystem-19.0.20-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.20/expo.modules.filesystem-19.0.20-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.20/expo.modules.filesystem-19.0.20-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.20/expo.modules.filesystem-19.0.20-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,11 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
- ## 19.0.20 2025-12-05
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
14
16
 
15
17
  _This version does not introduce any user-facing changes._
16
18
 
17
- ## 19.0.19 2025-11-18
19
+ ## 19.0.19 - 2025-11-18
18
20
 
19
21
  ### 🎉 New features
20
22
 
@@ -24,28 +26,29 @@ _This version does not introduce any user-facing changes._
24
26
 
25
27
  - [iOS] Add missing `createFile` and `createDirectory` methods. ([#40314](https://github.com/expo/expo/pull/40314) by [@jakex7](https://github.com/jakex7))
26
28
 
27
- ## 19.0.18 2025-11-17
29
+ ## 19.0.18 - 2025-11-17
28
30
 
29
31
  _This version does not introduce any user-facing changes._
30
32
 
31
- ## 19.0.17 2025-10-09
33
+ ## 19.0.17 - 2025-10-09
32
34
 
33
35
  ### 🐛 Bug fixes
34
36
 
35
37
  - [Android] Fix recursive file deletion. ([#40248](https://github.com/expo/expo/pull/40248) by [@aleqsio](https://github.com/aleqsio))
36
38
 
37
- ## 19.0.16 2025-10-01
39
+ ## 19.0.16 - 2025-10-01
38
40
 
39
41
  ### 🎉 New features
40
42
 
41
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))
42
45
 
43
46
  ### 🐛 Bug fixes
44
47
 
45
48
  - Fix typedoc in the File class. ([#40064](https://github.com/expo/expo/pull/40064) by [@aleqsio](https://github.com/aleqsio))
46
49
  - [Android] Fix getContentUri. ([#40001](https://github.com/expo/expo/pull/40001) by [@aleqsio](https://github.com/aleqsio))
47
50
 
48
- ## 19.0.15 2025-09-22
51
+ ## 19.0.15 - 2025-09-22
49
52
 
50
53
  ### 🎉 New features
51
54
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '19.0.20'
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.20"
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.20",
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.20",
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.20.aar",
79
- "url": "expo.modules.filesystem-19.0.20.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.20.aar",
157
- "url": "expo.modules.filesystem-19.0.20.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.20-sources.jar",
177
- "url": "expo.modules.filesystem-19.0.20-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.20</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.20</latest>
7
- <release>19.0.20</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.20</version>
9
+ <version>19.0.21-canary-20251205-756eb7a</version>
10
10
  </versions>
11
- <lastUpdated>20251205064601</lastUpdated>
11
+ <lastUpdated>20251205115945</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 5d9d2ee98042af347badd51da0c4aa23
1
+ 070276362e9ac31bc170290bef724d2e
@@ -1 +1 @@
1
- f8ce7295c9cb666f34750fde98cb43d3628bd2b0
1
+ 34c5ca5c5ed6f0d2ce308eab3b1c390ed2c8d6bd
@@ -1 +1 @@
1
- 44a1ffc1ec96e9ce9139d46fc0ee6abf83add397a66726bb1e95b46729064504
1
+ a1df0c01c8194094bf39d48932dfc5d4f31926833ffd31fe8f9818c94f5d360d
@@ -1 +1 @@
1
- 5208f8a8e421837815d0c0dfe9094246e7a2b52f28a381cb722b514eaf0e369740bee5c9843a00752fee578467c1507677101cc0f2149d3b62ff2b66a3747c72
1
+ ab1bad7609efbe545c93ff44997f3d7769b38e1668cac047b50c38465f4f28135f1fe21a9cb5643bd2c0aff0b67e5d12e4bb64895b02d9f8adecee529c3e8758
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "19.0.20",
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.8",
39
- "jest-expo": "~54.0.14"
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": "172a69f5f70c1d0e043e1532f924de97210cabc3"
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
- 4556183ff6f893f0e922f60e81727787162ddeb50fe171b89e2f0e4b5294799c
@@ -1 +0,0 @@
1
- cc834281d4a8058c1d1d6418931086ea6c222adde6d1abf39efedcddd00a48534842a3cdb14cb3b600b8f6159bdd4d3ca2d22b34dbdbcbb1de6783e5b513e755
@@ -1 +0,0 @@
1
- d09aa17abc8b88a5dd2ac40d04629dbd0f312081a6f0e16e1f12bfd2338033bc
@@ -1 +0,0 @@
1
- 27e59d8f55047a37824637b053d11f06216a97c5661e498e6c82f20ece064db1b5c13bab4cbcbd001c1803a7036f9414b2562163a2ee778ddc60baa47bc31d1e