jazz-tools 2.0.0-alpha.16 → 2.0.0-alpha.17

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/bin/jazz-tools.js CHANGED
@@ -32,13 +32,13 @@ function ensureExecutable(binaryPath, name) {
32
32
  chmodSync(binaryPath, 0o755);
33
33
  } catch (error) {
34
34
  const details = error instanceof Error ? error.message : String(error);
35
- fail(`Bundled binary ${name} is not executable and chmod failed: ${details}`);
35
+ fail(`Binary ${name} is not executable and chmod failed: ${details}`);
36
36
  }
37
37
 
38
38
  try {
39
39
  accessSync(binaryPath, constants.X_OK);
40
40
  } catch {
41
- fail(`Bundled binary ${name} is not executable after chmod.`);
41
+ fail(`Binary ${name} is not executable after chmod.`);
42
42
  }
43
43
  }
44
44
 
@@ -61,6 +61,39 @@ function parseSchemaDir(args) {
61
61
  return schemaDir;
62
62
  }
63
63
 
64
+ function parseWrapperArgs(rawArgs) {
65
+ let rustBinOverride;
66
+ const args = [];
67
+
68
+ for (let i = 0; i < rawArgs.length; i++) {
69
+ const arg = rawArgs[i];
70
+
71
+ if (arg === "--rust-bin") {
72
+ const value = rawArgs[i + 1];
73
+ if (!value) {
74
+ fail("Missing value for --rust-bin.");
75
+ }
76
+ rustBinOverride = value;
77
+ i += 1;
78
+ continue;
79
+ }
80
+
81
+ const prefix = "--rust-bin=";
82
+ if (arg.startsWith(prefix)) {
83
+ const value = arg.slice(prefix.length);
84
+ if (!value) {
85
+ fail("Missing value for --rust-bin.");
86
+ }
87
+ rustBinOverride = value;
88
+ continue;
89
+ }
90
+
91
+ args.push(arg);
92
+ }
93
+
94
+ return { args, rustBinOverride };
95
+ }
96
+
64
97
  function exitWithSpawnResult(result, name) {
65
98
  if (result.error) {
66
99
  fail(`Failed to execute ${name}: ${result.error.message}`);
@@ -79,7 +112,7 @@ function exitWithSpawnResult(result, name) {
79
112
 
80
113
  const here = dirname(fileURLToPath(import.meta.url));
81
114
 
82
- const args = process.argv.slice(2);
115
+ const { args, rustBinOverride } = parseWrapperArgs(process.argv.slice(2));
83
116
  const command = args[0];
84
117
 
85
118
  // Handle the MCP server before any Rust binary resolution.
@@ -98,9 +131,14 @@ if (command === "mcp") {
98
131
  ];
99
132
 
100
133
  const bundledBinaryPath = binaryName ? join(here, "native", binaryName) : undefined;
134
+ if (rustBinOverride && !existsSync(rustBinOverride)) {
135
+ fail(`Configured Rust binary missing: ${rustBinOverride}`);
136
+ }
101
137
  const binaryPath =
102
- (bundledBinaryPath && existsSync(bundledBinaryPath) ? bundledBinaryPath : undefined) ??
103
- fallbackCandidates.find((candidate) => existsSync(candidate));
138
+ rustBinOverride ??
139
+ (bundledBinaryPath && existsSync(bundledBinaryPath)
140
+ ? bundledBinaryPath
141
+ : fallbackCandidates.find((candidate) => existsSync(candidate)));
104
142
 
105
143
  if (!binaryPath) {
106
144
  const lines = [];
@@ -117,19 +155,16 @@ if (command === "mcp") {
117
155
  fail(lines.join("\n"));
118
156
  }
119
157
 
120
- ensureExecutable(binaryPath, binaryName ?? localBinaryName);
158
+ ensureExecutable(binaryPath, rustBinOverride ?? binaryName ?? localBinaryName);
121
159
 
122
160
  if (command === "build") {
123
161
  const schemaDirArg = parseSchemaDir(args.slice(1));
124
162
  const schemaDir = resolve(process.cwd(), schemaDirArg);
125
- const currentSqlPath = join(schemaDir, "current.sql");
126
163
  const currentTsPath = join(schemaDir, "current.ts");
127
164
  const tsCliPath = join(here, "..", "dist", "cli.js");
128
165
 
129
- if (!existsSync(currentSqlPath) && existsSync(currentTsPath) && existsSync(tsCliPath)) {
130
- console.log(
131
- `Detected ${schemaDirArg}/current.ts without current.sql. Running TypeScript schema build bootstrap.`,
132
- );
166
+ if (existsSync(currentTsPath) && existsSync(tsCliPath)) {
167
+ console.log(`Detected ${schemaDirArg}/current.ts. Running TypeScript schema build.`);
133
168
  const tsBuildResult = spawnSync(
134
169
  process.execPath,
135
170
  [tsCliPath, "build", "--schema-dir", schemaDirArg, "--jazz-bin", binaryPath],
Binary file
Binary file
Binary file
Binary file
package/dist/cli.test.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { spawnSync } from "node:child_process";
1
2
  import { chmod, mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
2
3
  import { tmpdir } from "node:os";
3
4
  import { join } from "node:path";
@@ -6,6 +7,9 @@ import { afterEach, describe, expect, it } from "vitest";
6
7
  import { build } from "./cli.js";
7
8
  const dslPath = fileURLToPath(new URL("./dsl.ts", import.meta.url));
8
9
  const permissionsDslPath = fileURLToPath(new URL("./permissions/index.ts", import.meta.url));
10
+ // Bin integration tests run in a subprocess that loads dist/cli.js, so current.ts must import
11
+ // from the compiled dist to share the same dsl module instance (and thus _collectedSchema state).
12
+ const distDslPath = fileURLToPath(new URL("../dist/dsl.js", import.meta.url));
9
13
  const tempRoots = [];
10
14
  afterEach(async () => {
11
15
  await Promise.all(tempRoots.splice(0).map((root) => rm(root, { recursive: true, force: true })));
@@ -20,6 +24,14 @@ async function createWorkspace() {
20
24
  await chmod(jazzBin, 0o755);
21
25
  return { root, schemaDir, jazzBin };
22
26
  }
27
+ async function createFakeRustBin() {
28
+ const root = await mkdtemp(join(tmpdir(), "jazz-tools-cli-rust-bin-"));
29
+ tempRoots.push(root);
30
+ const rustBin = join(root, "fake-jazz-tools");
31
+ await writeFile(rustBin, "#!/bin/sh\nexit 0\n");
32
+ await chmod(rustBin, 0o755);
33
+ return rustBin;
34
+ }
23
35
  function currentSchemaWithoutInlinePermissions() {
24
36
  return `
25
37
  import { table, col } from ${JSON.stringify(dslPath)};
@@ -95,6 +107,67 @@ export default {
95
107
  };
96
108
  `;
97
109
  }
110
+ // Bin integration variants — import from dist/dsl.js to share the module instance with dist/cli.js.
111
+ function binCurrentSchema() {
112
+ return `
113
+ import { table, col } from ${JSON.stringify(distDslPath)};
114
+
115
+ table("projects", {
116
+ name: col.string(),
117
+ });
118
+
119
+ table("todos", {
120
+ title: col.string(),
121
+ owner_id: col.string(),
122
+ });
123
+ `;
124
+ }
125
+ function binSchemaWithMessagesAndCanvases() {
126
+ return `
127
+ import { table, col } from ${JSON.stringify(distDslPath)};
128
+
129
+ table("messages", {
130
+ content: col.string(),
131
+ isPublic: col.boolean(),
132
+ });
133
+
134
+ table("canvases", {
135
+ name: col.string(),
136
+ isPublic: col.boolean(),
137
+ });
138
+ `;
139
+ }
140
+ function binMigrationDropIsPublicFromBothTables() {
141
+ return `
142
+ import { migrate, col } from ${JSON.stringify(distDslPath)};
143
+
144
+ migrate("messages", {
145
+ isPublic: col.drop().boolean({ backwardsDefault: false }),
146
+ });
147
+
148
+ migrate("canvases", {
149
+ isPublic: col.drop().boolean({ backwardsDefault: false }),
150
+ });
151
+ `;
152
+ }
153
+ function currentSchemaWithComments() {
154
+ return `
155
+ import { table, col } from ${JSON.stringify(distDslPath)};
156
+
157
+ table("projects", {
158
+ name: col.string(),
159
+ });
160
+
161
+ table("todos", {
162
+ title: col.string(),
163
+ owner_id: col.string(),
164
+ });
165
+
166
+ table("comments", {
167
+ body: col.string(),
168
+ });
169
+ `;
170
+ }
98
171
  function schemaWithMessagesAndCanvases() {
99
172
  return `
100
173
  import { table, col } from ${JSON.stringify(dslPath)};
@@ -123,6 +196,15 @@ migrate("canvases", {
123
196
  });
124
197
  `;
125
198
  }
199
+ describe("cli build basic output", () => {
200
+ it("generates app.ts even when current.sql already exists", async () => {
201
+ const { schemaDir, jazzBin } = await createWorkspace();
202
+ await writeFile(join(schemaDir, "current.ts"), currentSchemaWithoutInlinePermissions());
203
+ await writeFile(join(schemaDir, "current.sql"), "-- stale");
204
+ await build({ schemaDir, jazzBin });
205
+ await readFile(join(schemaDir, "app.ts"), "utf8");
206
+ });
207
+ });
126
208
  describe("cli build migration SQL generation", () => {
127
209
  it("generates DROP COLUMN for every table when migrate() is called on multiple tables", async () => {
128
210
  const { schemaDir, jazzBin } = await createWorkspace();
@@ -193,4 +275,72 @@ describe("cli build permissions generation", () => {
193
275
  await expect(build({ schemaDir, jazzBin })).rejects.toThrow(/invalid permissions export/i);
194
276
  });
195
277
  });
278
+ // Integration test: exercises the bin/jazz-tools.js entry point, which applies extra
279
+ // logic on top of build() to decide whether to invoke the TS CLI at all.
280
+ const binPath = fileURLToPath(new URL("../bin/jazz-tools.js", import.meta.url));
281
+ function runBinBuild(schemaDir, rustBin) {
282
+ const result = spawnSync(process.execPath, [binPath, "build", "--schema-dir", schemaDir, "--rust-bin", rustBin], {
283
+ stdio: "inherit",
284
+ });
285
+ expect(result.status).toBe(0);
286
+ }
287
+ describe("bin integration", () => {
288
+ it("generates current.sql on first build (no current.sql)", async () => {
289
+ const { schemaDir } = await createWorkspace();
290
+ const rustBin = await createFakeRustBin();
291
+ await writeFile(join(schemaDir, "current.ts"), binCurrentSchema());
292
+ runBinBuild(schemaDir, rustBin);
293
+ await readFile(join(schemaDir, "current.sql"), "utf8");
294
+ });
295
+ it("generates app.ts on first build (no current.sql)", async () => {
296
+ const { schemaDir } = await createWorkspace();
297
+ const rustBin = await createFakeRustBin();
298
+ await writeFile(join(schemaDir, "current.ts"), binCurrentSchema());
299
+ runBinBuild(schemaDir, rustBin);
300
+ await readFile(join(schemaDir, "app.ts"), "utf8");
301
+ });
302
+ it("regenerates current.sql and app.ts when current.sql already exists", async () => {
303
+ // Regression: bin skips the TS CLI step when current.sql is present,
304
+ // so neither file is updated on subsequent builds.
305
+ const { schemaDir } = await createWorkspace();
306
+ const rustBin = await createFakeRustBin();
307
+ await writeFile(join(schemaDir, "current.ts"), binCurrentSchema());
308
+ await writeFile(join(schemaDir, "current.sql"), "-- stale");
309
+ runBinBuild(schemaDir, rustBin);
310
+ const sql = await readFile(join(schemaDir, "current.sql"), "utf8");
311
+ expect(sql).toContain("CREATE TABLE");
312
+ await readFile(join(schemaDir, "app.ts"), "utf8");
313
+ });
314
+ // bootstrap → change current.ts → rebuild
315
+ it("updates current.sql when current.ts changes after initial build", async () => {
316
+ const { schemaDir } = await createWorkspace();
317
+ const rustBin = await createFakeRustBin();
318
+ await writeFile(join(schemaDir, "current.ts"), binCurrentSchema());
319
+ runBinBuild(schemaDir, rustBin);
320
+ await writeFile(join(schemaDir, "current.ts"), currentSchemaWithComments());
321
+ runBinBuild(schemaDir, rustBin);
322
+ const sql = await readFile(join(schemaDir, "current.sql"), "utf8");
323
+ expect(sql).toContain("CREATE TABLE comments");
324
+ });
325
+ it("updates app.ts when current.ts changes after initial build", async () => {
326
+ const { schemaDir } = await createWorkspace();
327
+ const rustBin = await createFakeRustBin();
328
+ await writeFile(join(schemaDir, "current.ts"), binCurrentSchema());
329
+ runBinBuild(schemaDir, rustBin);
330
+ await writeFile(join(schemaDir, "current.ts"), currentSchemaWithComments());
331
+ runBinBuild(schemaDir, rustBin);
332
+ const appTs = await readFile(join(schemaDir, "app.ts"), "utf8");
333
+ expect(appTs).toContain("comments");
334
+ });
335
+ it("generates migration SQL from stub on rebuild when current.sql already exists", async () => {
336
+ const { schemaDir } = await createWorkspace();
337
+ const rustBin = await createFakeRustBin();
338
+ await writeFile(join(schemaDir, "current.ts"), binSchemaWithMessagesAndCanvases());
339
+ runBinBuild(schemaDir, rustBin);
340
+ await writeFile(join(schemaDir, "migration_v1_v2_aaaaaaaaaaaa_bbbbbbbbbbbb.ts"), binMigrationDropIsPublicFromBothTables());
341
+ runBinBuild(schemaDir, rustBin);
342
+ await readFile(join(schemaDir, "migration_v1_v2_fwd_aaaaaaaaaaaa_bbbbbbbbbbbb.sql"), "utf8");
343
+ await readFile(join(schemaDir, "migration_v1_v2_bwd_aaaaaaaaaaaa_bbbbbbbbbbbb.sql"), "utf8");
344
+ });
345
+ });
196
346
  //# sourceMappingURL=cli.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=polyfills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../../src/expo/polyfills.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /// <reference path="./vendor.d.ts" />
2
+ import { polyfillGlobal } from "react-native/Libraries/Utilities/PolyfillFunctions";
3
+ import { Headers as ReactNativeHeaders, Request as ReactNativeRequest, Response as ReactNativeResponse, } from "react-native/Libraries/Network/fetch";
4
+ import { fetch as expoFetch } from "expo/fetch";
5
+ import { ReadableStream as PonyfillReadableStream } from "web-streams-polyfill";
6
+ const readableStreamCtor = globalThis.ReadableStream ?? PonyfillReadableStream;
7
+ polyfillGlobal("fetch", () => expoFetch);
8
+ polyfillGlobal("Headers", () => ReactNativeHeaders ?? globalThis.Headers);
9
+ polyfillGlobal("Request", () => ReactNativeRequest ?? globalThis.Request);
10
+ polyfillGlobal("Response", () => ReactNativeResponse ?? globalThis.Response);
11
+ polyfillGlobal("ReadableStream", () => readableStreamCtor);
12
+ //# sourceMappingURL=polyfills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../../src/expo/polyfills.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EACL,OAAO,IAAI,kBAAkB,EAC7B,OAAO,IAAI,kBAAkB,EAC7B,QAAQ,IAAI,mBAAmB,GAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,IAAI,sBAAsB,CAAC;AAE/E,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACzC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,mBAAmB,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7E,cAAc,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jazz-tools",
3
- "version": "2.0.0-alpha.16",
3
+ "version": "2.0.0-alpha.17",
4
4
  "description": "Jazz TypeScript SDK, React/Vue/Svelte bindings, and CLI tools",
5
5
  "bin": {
6
6
  "jazz-tools": "bin/jazz-tools.js"
@@ -53,6 +53,11 @@
53
53
  "svelte": "./dist/svelte/index.js",
54
54
  "default": "./dist/svelte/index.js"
55
55
  },
56
+ "./expo/polyfills": {
57
+ "types": "./dist/expo/polyfills.d.ts",
58
+ "react-native": "./dist/expo/polyfills.js",
59
+ "default": "./dist/expo/polyfills.js"
60
+ },
56
61
  "./package.json": "./package.json"
57
62
  },
58
63
  "publishConfig": {
@@ -64,7 +69,8 @@
64
69
  "json-schema-to-ts": "^3.1.1",
65
70
  "pluralize-esm": "^9.0.5",
66
71
  "tsx": "^4.0.0",
67
- "jazz-wasm": "2.0.0-alpha.16"
72
+ "web-streams-polyfill": "^4.2.0",
73
+ "jazz-wasm": "2.0.0-alpha.17"
68
74
  },
69
75
  "devDependencies": {
70
76
  "@sveltejs/package": "^2.0.0",
@@ -83,17 +89,25 @@
83
89
  "vitest": "4.0.18",
84
90
  "vue": "^3.5.22",
85
91
  "zod": "^4.3.6",
86
- "jazz-rn": "2.0.0-alpha.16"
92
+ "jazz-rn": "2.0.0-alpha.17"
87
93
  },
88
94
  "peerDependencies": {
95
+ "expo": ">=54",
89
96
  "react": "^18 || ^19",
97
+ "react-native": ">=0.76",
90
98
  "svelte": "^5.0.0",
91
99
  "vue": "^3.5.0"
92
100
  },
93
101
  "peerDependenciesMeta": {
102
+ "expo": {
103
+ "optional": true
104
+ },
94
105
  "react": {
95
106
  "optional": true
96
107
  },
108
+ "react-native": {
109
+ "optional": true
110
+ },
97
111
  "svelte": {
98
112
  "optional": true
99
113
  },
@@ -102,7 +116,7 @@
102
116
  }
103
117
  },
104
118
  "optionalDependencies": {
105
- "jazz-napi": "2.0.0-alpha.16"
119
+ "jazz-napi": "2.0.0-alpha.17"
106
120
  },
107
121
  "engines": {
108
122
  "node": ">=20"