web-csv-toolbox 0.13.1-next-f8d7ffbf9fd4fd2fe596d7250cc86bc361c376df → 0.13.1-next-afac98bd3a41b6e902268ac4ca6a99a8da883c81
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.
- package/README.md +2 -0
- package/dist/execution/worker/helpers/createWorker.node.js +1 -1
- package/dist/execution/worker/helpers/createWorker.node.js.map +1 -1
- package/dist/execution/worker/helpers/createWorker.web.js +1 -1
- package/dist/execution/worker/helpers/createWorker.web.js.map +1 -1
- package/dist/worker.node.d.ts +1 -1
- package/dist/{execution/worker/helpers/worker.node.js → worker.node.js} +1 -1
- package/dist/worker.node.js.map +1 -0
- package/dist/worker.web.d.ts +1 -1
- package/dist/{execution/worker/helpers/worker.web.js → worker.web.js} +1 -1
- package/dist/worker.web.js.map +1 -0
- package/package.json +15 -1
- package/dist/execution/worker/helpers/worker.node.d.ts +0 -1
- package/dist/execution/worker/helpers/worker.node.js.map +0 -1
- package/dist/execution/worker/helpers/worker.web.d.ts +0 -1
- package/dist/execution/worker/helpers/worker.web.js.map +0 -1
package/README.md
CHANGED
|
@@ -115,6 +115,8 @@ import { parse } from "npm:web-csv-toolbox";
|
|
|
115
115
|
|
|
116
116
|
## Usage 📘
|
|
117
117
|
|
|
118
|
+
> **Note for Bundler Users**: When using Worker-based execution strategies (e.g., `EnginePresets.worker()`, `EnginePresets.workerWasm()`) with bundlers like Vite or Webpack, you must explicitly specify the `workerURL` option. See the [Bundler Integration Guide](./docs/how-to-guides/use-with-bundlers.md) for configuration details.
|
|
119
|
+
|
|
118
120
|
### Parsing CSV files from strings
|
|
119
121
|
|
|
120
122
|
```js
|
|
@@ -7,7 +7,7 @@ async function createWorker(workerURL) {
|
|
|
7
7
|
}
|
|
8
8
|
const currentFilePath = fileURLToPath(import.meta.url);
|
|
9
9
|
const currentDir = dirname(currentFilePath);
|
|
10
|
-
const workerPath = join(currentDir, "worker.node.js");
|
|
10
|
+
const workerPath = join(currentDir, "..", "..", "..", "worker.node.js");
|
|
11
11
|
return new Worker(workerPath, { type: "module" });
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWorker.node.js","sources":["../../../../src/execution/worker/helpers/createWorker.node.ts"],"sourcesContent":["/**\n * Create a Worker instance for Node.js environment.\n *\n * @internal\n * @param workerURL Custom worker URL or undefined to use bundled worker\n * @returns Worker instance\n */\nexport async function createWorker(workerURL?: string | URL): Promise<Worker> {\n // Dynamic import for Node.js Worker and URL utilities\n // @ts-ignore: node:worker_threads is only available in Node.js\n const { Worker } = await import(\"node:worker_threads\");\n // @ts-ignore: node:url is only available in Node.js\n const { fileURLToPath } = await import(\"node:url\");\n // @ts-ignore: node:path is only available in Node.js\n const { dirname, join } = await import(\"node:path\");\n\n if (workerURL) {\n // Use provided worker URL\n return new Worker(workerURL, { type: \"module\" });\n }\n\n // Compute worker.node.js path relative to this module\n // In Node.js, import.meta.url is a file:// URL pointing to this module\n const currentFilePath = fileURLToPath(import.meta.url);\n const currentDir = dirname(currentFilePath);\n const workerPath = join(currentDir, \"worker.node.js\");\n\n // @ts-ignore\n return new Worker(workerPath, { type: \"module\" });\n}\n"],"names":[],"mappings":"AAOA,eAAsB,aAAa,SAAA,EAA2C;AAG5E,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,OAAO,qBAAqB,CAAA;AAErD,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,MAAM,OAAO,UAAU,CAAA;AAEjD,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAK,GAAI,MAAM,OAAO,WAAW,CAAA;AAElD,EAAA,IAAI,SAAA,EAAW;AAEb,IAAA,OAAO,IAAI,MAAA,CAAO,SAAA,EAAW,EAAE,IAAA,EAAM,UAAU,CAAA;AAAA,EACjD;
|
|
1
|
+
{"version":3,"file":"createWorker.node.js","sources":["../../../../src/execution/worker/helpers/createWorker.node.ts"],"sourcesContent":["/**\n * Create a Worker instance for Node.js environment.\n *\n * @internal\n * @param workerURL Custom worker URL or undefined to use bundled worker\n * @returns Worker instance\n */\nexport async function createWorker(workerURL?: string | URL): Promise<Worker> {\n // Dynamic import for Node.js Worker and URL utilities\n // @ts-ignore: node:worker_threads is only available in Node.js\n const { Worker } = await import(\"node:worker_threads\");\n // @ts-ignore: node:url is only available in Node.js\n const { fileURLToPath } = await import(\"node:url\");\n // @ts-ignore: node:path is only available in Node.js\n const { dirname, join } = await import(\"node:path\");\n\n if (workerURL) {\n // Use provided worker URL\n return new Worker(workerURL, { type: \"module\" });\n }\n\n // Compute worker.node.js path relative to this module\n // In Node.js, import.meta.url is a file:// URL pointing to this module\n // Worker file is at dist/worker.node.js, this file is at dist/execution/worker/helpers/createWorker.node.js\n const currentFilePath = fileURLToPath(import.meta.url);\n const currentDir = dirname(currentFilePath);\n const workerPath = join(currentDir, \"..\", \"..\", \"..\", \"worker.node.js\");\n\n // @ts-ignore\n return new Worker(workerPath, { type: \"module\" });\n}\n"],"names":[],"mappings":"AAOA,eAAsB,aAAa,SAAA,EAA2C;AAG5E,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,OAAO,qBAAqB,CAAA;AAErD,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,MAAM,OAAO,UAAU,CAAA;AAEjD,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAK,GAAI,MAAM,OAAO,WAAW,CAAA;AAElD,EAAA,IAAI,SAAA,EAAW;AAEb,IAAA,OAAO,IAAI,MAAA,CAAO,SAAA,EAAW,EAAE,IAAA,EAAM,UAAU,CAAA;AAAA,EACjD;AAKA,EAAA,MAAM,eAAA,GAAkB,aAAA,CAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA;AACrD,EAAA,MAAM,UAAA,GAAa,QAAQ,eAAe,CAAA;AAC1C,EAAA,MAAM,aAAa,IAAA,CAAK,UAAA,EAAY,IAAA,EAAM,IAAA,EAAM,MAAM,gBAAgB,CAAA;AAGtE,EAAA,OAAO,IAAI,MAAA,CAAO,UAAA,EAAY,EAAE,IAAA,EAAM,UAAU,CAAA;AAClD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWorker.web.js","sources":["../../../../src/execution/worker/helpers/createWorker.web.ts"],"sourcesContent":["/**\n * Create a Worker instance for browser/Deno environment.\n *\n * @internal\n * @param workerURL Custom worker URL or undefined to use bundled worker\n * @returns Worker instance\n */\nexport async function createWorker(workerURL?: string | URL): Promise<Worker> {\n // Use @vite-ignore to prevent Vite from inlining the worker as a data URL\n // In production, import.meta.url points to dist/execution/worker/helpers/createWorker.web.js\n // so \"
|
|
1
|
+
{"version":3,"file":"createWorker.web.js","sources":["../../../../src/execution/worker/helpers/createWorker.web.ts"],"sourcesContent":["/**\n * Create a Worker instance for browser/Deno environment.\n *\n * @internal\n * @param workerURL Custom worker URL or undefined to use bundled worker\n * @returns Worker instance\n */\nexport async function createWorker(workerURL?: string | URL): Promise<Worker> {\n // Use @vite-ignore to prevent Vite from inlining the worker as a data URL\n // In production, import.meta.url points to dist/execution/worker/helpers/createWorker.web.js\n // so \"../../../worker.web.js\" correctly resolves to dist/worker.web.js\n const url =\n workerURL ||\n new URL(/* @vite-ignore */ \"../../../worker.web.js\", import.meta.url);\n return new Worker(url, { type: \"module\" });\n}\n"],"names":[],"mappings":"AAOA,eAAsB,aAAa,SAAA,EAA2C;AAI5E,EAAA,MAAM,GAAA,GACJ,aACA,IAAI,GAAA;AAAA;AAAA,IAAuB,wBAAA;AAAA,IAA0B,MAAA,CAAA,IAAA,CAAY;AAAA,GAAG;AACtE,EAAA,OAAO,IAAI,MAAA,CAAO,GAAA,EAAK,EAAE,IAAA,EAAM,UAAU,CAAA;AAC3C;;;;"}
|
package/dist/worker.node.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {}
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parentPort } from 'node:worker_threads';
|
|
2
|
-
import { createMessageHandler } from './worker.shared.js';
|
|
2
|
+
import { createMessageHandler } from './execution/worker/helpers/worker.shared.js';
|
|
3
3
|
|
|
4
4
|
if (!parentPort) {
|
|
5
5
|
throw new Error("This module must be run in a Worker Thread context");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.node.js","sources":["../src/worker.node.ts"],"sourcesContent":["// @ts-nocheck - Node.js-specific file, skip in tsc --noEmit\nimport { parentPort } from \"node:worker_threads\";\nimport {\n type ParseRequest,\n createMessageHandler,\n} from \"./execution/worker/helpers/worker.shared.js\";\n\n/**\n * Node.js Worker Threads implementation for CSV parsing.\n * Uses the Worker Threads API (Node.js).\n *\n * @internal\n */\n\nif (!parentPort) {\n throw new Error(\"This module must be run in a Worker Thread context\");\n}\n\n// Create message handler with Node.js Worker Threads context\nconst messageHandler = createMessageHandler(parentPort);\n\n// Register message listener (Node.js Worker Threads API)\n// In Node.js, message data is passed directly, not wrapped in event.data\nparentPort.on(\"message\", (message: ParseRequest) => {\n messageHandler(message);\n});\n"],"names":[],"mappings":";;;AAcA,IAAI,CAAC,UAAA,EAAY;AACf,EAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AACtE;AAGA,MAAM,cAAA,GAAiB,qBAAqB,UAAU,CAAA;AAItD,UAAA,CAAW,EAAA,CAAG,SAAA,EAAW,CAAC,OAAA,KAA0B;AAClD,EAAA,cAAA,CAAe,OAAO,CAAA;AACxB,CAAC,CAAA"}
|
package/dist/worker.web.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {}
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.web.js","sources":["../src/worker.web.ts"],"sourcesContent":["// @ts-nocheck - Web Worker-specific file, skip in tsc --noEmit\n// Workaround for Vitest browser mode: ensure wrapDynamicImport is available\n// See: https://github.com/vitest-dev/vitest/issues/6552\nif (typeof globalThis !== \"undefined\") {\n // @ts-ignore - Vitest browser mode global\n if (!globalThis.__vitest_browser_runner__) {\n // @ts-ignore\n globalThis.__vitest_browser_runner__ = { wrapDynamicImport: (f) => f() };\n }\n}\n\nimport {\n type ParseRequest,\n createMessageHandler,\n} from \"./execution/worker/helpers/worker.shared.js\";\n\n/**\n * Web Worker implementation for CSV parsing.\n * Uses the Web Workers API (browser, Deno).\n *\n * @internal\n */\n\n// Web Worker context (self)\nconst workerContext = self as unknown as DedicatedWorkerGlobalScope;\n\n// Create message handler with Web Worker context\nconst messageHandler = createMessageHandler(workerContext);\n\n// Register message listener (Web Workers API)\nworkerContext.addEventListener(\n \"message\",\n (event: MessageEvent<ParseRequest>) => {\n messageHandler(event.data);\n },\n);\n"],"names":[],"mappings":";;AAGA,IAAI,OAAO,eAAe,WAAA,EAAa;AAErC,EAAA,IAAI,CAAC,WAAW,yBAAA,EAA2B;AAEzC,IAAA,UAAA,CAAW,4BAA4B,EAAE,iBAAA,EAAmB,CAAC,CAAA,KAAM,GAAE,EAAE;AAAA,EACzE;AACF;AAeA,MAAM,aAAA,GAAgB,IAAA;AAGtB,MAAM,cAAA,GAAiB,qBAAqB,aAAa,CAAA;AAGzD,aAAA,CAAc,gBAAA;AAAA,EACZ,SAAA;AAAA,EACA,CAAC,KAAA,KAAsC;AACrC,IAAA,cAAA,CAAe,MAAM,IAAI,CAAA;AAAA,EAC3B;AACF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "web-csv-toolbox",
|
|
3
|
-
"version": "0.13.1-next-
|
|
3
|
+
"version": "0.13.1-next-afac98bd3a41b6e902268ac4ca6a99a8da883c81",
|
|
4
4
|
"description": "A CSV Toolbox utilizing Web Standard APIs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/web-csv-toolbox.js",
|
|
@@ -14,6 +14,20 @@
|
|
|
14
14
|
"types": "./dist/web-csv-toolbox.d.ts",
|
|
15
15
|
"default": "./dist/web-csv-toolbox.js"
|
|
16
16
|
},
|
|
17
|
+
"./worker": {
|
|
18
|
+
"node": {
|
|
19
|
+
"types": "./dist/worker.node.d.ts",
|
|
20
|
+
"default": "./dist/worker.node.js"
|
|
21
|
+
},
|
|
22
|
+
"browser": {
|
|
23
|
+
"types": "./dist/worker.web.d.ts",
|
|
24
|
+
"default": "./dist/worker.web.js"
|
|
25
|
+
},
|
|
26
|
+
"default": {
|
|
27
|
+
"types": "./dist/worker.web.d.ts",
|
|
28
|
+
"default": "./dist/worker.web.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
17
31
|
"./*": {
|
|
18
32
|
"types": "./dist/*.d.ts",
|
|
19
33
|
"default": "./dist/*.js"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.node.js","sources":["../../../../src/execution/worker/helpers/worker.node.ts"],"sourcesContent":["// @ts-nocheck - Node.js-specific file, skip in tsc --noEmit\nimport { parentPort } from \"node:worker_threads\";\nimport { type ParseRequest, createMessageHandler } from \"./worker.shared.ts\";\n\n/**\n * Node.js Worker Threads implementation for CSV parsing.\n * Uses the Worker Threads API (Node.js).\n *\n * @internal\n */\n\nif (!parentPort) {\n throw new Error(\"This module must be run in a Worker Thread context\");\n}\n\n// Create message handler with Node.js Worker Threads context\nconst messageHandler = createMessageHandler(parentPort);\n\n// Register message listener (Node.js Worker Threads API)\n// In Node.js, message data is passed directly, not wrapped in event.data\nparentPort.on(\"message\", (message: ParseRequest) => {\n messageHandler(message);\n});\n"],"names":[],"mappings":";;;AAWA,IAAI,CAAC,UAAA,EAAY;AACf,EAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AACtE;AAGA,MAAM,cAAA,GAAiB,qBAAqB,UAAU,CAAA;AAItD,UAAA,CAAW,EAAA,CAAG,SAAA,EAAW,CAAC,OAAA,KAA0B;AAClD,EAAA,cAAA,CAAe,OAAO,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.web.js","sources":["../../../../src/execution/worker/helpers/worker.web.ts"],"sourcesContent":["// @ts-nocheck - Web Worker-specific file, skip in tsc --noEmit\n// Workaround for Vitest browser mode: ensure wrapDynamicImport is available\n// See: https://github.com/vitest-dev/vitest/issues/6552\nif (typeof globalThis !== \"undefined\") {\n // @ts-ignore - Vitest browser mode global\n if (!globalThis.__vitest_browser_runner__) {\n // @ts-ignore\n globalThis.__vitest_browser_runner__ = { wrapDynamicImport: (f) => f() };\n }\n}\n\nimport { type ParseRequest, createMessageHandler } from \"./worker.shared.ts\";\n\n/**\n * Web Worker implementation for CSV parsing.\n * Uses the Web Workers API (browser, Deno).\n *\n * @internal\n */\n\n// Web Worker context (self)\nconst workerContext = self as unknown as DedicatedWorkerGlobalScope;\n\n// Create message handler with Web Worker context\nconst messageHandler = createMessageHandler(workerContext);\n\n// Register message listener (Web Workers API)\nworkerContext.addEventListener(\n \"message\",\n (event: MessageEvent<ParseRequest>) => {\n messageHandler(event.data);\n },\n);\n"],"names":[],"mappings":";;AAGA,IAAI,OAAO,eAAe,WAAA,EAAa;AAErC,EAAA,IAAI,CAAC,WAAW,yBAAA,EAA2B;AAEzC,IAAA,UAAA,CAAW,4BAA4B,EAAE,iBAAA,EAAmB,CAAC,CAAA,KAAM,GAAE,EAAE;AAAA,EACzE;AACF;AAYA,MAAM,aAAA,GAAgB,IAAA;AAGtB,MAAM,cAAA,GAAiB,qBAAqB,aAAa,CAAA;AAGzD,aAAA,CAAc,gBAAA;AAAA,EACZ,SAAA;AAAA,EACA,CAAC,KAAA,KAAsC;AACrC,IAAA,cAAA,CAAe,MAAM,IAAI,CAAA;AAAA,EAC3B;AACF,CAAA"}
|