expo-file-system 19.0.21 → 19.0.22-canary-20251216-3f01dbf

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 +10 -9
  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.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar +0 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar.md5 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar.sha1 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar.sha256 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar.sha512 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21.module → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.module} +18 -18
  15. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.module.md5 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.module.sha1 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.module.sha256 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.module.sha512 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21.pom → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.pom} +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.pom.md5 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.pom.sha1 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.pom.sha256 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.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 +18 -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.21/expo.modules.filesystem-19.0.21.aar +0 -0
  35. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.aar.md5 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.aar.sha1 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.aar.sha256 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.aar.sha512 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.module.md5 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.module.sha1 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.module.sha256 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.module.sha512 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.pom.md5 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.pom.sha1 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.pom.sha256 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/19.0.21/expo.modules.filesystem-19.0.21.pom.sha512 +0 -1
  47. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21-sources.jar → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar} +0 -0
  48. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21-sources.jar.md5 → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar.md5} +0 -0
  49. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21-sources.jar.sha1 → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar.sha1} +0 -0
  50. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21-sources.jar.sha256 → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar.sha256} +0 -0
  51. /package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{19.0.21/expo.modules.filesystem-19.0.21-sources.jar.sha512 → 19.0.22-canary-20251216-3f01dbf/expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -8,17 +8,17 @@
8
8
 
9
9
  ### 🐛 Bug fixes
10
10
 
11
- ### 💡 Others
11
+ - [file-system] Fix package exports for Typescript projects ([#39543](https://github.com/expo/expo/pull/39543) by [@smoores-dev](https://github.com/smoores-dev))
12
12
 
13
- ## 19.0.21 — 2025-12-12
13
+ ### 💡 Others
14
14
 
15
- _This version does not introduce any user-facing changes._
15
+ - [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))
16
16
 
17
- ## 19.0.20 2025-12-05
17
+ ## 19.0.20 - 2025-12-05
18
18
 
19
19
  _This version does not introduce any user-facing changes._
20
20
 
21
- ## 19.0.19 2025-11-18
21
+ ## 19.0.19 - 2025-11-18
22
22
 
23
23
  ### 🎉 New features
24
24
 
@@ -28,28 +28,29 @@ _This version does not introduce any user-facing changes._
28
28
 
29
29
  - [iOS] Add missing `createFile` and `createDirectory` methods. ([#40314](https://github.com/expo/expo/pull/40314) by [@jakex7](https://github.com/jakex7))
30
30
 
31
- ## 19.0.18 2025-11-17
31
+ ## 19.0.18 - 2025-11-17
32
32
 
33
33
  _This version does not introduce any user-facing changes._
34
34
 
35
- ## 19.0.17 2025-10-09
35
+ ## 19.0.17 - 2025-10-09
36
36
 
37
37
  ### 🐛 Bug fixes
38
38
 
39
39
  - [Android] Fix recursive file deletion. ([#40248](https://github.com/expo/expo/pull/40248) by [@aleqsio](https://github.com/aleqsio))
40
40
 
41
- ## 19.0.16 2025-10-01
41
+ ## 19.0.16 - 2025-10-01
42
42
 
43
43
  ### 🎉 New features
44
44
 
45
45
  - Add write options for base64 encoded bytes. ([#39963](https://github.com/expo/expo/pull/39963) by [@aleqsio](https://github.com/aleqsio))
46
+ - [iOS] Add file sharing config options ([#39286](https://github.com/expo/expo/pull/39286) by [@kosmydel](https://github.com/kosmydel))
46
47
 
47
48
  ### 🐛 Bug fixes
48
49
 
49
50
  - Fix typedoc in the File class. ([#40064](https://github.com/expo/expo/pull/40064) by [@aleqsio](https://github.com/aleqsio))
50
51
  - [Android] Fix getContentUri. ([#40001](https://github.com/expo/expo/pull/40001) by [@aleqsio](https://github.com/aleqsio))
51
52
 
52
- ## 19.0.15 2025-09-22
53
+ ## 19.0.15 - 2025-09-22
53
54
 
54
55
  ### 🎉 New features
55
56
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '19.0.21'
7
+ version = '19.0.22-canary-20251216-3f01dbf'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.filesystem"
11
11
  defaultConfig {
12
12
  versionCode 30
13
- versionName "19.0.21"
13
+ versionName "19.0.22-canary-20251216-3f01dbf"
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.21",
15
+ "version": "19.0.22-canary-20251216-3f01dbf",
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.21",
6
+ "version": "19.0.22-canary-20251216-3f01dbf",
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.21.aar",
79
- "url": "expo.modules.filesystem-19.0.21.aar",
80
- "size": 393129,
81
- "sha512": "66cca546f6f55437628c6fad443bb817e5c0eef007414292fed3f907c68b11d718a3f3d816ee0ea78835567fdaa5686f525ab9f1a27137d5f799b9459d9719d1",
82
- "sha256": "addebabe9511120923e9a0f4490c31306162dc95ae60cb64867a27847d99dfaf",
83
- "sha1": "0d42a8415fa94ce162b33e740bb63f1602d7cc21",
84
- "md5": "083a9a998bd18c4424272ba3827a26ee"
78
+ "name": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar",
79
+ "url": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.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.21.aar",
157
- "url": "expo.modules.filesystem-19.0.21.aar",
158
- "size": 393129,
159
- "sha512": "66cca546f6f55437628c6fad443bb817e5c0eef007414292fed3f907c68b11d718a3f3d816ee0ea78835567fdaa5686f525ab9f1a27137d5f799b9459d9719d1",
160
- "sha256": "addebabe9511120923e9a0f4490c31306162dc95ae60cb64867a27847d99dfaf",
161
- "sha1": "0d42a8415fa94ce162b33e740bb63f1602d7cc21",
162
- "md5": "083a9a998bd18c4424272ba3827a26ee"
156
+ "name": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.aar",
157
+ "url": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf.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.21-sources.jar",
177
- "url": "expo.modules.filesystem-19.0.21-sources.jar",
176
+ "name": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar",
177
+ "url": "expo.modules.filesystem-19.0.22-canary-20251216-3f01dbf-sources.jar",
178
178
  "size": 29329,
179
179
  "sha512": "6cac7b2fa58a18696e1468e4e9afe7e6092ca1a404351400345349e028cbaeda51386f4303d05372a2be2baf8de77fd97490ea91caa74bfc2a8cfe7b62619bfe",
180
180
  "sha256": "4177d9bd9a22a528b97cc2f2bd7ba47f6cbf7fb1c09d93a1cacdce6f553b05d6",
@@ -0,0 +1 @@
1
+ a8b6db3b236713a6d258c38c339cc751dd4d587c6cecb70b8dcbd962f22c431b2d136a7c6af16516bd21d96c54d0565c3a5c029d82e1a019ef9bb75e7bcdc919
@@ -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.21</version>
12
+ <version>19.0.22-canary-20251216-3f01dbf</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
+ 14627e2b2e987797513003cee74e06cb22a5897ffda3d060d9c26d6e88554ab1f4de2e98d137c0dc36c5810773df249f103c6a762f0be0498b06d0546a6686f6
@@ -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.21</latest>
7
- <release>19.0.21</release>
6
+ <latest>19.0.22-canary-20251216-3f01dbf</latest>
7
+ <release>19.0.22-canary-20251216-3f01dbf</release>
8
8
  <versions>
9
- <version>19.0.21</version>
9
+ <version>19.0.22-canary-20251216-3f01dbf</version>
10
10
  </versions>
11
- <lastUpdated>20251212085511</lastUpdated>
11
+ <lastUpdated>20251216100743</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 2c078e361a0394f908d43a21f0ef5c81
1
+ 387f825b3c61e5e746d21540166de09c
@@ -1 +1 @@
1
- 95b3b875518eca8b712fc5a7536b6c59fd85ce04
1
+ 3a1373f065a71106dcaded84cfa04f02b2e830a5
@@ -1 +1 @@
1
- f3642f5acb76a95f82e1d965270cba67bc8012ee3d4cb42746193dcccc599582
1
+ d26d468571377396763675298a9c935ae8e517516547e5f952ed6321369cdf7e
@@ -1 +1 @@
1
- 99deafff9d0d0defe25e607fa5241bdc789397ddd37eabfe53d9bf05497fb3949f87c07761b4a1afc81396ff6b76c7bbad1913984ada578c3df77c7f494c0428
1
+ a3bf7fb4a2ef2d3f45a33ecf3769d9d47a43af293b4518f321d2df856cab0897545f478331d6925033d0512198332888e831eb3cb847f4ce93b2d012d876529f
package/package.json CHANGED
@@ -1,9 +1,22 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "19.0.21",
3
+ "version": "19.0.22-canary-20251216-3f01dbf",
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",
7
+ "exports": {
8
+ "./app.plugin": "./app.plugin.js",
9
+ "./app.plugin.js": "./app.plugin.js",
10
+ "./package.json": "./package.json",
11
+ ".": {
12
+ "types": "./build/index.d.ts",
13
+ "default": "./src/index.ts"
14
+ },
15
+ "./legacy": {
16
+ "types": "./build/legacy/index.d.ts",
17
+ "default": "./src/legacy/index.ts"
18
+ }
19
+ },
7
20
  "sideEffects": false,
8
21
  "scripts": {
9
22
  "build": "expo-module build",
@@ -35,12 +48,11 @@
35
48
  "preset": "expo-module-scripts"
36
49
  },
37
50
  "devDependencies": {
38
- "expo-module-scripts": "^5.0.8",
39
- "jest-expo": "~54.0.16"
51
+ "expo-module-scripts": "5.1.0-canary-20251216-3f01dbf",
52
+ "jest-expo": "55.0.0-canary-20251216-3f01dbf"
40
53
  },
41
54
  "peerDependencies": {
42
- "expo": "*",
55
+ "expo": "55.0.0-canary-20251216-3f01dbf",
43
56
  "react-native": "*"
44
- },
45
- "gitHead": "599ebc94db5c972f961641db9aa33e2964498c42"
57
+ }
46
58
  }
@@ -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
- 310d00e93ecdea91b7ae525e36efb3ed08b5d7b1bbdda2ed7d332c3e1cc8e4df
@@ -1 +0,0 @@
1
- 14433a3082cfc2243753b6b0bce12c20e1efae455704e1cbac876b0451f9c67931560e448bbb117e359296b6187301403193881cf5d911cd8852e8c9e6cc8128
@@ -1 +0,0 @@
1
- 5c29855dbddfc5a34f6b9518a3b090a782adc062910b1c72b15a9c7fbcb42079
@@ -1 +0,0 @@
1
- b008eeea7225cdef6329cc1b9d8979e72c18049e79cfddcdbe84a55a9928729f0e9cc6b8fdbdf63dbd67df8c7dd2e17f7054442d6f9cf4618bbcbf32e060e8b4