expo-sqlite 58.0.11 → 58.0.12

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 (61) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/build/WebConfiguration.d.ts +31 -0
  4. package/build/WebConfiguration.js +21 -0
  5. package/build/WebConfiguration.js.map +1 -0
  6. package/build/index.d.ts +1 -0
  7. package/build/index.js +1 -0
  8. package/build/index.js.map +1 -1
  9. package/dev-plugin-dist/+not-found.html +2 -4
  10. package/dev-plugin-dist/_expo/static/js/web/{__common-8b6d10c7ab64ecfd128d45105ef5590b.js → __common-3e95e247f8ee6d975454b07047f39148.js} +52 -51
  11. package/dev-plugin-dist/_expo/static/js/web/{_layout-1da259c4109daa50bd04899675f5d333.js → _layout-0bc906c56b363d38baf86696db19957e.js} +24 -24
  12. package/dev-plugin-dist/_expo/static/js/web/{entry-5e24130038c41e25d9a78d08664ef6cb.js → entry-293efbd088ab66af1b3334c3eeafa61f.js} +756 -755
  13. package/dev-plugin-dist/_expo/static/js/web/{index-17ca77580cae7c249688c43b3b3e0949.js → index-454a4f95007576080f4f47d70441d41a.js} +1740 -1740
  14. package/dev-plugin-dist/_expo/static/js/web/{worker-cc2e40fb110f53b73733dd7e24d9d8f6.js → worker-172ab4a50823f055f5bd777d90d1a36a.js} +17 -17
  15. package/dev-plugin-dist/_sitemap.html +2 -4
  16. package/dev-plugin-dist/index.html +2 -4
  17. package/expo-module.config.json +0 -3
  18. package/ios/DatabaseFileUtils.swift +101 -5
  19. package/ios/SQLiteModule.swift +8 -2
  20. package/ios/Tests/DatabaseFileUtilsTests.swift +119 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.aar +0 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.aar.md5 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.aar.sha1 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.aar.sha256 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.aar.sha512 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11.module → 58.0.12/expo.modules.sqlite-58.0.12.module} +17 -17
  27. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.module.md5 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.module.sha1 +1 -0
  29. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.module.sha256 +1 -0
  30. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.module.sha512 +1 -0
  31. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11.pom → 58.0.12/expo.modules.sqlite-58.0.12.pom} +1 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.pom.md5 +1 -0
  33. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.pom.sha1 +1 -0
  34. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.pom.sha256 +1 -0
  35. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.12/expo.modules.sqlite-58.0.12.pom.sha512 +1 -0
  36. package/package.json +2 -2
  37. package/src/WebConfiguration.ts +36 -0
  38. package/src/index.ts +1 -0
  39. package/web/SQLiteModule.ts +16 -0
  40. package/web/WorkerChannel.ts +17 -9
  41. package/web/wa-sqlite/sqlite-api.js +4 -1
  42. package/web/web.types.ts +6 -0
  43. package/web/worker.ts +50 -38
  44. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.aar +0 -0
  45. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.aar.md5 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.aar.sha1 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.aar.sha256 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.aar.sha512 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.module.md5 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.module.sha1 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.module.sha256 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.module.sha512 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.pom.md5 +0 -1
  54. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.pom.sha1 +0 -1
  55. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.pom.sha256 +0 -1
  56. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.11/expo.modules.sqlite-58.0.11.pom.sha512 +0 -1
  57. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11-sources.jar → 58.0.12/expo.modules.sqlite-58.0.12-sources.jar} +0 -0
  58. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11-sources.jar.md5 → 58.0.12/expo.modules.sqlite-58.0.12-sources.jar.md5} +0 -0
  59. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11-sources.jar.sha1 → 58.0.12/expo.modules.sqlite-58.0.12-sources.jar.sha1} +0 -0
  60. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11-sources.jar.sha256 → 58.0.12/expo.modules.sqlite-58.0.12-sources.jar.sha256} +0 -0
  61. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.11/expo.modules.sqlite-58.0.11-sources.jar.sha512 → 58.0.12/expo.modules.sqlite-58.0.12-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 58.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [iOS] Remove the module class declarations from `expo-module.config.json`. Autolinking now detects the `@ExpoModule`-annotated classes. ([#49784](https://github.com/expo/expo/pull/49784) by [@tsapeta](https://github.com/tsapeta))
8
+ - [Web] Fix statement finalization and failed-close recovery, same as #50121 on Android and iOS. ([#51293](https://github.com/expo/expo/pull/51293) by [@Kudo](https://github.com/Kudo))
9
+ - [Web] Add `configureWeb()` with a `wasmURL` option to load a custom SQLite WebAssembly build, for example one built with FTS enabled. ([#51294](https://github.com/expo/expo/pull/51294) by [@Kudo](https://github.com/Kudo))
10
+ - [Web] Fix `isInTransactionAsync()` returning `undefined` instead of `false` outside a transaction. ([#51356](https://github.com/expo/expo/pull/51356) by [@Kudo](https://github.com/Kudo))
11
+ - [Web] Fix synchronous calls that lost the SQLite error message or failed on results longer than 255 bytes. ([#51330](https://github.com/expo/expo/pull/51330) by [@Kudo](https://github.com/Kudo))
12
+ - [iOS] Fixed database paths with whitespace, non-ASCII characters, `#` or `?`, both as plain paths and as `file://` URIs such as App Group containers. `importDatabaseFromAssetAsync` with `forceOverwrite` now also removes the `-journal`, `-wal` and `-shm` files so a stale write-ahead log is not replayed over the imported copy, and a database that an earlier release created under a percent-encoded name on iOS 17, tvOS 17 or macOS 14 and later is moved to the decoded path on first open. ([#43939](https://github.com/expo/expo/pull/43939) by [@nickrugge](https://github.com/nickrugge))
13
+
3
14
  ## 58.0.11
4
15
 
5
16
  ### Patch Changes
@@ -47,7 +47,7 @@ def reactNativeArchitectures() {
47
47
  }
48
48
 
49
49
  group = 'host.exp.exponent'
50
- version = '58.0.11'
50
+ version = '58.0.12'
51
51
 
52
52
  expoModule {
53
53
  v2 true
@@ -57,7 +57,7 @@ android {
57
57
  namespace "expo.modules.sqlite"
58
58
  defaultConfig {
59
59
  versionCode 18
60
- versionName "58.0.11"
60
+ versionName "58.0.12"
61
61
  buildConfigField "boolean", "WITH_SQLITE_VEC", project.ext.WITH_SQLITE_VEC.toString()
62
62
 
63
63
  externalNativeBuild {
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Options for [`configureWeb()`](#sqliteconfigureweboptions).
3
+ * @platform web
4
+ */
5
+ export interface SQLiteWebOptions {
6
+ /**
7
+ * The URL of a custom wa-sqlite WebAssembly build, for example one built with FTS enabled.
8
+ * When omitted, `expo-sqlite` uses its bundled build.
9
+ *
10
+ * The build must come from the [`expo/wa-sqlite`](https://github.com/expo/wa-sqlite) revision that matches your `expo-sqlite` version.
11
+ * A build from another revision may fail to load.
12
+ */
13
+ wasmURL?: string;
14
+ }
15
+ /**
16
+ * Configures how `expo-sqlite` runs on web.
17
+ * Each call replaces the options from the previous call.
18
+ * It has no effect on Android, iOS, and server rendering.
19
+ *
20
+ * Call it before opening any database.
21
+ * It throws if `wasmURL` changes after a database is opened, because the web worker loads SQLite only once.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * SQLite.configureWeb({ wasmURL: require('./assets/wa-sqlite-fts.wasm') });
26
+ * const db = await SQLite.openDatabaseAsync('app.db');
27
+ * ```
28
+ *
29
+ * @platform web
30
+ */
31
+ export declare function configureWeb(options: SQLiteWebOptions): void;
@@ -0,0 +1,21 @@
1
+ import ExpoSQLite from './ExpoSQLite';
2
+ /**
3
+ * Configures how `expo-sqlite` runs on web.
4
+ * Each call replaces the options from the previous call.
5
+ * It has no effect on Android, iOS, and server rendering.
6
+ *
7
+ * Call it before opening any database.
8
+ * It throws if `wasmURL` changes after a database is opened, because the web worker loads SQLite only once.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * SQLite.configureWeb({ wasmURL: require('./assets/wa-sqlite-fts.wasm') });
13
+ * const db = await SQLite.openDatabaseAsync('app.db');
14
+ * ```
15
+ *
16
+ * @platform web
17
+ */ export function configureWeb(options) {
18
+ ExpoSQLite.configureWeb?.(options);
19
+ }
20
+
21
+ //# sourceMappingURL=WebConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["WebConfiguration.ts"],"sourcesContent":[null],"names":["ExpoSQLite","configureWeb","options"],"mappings":"AAAA,OAAOA,gBAAgB,eAAe;AAiBtC;;;;;;;;;;;;;;;CAeC,GACD,OAAO,SAASC,aAAaC,OAAyB;IACpDF,WAAWC,YAAY,GAAGC;AAC5B"}
package/build/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './SQLiteSession';
3
3
  export * from './SQLiteStatement';
4
4
  export * from './SQLiteTaggedQuery';
5
5
  export * from './hooks';
6
+ export { configureWeb, type SQLiteWebOptions } from './WebConfiguration';
package/build/index.js CHANGED
@@ -3,5 +3,6 @@ export * from './SQLiteSession';
3
3
  export * from './SQLiteStatement';
4
4
  export * from './SQLiteTaggedQuery';
5
5
  export * from './hooks';
6
+ export { configureWeb } from './WebConfiguration';
6
7
 
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,UAAU"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":[null],"names":["configureWeb"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,UAAU;AACxB,SAASA,YAAY,QAA+B,qBAAqB"}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html lang="en"><head><title data-rh="true"></title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><style id="expo-reset">#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style><style id="react-native-stylesheet">[stylesheet-group="0"]{}
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-0bc906c56b363d38baf86696db19957e.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-3e95e247f8ee6d975454b07047f39148.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-293efbd088ab66af1b3334c3eeafa61f.js" as="script"/><style id="expo-reset">#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style><style id="react-native-stylesheet">[stylesheet-group="0"]{}
2
2
  body{margin:0;}
3
3
  button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
4
4
  html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}
@@ -313,6 +313,4 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
313
313
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
314
314
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
315
315
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
316
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style">
317
- <link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-1da259c4109daa50bd04899675f5d333.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-8b6d10c7ab64ecfd128d45105ef5590b.js" defer></script><script src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-5e24130038c41e25d9a78d08664ef6cb.js" defer></script>
318
- </body></html>
316
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"/></head><body><div id="root"><!--$--><div class="css-g5y9jx r-13awgt0"></div><!--/$--></div><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-0bc906c56b363d38baf86696db19957e.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-3e95e247f8ee6d975454b07047f39148.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-293efbd088ab66af1b3334c3eeafa61f.js"></script><script id="_R_">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script></body></html>