cojson 0.18.14 → 0.18.16

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson@0.18.14 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.18.16 build /home/runner/_work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # cojson
2
2
 
3
+ ## 0.18.16
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [629c275]
8
+ - cojson-core-wasm@0.18.16
9
+
10
+ ## 0.18.15
11
+
12
+ ### Patch Changes
13
+
14
+ - a584ab3: Add WasmCrypto support for Cloudflare Workers and edge runtimes by importing `jazz-tools/load-edge-wasm`.
15
+
16
+ - Enable WasmCrypto functionality by initializing the WebAssembly environment with the import: `import "jazz-tools/load-edge-wasm"` in edge runtimes.
17
+ - Guarantee compatibility across Cloudflare Workers and other edge runtime environments.
18
+
19
+ - Updated dependencies [a584ab3]
20
+ - cojson-core-wasm@0.18.15
21
+
3
22
  ## 0.18.14
4
23
 
5
24
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { SessionLog, Blake3Hasher } from "cojson-core-wasm";
1
+ import { SessionLog, initialize, Blake3Hasher } from "cojson-core-wasm";
2
2
  import { RawCoID, SessionID, TransactionID } from "../ids.js";
3
3
  import { Stringified } from "../jsonStringify.js";
4
4
  import { JsonObject, JsonValue } from "../jsonValue.js";
@@ -17,6 +17,7 @@ type Blake3State = Blake3Hasher;
17
17
  */
