@duckdb/duckdb-wasm 1.13.1-dev98.0 → 1.14.2

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 (49) hide show
  1. package/README.md +68 -4
  2. package/dist/duckdb-browser-blocking.cjs +15 -45
  3. package/dist/duckdb-browser-blocking.cjs.map +3 -3
  4. package/dist/duckdb-browser-blocking.mjs +15 -45
  5. package/dist/duckdb-browser-blocking.mjs.map +3 -3
  6. package/dist/duckdb-browser-coi.pthread.worker.js +14 -43
  7. package/dist/duckdb-browser-coi.pthread.worker.js.map +3 -3
  8. package/dist/duckdb-browser-coi.worker.js +18 -25
  9. package/dist/duckdb-browser-coi.worker.js.map +3 -3
  10. package/dist/duckdb-browser-eh.worker.js +16 -23
  11. package/dist/duckdb-browser-eh.worker.js.map +3 -3
  12. package/dist/duckdb-browser-mvp.worker.js +18 -25
  13. package/dist/duckdb-browser-mvp.worker.js.map +3 -3
  14. package/dist/duckdb-browser.cjs +1 -31
  15. package/dist/duckdb-browser.cjs.map +3 -3
  16. package/dist/duckdb-browser.mjs +1 -31
  17. package/dist/duckdb-browser.mjs.map +3 -3
  18. package/dist/duckdb-coi.wasm +0 -0
  19. package/dist/duckdb-eh.wasm +0 -0
  20. package/dist/duckdb-mvp.wasm +0 -0
  21. package/dist/duckdb-node-blocking.cjs +4 -4
  22. package/dist/duckdb-node-blocking.cjs.map +3 -3
  23. package/dist/duckdb-node-eh.worker.cjs +4 -4
  24. package/dist/duckdb-node-eh.worker.cjs.map +3 -3
  25. package/dist/duckdb-node-mvp.worker.cjs +3 -3
  26. package/dist/duckdb-node-mvp.worker.cjs.map +3 -3
  27. package/dist/duckdb-node.cjs +1 -1
  28. package/dist/duckdb-node.cjs.map +3 -3
  29. package/dist/img/duckdb.svg +8 -0
  30. package/dist/img/duckdb_version_badge.svg +1 -1
  31. package/dist/tests-browser.js +12905 -16221
  32. package/dist/tests-browser.js.map +3 -3
  33. package/dist/tests-node.cjs +1820 -1588
  34. package/dist/tests-node.cjs.map +3 -3
  35. package/dist/types/src/bindings/config.d.ts +0 -2
  36. package/dist/types/src/bindings/insert_options.d.ts +3 -3
  37. package/dist/types/src/bindings/progress.d.ts +1 -0
  38. package/dist/types/src/bindings/runtime.d.ts +1 -1
  39. package/dist/types/src/bindings/udf_function.d.ts +2 -2
  40. package/dist/types/src/bindings/udf_runtime.d.ts +1 -1
  41. package/dist/types/src/json_typedef.d.ts +17 -0
  42. package/dist/types/src/log.d.ts +2 -0
  43. package/dist/types/src/platform.d.ts +3 -0
  44. package/dist/types/src/targets/duckdb-browser-blocking.d.ts +1 -0
  45. package/dist/types/src/targets/duckdb-node-blocking.d.ts +1 -0
  46. package/dist/types/src/targets/duckdb.d.ts +1 -0
  47. package/dist/types/src/utils/s3_helper.d.ts +1 -0
  48. package/package.json +24 -24
  49. package/dist/types/src/flat_arrow.d.ts +0 -15
