over-zero 0.0.21 → 0.0.23
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 +69 -3
- package/dist/cjs/cli.js +83 -9
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/cli.native.js +146 -75
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/esm/cli.js +83 -9
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cli.mjs +69 -3
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +75 -4
- package/dist/esm/cli.native.js.map +1 -1
- package/package.json +2 -2
- package/src/cli.ts +102 -6
package/dist/cjs/cli.cjs
CHANGED
|
@@ -27,6 +27,12 @@ var import_model = require("@sinclair/typebox-codegen/model"),
|
|
|
27
27
|
import_node_fs = require("node:fs"),
|
|
28
28
|
import_node_path = require("node:path"),
|
|
29
29
|
ts = __toESM(require("typescript"), 1);
|
|
30
|
+
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;
|
|
35
|
+
}
|
|
30
36
|
const generateQueries = (0, import_citty.defineCommand)({
|
|
31
37
|
meta: {
|
|
32
38
|
name: "generate-queries",
|
|
@@ -129,8 +135,9 @@ const generate = (0, import_citty.defineCommand)({
|
|
|
129
135
|
file: f,
|
|
130
136
|
hasSchema: (0, import_node_fs.readFileSync)((0, import_node_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(")
|
|
131
137
|
})))).filter(c => c.hasSchema).map(c => c.file),
|
|
132
|
-
[modelsOutput, typesOutput, tablesOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema))])
|
|
133
|
-
|
|
138
|
+
[modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema)), Promise.resolve(generateReadmeFile())]),
|
|
139
|
+
filesChanged = (await Promise.all([Promise.resolve(writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "models.ts"), modelsOutput)), Promise.resolve(writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "types.ts"), typesOutput)), Promise.resolve(writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "tables.ts"), tablesOutput)), Promise.resolve(writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "README.md"), readmeOutput))])).filter(Boolean).length;
|
|
140
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), (0, import_node_fs.existsSync)(queriesDir)) {
|
|
134
141
|
const queryFiles = (0, import_node_fs.readdirSync)(queriesDir).filter(f => f.endsWith(".ts")),
|
|
135
142
|
allQueries = (await Promise.all(queryFiles.map(async file => {
|
|
136
143
|
const filePath = (0, import_node_path.resolve)(queriesDir, file),
|
|
@@ -172,7 +179,7 @@ const generate = (0, import_citty.defineCommand)({
|
|
|
172
179
|
return queries;
|
|
173
180
|
}))).flat(),
|
|
174
181
|
queriesOutput = generateQueriesFile(allQueries);
|
|
175
|
-
(
|
|
182
|
+
writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "queries.ts"), queriesOutput) && console.info(" \u{1F4DD} Updated queries.ts"), console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`);
|
|
176
183
|
} else console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`);
|
|
177
184
|
if (args.after) try {
|
|
178
185
|
const {
|
|
@@ -286,6 +293,65 @@ ${Array.from(queryByFile.keys()).sort().map(file => `import * as ${file}Queries
|
|
|
286
293
|
` + syncedQueries + `
|
|
287
294
|
`;
|
|
288
295
|
}
|
|
296
|
+
function generateReadmeFile() {
|
|
297
|
+
return `# generated
|
|
298
|
+
|
|
299
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
300
|
+
|
|
301
|
+
## what's generated
|
|
302
|
+
|
|
303
|
+
- \`models.ts\` - exports all models from ../models
|
|
304
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
305
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
306
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
307
|
+
|
|
308
|
+
## usage guidelines
|
|
309
|
+
|
|
310
|
+
**do not import generated files outside of the data folder.**
|
|
311
|
+
|
|
312
|
+
### queries
|
|
313
|
+
|
|
314
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
315
|
+
|
|
316
|
+
\`\`\`ts
|
|
317
|
+
// \u274C bad - don't import from generated
|
|
318
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
319
|
+
|
|
320
|
+
// \u2705 good - import from queries
|
|
321
|
+
import { channelMessages } from '~/data/queries/message'
|
|
322
|
+
\`\`\`
|
|
323
|
+
|
|
324
|
+
### types
|
|
325
|
+
|
|
326
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
327
|
+
|
|
328
|
+
\`\`\`ts
|
|
329
|
+
// \u274C okay but not preferred
|
|
330
|
+
import type { Message } from '~/data/generated/types'
|
|
331
|
+
|
|
332
|
+
// \u2705 better - re-export from types.ts
|
|
333
|
+
import type { Message } from '~/data/types'
|
|
334
|
+
\`\`\`
|
|
335
|
+
|
|
336
|
+
## regeneration
|
|
337
|
+
|
|
338
|
+
files are regenerated when you run:
|
|
339
|
+
|
|
340
|
+
\`\`\`bash
|
|
341
|
+
bun over-zero generate
|
|
342
|
+
\`\`\`
|
|
343
|
+
|
|
344
|
+
or in watch mode:
|
|
345
|
+
|
|
346
|
+
\`\`\`bash
|
|
347
|
+
bun over-zero generate --watch
|
|
348
|
+
\`\`\`
|
|
349
|
+
|
|
350
|
+
## more info
|
|
351
|
+
|
|
352
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
353
|
+
`;
|
|
354
|
+
}
|
|
289
355
|
const main = (0, import_citty.defineCommand)({
|
|
290
356
|
meta: {
|
|
291
357
|
name: "over-zero",
|
package/dist/cjs/cli.js
CHANGED
|
@@ -19,6 +19,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
19
19
|
mod
|
|
20
20
|
));
|
|
21
21
|
var import_model = require("@sinclair/typebox-codegen/model"), import_typescript = require("@sinclair/typebox-codegen/typescript"), import_citty = require("citty"), import_node_fs = require("node:fs"), import_node_path = require("node:path"), 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 {
|
|
27
|
+
}
|
|
28
|
+
return (0, import_node_fs.writeFileSync)(filePath, content, "utf-8"), !0;
|
|
29
|
+
}
|
|
22
30
|
const generateQueries = (0, import_citty.defineCommand)({
|
|
23
31
|
meta: {
|
|
24
32
|
name: "generate-queries",
|
|
@@ -107,22 +115,26 @@ const generate = (0, import_citty.defineCommand)({
|
|
|
107
115
|
"export const schema = table("
|
|
108
116
|
)
|
|
109
117
|
}))
|
|
110
|
-
)).filter((c) => c.hasSchema).map((c) => c.file), [modelsOutput, typesOutput, tablesOutput] = await Promise.all([
|
|
118
|
+
)).filter((c) => c.hasSchema).map((c) => c.file), [modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([
|
|
111
119
|
Promise.resolve(generateModelsFile(allModelFiles)),
|
|
112
120
|
Promise.resolve(generateTypesFile(filesWithSchema)),
|
|
113
|
-
Promise.resolve(generateTablesFile(filesWithSchema))
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
Promise.resolve(generateTablesFile(filesWithSchema)),
|
|
122
|
+
Promise.resolve(generateReadmeFile())
|
|
123
|
+
]), filesChanged = (await Promise.all([
|
|
124
|
+
Promise.resolve(
|
|
125
|
+
writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "models.ts"), modelsOutput)
|
|
126
|
+
),
|
|
116
127
|
Promise.resolve(
|
|
117
|
-
(
|
|
128
|
+
writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "types.ts"), typesOutput)
|
|
118
129
|
),
|
|
119
130
|
Promise.resolve(
|
|
120
|
-
(
|
|
131
|
+
writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "tables.ts"), tablesOutput)
|
|
121
132
|
),
|
|
122
133
|
Promise.resolve(
|
|
123
|
-
(
|
|
134
|
+
writeFileIfChanged((0, import_node_path.resolve)(generatedDir, "README.md"), readmeOutput)
|
|
124
135
|
)
|
|
125
|
-
])
|
|
136
|
+
])).filter(Boolean).length;
|
|
137
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), (0, import_node_fs.existsSync)(queriesDir)) {
|
|
126
138
|
const queryFiles = (0, import_node_fs.readdirSync)(queriesDir).filter((f) => f.endsWith(".ts")), allQueries = (await Promise.all(
|
|
127
139
|
queryFiles.map(async (file) => {
|
|
128
140
|
const filePath = (0, import_node_path.resolve)(queriesDir, file), fileBaseName = (0, import_node_path.basename)(file, ".ts"), queries = [];
|
|
@@ -166,7 +178,10 @@ const generate = (0, import_citty.defineCommand)({
|
|
|
166
178
|
return queries;
|
|
167
179
|
})
|
|
168
180
|
)).flat(), queriesOutput = generateQueriesFile(allQueries);
|
|
169
|
-
(
|
|
181
|
+
writeFileIfChanged(
|
|
182
|
+
(0, import_node_path.resolve)(generatedDir, "queries.ts"),
|
|
183
|
+
queriesOutput
|
|
184
|
+
) && console.info(" \u{1F4DD} Updated queries.ts"), console.info(
|
|
170
185
|
`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`
|
|
171
186
|
);
|
|
172
187
|
} else
|
|
@@ -276,6 +291,65 @@ ${Array.from(queryByFile.keys()).sort().map((file) => `import * as ${file}Querie
|
|
|
276
291
|
` + syncedQueries + `
|
|
277
292
|
`;
|
|
278
293
|
}
|
|
294
|
+
function generateReadmeFile() {
|
|
295
|
+
return `# generated
|
|
296
|
+
|
|
297
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
298
|
+
|
|
299
|
+
## what's generated
|
|
300
|
+
|
|
301
|
+
- \`models.ts\` - exports all models from ../models
|
|
302
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
303
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
304
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
305
|
+
|
|
306
|
+
## usage guidelines
|
|
307
|
+
|
|
308
|
+
**do not import generated files outside of the data folder.**
|
|
309
|
+
|
|
310
|
+
### queries
|
|
311
|
+
|
|
312
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
313
|
+
|
|
314
|
+
\`\`\`ts
|
|
315
|
+
// \u274C bad - don't import from generated
|
|
316
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
317
|
+
|
|
318
|
+
// \u2705 good - import from queries
|
|
319
|
+
import { channelMessages } from '~/data/queries/message'
|
|
320
|
+
\`\`\`
|
|
321
|
+
|
|
322
|
+
### types
|
|
323
|
+
|
|
324
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
325
|
+
|
|
326
|
+
\`\`\`ts
|
|
327
|
+
// \u274C okay but not preferred
|
|
328
|
+
import type { Message } from '~/data/generated/types'
|
|
329
|
+
|
|
330
|
+
// \u2705 better - re-export from types.ts
|
|
331
|
+
import type { Message } from '~/data/types'
|
|
332
|
+
\`\`\`
|
|
333
|
+
|
|
334
|
+
## regeneration
|
|
335
|
+
|
|
336
|
+
files are regenerated when you run:
|
|
337
|
+
|
|
338
|
+
\`\`\`bash
|
|
339
|
+
bun over-zero generate
|
|
340
|
+
\`\`\`
|
|
341
|
+
|
|
342
|
+
or in watch mode:
|
|
343
|
+
|
|
344
|
+
\`\`\`bash
|
|
345
|
+
bun over-zero generate --watch
|
|
346
|
+
\`\`\`
|
|
347
|
+
|
|
348
|
+
## more info
|
|
349
|
+
|
|
350
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
351
|
+
`;
|
|
352
|
+
}
|
|
279
353
|
const main = (0, import_citty.defineCommand)({
|
|
280
354
|
meta: {
|
|
281
355
|
name: "over-zero",
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AACA,mBAA+B,4CAC/B,oBAAkC,iDAClC,eAAuC,kBACvC,iBAAgF,oBAChF,mBAAkC,sBAClC,KAAoB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["readdirSync", "writeFileSync"]
|
|
6
6
|
}
|
package/dist/cjs/cli.native.js
CHANGED
|
@@ -28,80 +28,89 @@ var import_model = require("@sinclair/typebox-codegen/model"),
|
|
|
28
28
|
import_citty = require("citty"),
|
|
29
29
|
import_fs = require("fs"),
|
|
30
30
|
import_path = require("path"),
|
|
31
|
-
ts = __toESM(require("typescript"), 1)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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;
|
|
37
|
+
}
|
|
38
|
+
} catch {}
|
|
39
|
+
return (0, import_fs.writeFileSync)(filePath, content, "utf-8"), !0;
|
|
40
|
+
}
|
|
41
|
+
var generateQueries = (0, import_citty.defineCommand)({
|
|
42
|
+
meta: {
|
|
43
|
+
name: "generate-queries",
|
|
44
|
+
description: "Generate server-side query validators from TypeScript query functions"
|
|
45
|
+
},
|
|
46
|
+
args: {
|
|
47
|
+
dir: {
|
|
48
|
+
type: "positional",
|
|
49
|
+
description: "Directory containing query files",
|
|
50
|
+
required: !1,
|
|
51
|
+
default: "."
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
async run(param) {
|
|
55
|
+
var {
|
|
56
|
+
args
|
|
57
|
+
} = param,
|
|
58
|
+
dir = (0, import_path.resolve)(args.dir),
|
|
59
|
+
{
|
|
60
|
+
readdirSync: readdirSync2,
|
|
61
|
+
writeFileSync: writeFileSync2
|
|
62
|
+
} = await import("fs"),
|
|
63
|
+
files = readdirSync2(dir).filter(function (f) {
|
|
64
|
+
return f.endsWith(".ts");
|
|
65
|
+
}),
|
|
66
|
+
allQueries = [],
|
|
67
|
+
results = await Promise.all(files.map(async function (file) {
|
|
68
|
+
var filePath = (0, import_path.resolve)(dir, file),
|
|
69
|
+
queries = [];
|
|
70
|
+
try {
|
|
71
|
+
var content = (0, import_fs.readFileSync)(filePath, "utf-8"),
|
|
72
|
+
sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, !0);
|
|
73
|
+
ts.forEachChild(sourceFile, function (node) {
|
|
74
|
+
if (ts.isVariableStatement(node)) {
|
|
75
|
+
var _node_modifiers,
|
|
76
|
+
exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function (m) {
|
|
77
|
+
return m.kind === ts.SyntaxKind.ExportKeyword;
|
|
78
|
+
});
|
|
79
|
+
if (!exportModifier) return;
|
|
80
|
+
var declaration = node.declarationList.declarations[0];
|
|
81
|
+
if (!declaration || !ts.isVariableDeclaration(declaration)) return;
|
|
82
|
+
var name = declaration.name.getText(sourceFile);
|
|
83
|
+
if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
|
|
84
|
+
var params = declaration.initializer.parameters,
|
|
85
|
+
paramType = "void";
|
|
86
|
+
if (params.length > 0) {
|
|
87
|
+
var _param_type,
|
|
88
|
+
_$param = params[0];
|
|
89
|
+
paramType = ((_param_type = _$param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile)) || "unknown";
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
var typeString = `type QueryParams = ${paramType}`,
|
|
93
|
+
model = import_typescript.TypeScriptToModel.Generate(typeString),
|
|
94
|
+
valibotCode = import_model.ModelToValibot.Generate(model);
|
|
95
|
+
queries.push({
|
|
96
|
+
name,
|
|
97
|
+
params: paramType,
|
|
98
|
+
valibotCode
|
|
69
99
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (!declaration || !ts.isVariableDeclaration(declaration)) return;
|
|
73
|
-
var name = declaration.name.getText(sourceFile);
|
|
74
|
-
if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
|
|
75
|
-
var params = declaration.initializer.parameters,
|
|
76
|
-
paramType = "void";
|
|
77
|
-
if (params.length > 0) {
|
|
78
|
-
var _param_type,
|
|
79
|
-
_$param = params[0];
|
|
80
|
-
paramType = ((_param_type = _$param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile)) || "unknown";
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
var typeString = `type QueryParams = ${paramType}`,
|
|
84
|
-
model = import_typescript.TypeScriptToModel.Generate(typeString),
|
|
85
|
-
valibotCode = import_model.ModelToValibot.Generate(model);
|
|
86
|
-
queries.push({
|
|
87
|
-
name,
|
|
88
|
-
params: paramType,
|
|
89
|
-
valibotCode
|
|
90
|
-
});
|
|
91
|
-
} catch (err) {
|
|
92
|
-
console.error(`\u2717 ${name}: ${err}`);
|
|
93
|
-
}
|
|
100
|
+
} catch (err) {
|
|
101
|
+
console.error(`\u2717 ${name}: ${err}`);
|
|
94
102
|
}
|
|
95
103
|
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
} catch (err) {
|
|
107
|
+
console.error(`Error processing ${file}:`, err);
|
|
108
|
+
}
|
|
109
|
+
return queries;
|
|
110
|
+
}));
|
|
111
|
+
allQueries.push(...results.flat()), console.info(`\u2713 ${allQueries.length} query validators`);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
105
114
|
var generate = (0, import_citty.defineCommand)({
|
|
106
115
|
meta: {
|
|
107
116
|
name: "generate",
|
|
@@ -152,8 +161,10 @@ var generate = (0, import_citty.defineCommand)({
|
|
|
152
161
|
}).map(function (c) {
|
|
153
162
|
return c.file;
|
|
154
163
|
}),
|
|
155
|
-
[modelsOutput, typesOutput, tablesOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema))])
|
|
156
|
-
|
|
164
|
+
[modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema)), Promise.resolve(generateReadmeFile())]),
|
|
165
|
+
writeResults = await Promise.all([Promise.resolve(writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), modelsOutput)), Promise.resolve(writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), typesOutput)), Promise.resolve(writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), tablesOutput)), Promise.resolve(writeFileIfChanged((0, import_path.resolve)(generatedDir, "README.md"), readmeOutput))]),
|
|
166
|
+
filesChanged = writeResults.filter(Boolean).length;
|
|
167
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), (0, import_fs.existsSync)(queriesDir)) {
|
|
157
168
|
var queryFiles = (0, import_fs.readdirSync)(queriesDir).filter(function (f) {
|
|
158
169
|
return f.endsWith(".ts");
|
|
159
170
|
}),
|
|
@@ -205,8 +216,9 @@ var generate = (0, import_citty.defineCommand)({
|
|
|
205
216
|
return queries;
|
|
206
217
|
})),
|
|
207
218
|
allQueries = queryResults.flat(),
|
|
208
|
-
queriesOutput = generateQueriesFile(allQueries)
|
|
209
|
-
|
|
219
|
+
queriesOutput = generateQueriesFile(allQueries),
|
|
220
|
+
queriesChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "queries.ts"), queriesOutput);
|
|
221
|
+
queriesChanged && console.info(" \u{1F4DD} Updated queries.ts"), console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`);
|
|
210
222
|
} else console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`);
|
|
211
223
|
if (args.after) try {
|
|
212
224
|
var {
|
|
@@ -372,6 +384,65 @@ ${queryImports}
|
|
|
372
384
|
` + syncedQueries + `
|
|
373
385
|
`;
|
|
374
386
|
}
|
|
387
|
+
function generateReadmeFile() {
|
|
388
|
+
return `# generated
|
|
389
|
+
|
|
390
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
391
|
+
|
|
392
|
+
## what's generated
|
|
393
|
+
|
|
394
|
+
- \`models.ts\` - exports all models from ../models
|
|
395
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
396
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
397
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
398
|
+
|
|
399
|
+
## usage guidelines
|
|
400
|
+
|
|
401
|
+
**do not import generated files outside of the data folder.**
|
|
402
|
+
|
|
403
|
+
### queries
|
|
404
|
+
|
|
405
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
406
|
+
|
|
407
|
+
\`\`\`ts
|
|
408
|
+
// \u274C bad - don't import from generated
|
|
409
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
410
|
+
|
|
411
|
+
// \u2705 good - import from queries
|
|
412
|
+
import { channelMessages } from '~/data/queries/message'
|
|
413
|
+
\`\`\`
|
|
414
|
+
|
|
415
|
+
### types
|
|
416
|
+
|
|
417
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
418
|
+
|
|
419
|
+
\`\`\`ts
|
|
420
|
+
// \u274C okay but not preferred
|
|
421
|
+
import type { Message } from '~/data/generated/types'
|
|
422
|
+
|
|
423
|
+
// \u2705 better - re-export from types.ts
|
|
424
|
+
import type { Message } from '~/data/types'
|
|
425
|
+
\`\`\`
|
|
426
|
+
|
|
427
|
+
## regeneration
|
|
428
|
+
|
|
429
|
+
files are regenerated when you run:
|
|
430
|
+
|
|
431
|
+
\`\`\`bash
|
|
432
|
+
bun over-zero generate
|
|
433
|
+
\`\`\`
|
|
434
|
+
|
|
435
|
+
or in watch mode:
|
|
436
|
+
|
|
437
|
+
\`\`\`bash
|
|
438
|
+
bun over-zero generate --watch
|
|
439
|
+
\`\`\`
|
|
440
|
+
|
|
441
|
+
## more info
|
|
442
|
+
|
|
443
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
444
|
+
`;
|
|
445
|
+
}
|
|
375
446
|
var main = (0, import_citty.defineCommand)({
|
|
376
447
|
meta: {
|
|
377
448
|
name: "over-zero",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_model","require","import_typescript","import_citty","import_fs","import_path","ts","__toESM","generateQueries","defineCommand","meta","name","description","args","dir","type","required","default","run","param","resolve","readdirSync","readdirSync2","writeFileSync","writeFileSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","filePath","queries","content","readFileSync","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","existsSync","mkdirSync","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","generateModelsFile","generateTypesFile","generateTablesFile","queryFiles","queryResults","fileBaseName","basename","queriesOutput","generateQueriesFile","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedQueries","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","q","value","has","set","get","return","queryImports","Array","from","keys"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["import_model","require","import_typescript","import_citty","import_fs","import_path","ts","__toESM","writeFileIfChanged","filePath","content","existsSync","existingContent","readFileSync","writeFileSync","generateQueries","defineCommand","meta","name","description","args","dir","type","required","default","run","param","resolve","readdirSync","readdirSync2","writeFileSync2","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","mkdirSync","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","basename","queriesOutput","generateQueriesFile","queriesChanged","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedQueries","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","q","value","has","set","get","return","queryImports","Array","from","keys","syncedQueries","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","wrappedValidator","queryFn"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/cli.js
CHANGED
|
@@ -5,6 +5,14 @@ import { defineCommand, runMain } from "citty";
|
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { basename, resolve } from "node:path";
|
|
7
7
|
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 {
|
|
13
|
+
}
|
|
14
|
+
return writeFileSync(filePath, content, "utf-8"), !0;
|
|
15
|
+
}
|
|
8
16
|
const generateQueries = defineCommand({
|
|
9
17
|
meta: {
|
|
10
18
|
name: "generate-queries",
|
|
@@ -93,22 +101,26 @@ const generate = defineCommand({
|
|
|
93
101
|
"export const schema = table("
|
|
94
102
|
)
|
|
95
103
|
}))
|
|
96
|
-
)).filter((c) => c.hasSchema).map((c) => c.file), [modelsOutput, typesOutput, tablesOutput] = await Promise.all([
|
|
104
|
+
)).filter((c) => c.hasSchema).map((c) => c.file), [modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([
|
|
97
105
|
Promise.resolve(generateModelsFile(allModelFiles)),
|
|
98
106
|
Promise.resolve(generateTypesFile(filesWithSchema)),
|
|
99
|
-
Promise.resolve(generateTablesFile(filesWithSchema))
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
Promise.resolve(generateTablesFile(filesWithSchema)),
|
|
108
|
+
Promise.resolve(generateReadmeFile())
|
|
109
|
+
]), filesChanged = (await Promise.all([
|
|
110
|
+
Promise.resolve(
|
|
111
|
+
writeFileIfChanged(resolve(generatedDir, "models.ts"), modelsOutput)
|
|
112
|
+
),
|
|
102
113
|
Promise.resolve(
|
|
103
|
-
|
|
114
|
+
writeFileIfChanged(resolve(generatedDir, "types.ts"), typesOutput)
|
|
104
115
|
),
|
|
105
116
|
Promise.resolve(
|
|
106
|
-
|
|
117
|
+
writeFileIfChanged(resolve(generatedDir, "tables.ts"), tablesOutput)
|
|
107
118
|
),
|
|
108
119
|
Promise.resolve(
|
|
109
|
-
|
|
120
|
+
writeFileIfChanged(resolve(generatedDir, "README.md"), readmeOutput)
|
|
110
121
|
)
|
|
111
|
-
])
|
|
122
|
+
])).filter(Boolean).length;
|
|
123
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), existsSync(queriesDir)) {
|
|
112
124
|
const queryFiles = readdirSync(queriesDir).filter((f) => f.endsWith(".ts")), allQueries = (await Promise.all(
|
|
113
125
|
queryFiles.map(async (file) => {
|
|
114
126
|
const filePath = resolve(queriesDir, file), fileBaseName = basename(file, ".ts"), queries = [];
|
|
@@ -152,7 +164,10 @@ const generate = defineCommand({
|
|
|
152
164
|
return queries;
|
|
153
165
|
})
|
|
154
166
|
)).flat(), queriesOutput = generateQueriesFile(allQueries);
|
|
155
|
-
|
|
167
|
+
writeFileIfChanged(
|
|
168
|
+
resolve(generatedDir, "queries.ts"),
|
|
169
|
+
queriesOutput
|
|
170
|
+
) && console.info(" \u{1F4DD} Updated queries.ts"), console.info(
|
|
156
171
|
`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`
|
|
157
172
|
);
|
|
158
173
|
} else
|
|
@@ -262,6 +277,65 @@ ${Array.from(queryByFile.keys()).sort().map((file) => `import * as ${file}Querie
|
|
|
262
277
|
` + syncedQueries + `
|
|
263
278
|
`;
|
|
264
279
|
}
|
|
280
|
+
function generateReadmeFile() {
|
|
281
|
+
return `# generated
|
|
282
|
+
|
|
283
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
284
|
+
|
|
285
|
+
## what's generated
|
|
286
|
+
|
|
287
|
+
- \`models.ts\` - exports all models from ../models
|
|
288
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
289
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
290
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
291
|
+
|
|
292
|
+
## usage guidelines
|
|
293
|
+
|
|
294
|
+
**do not import generated files outside of the data folder.**
|
|
295
|
+
|
|
296
|
+
### queries
|
|
297
|
+
|
|
298
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
299
|
+
|
|
300
|
+
\`\`\`ts
|
|
301
|
+
// \u274C bad - don't import from generated
|
|
302
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
303
|
+
|
|
304
|
+
// \u2705 good - import from queries
|
|
305
|
+
import { channelMessages } from '~/data/queries/message'
|
|
306
|
+
\`\`\`
|
|
307
|
+
|
|
308
|
+
### types
|
|
309
|
+
|
|
310
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
311
|
+
|
|
312
|
+
\`\`\`ts
|
|
313
|
+
// \u274C okay but not preferred
|
|
314
|
+
import type { Message } from '~/data/generated/types'
|
|
315
|
+
|
|
316
|
+
// \u2705 better - re-export from types.ts
|
|
317
|
+
import type { Message } from '~/data/types'
|
|
318
|
+
\`\`\`
|
|
319
|
+
|
|
320
|
+
## regeneration
|
|
321
|
+
|
|
322
|
+
files are regenerated when you run:
|
|
323
|
+
|
|
324
|
+
\`\`\`bash
|
|
325
|
+
bun over-zero generate
|
|
326
|
+
\`\`\`
|
|
327
|
+
|
|
328
|
+
or in watch mode:
|
|
329
|
+
|
|
330
|
+
\`\`\`bash
|
|
331
|
+
bun over-zero generate --watch
|
|
332
|
+
\`\`\`
|
|
333
|
+
|
|
334
|
+
## more info
|
|
335
|
+
|
|
336
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
337
|
+
`;
|
|
338
|
+
}
|
|
265
339
|
const main = defineCommand({
|
|
266
340
|
meta: {
|
|
267
341
|
name: "over-zero",
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": ";AACA,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,eAAe,eAAe;AACvC,SAAS,YAAY,WAAW,cAAc,aAAa,qBAAqB;AAChF,SAAS,UAAU,eAAe;AAClC,YAAY,QAAQ;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["readdirSync", "writeFileSync"]
|
|
6
6
|
}
|
package/dist/esm/cli.mjs
CHANGED
|
@@ -5,6 +5,12 @@ import { defineCommand, runMain } from "citty";
|
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { basename, resolve } from "node:path";
|
|
7
7
|
import * as ts from "typescript";
|
|
8
|
+
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;
|
|
13
|
+
}
|
|
8
14
|
const generateQueries = defineCommand({
|
|
9
15
|
meta: {
|
|
10
16
|
name: "generate-queries",
|
|
@@ -107,8 +113,9 @@ const generate = defineCommand({
|
|
|
107
113
|
file: f,
|
|
108
114
|
hasSchema: readFileSync(resolve(modelsDir, f), "utf-8").includes("export const schema = table(")
|
|
109
115
|
})))).filter(c => c.hasSchema).map(c => c.file),
|
|
110
|
-
[modelsOutput, typesOutput, tablesOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema))])
|
|
111
|
-
|
|
116
|
+
[modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema)), Promise.resolve(generateReadmeFile())]),
|
|
117
|
+
filesChanged = (await Promise.all([Promise.resolve(writeFileIfChanged(resolve(generatedDir, "models.ts"), modelsOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "types.ts"), typesOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "tables.ts"), tablesOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "README.md"), readmeOutput))])).filter(Boolean).length;
|
|
118
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), existsSync(queriesDir)) {
|
|
112
119
|
const queryFiles = readdirSync(queriesDir).filter(f => f.endsWith(".ts")),
|
|
113
120
|
allQueries = (await Promise.all(queryFiles.map(async file => {
|
|
114
121
|
const filePath = resolve(queriesDir, file),
|
|
@@ -150,7 +157,7 @@ const generate = defineCommand({
|
|
|
150
157
|
return queries;
|
|
151
158
|
}))).flat(),
|
|
152
159
|
queriesOutput = generateQueriesFile(allQueries);
|
|
153
|
-
|
|
160
|
+
writeFileIfChanged(resolve(generatedDir, "queries.ts"), queriesOutput) && console.info(" \u{1F4DD} Updated queries.ts"), console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`);
|
|
154
161
|
} else console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`);
|
|
155
162
|
if (args.after) try {
|
|
156
163
|
const {
|
|
@@ -264,6 +271,65 @@ ${Array.from(queryByFile.keys()).sort().map(file => `import * as ${file}Queries
|
|
|
264
271
|
` + syncedQueries + `
|
|
265
272
|
`;
|
|
266
273
|
}
|
|
274
|
+
function generateReadmeFile() {
|
|
275
|
+
return `# generated
|
|
276
|
+
|
|
277
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
278
|
+
|
|
279
|
+
## what's generated
|
|
280
|
+
|
|
281
|
+
- \`models.ts\` - exports all models from ../models
|
|
282
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
283
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
284
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
285
|
+
|
|
286
|
+
## usage guidelines
|
|
287
|
+
|
|
288
|
+
**do not import generated files outside of the data folder.**
|
|
289
|
+
|
|
290
|
+
### queries
|
|
291
|
+
|
|
292
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
293
|
+
|
|
294
|
+
\`\`\`ts
|
|
295
|
+
// \u274C bad - don't import from generated
|
|
296
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
297
|
+
|
|
298
|
+
// \u2705 good - import from queries
|
|
299
|
+
import { channelMessages } from '~/data/queries/message'
|
|
300
|
+
\`\`\`
|
|
301
|
+
|
|
302
|
+
### types
|
|
303
|
+
|
|
304
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
305
|
+
|
|
306
|
+
\`\`\`ts
|
|
307
|
+
// \u274C okay but not preferred
|
|
308
|
+
import type { Message } from '~/data/generated/types'
|
|
309
|
+
|
|
310
|
+
// \u2705 better - re-export from types.ts
|
|
311
|
+
import type { Message } from '~/data/types'
|
|
312
|
+
\`\`\`
|
|
313
|
+
|
|
314
|
+
## regeneration
|
|
315
|
+
|
|
316
|
+
files are regenerated when you run:
|
|
317
|
+
|
|
318
|
+
\`\`\`bash
|
|
319
|
+
bun over-zero generate
|
|
320
|
+
\`\`\`
|
|
321
|
+
|
|
322
|
+
or in watch mode:
|
|
323
|
+
|
|
324
|
+
\`\`\`bash
|
|
325
|
+
bun over-zero generate --watch
|
|
326
|
+
\`\`\`
|
|
327
|
+
|
|
328
|
+
## more info
|
|
329
|
+
|
|
330
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
331
|
+
`;
|
|
332
|
+
}
|
|
267
333
|
const main = defineCommand({
|
|
268
334
|
meta: {
|
|
269
335
|
name: "over-zero",
|
package/dist/esm/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModelToValibot","TypeScriptToModel","defineCommand","runMain","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ts","generateQueries","meta","name","description","args","dir","type","required","default","run","readdirSync2","writeFileSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","filePath","queries","content","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","recursive","allModelFiles","sort","filesWithSchema","hasSchema","includes","c","modelsOutput","typesOutput","tablesOutput","generateModelsFile","generateTypesFile","generateTablesFile","queryFiles","fileBaseName","queriesOutput","generateQueriesFile","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","join","modelsObj","a","b","localeCompare","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","sortedQueries","queryByFile","Map","q","has","set","get","Array","from","keys","syncedQueries","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","wrappedValidator","queryFn","main","subCommands"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ModelToValibot","TypeScriptToModel","defineCommand","runMain","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ts","writeFileIfChanged","filePath","content","generateQueries","meta","name","description","args","dir","type","required","default","run","readdirSync2","writeFileSync2","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","recursive","allModelFiles","sort","filesWithSchema","hasSchema","includes","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","filesChanged","Boolean","queryFiles","fileBaseName","queriesOutput","generateQueriesFile","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","join","modelsObj","a","b","localeCompare","getSchemaName","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","sortedQueries","queryByFile","Map","q","has","set","get","Array","from","keys","syncedQueries","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","wrappedValidator","queryFn","main","subCommands"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/cli.native.js
CHANGED
|
@@ -5,6 +5,15 @@ import { defineCommand, runMain } from "citty";
|
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
|
|
6
6
|
import { basename, resolve } from "path";
|
|
7
7
|
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;
|
|
13
|
+
}
|
|
14
|
+
} catch {}
|
|
15
|
+
return writeFileSync(filePath, content, "utf-8"), !0;
|
|
16
|
+
}
|
|
8
17
|
var generateQueries = defineCommand({
|
|
9
18
|
meta: {
|
|
10
19
|
name: "generate-queries",
|
|
@@ -128,8 +137,10 @@ var generate = defineCommand({
|
|
|
128
137
|
}).map(function (c) {
|
|
129
138
|
return c.file;
|
|
130
139
|
}),
|
|
131
|
-
[modelsOutput, typesOutput, tablesOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema))])
|
|
132
|
-
|
|
140
|
+
[modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([Promise.resolve(generateModelsFile(allModelFiles)), Promise.resolve(generateTypesFile(filesWithSchema)), Promise.resolve(generateTablesFile(filesWithSchema)), Promise.resolve(generateReadmeFile())]),
|
|
141
|
+
writeResults = await Promise.all([Promise.resolve(writeFileIfChanged(resolve(generatedDir, "models.ts"), modelsOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "types.ts"), typesOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "tables.ts"), tablesOutput)), Promise.resolve(writeFileIfChanged(resolve(generatedDir, "README.md"), readmeOutput))]),
|
|
142
|
+
filesChanged = writeResults.filter(Boolean).length;
|
|
143
|
+
if (filesChanged > 0 && console.info(` \u{1F4DD} Updated ${filesChanged} file(s)`), existsSync(queriesDir)) {
|
|
133
144
|
var queryFiles = readdirSync(queriesDir).filter(function (f) {
|
|
134
145
|
return f.endsWith(".ts");
|
|
135
146
|
}),
|
|
@@ -181,8 +192,9 @@ var generate = defineCommand({
|
|
|
181
192
|
return queries;
|
|
182
193
|
})),
|
|
183
194
|
allQueries = queryResults.flat(),
|
|
184
|
-
queriesOutput = generateQueriesFile(allQueries)
|
|
185
|
-
|
|
195
|
+
queriesOutput = generateQueriesFile(allQueries),
|
|
196
|
+
queriesChanged = writeFileIfChanged(resolve(generatedDir, "queries.ts"), queriesOutput);
|
|
197
|
+
queriesChanged && console.info(" \u{1F4DD} Updated queries.ts"), console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`);
|
|
186
198
|
} else console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)`);
|
|
187
199
|
if (args.after) try {
|
|
188
200
|
var {
|
|
@@ -348,6 +360,65 @@ ${queryImports}
|
|
|
348
360
|
` + syncedQueries + `
|
|
349
361
|
`;
|
|
350
362
|
}
|
|
363
|
+
function generateReadmeFile() {
|
|
364
|
+
return `# generated
|
|
365
|
+
|
|
366
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
367
|
+
|
|
368
|
+
## what's generated
|
|
369
|
+
|
|
370
|
+
- \`models.ts\` - exports all models from ../models
|
|
371
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
372
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
373
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
374
|
+
|
|
375
|
+
## usage guidelines
|
|
376
|
+
|
|
377
|
+
**do not import generated files outside of the data folder.**
|
|
378
|
+
|
|
379
|
+
### queries
|
|
380
|
+
|
|
381
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
382
|
+
|
|
383
|
+
\`\`\`ts
|
|
384
|
+
// \u274C bad - don't import from generated
|
|
385
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
386
|
+
|
|
387
|
+
// \u2705 good - import from queries
|
|
388
|
+
import { channelMessages } from '~/data/queries/message'
|
|
389
|
+
\`\`\`
|
|
390
|
+
|
|
391
|
+
### types
|
|
392
|
+
|
|
393
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
394
|
+
|
|
395
|
+
\`\`\`ts
|
|
396
|
+
// \u274C okay but not preferred
|
|
397
|
+
import type { Message } from '~/data/generated/types'
|
|
398
|
+
|
|
399
|
+
// \u2705 better - re-export from types.ts
|
|
400
|
+
import type { Message } from '~/data/types'
|
|
401
|
+
\`\`\`
|
|
402
|
+
|
|
403
|
+
## regeneration
|
|
404
|
+
|
|
405
|
+
files are regenerated when you run:
|
|
406
|
+
|
|
407
|
+
\`\`\`bash
|
|
408
|
+
bun over-zero generate
|
|
409
|
+
\`\`\`
|
|
410
|
+
|
|
411
|
+
or in watch mode:
|
|
412
|
+
|
|
413
|
+
\`\`\`bash
|
|
414
|
+
bun over-zero generate --watch
|
|
415
|
+
\`\`\`
|
|
416
|
+
|
|
417
|
+
## more info
|
|
418
|
+
|
|
419
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
420
|
+
`;
|
|
421
|
+
}
|
|
351
422
|
var main = defineCommand({
|
|
352
423
|
meta: {
|
|
353
424
|
name: "over-zero",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModelToValibot","TypeScriptToModel","defineCommand","runMain","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ts","generateQueries","meta","name","description","args","dir","type","required","default","run","param","readdirSync2","writeFileSync2","files","filter","f","endsWith","allQueries","results","Promise","all","map","file","filePath","queries","content","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","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","generateModelsFile","generateTypesFile","generateTablesFile","queryFiles","queryResults","fileBaseName","queriesOutput","generateQueriesFile","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedQueries","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","q","value","has","set","get","return","queryImports","Array","from","keys"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ModelToValibot","TypeScriptToModel","defineCommand","runMain","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","resolve","ts","writeFileIfChanged","filePath","content","existingContent","generateQueries","meta","name","description","args","dir","type","required","default","run","param","readdirSync2","writeFileSync2","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","recursive","allModelFiles","sort","schemaChecks","hasSchema","includes","filesWithSchema","c","modelsOutput","typesOutput","tablesOutput","readmeOutput","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","writeResults","filesChanged","Boolean","queryFiles","queryResults","fileBaseName","queriesOutput","generateQueriesFile","queriesChanged","execSync","stdio","chokidar","debounceTimer","debouncedRegenerate","path","event","clearTimeout","setTimeout","watcher","persistent","ignoreInitial","on","modelFiles","modelNames","getImportName","imports","importName","join","sortedByImportName","a","b","localeCompare","modelsObj","getSchemaName","typeExports","pascalName","charAt","toUpperCase","slice","schemaName","getExportName","exports","sortedQueries","queryByFile","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","q","value","has","set","get","return","queryImports","Array","from","keys","syncedQueries","q2","lines","split","l","trim","schemaLineIndex","findIndex","startsWith","validatorDef","schemaLines","openBraces","started","i","line","cleaned","replace","match","wrappedValidator","queryFn"],"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": "over-zero",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@sinclair/typebox": "^0.34.41",
|
|
49
49
|
"@sinclair/typebox-codegen": "^0.11.1",
|
|
50
|
-
"@vxrn/helpers": "0.0.21",
|
|
50
|
+
"@vxrn/helpers": "^0.0.21",
|
|
51
51
|
"chokidar": "^4.0.3",
|
|
52
52
|
"citty": "^0.1.6",
|
|
53
53
|
"pg": "^8.13.1",
|
package/src/cli.ts
CHANGED
|
@@ -6,6 +6,26 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from
|
|
|
6
6
|
import { basename, resolve } from 'node:path'
|
|
7
7
|
import * as ts from 'typescript'
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Write file only if the content has changed.
|
|
11
|
+
* This prevents unnecessary rebuilds from file watchers.
|
|
12
|
+
*/
|
|
13
|
+
function writeFileIfChanged(filePath: string, content: string): boolean {
|
|
14
|
+
try {
|
|
15
|
+
if (existsSync(filePath)) {
|
|
16
|
+
const existingContent = readFileSync(filePath, 'utf-8')
|
|
17
|
+
if (existingContent === content) {
|
|
18
|
+
return false // no change
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
} catch {
|
|
22
|
+
// if we can't read the file, proceed with writing
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
writeFileSync(filePath, content, 'utf-8')
|
|
26
|
+
return true // file was written
|
|
27
|
+
}
|
|
28
|
+
|
|
9
29
|
const generateQueries = defineCommand({
|
|
10
30
|
meta: {
|
|
11
31
|
name: 'generate-queries',
|
|
@@ -196,25 +216,34 @@ const generate = defineCommand({
|
|
|
196
216
|
const filesWithSchema = schemaChecks.filter((c) => c.hasSchema).map((c) => c.file)
|
|
197
217
|
|
|
198
218
|
// generate all files in parallel
|
|
199
|
-
const [modelsOutput, typesOutput, tablesOutput] = await Promise.all([
|
|
219
|
+
const [modelsOutput, typesOutput, tablesOutput, readmeOutput] = await Promise.all([
|
|
200
220
|
Promise.resolve(generateModelsFile(allModelFiles)),
|
|
201
221
|
Promise.resolve(generateTypesFile(filesWithSchema)),
|
|
202
222
|
Promise.resolve(generateTablesFile(filesWithSchema)),
|
|
223
|
+
Promise.resolve(generateReadmeFile()),
|
|
203
224
|
])
|
|
204
225
|
|
|
205
226
|
// write all generated files in parallel
|
|
206
|
-
await Promise.all([
|
|
227
|
+
const writeResults = await Promise.all([
|
|
228
|
+
Promise.resolve(
|
|
229
|
+
writeFileIfChanged(resolve(generatedDir, 'models.ts'), modelsOutput)
|
|
230
|
+
),
|
|
207
231
|
Promise.resolve(
|
|
208
|
-
|
|
232
|
+
writeFileIfChanged(resolve(generatedDir, 'types.ts'), typesOutput)
|
|
209
233
|
),
|
|
210
234
|
Promise.resolve(
|
|
211
|
-
|
|
235
|
+
writeFileIfChanged(resolve(generatedDir, 'tables.ts'), tablesOutput)
|
|
212
236
|
),
|
|
213
237
|
Promise.resolve(
|
|
214
|
-
|
|
238
|
+
writeFileIfChanged(resolve(generatedDir, 'README.md'), readmeOutput)
|
|
215
239
|
),
|
|
216
240
|
])
|
|
217
241
|
|
|
242
|
+
const filesChanged = writeResults.filter(Boolean).length
|
|
243
|
+
if (filesChanged > 0) {
|
|
244
|
+
console.info(` 📝 Updated ${filesChanged} file(s)`)
|
|
245
|
+
}
|
|
246
|
+
|
|
218
247
|
// generate synced queries
|
|
219
248
|
if (existsSync(queriesDir)) {
|
|
220
249
|
const queryFiles = readdirSync(queriesDir).filter((f) => f.endsWith('.ts'))
|
|
@@ -295,7 +324,14 @@ const generate = defineCommand({
|
|
|
295
324
|
|
|
296
325
|
const allQueries = queryResults.flat()
|
|
297
326
|
const queriesOutput = generateQueriesFile(allQueries)
|
|
298
|
-
|
|
327
|
+
const queriesChanged = writeFileIfChanged(
|
|
328
|
+
resolve(generatedDir, 'queries.ts'),
|
|
329
|
+
queriesOutput
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
if (queriesChanged) {
|
|
333
|
+
console.info(` 📝 Updated queries.ts`)
|
|
334
|
+
}
|
|
299
335
|
|
|
300
336
|
console.info(
|
|
301
337
|
`✓ ${allModelFiles.length} models (${filesWithSchema.length} schemas), ${allQueries.length} queries`
|
|
@@ -495,6 +531,66 @@ ${queryImports}
|
|
|
495
531
|
return imports + '\n' + syncedQueries + '\n'
|
|
496
532
|
}
|
|
497
533
|
|
|
534
|
+
function generateReadmeFile() {
|
|
535
|
+
return `# generated
|
|
536
|
+
|
|
537
|
+
this folder is auto-generated by over-zero. do not edit files here directly.
|
|
538
|
+
|
|
539
|
+
## what's generated
|
|
540
|
+
|
|
541
|
+
- \`models.ts\` - exports all models from ../models
|
|
542
|
+
- \`types.ts\` - typescript types derived from table schemas
|
|
543
|
+
- \`tables.ts\` - exports table schemas for type inference
|
|
544
|
+
- \`queries.ts\` - synced query definitions with validators
|
|
545
|
+
|
|
546
|
+
## usage guidelines
|
|
547
|
+
|
|
548
|
+
**do not import generated files outside of the data folder.**
|
|
549
|
+
|
|
550
|
+
### queries
|
|
551
|
+
|
|
552
|
+
don't import queries from this folder on the client. instead, import from \`../queries/\`:
|
|
553
|
+
|
|
554
|
+
\`\`\`ts
|
|
555
|
+
// ❌ bad - don't import from generated
|
|
556
|
+
import { channelMessages } from '~/data/generated/queries'
|
|
557
|
+
|
|
558
|
+
// ✅ good - import from queries
|
|
559
|
+
import { channelMessages } from '~/data/queries/message'
|
|
560
|
+
\`\`\`
|
|
561
|
+
|
|
562
|
+
### types
|
|
563
|
+
|
|
564
|
+
you can import types from this folder, but prefer re-exporting from \`../types.ts\`:
|
|
565
|
+
|
|
566
|
+
\`\`\`ts
|
|
567
|
+
// ❌ okay but not preferred
|
|
568
|
+
import type { Message } from '~/data/generated/types'
|
|
569
|
+
|
|
570
|
+
// ✅ better - re-export from types.ts
|
|
571
|
+
import type { Message } from '~/data/types'
|
|
572
|
+
\`\`\`
|
|
573
|
+
|
|
574
|
+
## regeneration
|
|
575
|
+
|
|
576
|
+
files are regenerated when you run:
|
|
577
|
+
|
|
578
|
+
\`\`\`bash
|
|
579
|
+
bun over-zero generate
|
|
580
|
+
\`\`\`
|
|
581
|
+
|
|
582
|
+
or in watch mode:
|
|
583
|
+
|
|
584
|
+
\`\`\`bash
|
|
585
|
+
bun over-zero generate --watch
|
|
586
|
+
\`\`\`
|
|
587
|
+
|
|
588
|
+
## more info
|
|
589
|
+
|
|
590
|
+
see the [over-zero readme](./node_modules/over-zero/README.md) for full documentation.
|
|
591
|
+
`
|
|
592
|
+
}
|
|
593
|
+
|
|
498
594
|
const main = defineCommand({
|
|
499
595
|
meta: {
|
|
500
596
|
name: 'over-zero',
|