@chonkiejs/chunk 0.9.2 → 0.9.3

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/index.js CHANGED
@@ -28,6 +28,7 @@ import initWasm, {
28
28
  chunk_offsets_pattern as wasmChunkOffsetsPattern,
29
29
  split_offsets as wasmSplitOffsets,
30
30
  merge_splits as wasmMergeSplits,
31
+ initSync as initWasmSync,
31
32
  } from './pkg/chonkiejs_chunk.js';
32
33
 
33
34
  export { default_target_size, default_delimiters };
@@ -220,10 +221,30 @@ let initialized = false;
220
221
 
221
222
  /**
222
223
  * Initialize the WASM module. Must be called before using chunk functions.
224
+ * Automatically detects Node.js vs browser environment.
223
225
  */
224
226
  export async function init() {
225
227
  if (!initialized) {
226
- await initWasm();
228
+ // Check if we're in Node.js
229
+ const isNode = typeof process !== 'undefined' &&
230
+ process.versions != null &&
231
+ process.versions.node != null;
232
+
233
+ if (isNode) {
234
+ // Node.js: read the wasm file and use initSync
235
+ const { readFileSync } = await import('node:fs');
236
+ const { fileURLToPath } = await import('node:url');
237
+ const { dirname, join } = await import('node:path');
238
+
239
+ const __filename = fileURLToPath(import.meta.url);
240
+ const __dirname = dirname(__filename);
241
+ const wasmPath = join(__dirname, 'pkg', 'chonkiejs_chunk_bg.wasm');
242
+ const wasmBytes = readFileSync(wasmPath);
243
+ initWasmSync({ module: wasmBytes });
244
+ } else {
245
+ // Browser: use fetch-based init
246
+ await initWasm();
247
+ }
227
248
  initialized = true;
228
249
  }
229
250
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chonkiejs/chunk",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "The fastest semantic text chunking library",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -165,8 +165,8 @@ export interface InitOutput {
165
165
  readonly merge_splits: (a: number, b: number, c: number, d: number) => [number, number];
166
166
  readonly split_offsets: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
167
167
  readonly __wbindgen_externrefs: WebAssembly.Table;
168
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
169
168
  readonly __wbindgen_malloc: (a: number, b: number) => number;
169
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
170
170
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
171
171
  readonly __wbindgen_start: () => void;
172
172
  }
Binary file
@@ -15,7 +15,7 @@ export const find_merge_indices: (a: number, b: number, c: number) => [number, n
15
15
  export const merge_splits: (a: number, b: number, c: number, d: number) => [number, number];
16
16
  export const split_offsets: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
17
17
  export const __wbindgen_externrefs: WebAssembly.Table;
18
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
19
18
  export const __wbindgen_malloc: (a: number, b: number) => number;
19
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
20
20
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
21
21
  export const __wbindgen_start: () => void;
package/pkg/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chonkiejs-chunk",
3
3
  "type": "module",
4
- "version": "0.9.2",
4
+ "version": "0.9.3",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "files": [
7
7
  "chonkiejs_chunk_bg.wasm",