18
18
  export declare class WasmCrypto extends CryptoProvider<Blake3State> {
19
19
  private constructor();
20
+ static setInit(value: typeof initialize): void;
20
21
  static create(): Promise<WasmCrypto | PureJSCrypto>;
21
22
  blake3HashOnce(data: Uint8Array): Uint8Array;
22
23
  blake3HashOnceWithContext(data: Uint8Array, { context }: {
@@ -1 +1 @@
1
- {"version":3,"file":"WasmCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasmCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,YAAY,EAab,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,SAAS,EACT,KAAK,EACL,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,KAAK,WAAW,GAAG,YAAY,CAAC;AAGhC;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IACzD,OAAO;IAIP,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,UAAU;WAI1B,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC;IAczD,cAAc,CAAC,IAAI,EAAE,UAAU;IAI/B,yBAAyB,CACvB,IAAI,EAAE,UAAU,EAChB,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE;IAKtC,oBAAoB,IAAI,UAAU;IAIlC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS;IAOzD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO;IAUvE,qBAAqB,IAAI,UAAU;IAInC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAUlB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;IAUjB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EACxB,OAAO,EACP,IAAI,EACJ,EAAE,EACF,aAAa,GACd,EAAE;QACD,OAAO,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,QAAQ,CAAC;QACb,aAAa,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,aAAa,CAAA;SAAE,CAAC;KACnD,GAAG,MAAM,CAAC,CAAC,CAAC;IAWb,MAAM,CAAC,CAAC,SAAS,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,aAAa,CAAA;KAAE,GAChD,CAAC,GAAG,SAAS;IAiBhB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAG1E;AAED,cAAM,iBAAiB;IACT,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEnD,MAAM,CACJ,YAAY,EAAE,WAAW,EAAE,EAC3B,YAAY,EAAE,SAAS,EACvB,UAAU,EAAE,OAAO,GAClB,IAAI;IAQP,wBAAwB,CACtB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,kBAAkB,CAAA;KAAE;IAoB5D,yBAAyB,CACvB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,mBAAmB,CAAA;KAAE;IAkB7D,iCAAiC,CAC/B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,MAAM;IAQT,8BAA8B,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,SAAS;IAIrB,IAAI;IAIJ,KAAK,IAAI,iBAAiB;CAG3B"}
@@ -4,6 +4,7 @@ import { stableStringify } from "../jsonStringify.js";
4
4
  import { logger } from "../logger.js";
5
5
  import { PureJSCrypto } from "./PureJSCrypto.js";
6
6
  import { CryptoProvider, textDecoder, textEncoder, } from "./crypto.js";
7
+ let wasmInit = initialize;
7
8
  /**
8
9
  * WebAssembly implementation of the CryptoProvider interface using cojson-core-wasm.
9
10
  * This provides the primary implementation using WebAssembly for optimal performance, offering:
@@ -16,9 +17,12 @@ export class WasmCrypto extends CryptoProvider {
16
17
  constructor() {
17
18
  super();
18
19
  }
20
+ static setInit(value) {
21
+ wasmInit = value;
22
+ }
19
23
  static async create() {
20
24
  try {
21
- await initialize();
25
+ await wasmInit();
22
26
  }
23
27
  catch (e) {
24
28
  logger.warn("Failed to initialize WasmCrypto, falling back to PureJSCrypto", { err: e });
@@ -1 +1 @@
1
- {"version":3,"file":"WasmCrypto.js","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasmCrypto.js","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Initializes the WASM crypto module for edge runtimes.
3
+ *
4
+ * This function must be called before creating an instance of {@link WasmCrypto}.
5
+ * It prepares the WASM crypto environment for use in edge runtimes such as Vercel functions or Cloudflare Workers.
6
+ *
7
+ * @returns A promise that resolves when the WASM crypto module is successfully initialized.
8
+ */
9
+ export declare const init: () => Promise<void>;
10
+ //# sourceMappingURL=WasmCryptoEdge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmCryptoEdge.d.ts","sourceRoot":"","sources":["../../src/crypto/WasmCryptoEdge.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,qBAEhB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { initialize } from "cojson-core-wasm/edge-lite";
2
+ /**
3
+ * Initializes the WASM crypto module for edge runtimes.
4
+ *
5
+ * This function must be called before creating an instance of {@link WasmCrypto}.
6
+ * It prepares the WASM crypto environment for use in edge runtimes such as Vercel functions or Cloudflare Workers.
7
+ *
8
+ * @returns A promise that resolves when the WASM crypto module is successfully initialized.
9
+ */
10
+ export const init = async () => {
11
+ return initialize();
12
+ };
13
+ //# sourceMappingURL=WasmCryptoEdge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmCryptoEdge.js","sourceRoot":"","sources":["../../src/crypto/WasmCryptoEdge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IAC7B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC,CAAC"}
package/package.json CHANGED
@@ -20,12 +20,16 @@
20
20
  "types": "./dist/crypto/WasmCrypto.d.ts",
21
21
  "default": "./dist/crypto/WasmCrypto.js"
22
22
  },
23
+ "./crypto/WasmCrypto/edge": {
24
+ "types": "./dist/crypto/WasmCryptoEdge.d.ts",
25
+ "default": "./dist/crypto/WasmCryptoEdge.js"
26
+ },
23
27
  "./dist/*": "./dist/*",
24
28
  "./src/*": "./src/*"
25
29
  },
26
30
  "type": "module",
27
31
  "license": "MIT",
28
- "version": "0.18.14",
32
+ "version": "0.18.16",
29
33
  "devDependencies": {
30
34
  "@opentelemetry/sdk-metrics": "^2.0.0",
31
35
  "libsql": "^0.5.13",
@@ -39,7 +43,7 @@
39
43
  "@scure/base": "1.2.1",
40
44
  "neverthrow": "^7.0.1",
41
45
  "unicode-segmenter": "^0.12.0",
42
- "cojson-core-wasm": "0.18.14"
46
+ "cojson-core-wasm": "0.18.16"
43
47
  },
44
48
  "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
45
49
  "scripts": {
@@ -44,6 +44,7 @@ import {
44
44
 
45
45
  type Blake3State = Blake3Hasher;
46
46
 
47
+ let wasmInit = initialize;
47
48
  /**
48
49
  * WebAssembly implementation of the CryptoProvider interface using cojson-core-wasm.
49
50
  * This provides the primary implementation using WebAssembly for optimal performance, offering:
@@ -57,9 +58,13 @@ export class WasmCrypto extends CryptoProvider<Blake3State> {
57
58
  super();
58
59
  }
59
60
 
61
+ static setInit(value: typeof initialize) {
62
+ wasmInit = value;
63
+ }
64
+
60
65
  static async create(): Promise<WasmCrypto | PureJSCrypto> {
61
66
  try {
62
- await initialize();
67
+ await wasmInit();
63
68
  } catch (e) {
64
69
  logger.warn(
65
70
  "Failed to initialize WasmCrypto, falling back to PureJSCrypto",
@@ -0,0 +1,14 @@
1
+ import { initialize } from "cojson-core-wasm/edge-lite";
2
+ import { WasmCrypto } from "./WasmCrypto.js";
3
+
4
+ /**
5
+ * Initializes the WASM crypto module for edge runtimes.
6
+ *
7
+ * This function must be called before creating an instance of {@link WasmCrypto}.
8
+ * It prepares the WASM crypto environment for use in edge runtimes such as Vercel functions or Cloudflare Workers.
9
+ *
10
+ * @returns A promise that resolves when the WASM crypto module is successfully initialized.
11
+ */
12
+ export const init = async () => {
13
+ return initialize();
14
+ };