@metaobjectsdev/cli 0.9.0 → 0.10.0
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/src/commands/docs.d.ts +2 -0
- package/dist/src/commands/docs.d.ts.map +1 -0
- package/dist/src/commands/docs.js +395 -0
- package/dist/src/commands/docs.js.map +1 -0
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +41 -1
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/commands/init.d.ts +6 -0
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +102 -29
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/verify.d.ts.map +1 -1
- package/dist/src/commands/verify.js +69 -15
- package/dist/src/commands/verify.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +20 -32
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/agent-context-staleness.d.ts +7 -0
- package/dist/src/lib/agent-context-staleness.d.ts.map +1 -0
- package/dist/src/lib/agent-context-staleness.js +26 -0
- package/dist/src/lib/agent-context-staleness.js.map +1 -0
- package/dist/src/lib/args.d.ts +14 -0
- package/dist/src/lib/args.d.ts.map +1 -1
- package/dist/src/lib/args.js +22 -0
- package/dist/src/lib/args.js.map +1 -1
- package/dist/src/lib/codegen-drift.d.ts +21 -0
- package/dist/src/lib/codegen-drift.d.ts.map +1 -0
- package/dist/src/lib/codegen-drift.js +142 -0
- package/dist/src/lib/codegen-drift.js.map +1 -0
- package/dist/src/lib/detect-stack.d.ts +7 -0
- package/dist/src/lib/detect-stack.d.ts.map +1 -0
- package/dist/src/lib/detect-stack.js +38 -0
- package/dist/src/lib/detect-stack.js.map +1 -0
- package/dist/src/lib/load-metaobjects-config.d.ts.map +1 -1
- package/dist/src/lib/load-metaobjects-config.js +8 -0
- package/dist/src/lib/load-metaobjects-config.js.map +1 -1
- package/dist/src/lib/version.d.ts +7 -0
- package/dist/src/lib/version.d.ts.map +1 -0
- package/dist/src/lib/version.js +30 -0
- package/dist/src/lib/version.js.map +1 -0
- package/package.json +56 -45
- package/src/commands/docs.ts +438 -0
- package/src/commands/gen.ts +44 -1
- package/src/commands/init.ts +106 -31
- package/src/commands/verify.ts +81 -15
- package/src/index.ts +20 -30
- package/src/lib/agent-context-staleness.ts +24 -0
- package/src/lib/args.ts +41 -0
- package/src/lib/codegen-drift.ts +173 -0
- package/src/lib/detect-stack.ts +41 -0
- package/src/lib/load-metaobjects-config.ts +8 -0
- package/src/lib/version.ts +27 -0
package/dist/src/lib/args.js
CHANGED
|
@@ -8,6 +8,11 @@ export function parseInitArgs(argv) {
|
|
|
8
8
|
"print-only": { type: "boolean", default: false },
|
|
9
9
|
"refresh-docs": { type: "boolean", default: false },
|
|
10
10
|
d1: { type: "boolean", default: false },
|
|
11
|
+
server: { type: "string", multiple: true },
|
|
12
|
+
client: { type: "string", multiple: true },
|
|
13
|
+
"no-skills": { type: "boolean", default: false },
|
|
14
|
+
"no-wire-root": { type: "boolean", default: false },
|
|
15
|
+
"docs-only": { type: "boolean", default: false },
|
|
11
16
|
},
|
|
12
17
|
strict: true,
|
|
13
18
|
allowPositionals: false,
|
|
@@ -18,6 +23,11 @@ export function parseInitArgs(argv) {
|
|
|
18
23
|
printOnly: !!values["print-only"],
|
|
19
24
|
refreshDocs: !!values["refresh-docs"],
|
|
20
25
|
d1: !!values.d1,
|
|
26
|
+
servers: values.server ?? [],
|
|
27
|
+
clients: values.client ?? [],
|
|
28
|
+
noSkills: !!values["no-skills"],
|
|
29
|
+
wireRoot: !values["no-wire-root"],
|
|
30
|
+
docsOnly: !!values["docs-only"],
|
|
21
31
|
};
|
|
22
32
|
}
|
|
23
33
|
export function parseGenArgs(argv) {
|
|
@@ -26,6 +36,7 @@ export function parseGenArgs(argv) {
|
|
|
26
36
|
options: {
|
|
27
37
|
"dry-run": { type: "boolean", default: false },
|
|
28
38
|
"baseline": { type: "string" },
|
|
39
|
+
"list": { type: "boolean", default: false },
|
|
29
40
|
},
|
|
30
41
|
strict: true,
|
|
31
42
|
allowPositionals: true,
|
|
@@ -38,6 +49,7 @@ export function parseGenArgs(argv) {
|
|
|
38
49
|
dryRun: !!values["dry-run"],
|
|
39
50
|
entities: positionals,
|
|
40
51
|
baseline: baselineRaw ?? "default",
|
|
52
|
+
list: !!values.list,
|
|
41
53
|
};
|
|
42
54
|
}
|
|
43
55
|
export function parseExportArgs(argv) {
|
|
@@ -74,6 +86,8 @@ export function parseVerifyArgs(argv) {
|
|
|
74
86
|
dialect: { type: "string" },
|
|
75
87
|
allow: { type: "string" },
|
|
76
88
|
"skip-schema": { type: "boolean", default: false },
|
|
89
|
+
templates: { type: "boolean", default: false },
|
|
90
|
+
codegen: { type: "boolean", default: false },
|
|
77
91
|
},
|
|
78
92
|
strict: true,
|
|
79
93
|
allowPositionals: false,
|
|
@@ -91,12 +105,20 @@ export function parseVerifyArgs(argv) {
|
|
|
91
105
|
throw new Error(`invalid --allow token '${tok}'; expected one of: ${ALLOW_TOKENS.join(", ")}`);
|
|
92
106
|
}
|
|
93
107
|
}
|
|
108
|
+
const templates = !!values.templates;
|
|
109
|
+
const codegen = !!values.codegen;
|
|
110
|
+
// --db is itself an explicit subverb selector: passing a connection URL means
|
|
111
|
+
// "run the schema-drift mode". So "any explicit subverb" is templates|codegen|db.
|
|
112
|
+
const anyExplicit = templates || codegen || values.db !== undefined;
|
|
94
113
|
return {
|
|
95
114
|
prompts: values.prompts,
|
|
96
115
|
db: values.db,
|
|
97
116
|
dialect: dialect,
|
|
98
117
|
allow: allowTokens,
|
|
99
118
|
skipSchema: !!values["skip-schema"],
|
|
119
|
+
templates,
|
|
120
|
+
codegen,
|
|
121
|
+
anyExplicit,
|
|
100
122
|
};
|
|
101
123
|
}
|
|
102
124
|
export function parsePromptSnapshotArgs(argv) {
|
package/dist/src/lib/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { MetaobjectsGenConfig } from "@metaobjectsdev/codegen-ts";
|
|
2
|
+
import type { MetaData } from "@metaobjectsdev/metadata";
|
|
3
|
+
export interface CodegenDriftResult {
|
|
4
|
+
/** True when the committed output matches a fresh regen exactly. */
|
|
5
|
+
clean: boolean;
|
|
6
|
+
/** Project-relative paths that differ (changed / missing / extra), sorted. */
|
|
7
|
+
driftedFiles: string[];
|
|
8
|
+
/** Human-readable, one-line-per-file drift summary. */
|
|
9
|
+
lines: string[];
|
|
10
|
+
/** Set when the gate could not run (e.g. no outDir to compare against). */
|
|
11
|
+
error?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Run codegen into a temp tree and diff it against the committed output.
|
|
15
|
+
*
|
|
16
|
+
* @param config the loaded metaobjects config (provides outDir/targets).
|
|
17
|
+
* @param metadata the loaded MetaRoot (same object `meta gen` would use).
|
|
18
|
+
* @param projectRoot absolute project root (committed outDirs are keyed off it).
|
|
19
|
+
*/
|
|
20
|
+
export declare function computeCodegenDrift(config: MetaobjectsGenConfig, metadata: MetaData, projectRoot: string): Promise<CodegenDriftResult>;
|
|
21
|
+
//# sourceMappingURL=codegen-drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6BD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CA0F7B"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// `meta verify --codegen` — the codegen-drift gate (ADR-0021 D2).
|
|
2
|
+
//
|
|
3
|
+
// Regenerates the configured codegen into a throwaway temp directory and DIFFs
|
|
4
|
+
// the freshly-generated file tree against the committed output (the config's
|
|
5
|
+
// outDir / per-target outDirs). Any difference — a file present in one tree but
|
|
6
|
+
// not the other, or differing content — is drift: either "metadata changed but
|
|
7
|
+
// `meta gen` wasn't re-run" or "a generated file was hand-edited". Reuses the
|
|
8
|
+
// exact same `runGen` pipeline `meta gen` uses, so the comparison is faithful.
|
|
9
|
+
//
|
|
10
|
+
// Faithfulness note: generated content can embed import paths computed RELATIVE
|
|
11
|
+
// to a target's outDir (and between targets). To keep the regen byte-identical
|
|
12
|
+
// to the committed output, each outDir is remapped into the temp tree at the
|
|
13
|
+
// SAME path it has relative to the project root — preserving the inter-target
|
|
14
|
+
// layout. `importBase` (a stable string, not a path) is untouched.
|
|
15
|
+
import { mkdtempSync, rmSync, existsSync, readFileSync, readdirSync, statSync, } from "node:fs";
|
|
16
|
+
import { tmpdir } from "node:os";
|
|
17
|
+
import { join, relative, resolve, isAbsolute } from "node:path";
|
|
18
|
+
import { runGen } from "@metaobjectsdev/codegen-ts";
|
|
19
|
+
/** Collect the committed outDirs declared by the config (default + per-target). */
|
|
20
|
+
function committedOutDirs(config) {
|
|
21
|
+
const dirs = new Set();
|
|
22
|
+
if (typeof config.outDir === "string" && config.outDir.length > 0) {
|
|
23
|
+
dirs.add(resolve(config.outDir));
|
|
24
|
+
}
|
|
25
|
+
for (const t of Object.values(config.targets ?? {})) {
|
|
26
|
+
if (t.outDir && t.outDir.length > 0)
|
|
27
|
+
dirs.add(resolve(t.outDir));
|
|
28
|
+
}
|
|
29
|
+
return [...dirs];
|
|
30
|
+
}
|
|
31
|
+
/** Recursively list files under `dir` as paths relative to `dir` (POSIX-ish). */
|
|
32
|
+
function listFiles(dir) {
|
|
33
|
+
if (!existsSync(dir))
|
|
34
|
+
return [];
|
|
35
|
+
const out = [];
|
|
36
|
+
const walk = (d) => {
|
|
37
|
+
for (const entry of readdirSync(d)) {
|
|
38
|
+
const full = join(d, entry);
|
|
39
|
+
if (statSync(full).isDirectory())
|
|
40
|
+
walk(full);
|
|
41
|
+
else
|
|
42
|
+
out.push(relative(dir, full));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
walk(dir);
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Run codegen into a temp tree and diff it against the committed output.
|
|
50
|
+
*
|
|
51
|
+
* @param config the loaded metaobjects config (provides outDir/targets).
|
|
52
|
+
* @param metadata the loaded MetaRoot (same object `meta gen` would use).
|
|
53
|
+
* @param projectRoot absolute project root (committed outDirs are keyed off it).
|
|
54
|
+
*/
|
|
55
|
+
export async function computeCodegenDrift(config, metadata, projectRoot) {
|
|
56
|
+
const root = isAbsolute(projectRoot) ? projectRoot : resolve(projectRoot);
|
|
57
|
+
const committedDirs = committedOutDirs(config);
|
|
58
|
+
if (committedDirs.length === 0) {
|
|
59
|
+
return {
|
|
60
|
+
clean: false,
|
|
61
|
+
driftedFiles: [],
|
|
62
|
+
lines: [],
|
|
63
|
+
error: "verify --codegen: no outDir configured — cannot locate the committed " +
|
|
64
|
+
"generated output to diff against. Set 'outDir' (and/or per-target " +
|
|
65
|
+
"outDir) in metaobjects.config.ts.",
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Build a temp tree that mirrors each outDir at its project-relative path, so
|
|
69
|
+
// relative import paths in generated content come out identical.
|
|
70
|
+
const tempRoot = mkdtempSync(join(tmpdir(), "meta-verify-codegen-"));
|
|
71
|
+
try {
|
|
72
|
+
const tempFor = (committed) => {
|
|
73
|
+
const rel = relative(root, committed);
|
|
74
|
+
// If a committed outDir lives outside the project root, fall back to a
|
|
75
|
+
// flattened, collision-safe slot under the temp root. (Relative-import
|
|
76
|
+
// fidelity for out-of-tree targets isn't guaranteed, but the diff is
|
|
77
|
+
// still meaningful per-file.)
|
|
78
|
+
const safeRel = rel.startsWith("..") || isAbsolute(rel)
|
|
79
|
+
? committed.replace(/[^A-Za-z0-9]+/g, "_")
|
|
80
|
+
: rel;
|
|
81
|
+
return join(tempRoot, safeRel);
|
|
82
|
+
};
|
|
83
|
+
// Remap the config so runGen writes into the temp mirror instead of the
|
|
84
|
+
// committed output. Default outDir + each named target's outDir are rewritten.
|
|
85
|
+
const remappedTargets = {};
|
|
86
|
+
for (const [name, t] of Object.entries(config.targets ?? {})) {
|
|
87
|
+
remappedTargets[name] = { ...t, outDir: tempFor(resolve(t.outDir)) };
|
|
88
|
+
}
|
|
89
|
+
const tempConfig = {
|
|
90
|
+
...config,
|
|
91
|
+
outDir: tempFor(resolve(config.outDir)),
|
|
92
|
+
...(config.targets !== undefined ? { targets: remappedTargets } : {}),
|
|
93
|
+
};
|
|
94
|
+
// Generate fresh into the temp tree. "overwrite" + "fresh" + a temp
|
|
95
|
+
// gen-state dir guarantees every file is written (no merge/skip), so the
|
|
96
|
+
// temp tree is the canonical "what gen would produce right now".
|
|
97
|
+
await runGen({
|
|
98
|
+
config: tempConfig,
|
|
99
|
+
metadata,
|
|
100
|
+
projectRoot: tempRoot,
|
|
101
|
+
genStateDir: join(tempRoot, ".gen-state"),
|
|
102
|
+
mergeStrategy: "overwrite",
|
|
103
|
+
baseline: "fresh",
|
|
104
|
+
});
|
|
105
|
+
// Diff each committed outDir against its temp mirror.
|
|
106
|
+
const driftedFiles = new Set();
|
|
107
|
+
const lines = [];
|
|
108
|
+
for (const committed of committedDirs) {
|
|
109
|
+
const fresh = tempFor(committed);
|
|
110
|
+
const committedFiles = new Set(listFiles(committed));
|
|
111
|
+
const freshFiles = new Set(listFiles(fresh));
|
|
112
|
+
const all = new Set([...committedFiles, ...freshFiles]);
|
|
113
|
+
for (const rel of [...all].sort()) {
|
|
114
|
+
const relKey = relative(root, join(committed, rel));
|
|
115
|
+
const inCommitted = committedFiles.has(rel);
|
|
116
|
+
const inFresh = freshFiles.has(rel);
|
|
117
|
+
if (inCommitted && !inFresh) {
|
|
118
|
+
driftedFiles.add(relKey);
|
|
119
|
+
lines.push(`- ${relKey} (committed but regen would not emit it)`);
|
|
120
|
+
}
|
|
121
|
+
else if (!inCommitted && inFresh) {
|
|
122
|
+
driftedFiles.add(relKey);
|
|
123
|
+
lines.push(`+ ${relKey} (regen would emit it; not committed — run 'meta gen')`);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const a = readFileSync(join(committed, rel), "utf8");
|
|
127
|
+
const b = readFileSync(join(fresh, rel), "utf8");
|
|
128
|
+
if (a !== b) {
|
|
129
|
+
driftedFiles.add(relKey);
|
|
130
|
+
lines.push(`~ ${relKey} (committed content differs from a fresh regen)`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const sorted = [...driftedFiles].sort();
|
|
136
|
+
return { clean: sorted.length === 0, driftedFiles: sorted, lines };
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
rmSync(tempRoot, { recursive: true, force: true });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=codegen-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-drift.js","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Stack } from "@metaobjectsdev/sdk/agent-context";
|
|
2
|
+
/** Resolve the stack: explicit --server/--client overrides take precedence; otherwise detect. */
|
|
3
|
+
export declare function resolveStack(cwd: string, overrides: {
|
|
4
|
+
servers: string[];
|
|
5
|
+
clients: string[];
|
|
6
|
+
}): Stack;
|
|
7
|
+
//# sourceMappingURL=detect-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-stack.d.ts","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"AAEA,OAAO,EAEkC,KAAK,KAAK,EAElD,MAAM,mCAAmC,CAAC;AAyB3C,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,KAAK,CAQpG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { detectStack, makeStack, SERVER_LANGS, CLIENT_FRAMEWORKS, } from "@metaobjectsdev/sdk/agent-context";
|
|
4
|
+
function depNames(cwd) {
|
|
5
|
+
const out = new Set();
|
|
6
|
+
const pkgPath = join(cwd, "package.json");
|
|
7
|
+
if (existsSync(pkgPath)) {
|
|
8
|
+
try {
|
|
9
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
10
|
+
for (const key of ["dependencies", "devDependencies", "peerDependencies"]) {
|
|
11
|
+
for (const name of Object.keys(pkg[key] ?? {}))
|
|
12
|
+
out.add(name);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
catch { /* unreadable manifest — treat as no deps */ }
|
|
16
|
+
}
|
|
17
|
+
return out;
|
|
18
|
+
}
|
|
19
|
+
function probe(cwd) {
|
|
20
|
+
const deps = depNames(cwd);
|
|
21
|
+
const names = existsSync(cwd) ? readdirSync(cwd) : [];
|
|
22
|
+
return {
|
|
23
|
+
hasDep: (name) => deps.has(name),
|
|
24
|
+
hasFileMatching: (re) => names.some((n) => re.test(n)),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Resolve the stack: explicit --server/--client overrides take precedence; otherwise detect. */
|
|
28
|
+
export function resolveStack(cwd, overrides) {
|
|
29
|
+
const validServers = SERVER_LANGS;
|
|
30
|
+
const validClients = CLIENT_FRAMEWORKS;
|
|
31
|
+
const oServers = overrides.servers.filter((s) => validServers.includes(s));
|
|
32
|
+
const oClients = overrides.clients.filter((c) => validClients.includes(c));
|
|
33
|
+
if (oServers.length > 0 || oClients.length > 0)
|
|
34
|
+
return makeStack(oServers, oClients);
|
|
35
|
+
const detected = detectStack(probe(cwd));
|
|
36
|
+
return makeStack(detected.servers, detected.clients);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=detect-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-stack.js","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,WAAW,EAAE,SAAS,EAEtB,YAAY,EAAE,iBAAiB,GAChC,MAAM,mCAAmC,CAAC;AAE3C,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAA2C,CAAC;YAChG,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBAC1E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,SAAmD;IAC3F,MAAM,YAAY,GAAG,YAAiC,CAAC;IACvD,MAAM,YAAY,GAAG,iBAAsC,CAAC;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAmFvE,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgC9F"}
|
|
@@ -29,6 +29,13 @@ const CLI_PKG_PATHS = {
|
|
|
29
29
|
dist: "node_modules/@metaobjectsdev/codegen-ts/dist/index.js",
|
|
30
30
|
src: "node_modules/@metaobjectsdev/codegen-ts/src/index.ts",
|
|
31
31
|
},
|
|
32
|
+
// Consumer configs that ship custom MetaDataTypeProviders import the type
|
|
33
|
+
// primitives (TypeId, MetaField, TYPE_* …) from here. Aliased to the CLI's
|
|
34
|
+
// own copy so the user's project needn't declare it as a direct dependency.
|
|
35
|
+
"@metaobjectsdev/metadata": {
|
|
36
|
+
dist: "node_modules/@metaobjectsdev/metadata/dist/index.js",
|
|
37
|
+
src: "node_modules/@metaobjectsdev/metadata/src/index.ts",
|
|
38
|
+
},
|
|
32
39
|
"@metaobjectsdev/codegen-ts/generators": {
|
|
33
40
|
dist: "node_modules/@metaobjectsdev/codegen-ts/dist/generators/index.js",
|
|
34
41
|
src: "node_modules/@metaobjectsdev/codegen-ts/src/generators/index.ts",
|
|
@@ -87,6 +94,7 @@ export async function loadMetaobjectsConfig(projectRoot) {
|
|
|
87
94
|
interopDefault: true,
|
|
88
95
|
alias: {
|
|
89
96
|
"@metaobjectsdev/codegen-ts": resolveCliPkg("@metaobjectsdev/codegen-ts"),
|
|
97
|
+
"@metaobjectsdev/metadata": resolveCliPkg("@metaobjectsdev/metadata"),
|
|
90
98
|
"@metaobjectsdev/codegen-ts/generators": resolveCliPkg("@metaobjectsdev/codegen-ts/generators"),
|
|
91
99
|
"@metaobjectsdev/codegen-ts-react": resolveCliPkg("@metaobjectsdev/codegen-ts-react"),
|
|
92
100
|
"@metaobjectsdev/codegen-ts-tanstack": resolveCliPkg("@metaobjectsdev/codegen-ts-tanstack"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The installed `@metaobjectsdev/cli` version, read from its own package.json so it
|
|
3
|
+
* never goes stale. Walks up from this module to the cli package root; returns
|
|
4
|
+
* "0.0.0" if not found.
|
|
5
|
+
*/
|
|
6
|
+
export declare function cliVersion(): string;
|
|
7
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAiBnC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
/**
|
|
5
|
+
* The installed `@metaobjectsdev/cli` version, read from its own package.json so it
|
|
6
|
+
* never goes stale. Walks up from this module to the cli package root; returns
|
|
7
|
+
* "0.0.0" if not found.
|
|
8
|
+
*/
|
|
9
|
+
export function cliVersion() {
|
|
10
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
for (let i = 0; i < 6; i++) {
|
|
12
|
+
const candidate = join(dir, "package.json");
|
|
13
|
+
if (existsSync(candidate)) {
|
|
14
|
+
try {
|
|
15
|
+
const pkg = JSON.parse(readFileSync(candidate, "utf8"));
|
|
16
|
+
if (pkg.name === "@metaobjectsdev/cli" && pkg.version)
|
|
17
|
+
return pkg.version;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// not our manifest / unreadable — keep walking up
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const parent = dirname(dir);
|
|
24
|
+
if (parent === dir)
|
|
25
|
+
break;
|
|
26
|
+
dir = parent;
|
|
27
|
+
}
|
|
28
|
+
return "0.0.0";
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAwC,CAAC;gBAC/F,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,IAAI,GAAG,CAAC,OAAO;oBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -18,7 +18,12 @@
|
|
|
18
18
|
"default": "./dist/src/index.js"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
-
"files": [
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"src",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
22
27
|
"scripts": {
|
|
23
28
|
"build": "tsc -p .",
|
|
24
29
|
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
@@ -28,47 +33,53 @@
|
|
|
28
33
|
"author": "Doug Mealing <doug@dougmealing.com>",
|
|
29
34
|
"homepage": "https://metaobjects.dev",
|
|
30
35
|
"bugs": {
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
"repository": {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
"keywords": [
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"@libsql/kysely-libsql":
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
36
|
+
"url": "https://github.com/metaobjectsdev/metaobjects/issues"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/metaobjectsdev/metaobjects.git",
|
|
41
|
+
"directory": "server/typescript/packages/cli"
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"metaobjects",
|
|
45
|
+
"cli",
|
|
46
|
+
"scaffold",
|
|
47
|
+
"codegen",
|
|
48
|
+
"drift-detection"
|
|
49
|
+
],
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@metaobjectsdev/sdk": "0.10.0",
|
|
52
|
+
"@metaobjectsdev/metadata": "0.10.0",
|
|
53
|
+
"@metaobjectsdev/render": "0.10.0",
|
|
54
|
+
"@metaobjectsdev/codegen-ts": "0.10.0",
|
|
55
|
+
"@metaobjectsdev/codegen-ts-react": "0.10.0",
|
|
56
|
+
"@metaobjectsdev/codegen-ts-tanstack": "0.10.0",
|
|
57
|
+
"@metaobjectsdev/migrate-ts": "0.10.0",
|
|
58
|
+
"@metaobjectsdev/runtime-ts": "0.10.0",
|
|
59
|
+
"jiti": "^2.4.0"
|
|
60
|
+
},
|
|
61
|
+
"peerDependencies": {
|
|
62
|
+
"kysely": ">=0.27.0",
|
|
63
|
+
"pg": ">=8.0.0",
|
|
64
|
+
"@libsql/kysely-libsql": ">=0.4.0"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"pg": {
|
|
68
|
+
"optional": true
|
|
69
|
+
},
|
|
70
|
+
"@libsql/kysely-libsql": {
|
|
71
|
+
"optional": true
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"bun-types": "latest",
|
|
76
|
+
"typescript": "^5.6.0",
|
|
77
|
+
"@types/node": "^22.0.0",
|
|
78
|
+
"@libsql/kysely-libsql": "^0.4.1",
|
|
79
|
+
"@libsql/client": "^0.14.0",
|
|
80
|
+
"kysely": "^0.27.0",
|
|
81
|
+
"pg": "^8.0.0",
|
|
82
|
+
"@types/pg": "^8.0.0",
|
|
83
|
+
"pg-mem": "^3.0.4"
|
|
84
|
+
}
|
|
74
85
|
}
|