package/README.md CHANGED
@@ -15,11 +15,30 @@ Try it out at [shell.duckdb.org](https://shell.duckdb.org) and on [Observable](h
15
15
  _DuckDB-Wasm is fast! If you're here for performance numbers, head over to [our benchmarks](https://shell.duckdb.org/versus)._
16
16
 
17
17
  ## Instantiation
18
-
18
+ cdn(jsdelivr)
19
19
  ```ts
20
20
  import * as duckdb from '@duckdb/duckdb-wasm';
21
21
 
22
- // Either bundle them manually, for example as Webpack assets
22
+ const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
23
+
24
+ // Select a bundle based on browser checks
25
+ const bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);
26
+
27
+ const worker_url = URL.createObjectURL(
28
+ new Blob([`importScripts("${bundle.mainWorker!}");`], {type: 'text/javascript'})
29
+ );
30
+
31
+ // Instantiate the asynchronus version of DuckDB-wasm
32
+ const worker = new Worker(worker_url);
33
+ const logger = new duckdb.ConsoleLogger();
34
+ const db = new duckdb.AsyncDuckDB(logger, worker);
35
+ await db.instantiate(bundle.mainModule, bundle.pthreadWorker);
36
+ URL.revokeObjectURL(worker_url);
37
+ ```
38
+
39
+ webpack
40
+ ```ts
41
+ import * as duckdb from '@duckdb/duckdb-wasm';
23
42
  import duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm';
24
43
  import duckdb_wasm_next from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm';
25
44
  const MANUAL_BUNDLES: duckdb.DuckDBBundles = {
@@ -32,9 +51,32 @@ const MANUAL_BUNDLES: duckdb.DuckDBBundles = {
32
51
  mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js', import.meta.url).toString(),
33
52
  },
34
53
  };
35
- // ..., or load the bundles from jsdelivr
36
- const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
54
+ // Select a bundle based on browser checks
55
+ const bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);
56
+ // Instantiate the asynchronus version of DuckDB-wasm
57
+ const worker = new Worker(bundle.mainWorker!);
58
+ const logger = new duckdb.ConsoleLogger();
59
+ const db = new duckdb.AsyncDuckDB(logger, worker);
60
+ await db.instantiate(bundle.mainModule, bundle.pthreadWorker);
61
+ ```
62
+ vite
63
+ ```ts
64
+ import * as duckdb from '@duckdb/duckdb-wasm';
65
+ import duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url';
66
+ import mvp_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url';
67
+ import duckdb_wasm_next from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm?url';
68
+ import eh_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js?url';
37
69
 
70
+ const MANUAL_BUNDLES: duckdb.DuckDBBundles = {
71
+ mvp: {
72
+ mainModule: duckdb_wasm,
73
+ mainWorker: eh_worker,
74
+ },
75
+ eh: {
76
+ mainModule: duckdb_wasm_next,
77
+ mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js', import.meta.url).toString(),
78
+ },
79
+ };
38
80
  // Select a bundle based on browser checks
39
81
  const bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);
40
82
  // Instantiate the asynchronus version of DuckDB-wasm
@@ -43,6 +85,28 @@ const logger = new duckdb.ConsoleLogger();
43
85
  const db = new duckdb.AsyncDuckDB(logger, worker);
44
86
  await db.instantiate(bundle.mainModule, bundle.pthreadWorker);
45
87
  ```
88
+ static served(manually download the files from https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.13.0/dist/)
89
+ ```ts
90
+ import * as duckdb from '@duckdb/duckdb-wasm';
91
+
92
+ const MANUAL_BUNDLES: duckdb.DuckDBBundles = {
93
+ mvp: {
94
+ mainModule: 'change/me/../duckdb-mvp.wasm',
95
+ mainWorker: 'change/me/../duckdb-browser-mvp.worker.js',
96
+ },
97
+ eh: {
98
+ mainModule: 'change/m/../duckdb-eh.wasm',
99
+ mainWorker: 'change/m/../duckdb-browser-eh.worker.js',
100
+ },
101
+ };
102
+ // Select a bundle based on browser checks
103
+ const bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);
104
+ // Instantiate the asynchronus version of DuckDB-wasm
105
+ const worker = new Worker(bundle.mainWorker!);
106
+ const logger = new duckdb.ConsoleLogger();
107
+ const db = new duckdb.AsyncDuckDB(logger, worker);
108
+ await db.instantiate(bundle.mainModule, bundle.pthreadWorker);
109
+ ```
46
110
 
47
111
  ## Data Import
48
112