Nâng cấp expo-file-system từ 57.x lên 58.x
So sánh API công khai của expo-file-system 57.0.7 và 58.0.9, được tính tự động từ kiểu TypeScript. Chữ ký thay đổi là thay đổi có thể không tương thích, không phải điều chắc chắn.
Tóm tắt
| Đường dẫn import bị xóa | 1 |
|---|---|
| Export bị xóa | 0 |
| Chữ ký thay đổi | 1 |
| Thành viên lớp hoặc interface bị xóa | 0 |
| Thành viên lớp hoặc interface thay đổi | 3 |
| Mới bị ngừng hỗ trợ | 2 |
| Thay đổi yêu cầu (engines, phụ thuộc peer) | 0 |
| Export mới | 4 |
Đường dẫn import bị xóa
| Đường dẫn import bị xóa |
|---|
expo-file-system/legacy |
Export bị xóa
Không phát hiện.
Chữ ký thay đổi
| export | Trước | Sau |
|---|---|---|
expo-file-system · DownloadTaskOptions | { headers?: Record<string, string> | undefined; sessionType?: NetworkTaskSessionType | undefined; onProgress?: ((data: DownloadProgress) => void) | undefined; signal?: AbortSignal | undefined; } | { headers?: Record<string, string> | undefined; deferBackgroundSessionCompletion?: boolean | undefined; sessionType?: NetworkTaskSessionType | undefined; onProgress?: ((data: DownloadProgress) => void) | undefined; signal?: AbortSignal | undefined; } |
Thành viên lớp hoặc interface bị xóa
Không phát hiện.
Thành viên lớp hoặc interface thay đổi
| member | Trước | Sau |
|---|---|---|
File.write | (content: string | Uint8Array<ArrayBufferLike>, options?: FileWriteOptions | undefined): void | (content: string | ArrayBuffer | Uint8Array<ArrayBufferLike>, options?: FileWriteOptions | undefined): Promise<void> |
FileHandle.readBytes | (length: number): Uint8Array<ArrayBuffer> | (length: number): Promise<Uint8Array<ArrayBuffer>> |
FileHandle.writeBytes | (bytes: Uint8Array<ArrayBufferLike>): void | (bytes: Uint8Array<ArrayBufferLike>): Promise<void> |
Mới bị ngừng hỗ trợ
| export | @deprecated |
|---|---|
expo-file-system · File.md5 | Use `await file.digest('MD5')` instead. |
expo-file-system · InfoOptions | Use `await file.digest('MD5')` to calculate an MD5 digest. |
Thay đổi yêu cầu (engines, phụ thuộc peer)
Không phát hiện.
Export mới (4)
| import | export | kind |
|---|---|---|
expo-file-system | FilePreviewOptions | type |
expo-file-system | FileDigestAlgorithm | type |
expo-file-system | FileCanPreviewOptions | type |
expo-file-system | FilePreviewCollectionOptions | type |
Changelog giữa các phiên bản này
Văn bản do tác giả gói công bố, hiển thị nguyên trạng.
58.0.9
### Patch Changes
- [Internal] Bump precompiled artifacts due to ABI breakage in expo-modules-jsi, which makes `JavaScriptValue` a non-copyable struct. ([#51368](https://github.com/expo/expo/pull/51368) by [@tsapeta](https://github.com/tsapeta))58.0.8
### Patch Changes
- [iOS] Reject abandoned file preview presentations and allow subsequent previews to open. ([#51169](https://github.com/expo/expo/pull/51169) by [@eliotgevers](https://github.com/eliotgevers))58.0.7
### Patch Changes
- [iOS] Add opt-in control over background download completion with `DownloadTask.acknowledgeBackgroundCompletionAsync()`, so apps can finish processing downloads before returning control to iOS. ([#50543](https://github.com/expo/expo/pull/50543) by [@savv](https://github.com/savv))
- Added static `File.preview()` and `File.canPreview()` methods for a file or array of files, with multi-file previews and initial selection on iOS. ([#50696](https://github.com/expo/expo/pull/50696) by [@eliotgevers](https://github.com/eliotgevers))58.0.6
### Patch Changes
- Bump precompiled artifacts due to ABI breakage in expo-modules-core@58.0.13. ([#51138](https://github.com/expo/expo/pull/51138) by [@alanjhughes](https://github.com/alanjhughes))58.0.5
### Patch Changes
- Bump precompiled artifacts due to ABI breakage in expo-modules-jsi@58.0.6. ([#50881](https://github.com/expo/expo/pull/50881) by [@kitten](https://github.com/kitten))58.0.4
### Patch Changes
- Force-bump all packages, due to migration to changesets. ([#50762](https://github.com/expo/expo/pull/50762) by [@kitten](https://github.com/kitten))58.0.3
### 🐛 Bug fixes
- [Android] Added missing permission checks to upload tasks and to file watchers. ([#50582](https://github.com/expo/expo/pull/50582) by [@barthap](https://github.com/barthap))
- [iOS] Added a missing permission check when opening a file handle. ([#50583](https://github.com/expo/expo/pull/50583) by [@barthap](https://github.com/barthap))
- [Android] Check permissions for `content://` URIs served by the app's own file providers. ([#50584](https://github.com/expo/expo/pull/50584) by [@barthap](https://github.com/barthap))58.0.2
### 🐛 Bug fixes
- [iOS] Include the privacy manifest in prebuilt frameworks. ([#50503](https://github.com/expo/expo/pull/50503) by [@chrfalch](https://github.com/chrfalch))58.0.1
### 🐛 Bug fixes
- [iOS] Anchored the file picker popover on every regular-width display, not only iPad, so it presents correctly on iPhone Duo. ([#50434](https://github.com/expo/expo/pull/50434) by [@alanjhughes](https://github.com/alanjhughes))58.0.0
### 🛠 Breaking changes
- `File.write()` is now asynchronous and returns a Promise. Use `File.writeSync()` for synchronous behavior. ([#45992](https://github.com/expo/expo/pull/45992) by [@wh201906](https://github.com/wh201906))
- `FileHandle.readBytes()` and `FileHandle.writeBytes()` are now asynchronous and return a Promise. Use `FileHandle.readBytesSync()` and `FileHandle.writeBytesSync()` for synchronous behavior. ([#46280](https://github.com/expo/expo/pull/46280) by [@wh201906](https://github.com/wh201906))
### 🎉 New features
- Add `File.preview()` and `File.canPreview()` methods for opening files with platform-native preview flows. (by [@eliotgevers](https://github.com/eliotgevers))
- Added `File.digest()` for asynchronously calculating MD5, SHA-1, SHA-256, SHA-384 and SHA-512 file digests. ([#48089](https://github.com/expo/expo/pull/48089) by [@wh201906](https://github.com/wh201906))
### 🐛 Bug fixes
- Fixed `File.downloadFileAsync()` returning a runtime-specific error message when canceled with an `AbortSignal`. ([#49856](https://github.com/expo/expo/pull/49856) by [@Ubax](https://github.com/Ubax))
- Fix `File.readableStream()` returning zeroed bytes and writing past the requested region when a BYOB read targets a view that starts at a non-zero offset. ([#49234](https://github.com/expo/expo/pull/49234) by [@dennytosp](https://github.com/dennytosp))
- [Android][iOS] Fix `File.size` returning `null` for a missing or unreadable file. ([#49086](https://github.com/expo/expo/pull/49086)) by [@ACHP](https://github.com/ACHP))
- [iOS] Fix wrong permissions for text() and bytes(). ([#42422](https://github.com/expo/expo/pull/42422)) by [@simoneldevig](https://github.com/simoneldevig))
- Fixed `copyAsync` on iOS copying the unedited original when a `ph://` asset has edits applied in Photos. ([#48248](https://github.com/expo/expo/pull/48248) by [@CoffeeFlux](https://github.com/CoffeeFlux))
- Fixed iOS file previews rejecting a new preview while the previous Quick Look dismissal animation is still finishing. ([#47947](https://github.com/expo/expo/pull/47947) by [@eliotgevers](https://github.com/eliotgevers))
- Added `./next` subpath to package `exports` field to resolve Metro bundler warning. ([#44793](https://github.com/expo/expo/pull/44793) by [@chang-in](https://github.com/chang-in))
- Fixed `FileHandle` security-scoped access, and non-SAF `content://` URI support. ([#47176](https://github.com/expo/expo/pull/47176) by [@barthap](https://github.com/barthap))
- Fixed potential file offset races when asynchronous and synchronous `FileHandle` operations overlap on Android and iOS. ([#47945](https://github.com/expo/expo/pull/47945) by [@wh201906](https://github.com/wh201906))
- Fixed `readAsStringAsync` to respect `position` and `length` when reading UTF-8 strings. ([#20291](https://github.com/expo/expo/issues/20291) by [@mvincentong](https://github.com/mvincentong)) ([#45714](https://github.com/expo/expo/pull/45714) by [@mvincentong](https://githuCung cấp dữ liệu này cho tác tử AI của bạn
Vigia là máy chủ MCP miễn phí: tác tử lập trình của bạn kiểm tra phiên bản, thay đổi phá vỡ tương thích và lỗ hổng trước khi viết mã. Không cần đăng ký, không cần khóa API.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Thêm vào CursorThêm vào VS Code★ Gắn sao trên GitHub
Mọi ứng dụng MCP khác
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Kỹ năng cho tác tử (SKILL.md): cho tác tử biết khi nào dùng Vigia · GitHub Action cho pull request
Câu hỏi thường gặp
Nâng cấp expo-file-system từ 57 lên 58 có những thay đổi không tương thích nào?
Giữa expo-file-system 57.0.7 và 58.0.9, Vigia tìm thấy 0 export bị xóa, 1 chữ ký thay đổi và 3 thành viên lớp hoặc interface bị xóa hay thay đổi.
Những gì bị ngừng hỗ trợ trong expo-file-system 58?
2 export hoặc thành viên mới bị đánh dấu ngừng hỗ trợ trong expo-file-system 58.0.9.
Dành cho tác tử
GET https://vigia.coredls.cloud/v1/packages/npm/expo-file-system/upgrade?from=57.0.7&to=58.0.9