on-zero 0.1.4 → 0.1.9

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/dist/cjs/cli.cjs CHANGED
@@ -21,17 +21,48 @@ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
21
21
  value: mod,
22
22
  enumerable: !0
23
23
  }) : target, mod));
24
- var import_node_fs = require("node:fs"),
24
+ var import_node_crypto = require("node:crypto"),
25
+ import_node_fs = require("node:fs"),
25
26
  import_node_path = require("node:path"),
26
27
  import_model = require("@sinclair/typebox-codegen/model"),
27
28
  import_typescript = require("@sinclair/typebox-codegen/typescript"),
28
29
  import_citty = require("citty"),
29
30
  ts = __toESM(require("typescript"), 1);
31
+ const hash = s => (0, import_node_crypto.createHash)("sha256").update(s).digest("hex");
32
+ let generateCache = {},
33
+ generateCachePath = "";
34
+ function getCacheDir() {
35
+ let dir = process.cwd();
36
+ for (; dir !== "/";) {
37
+ const nm = (0, import_node_path.resolve)(dir, "node_modules");
38
+ if ((0, import_node_fs.existsSync)(nm)) {
39
+ const cacheDir = (0, import_node_path.resolve)(nm, ".on-zero");
40
+ return (0, import_node_fs.existsSync)(cacheDir) || (0, import_node_fs.mkdirSync)(cacheDir, {
41
+ recursive: !0
42
+ }), cacheDir;
43
+ }
44
+ dir = (0, import_node_path.resolve)(dir, "..");
45
+ }
46
+ return null;
47
+ }
48
+ function loadCache() {
49
+ const cacheDir = getCacheDir();
50
+ if (cacheDir) {
51
+ generateCachePath = (0, import_node_path.resolve)(cacheDir, "generate-cache.json");
52
+ try {
53
+ generateCache = JSON.parse((0, import_node_fs.readFileSync)(generateCachePath, "utf-8"));
54
+ } catch {
55
+ generateCache = {};
56
+ }
57
+ }
58
+ }
59
+ function saveCache() {
60
+ generateCachePath && (0, import_node_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + `
61
+ `, "utf-8");
62
+ }
30
63
  function writeFileIfChanged(filePath, content) {
31
- try {
32
- if ((0, import_node_fs.existsSync)(filePath) && (0, import_node_fs.readFileSync)(filePath, "utf-8") === content) return !1;
33
- } catch {}
34
- return (0, import_node_fs.writeFileSync)(filePath, content, "utf-8"), !0;
64
+ const contentHash = hash(content);
65
+ return generateCache[filePath] === contentHash && (0, import_node_fs.existsSync)(filePath) ? !1 : ((0, import_node_fs.writeFileSync)(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
35
66
  }
36
67
  const generateQueries = (0, import_citty.defineCommand)({
37
68
  meta: {
@@ -130,7 +161,7 @@ const generateQueries = (0, import_citty.defineCommand)({
130
161
  runAfter = options?.runAfter ?? !silent;
131
162
  (0, import_node_fs.existsSync)(generatedDir) || (0, import_node_fs.mkdirSync)(generatedDir, {
132
163
  recursive: !0
133
- });
164
+ }), loadCache();
134
165
  const allModelFiles = (0, import_node_fs.readdirSync)(modelsDir).filter(f => f.endsWith(".ts")).sort(),
135
166
  filesWithSchema = (await Promise.all(allModelFiles.map(async f => ({
136
167
  file: f,
@@ -199,19 +230,23 @@ const generateQueries = (0, import_citty.defineCommand)({
199
230
  } catch (err) {
200
231
  console.error(`Error running after command: ${err}`);
201
232
  }
202
- } else if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
203
- const {
204
- execSync
205
- } = await import("node:child_process");
206
- execSync(args.after, {
207
- stdio: "inherit",
208
- env: {
209
- ...process.env,
210
- ON_ZERO_GENERATED_DIR: generatedDir
211
- }
212
- });
213
- } catch (err) {
214
- console.error(`Error running after command: ${err}`);
233
+ saveCache();
234
+ } else {
235
+ if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
236
+ const {
237
+ execSync
238
+ } = await import("node:child_process");
239
+ execSync(args.after, {
240
+ stdio: "inherit",
241
+ env: {
242
+ ...process.env,
243
+ ON_ZERO_GENERATED_DIR: generatedDir
244
+ }
245
+ });
246
+ } catch (err) {
247
+ console.error(`Error running after command: ${err}`);
248
+ }
249
+ saveCache();
215
250
  }
216
251
  };
217
252
  if (await runGenerate({
package/dist/cjs/cli.js CHANGED
@@ -18,14 +18,39 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
19
19
  mod
20
20
  ));
21
- var import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_model = require("@sinclair/typebox-codegen/model"), import_typescript = require("@sinclair/typebox-codegen/typescript"), import_citty = require("citty"), ts = __toESM(require("typescript"), 1);
22
- function writeFileIfChanged(filePath, content) {
23
- try {
24
- if ((0, import_node_fs.existsSync)(filePath) && (0, import_node_fs.readFileSync)(filePath, "utf-8") === content)
25
- return !1;
26
- } catch {
21
+ var import_node_crypto = require("node:crypto"), import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_model = require("@sinclair/typebox-codegen/model"), import_typescript = require("@sinclair/typebox-codegen/typescript"), import_citty = require("citty"), ts = __toESM(require("typescript"), 1);
22
+ const hash = (s) => (0, import_node_crypto.createHash)("sha256").update(s).digest("hex");
23
+ let generateCache = {}, generateCachePath = "";
24
+ function getCacheDir() {
25
+ let dir = process.cwd();
26
+ for (; dir !== "/"; ) {
27
+ const nm = (0, import_node_path.resolve)(dir, "node_modules");
28
+ if ((0, import_node_fs.existsSync)(nm)) {
29
+ const cacheDir = (0, import_node_path.resolve)(nm, ".on-zero");
30
+ return (0, import_node_fs.existsSync)(cacheDir) || (0, import_node_fs.mkdirSync)(cacheDir, { recursive: !0 }), cacheDir;
31
+ }
32
+ dir = (0, import_node_path.resolve)(dir, "..");
33
+ }
34
+ return null;
35
+ }
36
+ function loadCache() {
37
+ const cacheDir = getCacheDir();
38
+ if (cacheDir) {
39
+ generateCachePath = (0, import_node_path.resolve)(cacheDir, "generate-cache.json");
40
+ try {
41
+ generateCache = JSON.parse((0, import_node_fs.readFileSync)(generateCachePath, "utf-8"));
42
+ } catch {
43
+ generateCache = {};
44
+ }
27
45
  }
28
- return (0, import_node_fs.writeFileSync)(filePath, content, "utf-8"), !0;
46
+ }
47
+ function saveCache() {
48
+ generateCachePath && (0, import_node_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + `
49
+ `, "utf-8");
50
+ }
51
+ function writeFileIfChanged(filePath, content) {
52
+ const contentHash = hash(content);
53
+ return generateCache[filePath] === contentHash && (0, import_node_fs.existsSync)(filePath) ? !1 : ((0, import_node_fs.writeFileSync)(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
29
54
  }
30
55
  const generateQueries = (0, import_citty.defineCommand)({
31
56
  meta: {
@@ -107,7 +132,7 @@ const generateQueries = (0, import_citty.defineCommand)({
107
132
  async run({ args }) {
108
133
  const baseDir = (0, import_node_path.resolve)(args.dir), modelsDir = (0, import_node_path.resolve)(baseDir, "models"), generatedDir = (0, import_node_path.resolve)(baseDir, "generated"), queriesDir = (0, import_node_path.resolve)(baseDir, "queries"), runGenerate = async (options) => {
109
134
  const silent = options?.silent ?? !1, runAfter = options?.runAfter ?? !silent;
110
- (0, import_node_fs.existsSync)(generatedDir) || (0, import_node_fs.mkdirSync)(generatedDir, { recursive: !0 });
135
+ (0, import_node_fs.existsSync)(generatedDir) || (0, import_node_fs.mkdirSync)(generatedDir, { recursive: !0 }), loadCache();
111
136
  const allModelFiles = (0, import_node_fs.readdirSync)(modelsDir).filter((f) => f.endsWith(".ts")).sort(), filesWithSchema = (await Promise.all(
112
137
  allModelFiles.map(async (f) => ({
113
138
  file: f,
@@ -196,18 +221,22 @@ const generateQueries = (0, import_citty.defineCommand)({
196
221
  } catch (err) {
197
222
  console.error(`Error running after command: ${err}`);
198
223
  }
199
- } else if (filesChanged > 0 && !silent && console.info(
200
- `\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`
201
- ), filesChanged > 0 && runAfter && args.after)
202
- try {
203
- const { execSync } = await import("node:child_process");
204
- execSync(args.after, {
205
- stdio: "inherit",
206
- env: { ...process.env, ON_ZERO_GENERATED_DIR: generatedDir }
207
- });
208
- } catch (err) {
209
- console.error(`Error running after command: ${err}`);
210
- }
224
+ saveCache();
225
+ } else {
226
+ if (filesChanged > 0 && !silent && console.info(
227
+ `\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`
228
+ ), filesChanged > 0 && runAfter && args.after)
229
+ try {
230
+ const { execSync } = await import("node:child_process");
231
+ execSync(args.after, {
232
+ stdio: "inherit",
233
+ env: { ...process.env, ON_ZERO_GENERATED_DIR: generatedDir }
234
+ });
235
+ } catch (err) {
236
+ console.error(`Error running after command: ${err}`);
237
+ }
238
+ saveCache();
239
+ }
211
240
  };
212
241
  if (await runGenerate({ silent: args.watch, runAfter: !0 }), args.watch) {
213
242
  console.info(`\u{1F440} watching...
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["readdirSync"]
6
6
  }
@@ -23,20 +23,50 @@ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
23
  value: mod,
24
24
  enumerable: !0
25
25
  }) : target, mod));
26
- var import_fs = require("fs"),
26
+ var import_crypto = require("crypto"),
27
+ import_fs = require("fs"),
27
28
  import_path = require("path"),
28
29
  import_model = require("@sinclair/typebox-codegen/model"),
29
30
  import_typescript = require("@sinclair/typebox-codegen/typescript"),
30
31
  import_citty = require("citty"),
31
- ts = __toESM(require("typescript"), 1);
32
- function writeFileIfChanged(filePath, content) {
33
- try {
34
- if ((0, import_fs.existsSync)(filePath)) {
35
- var existingContent = (0, import_fs.readFileSync)(filePath, "utf-8");
36
- if (existingContent === content) return !1;
32
+ ts = __toESM(require("typescript"), 1),
33
+ hash = function (s) {
34
+ return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
35
+ },
36
+ generateCache = {},
37
+ generateCachePath = "";
38
+ function getCacheDir() {
39
+ for (var dir = process.cwd(); dir !== "/";) {
40
+ var nm = (0, import_path.resolve)(dir, "node_modules");
41
+ if ((0, import_fs.existsSync)(nm)) {
42
+ var cacheDir = (0, import_path.resolve)(nm, ".on-zero");
43
+ return (0, import_fs.existsSync)(cacheDir) || (0, import_fs.mkdirSync)(cacheDir, {
44
+ recursive: !0
45
+ }), cacheDir;
37
46
  }
38
- } catch {}
39
- return (0, import_fs.writeFileSync)(filePath, content, "utf-8"), !0;
47
+ dir = (0, import_path.resolve)(dir, "..");
48
+ }
49
+ return null;
50
+ }
51
+ function loadCache() {
52
+ var cacheDir = getCacheDir();
53
+ if (cacheDir) {
54
+ generateCachePath = (0, import_path.resolve)(cacheDir, "generate-cache.json");
55
+ try {
56
+ generateCache = JSON.parse((0, import_fs.readFileSync)(generateCachePath, "utf-8"));
57
+ } catch {
58
+ generateCache = {};
59
+ }
60
+ }
61
+ }
62
+ function saveCache() {
63
+ generateCachePath && (0, import_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + `
64
+ `, "utf-8");
65
+ }
66
+ function writeFileIfChanged(filePath, content) {
67
+ var contentHash = hash(content),
68
+ cachedHash = generateCache[filePath];
69
+ return cachedHash === contentHash && (0, import_fs.existsSync)(filePath) ? !1 : ((0, import_fs.writeFileSync)(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
40
70
  }
41
71
  var generateQueries = (0, import_citty.defineCommand)({
42
72
  meta: {
@@ -149,7 +179,7 @@ var generateQueries = (0, import_citty.defineCommand)({
149
179
  runAfter = (_options_runAfter = options?.runAfter) !== null && _options_runAfter !== void 0 ? _options_runAfter : !silent;
150
180
  (0, import_fs.existsSync)(generatedDir) || (0, import_fs.mkdirSync)(generatedDir, {
151
181
  recursive: !0
152
- });
182
+ }), loadCache();
153
183
  var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(function (f) {
154
184
  return f.endsWith(".ts");
155
185
  }).sort(),
@@ -239,19 +269,23 @@ var generateQueries = (0, import_citty.defineCommand)({
239
269
  } catch (err) {
240
270
  console.error(`Error running after command: ${err}`);
241
271
  }
242
- } else if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
243
- var {
244
- execSync: execSync1
245
- } = await import("child_process");
246
- execSync1(args.after, {
247
- stdio: "inherit",
248
- env: {
249
- ...process.env,
250
- ON_ZERO_GENERATED_DIR: generatedDir
251
- }
252
- });
253
- } catch (err) {
254
- console.error(`Error running after command: ${err}`);
272
+ saveCache();
273
+ } else {
274
+ if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
275
+ var {
276
+ execSync: execSync1
277
+ } = await import("child_process");
278
+ execSync1(args.after, {
279
+ stdio: "inherit",
280
+ env: {
281
+ ...process.env,
282
+ ON_ZERO_GENERATED_DIR: generatedDir
283
+ }
284
+ });
285
+ } catch (err) {
286
+ console.error(`Error running after command: ${err}`);
287
+ }
288
+ saveCache();
255
289
  }
256
290
  };
257
291
  if (await runGenerate({
@@ -1 +1 @@
1
- {"version":3,"names":["import_fs","require","import_path","import_model","import_typescript","import_citty","ts","__toESM","writeFileIfChanged","filePath","content","existsSync","existingContent","readFileSync","writeFileSync","generateQueries","defineCommand","meta","name","description","args","dir","type","required","default","run","param","resolve","readdirSync","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","_node_modifiers","exportModifier","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","_param_type","_$param","typeString","model","TypeScriptToModel","Generate","valibotCode","ModelToValibot","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","_options_silent","silent","_options_runAfter","runAfter","mkdirSync","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","basename","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","process","ON_ZERO_GENERATED_DIR","execSync1","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedFiles","Set","q","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","has","set","get","return","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","line2","i2","queriesObject"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_crypto","require","import_fs","import_path","import_model","import_typescript","import_citty","ts","__toESM","hash","s","createHash","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","resolve","existsSync","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","readFileSync","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","generateQueries","defineCommand","meta","name","description","args","type","required","default","run","param","readdirSync","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","_node_modifiers","exportModifier","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","_param_type","_$param","typeString","model","TypeScriptToModel","Generate","valibotCode","ModelToValibot","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","_options_silent","silent","_options_runAfter","runAfter","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","basename","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","ON_ZERO_GENERATED_DIR","execSync1","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedFiles","Set","q","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","has","set","get","return","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","line2","i2","queriesObject"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/cli.js CHANGED
@@ -1,17 +1,43 @@
1
1
  #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
2
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
3
4
  import { basename, resolve } from "node:path";
4
5
  import { ModelToValibot } from "@sinclair/typebox-codegen/model";
5
6
  import { TypeScriptToModel } from "@sinclair/typebox-codegen/typescript";
6
7
  import { defineCommand, runMain } from "citty";
7
8
  import * as ts from "typescript";
8
- function writeFileIfChanged(filePath, content) {
9
- try {
10
- if (existsSync(filePath) && readFileSync(filePath, "utf-8") === content)
11
- return !1;
12
- } catch {
9
+ const hash = (s) => createHash("sha256").update(s).digest("hex");
10
+ let generateCache = {}, generateCachePath = "";
11
+ function getCacheDir() {
12
+ let dir = process.cwd();
13
+ for (; dir !== "/"; ) {
14
+ const nm = resolve(dir, "node_modules");
15
+ if (existsSync(nm)) {
16
+ const cacheDir = resolve(nm, ".on-zero");
17
+ return existsSync(cacheDir) || mkdirSync(cacheDir, { recursive: !0 }), cacheDir;
18
+ }
19
+ dir = resolve(dir, "..");
20
+ }
21
+ return null;
22
+ }
23
+ function loadCache() {
24
+ const cacheDir = getCacheDir();
25
+ if (cacheDir) {
26
+ generateCachePath = resolve(cacheDir, "generate-cache.json");
27
+ try {
28
+ generateCache = JSON.parse(readFileSync(generateCachePath, "utf-8"));
29
+ } catch {
30
+ generateCache = {};
31
+ }
13
32
  }
14
- return writeFileSync(filePath, content, "utf-8"), !0;
33
+ }
34
+ function saveCache() {
35
+ generateCachePath && writeFileSync(generateCachePath, JSON.stringify(generateCache) + `
36
+ `, "utf-8");
37
+ }
38
+ function writeFileIfChanged(filePath, content) {
39
+ const contentHash = hash(content);
40
+ return generateCache[filePath] === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
15
41
  }
16
42
  const generateQueries = defineCommand({
17
43
  meta: {
@@ -93,7 +119,7 @@ const generateQueries = defineCommand({
93
119
  async run({ args }) {
94
120
  const baseDir = resolve(args.dir), modelsDir = resolve(baseDir, "models"), generatedDir = resolve(baseDir, "generated"), queriesDir = resolve(baseDir, "queries"), runGenerate = async (options) => {
95
121
  const silent = options?.silent ?? !1, runAfter = options?.runAfter ?? !silent;
96
- existsSync(generatedDir) || mkdirSync(generatedDir, { recursive: !0 });
122
+ existsSync(generatedDir) || mkdirSync(generatedDir, { recursive: !0 }), loadCache();
97
123
  const allModelFiles = readdirSync(modelsDir).filter((f) => f.endsWith(".ts")).sort(), filesWithSchema = (await Promise.all(
98
124
  allModelFiles.map(async (f) => ({
99
125
  file: f,
@@ -182,18 +208,22 @@ const generateQueries = defineCommand({
182
208
  } catch (err) {
183
209
  console.error(`Error running after command: ${err}`);
184
210
  }
185
- } else if (filesChanged > 0 && !silent && console.info(
186
- `\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`
187
- ), filesChanged > 0 && runAfter && args.after)
188
- try {
189
- const { execSync } = await import("node:child_process");
190
- execSync(args.after, {
191
- stdio: "inherit",
192
- env: { ...process.env, ON_ZERO_GENERATED_DIR: generatedDir }
193
- });
194
- } catch (err) {
195
- console.error(`Error running after command: ${err}`);
196
- }
211
+ saveCache();
212
+ } else {
213
+ if (filesChanged > 0 && !silent && console.info(
214
+ `\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`
215
+ ), filesChanged > 0 && runAfter && args.after)
216
+ try {
217
+ const { execSync } = await import("node:child_process");
218
+ execSync(args.after, {
219
+ stdio: "inherit",
220
+ env: { ...process.env, ON_ZERO_GENERATED_DIR: generatedDir }
221
+ });
222
+ } catch (err) {
223
+ console.error(`Error running after command: ${err}`);
224
+ }
225
+ saveCache();
226
+ }
197
227
  };
198
228
  if (await runGenerate({ silent: args.watch, runAfter: !0 }), args.watch) {
199
229
  console.info(`\u{1F440} watching...
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["readdirSync"]
6
6
  }
package/dist/esm/cli.mjs CHANGED
@@ -1,15 +1,46 @@
1
1
  #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
2
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
3
4
  import { basename, resolve } from "node:path";
4
5
  import { ModelToValibot } from "@sinclair/typebox-codegen/model";
5
6
  import { TypeScriptToModel } from "@sinclair/typebox-codegen/typescript";
6
7
  import { defineCommand, runMain } from "citty";
7
8
  import * as ts from "typescript";
9
+ const hash = s => createHash("sha256").update(s).digest("hex");
10
+ let generateCache = {},
11
+ generateCachePath = "";
12
+ function getCacheDir() {
13
+ let dir = process.cwd();
14
+ for (; dir !== "/";) {
15
+ const nm = resolve(dir, "node_modules");
16
+ if (existsSync(nm)) {
17
+ const cacheDir = resolve(nm, ".on-zero");
18
+ return existsSync(cacheDir) || mkdirSync(cacheDir, {
19
+ recursive: !0
20
+ }), cacheDir;
21
+ }
22
+ dir = resolve(dir, "..");
23
+ }
24
+ return null;
25
+ }
26
+ function loadCache() {
27
+ const cacheDir = getCacheDir();
28
+ if (cacheDir) {
29
+ generateCachePath = resolve(cacheDir, "generate-cache.json");
30
+ try {
31
+ generateCache = JSON.parse(readFileSync(generateCachePath, "utf-8"));
32
+ } catch {
33
+ generateCache = {};
34
+ }
35
+ }
36
+ }
37
+ function saveCache() {
38
+ generateCachePath && writeFileSync(generateCachePath, JSON.stringify(generateCache) + `
39
+ `, "utf-8");
40
+ }
8
41
  function writeFileIfChanged(filePath, content) {
9
- try {
10
- if (existsSync(filePath) && readFileSync(filePath, "utf-8") === content) return !1;
11
- } catch {}
12
- return writeFileSync(filePath, content, "utf-8"), !0;
42
+ const contentHash = hash(content);
43
+ return generateCache[filePath] === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
13
44
  }
14
45
  const generateQueries = defineCommand({
15
46
  meta: {
@@ -108,7 +139,7 @@ const generateQueries = defineCommand({
108
139
  runAfter = options?.runAfter ?? !silent;
109
140
  existsSync(generatedDir) || mkdirSync(generatedDir, {
110
141
  recursive: !0
111
- });
142
+ }), loadCache();
112
143
  const allModelFiles = readdirSync(modelsDir).filter(f => f.endsWith(".ts")).sort(),
113
144
  filesWithSchema = (await Promise.all(allModelFiles.map(async f => ({
114
145
  file: f,
@@ -177,19 +208,23 @@ const generateQueries = defineCommand({
177
208
  } catch (err) {
178
209
  console.error(`Error running after command: ${err}`);
179
210
  }
180
- } else if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
181
- const {
182
- execSync
183
- } = await import("node:child_process");
184
- execSync(args.after, {
185
- stdio: "inherit",
186
- env: {
187
- ...process.env,
188
- ON_ZERO_GENERATED_DIR: generatedDir
189
- }
190
- });
191
- } catch (err) {
192
- console.error(`Error running after command: ${err}`);
211
+ saveCache();
212
+ } else {
213
+ if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
214
+ const {
215
+ execSync
216
+ } = await import("node:child_process");
217
+ execSync(args.after, {
218
+ stdio: "inherit",
219
+ env: {
220
+ ...process.env,
221
+ ON_ZERO_GENERATED_DIR: generatedDir
222
+ }
223
+ });
224
+ } catch (err) {
225
+ console.error(`Error running after command: ${err}`);
226
+ }
227
+ saveCache();
193
228
  }
194
229
  };
195
230
  if (await runGenerate({
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ModelToValibot","TypeScriptToModel","defineCommand","runMain","ts","writeFileIfChanged","filePath","content","generateQueries","meta","name","description","args","dir","type","required","default","run","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","typeString","model","Generate","valibotCode","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","silent","runAfter","recursive","allModelFiles","sort","filesWithSchema","hasSchema","includes","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","Boolean","queryFiles","fileBaseName","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","process","ON_ZERO_GENERATED_DIR","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","join","modelsObj","a","b","localeCompare","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","Set","q","queryByFile","Map","has","set","get","sortedFiles","Array","from","keys","namespaceDefs","queryDefs","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","queriesObject","main","subCommands"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ModelToValibot","TypeScriptToModel","defineCommand","runMain","ts","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","generateQueries","meta","name","description","args","type","required","default","run","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","typeString","model","Generate","valibotCode","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","silent","runAfter","allModelFiles","sort","filesWithSchema","hasSchema","includes","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","Boolean","queryFiles","fileBaseName","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","ON_ZERO_GENERATED_DIR","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","join","modelsObj","a","b","localeCompare","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","Set","q","queryByFile","Map","has","set","get","sortedFiles","Array","from","keys","namespaceDefs","queryDefs","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","queriesObject","main","subCommands"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,48 @@
1
1
  #!/usr/bin/env node
2
+ import { createHash } from "crypto";
2
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
3
4
  import { basename, resolve } from "path";
4
5
  import { ModelToValibot } from "@sinclair/typebox-codegen/model";
5
6
  import { TypeScriptToModel } from "@sinclair/typebox-codegen/typescript";
6
7
  import { defineCommand, runMain } from "citty";
7
8
  import * as ts from "typescript";
8
- function writeFileIfChanged(filePath, content) {
9
- try {
10
- if (existsSync(filePath)) {
11
- var existingContent = readFileSync(filePath, "utf-8");
12
- if (existingContent === content) return !1;
9
+ var hash = function (s) {
10
+ return createHash("sha256").update(s).digest("hex");
11
+ },
12
+ generateCache = {},
13
+ generateCachePath = "";
14
+ function getCacheDir() {
15
+ for (var dir = process.cwd(); dir !== "/";) {
16
+ var nm = resolve(dir, "node_modules");
17
+ if (existsSync(nm)) {
18
+ var cacheDir = resolve(nm, ".on-zero");
19
+ return existsSync(cacheDir) || mkdirSync(cacheDir, {
20
+ recursive: !0
21
+ }), cacheDir;
13
22
  }
14
- } catch {}
15
- return writeFileSync(filePath, content, "utf-8"), !0;
23
+ dir = resolve(dir, "..");
24
+ }
25
+ return null;
26
+ }
27
+ function loadCache() {
28
+ var cacheDir = getCacheDir();
29
+ if (cacheDir) {
30
+ generateCachePath = resolve(cacheDir, "generate-cache.json");
31
+ try {
32
+ generateCache = JSON.parse(readFileSync(generateCachePath, "utf-8"));
33
+ } catch {
34
+ generateCache = {};
35
+ }
36
+ }
37
+ }
38
+ function saveCache() {
39
+ generateCachePath && writeFileSync(generateCachePath, JSON.stringify(generateCache) + `
40
+ `, "utf-8");
41
+ }
42
+ function writeFileIfChanged(filePath, content) {
43
+ var contentHash = hash(content),
44
+ cachedHash = generateCache[filePath];
45
+ return cachedHash === contentHash && existsSync(filePath) ? !1 : (writeFileSync(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
16
46
  }
17
47
  var generateQueries = defineCommand({
18
48
  meta: {
@@ -125,7 +155,7 @@ var generateQueries = defineCommand({
125
155
  runAfter = (_options_runAfter = options?.runAfter) !== null && _options_runAfter !== void 0 ? _options_runAfter : !silent;
126
156
  existsSync(generatedDir) || mkdirSync(generatedDir, {
127
157
  recursive: !0
128
- });
158
+ }), loadCache();
129
159
  var allModelFiles = readdirSync(modelsDir).filter(function (f) {
130
160
  return f.endsWith(".ts");
131
161
  }).sort(),
@@ -215,19 +245,23 @@ var generateQueries = defineCommand({
215
245
  } catch (err) {
216
246
  console.error(`Error running after command: ${err}`);
217
247
  }
218
- } else if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
219
- var {
220
- execSync: execSync1
221
- } = await import("child_process");
222
- execSync1(args.after, {
223
- stdio: "inherit",
224
- env: {
225
- ...process.env,
226
- ON_ZERO_GENERATED_DIR: generatedDir
227
- }
228
- });
229
- } catch (err) {
230
- console.error(`Error running after command: ${err}`);
248
+ saveCache();
249
+ } else {
250
+ if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`), filesChanged > 0 && runAfter && args.after) try {
251
+ var {
252
+ execSync: execSync1
253
+ } = await import("child_process");
254
+ execSync1(args.after, {
255
+ stdio: "inherit",
256
+ env: {
257
+ ...process.env,
258
+ ON_ZERO_GENERATED_DIR: generatedDir
259
+ }
260
+ });
261
+ } catch (err) {
262
+ console.error(`Error running after command: ${err}`);
263
+ }
264
+ saveCache();
231
265
  }
232
266
  };
233
267
  if (await runGenerate({
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ModelToValibot","TypeScriptToModel","defineCommand","runMain","ts","writeFileIfChanged","filePath","content","existingContent","generateQueries","meta","name","description","args","dir","type","required","default","run","param","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","_node_modifiers","exportModifier","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","_param_type","_$param","typeString","model","Generate","valibotCode","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","_options_silent","silent","_options_runAfter","runAfter","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","process","ON_ZERO_GENERATED_DIR","execSync1","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedFiles","Set","q","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","has","set","get","return","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","line2","i2","queriesObject"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ModelToValibot","TypeScriptToModel","defineCommand","runMain","ts","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","generateQueries","meta","name","description","args","type","required","default","run","param","readdirSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","queries","sourceFile","createSourceFile","ScriptTarget","Latest","forEachChild","node","isVariableStatement","_node_modifiers","exportModifier","modifiers","find","m","kind","SyntaxKind","ExportKeyword","declaration","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","params","parameters","paramType","length","_param_type","_$param","typeString","model","Generate","valibotCode","push","err","console","error","flat","info","generate","watch","after","baseDir","modelsDir","generatedDir","queriesDir","runGenerate","options","_options_silent","silent","_options_runAfter","runAfter","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","groupedQueriesOutput","generateGroupedQueriesFile","syncedQueriesOutput","generateSyncedQueriesFile","groupedChanged","syncedChanged","queryFilesChanged","totalFilesChanged","execSync","stdio","env","ON_ZERO_GENERATED_DIR","execSync1","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","ignored","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedFiles","Set","q","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","has","set","get","return","Array","from","keys","namespaceDefs","fileQueries","queryDefs","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","indentedValidator","line2","i2","queriesObject"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.1.4",
3
+ "version": "0.1.9",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -64,7 +64,7 @@
64
64
  }
65
65
  },
66
66
  "dependencies": {
67
- "@take-out/helpers": "0.1.4",
67
+ "@take-out/helpers": "0.1.9",
68
68
  "@sinclair/typebox-codegen": "^0.11.1",
69
69
  "chokidar": "^4.0.3",
70
70
  "citty": "^0.1.6",
package/src/cli.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { createHash } from 'node:crypto'
2
3
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'
3
4
  import { basename, resolve } from 'node:path'
4
5
 
@@ -7,23 +8,66 @@ import { TypeScriptToModel } from '@sinclair/typebox-codegen/typescript'
7
8
  import { defineCommand, runMain } from 'citty'
8
9
  import * as ts from 'typescript'
9
10
 
11
+ const hash = (s: string) => createHash('sha256').update(s).digest('hex')
12
+
10
13
  /**
11
- * Write file only if the content has changed.
12
- * This prevents unnecessary rebuilds from file watchers.
14
+ * cache of raw generated content hashes so we can skip writes when
15
+ * a formatter (--after) rewrites files to a different style.
16
+ * without this, the raw output never matches the formatted file on disk
17
+ * and every regeneration triggers unnecessary file watcher events.
13
18
  */
14
- function writeFileIfChanged(filePath: string, content: string): boolean {
15
- try {
16
- if (existsSync(filePath)) {
17
- const existingContent = readFileSync(filePath, 'utf-8')
18
- if (existingContent === content) {
19
- return false // no change
19
+ let generateCache: Record<string, string> = {}
20
+ let generateCachePath = ''
21
+
22
+ function getCacheDir() {
23
+ // walk up from cwd to find nearest node_modules
24
+ let dir = process.cwd()
25
+ while (dir !== '/') {
26
+ const nm = resolve(dir, 'node_modules')
27
+ if (existsSync(nm)) {
28
+ const cacheDir = resolve(nm, '.on-zero')
29
+ if (!existsSync(cacheDir)) {
30
+ mkdirSync(cacheDir, { recursive: true })
20
31
  }
32
+ return cacheDir
21
33
  }
34
+ dir = resolve(dir, '..')
35
+ }
36
+ return null
37
+ }
38
+
39
+ function loadCache() {
40
+ const cacheDir = getCacheDir()
41
+ if (!cacheDir) return
42
+ generateCachePath = resolve(cacheDir, 'generate-cache.json')
43
+ try {
44
+ generateCache = JSON.parse(readFileSync(generateCachePath, 'utf-8'))
22
45
  } catch {
23
- // if we can't read the file, proceed with writing
46
+ generateCache = {}
47
+ }
48
+ }
49
+
50
+ function saveCache() {
51
+ if (generateCachePath) {
52
+ writeFileSync(generateCachePath, JSON.stringify(generateCache) + '\n', 'utf-8')
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Write file only if the content has changed.
58
+ * Uses a hash cache of raw generated content to avoid false positives
59
+ * when a formatter rewrites files to a different style.
60
+ */
61
+ function writeFileIfChanged(filePath: string, content: string): boolean {
62
+ const contentHash = hash(content)
63
+ const cachedHash = generateCache[filePath]
64
+
65
+ if (cachedHash === contentHash && existsSync(filePath)) {
66
+ return false // raw content unchanged, formatted file on disk is fine
24
67
  }
25
68
 
26
69
  writeFileSync(filePath, content, 'utf-8')
70
+ generateCache[filePath] = contentHash
27
71
  return true // file was written
28
72
  }
29
73
 
@@ -152,6 +196,8 @@ const generate = defineCommand({
152
196
  mkdirSync(generatedDir, { recursive: true })
153
197
  }
154
198
 
199
+ loadCache()
200
+
155
201
  // read all model files and check for schemas in parallel
156
202
  const allModelFiles = readdirSync(modelsDir)
157
203
  .filter((f) => f.endsWith('.ts'))
@@ -315,6 +361,8 @@ const generate = defineCommand({
315
361
  console.error(`Error running after command: ${err}`)
316
362
  }
317
363
  }
364
+
365
+ saveCache()
318
366
  } else {
319
367
  if (filesChanged > 0 && !silent) {
320
368
  console.info(
@@ -334,6 +382,8 @@ const generate = defineCommand({
334
382
  console.error(`Error running after command: ${err}`)
335
383
  }
336
384
  }
385
+
386
+ saveCache()
337
387
  }
338
388
  }
339
389