@metaobjectsdev/cli 0.24.4 → 0.25.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/README.md +2 -1
- package/dist/src/commands/docs.d.ts +14 -1
- package/dist/src/commands/docs.d.ts.map +1 -1
- package/dist/src/commands/docs.js +153 -8
- package/dist/src/commands/docs.js.map +1 -1
- package/dist/src/commands/eject.d.ts +38 -0
- package/dist/src/commands/eject.d.ts.map +1 -0
- package/dist/src/commands/eject.js +233 -0
- package/dist/src/commands/eject.js.map +1 -0
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +43 -20
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/commands/init.d.ts +15 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +208 -20
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/types.d.ts +2 -1
- package/dist/src/commands/types.d.ts.map +1 -1
- package/dist/src/commands/types.js +165 -28
- package/dist/src/commands/types.js.map +1 -1
- package/dist/src/commands/verify.d.ts +9 -1
- package/dist/src/commands/verify.d.ts.map +1 -1
- package/dist/src/commands/verify.js +299 -51
- package/dist/src/commands/verify.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +105 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/advisory.d.ts +77 -0
- package/dist/src/lib/advisory.d.ts.map +1 -0
- package/dist/src/lib/advisory.js +97 -0
- package/dist/src/lib/advisory.js.map +1 -0
- package/dist/src/lib/anti-patterns.d.ts +27 -3
- package/dist/src/lib/anti-patterns.d.ts.map +1 -1
- package/dist/src/lib/anti-patterns.js +145 -8
- package/dist/src/lib/anti-patterns.js.map +1 -1
- package/dist/src/lib/args.d.ts +35 -1
- package/dist/src/lib/args.d.ts.map +1 -1
- package/dist/src/lib/args.js +32 -1
- package/dist/src/lib/args.js.map +1 -1
- package/dist/src/lib/detect-stack.d.ts.map +1 -1
- package/dist/src/lib/detect-stack.js +4 -13
- package/dist/src/lib/detect-stack.js.map +1 -1
- package/dist/src/lib/docs-drift.d.ts +31 -0
- package/dist/src/lib/docs-drift.d.ts.map +1 -0
- package/dist/src/lib/docs-drift.js +195 -0
- package/dist/src/lib/docs-drift.js.map +1 -0
- package/dist/src/lib/format.d.ts +10 -0
- package/dist/src/lib/format.d.ts.map +1 -1
- package/dist/src/lib/format.js +15 -0
- package/dist/src/lib/format.js.map +1 -1
- package/dist/src/lib/output.d.ts +13 -0
- package/dist/src/lib/output.d.ts.map +1 -1
- package/dist/src/lib/output.js +16 -1
- package/dist/src/lib/output.js.map +1 -1
- package/dist/src/lib/package-manifest.d.ts +27 -0
- package/dist/src/lib/package-manifest.d.ts.map +1 -0
- package/dist/src/lib/package-manifest.js +52 -0
- package/dist/src/lib/package-manifest.js.map +1 -0
- package/package.json +11 -11
- package/src/commands/docs.ts +194 -8
- package/src/commands/eject.ts +282 -0
- package/src/commands/gen.ts +54 -19
- package/src/commands/init.ts +217 -19
- package/src/commands/types.ts +185 -34
- package/src/commands/verify.ts +358 -47
- package/src/index.ts +114 -5
- package/src/lib/advisory.ts +150 -0
- package/src/lib/anti-patterns.ts +163 -8
- package/src/lib/args.ts +74 -2
- package/src/lib/detect-stack.ts +4 -11
- package/src/lib/docs-drift.ts +222 -0
- package/src/lib/format.ts +14 -0
- package/src/lib/output.ts +33 -2
- package/src/lib/package-manifest.ts +58 -0
package/README.md
CHANGED
|
@@ -168,6 +168,7 @@ import { defineConfig } from "@metaobjectsdev/cli";
|
|
|
168
168
|
import { entityFile } from "./codegen/generators/entity";
|
|
169
169
|
import { queriesFile } from "./codegen/generators/queries";
|
|
170
170
|
import { routesFile } from "./codegen/generators/routes";
|
|
171
|
+
import { namesFile } from "./codegen/generators/names";
|
|
171
172
|
import { barrel } from "./codegen/generators/barrel";
|
|
172
173
|
|
|
173
174
|
export default defineConfig({
|
|
@@ -176,7 +177,7 @@ export default defineConfig({
|
|
|
176
177
|
dbImport: "../index",
|
|
177
178
|
dialect: "sqlite",
|
|
178
179
|
apiPrefix: "/api",
|
|
179
|
-
generators: [entityFile(), queriesFile(), routesFile(), barrel()],
|
|
180
|
+
generators: [entityFile(), queriesFile(), routesFile(), namesFile(), barrel()],
|
|
180
181
|
});
|
|
181
182
|
```
|
|
182
183
|
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* How a caller other than the CLI wants `meta docs` to behave.
|
|
3
|
+
*
|
|
4
|
+
* `verify --docs` runs this exact command into a temp directory and diffs the result, so
|
|
5
|
+
* that the gate and the door can never be two implementations of "what the docs are". The
|
|
6
|
+
* only thing it needs differently is silence: a verify run announcing "meta docs — wrote 8
|
|
7
|
+
* entity pages" in the middle of its own report describes work the user is not getting.
|
|
8
|
+
*/
|
|
9
|
+
export interface DocsCommandOptions {
|
|
10
|
+
/** Suppress the informational output. Warnings and errors still print — a docs run that
|
|
11
|
+
* degraded is something a verify caller must see, not something to swallow. */
|
|
12
|
+
silent?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function docsCommand(args: string[], cwd: string, opts?: DocsCommandOptions): Promise<number>;
|
|
2
15
|
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"AA6NA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;oFACgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAyED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CA4ajB"}
|
|
@@ -17,10 +17,15 @@ import { loadMemoryOptionsFrom, loadMetaobjectsConfig, resolveGenConfigDir } fro
|
|
|
17
17
|
import { loadMemory, resolveCollection, resolveConfigDir } from "@metaobjectsdev/sdk";
|
|
18
18
|
import { existsSync } from "node:fs";
|
|
19
19
|
import { join } from "node:path";
|
|
20
|
-
import { makeRenderContext, buildPkMap, buildRelationMap, resolveDocsConfig, apiLabel, } from "@metaobjectsdev/codegen-ts";
|
|
21
|
-
import { docsFile, apiDocsFile, requirementsFile } from "@metaobjectsdev/codegen-ts/generators";
|
|
22
|
-
import { composeRegistry, coreProviders, renderCoreMetamodelDocs } from "@metaobjectsdev/metadata";
|
|
20
|
+
import { makeRenderContext, buildPkMap, buildRelationMap, buildProjectionViews, resolveDocsConfig, apiLabel, } from "@metaobjectsdev/codegen-ts";
|
|
21
|
+
import { docsFile, apiDocsFile, requirementsFile, agentDocsFile } from "@metaobjectsdev/codegen-ts/generators";
|
|
22
|
+
import { composeRegistry, coreProviders, DEFAULT_COLUMN_NAMING_STRATEGY, renderCoreMetamodelDocs, } from "@metaobjectsdev/metadata";
|
|
23
|
+
import { dbEmittingObjects, DEFAULT_DIALECT, missingDialectMessage } from "@metaobjectsdev/codegen-ts";
|
|
23
24
|
import { generateSite, SITE_TEMPLATE_NAMES, SITE_ASSET_NAMES, readSiteFile } from "@metaobjectsdev/docs-site";
|
|
25
|
+
// The `agent` schema surface takes the physical schema as an ARGUMENT with its resolvers
|
|
26
|
+
// injected — codegen-ts deliberately owns none of it (see agent-schema-input.ts). THIS is
|
|
27
|
+
// where the two packages meet: `meta docs` already depends on both.
|
|
28
|
+
import { buildExpectedSchemaWithProvenance, columnTypeSql, qualifiedDbName, } from "@metaobjectsdev/migrate-ts";
|
|
24
29
|
function parseLayout(v, flag) {
|
|
25
30
|
if (v === undefined)
|
|
26
31
|
throw new Error(`${flag} requires flat|package`);
|
|
@@ -39,6 +44,7 @@ function parseDocsArgs(argv, cwd) {
|
|
|
39
44
|
let wantModel = false;
|
|
40
45
|
let wantApi = false;
|
|
41
46
|
let wantRequirements = false;
|
|
47
|
+
let wantAgent = false;
|
|
42
48
|
let wantMetamodel = false;
|
|
43
49
|
let wantSite = false;
|
|
44
50
|
let wantScaffoldSite = false;
|
|
@@ -74,6 +80,9 @@ function parseDocsArgs(argv, cwd) {
|
|
|
74
80
|
else if (a === "--requirements") {
|
|
75
81
|
wantRequirements = true;
|
|
76
82
|
}
|
|
83
|
+
else if (a === "--agent") {
|
|
84
|
+
wantAgent = true;
|
|
85
|
+
}
|
|
77
86
|
else if (a === "--metamodel") {
|
|
78
87
|
wantMetamodel = true;
|
|
79
88
|
}
|
|
@@ -133,6 +142,8 @@ function parseDocsArgs(argv, cwd) {
|
|
|
133
142
|
surfaces.push("api");
|
|
134
143
|
if (wantRequirements)
|
|
135
144
|
surfaces.push("requirements");
|
|
145
|
+
if (wantAgent)
|
|
146
|
+
surfaces.push("agent");
|
|
136
147
|
return {
|
|
137
148
|
// `<project-root>` is the project root that CONTAINS the metadata; default
|
|
138
149
|
// cwd (mirrors how migrate/gen treat the working directory as the root).
|
|
@@ -154,7 +165,73 @@ function parseDocsArgs(argv, cwd) {
|
|
|
154
165
|
...(prompts !== undefined ? { prompts } : {}),
|
|
155
166
|
};
|
|
156
167
|
}
|
|
157
|
-
|
|
168
|
+
/**
|
|
169
|
+
* The physical schema `agent/schema.md` renders from, built by the package that OWNS it
|
|
170
|
+
* (`migrate-ts`) with its own resolvers handed across — see codegen-ts's
|
|
171
|
+
* agent-schema-input.ts for why the docs generator refuses to compute any of this itself.
|
|
172
|
+
*
|
|
173
|
+
* Returns undefined, after warning, when the page is to be SKIPPED — and a skipped page is
|
|
174
|
+
* not a silent pass: `verify --docs` convicts a committed `agent/<page>.md` that a fresh
|
|
175
|
+
* run no longer emits (see lib/docs-drift.ts), so a page describing the previous schema
|
|
176
|
+
* fails the gate rather than surviving it on exactly the change it most needs to flag.
|
|
177
|
+
*/
|
|
178
|
+
function buildAgentSchemaInput(root, configured, strategy) {
|
|
179
|
+
// THE RUNNER'S OWN GUARD DECIDES THIS, not a default applied here.
|
|
180
|
+
//
|
|
181
|
+
// `DEFAULT_DIALECT` is INERT: `runGen` throws when a model emits database code and the
|
|
182
|
+
// config declares no dialect, and it throws BEFORE `normalizeConfig` fills that default
|
|
183
|
+
// in, precisely so a DB project that forgot one gets a named error instead of
|
|
184
|
+
// "a Postgres project quietly emitting sqlite". So a persisted model with no dialect is
|
|
185
|
+
// not a sqlite project — it is a project `meta gen` REFUSES. Documenting it as sqlite
|
|
186
|
+
// would state an answer the toolchain never gave, about a schema it will not build.
|
|
187
|
+
//
|
|
188
|
+
// Two wrong answers were tried here before this one, and both were ASSERTIONS. First a
|
|
189
|
+
// hardcoded `?? "sqlite"`; then a skip whenever `dialect` was absent, on the theory that
|
|
190
|
+
// an undeclared dialect is an unknown one. The compute answer is to ask the predicate
|
|
191
|
+
// `runGen` asks — `dbEmittingObjects` — and skip only when that guard would fire. A model
|
|
192
|
+
// with no persisted object needs no dialect and renders an empty schema page anyway, so
|
|
193
|
+
// the inert default is correct for exactly the projects the guard lets through.
|
|
194
|
+
const dbEmitting = dbEmittingObjects(root.objects());
|
|
195
|
+
if (dbEmitting.length > 0 && configured === undefined) {
|
|
196
|
+
log.warn(`docs: agent/schema.md skipped — ${missingDialectMessage(dbEmitting)} ` +
|
|
197
|
+
`('meta gen' refuses this model for the same reason.)`);
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
const dialect = configured ?? DEFAULT_DIALECT;
|
|
201
|
+
try {
|
|
202
|
+
const built = buildExpectedSchemaWithProvenance(root, {
|
|
203
|
+
dialect,
|
|
204
|
+
columnNamingStrategy: strategy,
|
|
205
|
+
// Views come from codegen-ts (migrate-ts never generates view DDL), exactly as
|
|
206
|
+
// `verify --db` threads them.
|
|
207
|
+
views: buildProjectionViews(root, { dialect, columnNamingStrategy: strategy }),
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
dialect,
|
|
211
|
+
tables: built.snapshot.tables,
|
|
212
|
+
views: built.snapshot.views,
|
|
213
|
+
provenance: built.provenance,
|
|
214
|
+
// The structural `SchemaColumnLike` is migrate-ts's own ColumnDescriptor,
|
|
215
|
+
// narrowed to what the page reads; the cast hands the full descriptor back to
|
|
216
|
+
// the renderer that produced it.
|
|
217
|
+
columnType: (c) => columnTypeSql(c, dialect),
|
|
218
|
+
qualify: qualifiedDbName,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
catch (err) {
|
|
222
|
+
// A model the schema builder refuses is a real condition (a primary-key move, a
|
|
223
|
+
// duplicate physical name) that `meta migrate` will report properly. Docs must not
|
|
224
|
+
// be the command that fails on it, so the schema page is skipped and the other two
|
|
225
|
+
// agent pages still emit.
|
|
226
|
+
log.warn(`docs: agent/schema.md skipped — the expected schema could not be built ` +
|
|
227
|
+
`(${err.message}). Run 'meta migrate' for the full diagnosis.`);
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
export async function docsCommand(args, cwd, opts) {
|
|
232
|
+
// Informational output only. `log.warn` / `log.error` are deliberately NOT routed
|
|
233
|
+
// through this: a skipped surface or a failed render is a finding either way.
|
|
234
|
+
const info = opts?.silent === true ? (_m) => { } : log.info;
|
|
158
235
|
let flags;
|
|
159
236
|
try {
|
|
160
237
|
flags = parseDocsArgs(args, cwd);
|
|
@@ -168,6 +245,32 @@ export async function docsCommand(args, cwd) {
|
|
|
168
245
|
// NEITHER a user's metadata NOR a config — there is nothing to load. It writes
|
|
169
246
|
// the renderer's files under <out>/metamodel/ (default ./docs/metamodel).
|
|
170
247
|
if (flags.metamodel) {
|
|
248
|
+
// `--site` builds HTML from a MODEL — docs-site's own loader and templates over the
|
|
249
|
+
// user's metadata. The metamodel surface is a different renderer entirely, over the
|
|
250
|
+
// registry, and it emits markdown; there is no renderer here to bridge them. The flag
|
|
251
|
+
// used to be parsed, accepted and then dropped by this very return: the command wrote
|
|
252
|
+
// sixteen markdown files, printed a success line and exited 0, so asking for a site
|
|
253
|
+
// produced no site and no complaint.
|
|
254
|
+
//
|
|
255
|
+
// It refuses rather than growing an HTML renderer, which would put a markdown-
|
|
256
|
+
// rendering dependency into a published package for one surface. The website renders
|
|
257
|
+
// it instead, keeping that dependency dev-only and giving the pages the metaobjects.dev
|
|
258
|
+
// look rather than the docs-site adopter theme.
|
|
259
|
+
// `--scaffold-site` is here for the same reason and was missed the first time: it is
|
|
260
|
+
// the OTHER flag that asks for files to be written, and this same early return dropped
|
|
261
|
+
// it identically — `--metamodel --scaffold-site` wrote 16 markdown pages, scaffolded no
|
|
262
|
+
// theme anywhere, and exited 0. Fixing one of a matched pair leaves the defect wearing
|
|
263
|
+
// a different flag name.
|
|
264
|
+
const dropped = [
|
|
265
|
+
...(flags.site ? ["--site"] : []),
|
|
266
|
+
...(flags.scaffoldSite ? ["--scaffold-site"] : []),
|
|
267
|
+
];
|
|
268
|
+
if (dropped.length > 0) {
|
|
269
|
+
log.error(`docs: ${dropped.join(" and ")} ${dropped.length > 1 ? "are" : "is"} not supported ` +
|
|
270
|
+
"with --metamodel. The metamodel reference is markdown; the rendered form is " +
|
|
271
|
+
"published at https://metaobjects.dev/reference");
|
|
272
|
+
return 2;
|
|
273
|
+
}
|
|
171
274
|
return metamodelDocsCommand(cwd, flags.out);
|
|
172
275
|
}
|
|
173
276
|
const metaRoot = resolvePath(cwd, flags.projectRoot);
|
|
@@ -317,6 +420,13 @@ export async function docsCommand(args, cwd) {
|
|
|
317
420
|
loadedRoot: root,
|
|
318
421
|
outDir,
|
|
319
422
|
dbImport: "",
|
|
423
|
+
// The project's own prefix, not the "" default. `agent/ui.md` documents an ENDPOINT,
|
|
424
|
+
// and the routes generator mounts every one of them inside
|
|
425
|
+
// `fastify.register(…, { prefix: apiPrefix })` — so a project configuring "/api" is
|
|
426
|
+
// served at /api/authors and was being told, by the page whose whole job is to be
|
|
427
|
+
// right about addresses, that it was /authors. `meta gen` threads this (runner.ts);
|
|
428
|
+
// `meta docs` is the OTHER door onto the same page and did not.
|
|
429
|
+
apiPrefix: loadedConfig?.apiPrefix ?? "",
|
|
320
430
|
pkMap: buildPkMap(root),
|
|
321
431
|
relationMap: buildRelationMap(root),
|
|
322
432
|
});
|
|
@@ -429,16 +539,43 @@ export async function docsCommand(args, cwd) {
|
|
|
429
539
|
// Surfaces owned by other ports: link only, with a pointer to where they
|
|
430
540
|
// get produced.
|
|
431
541
|
for (const s of labeled.filter((s) => s.lang !== "ts")) {
|
|
432
|
-
|
|
542
|
+
info(`meta docs: api surface '${s.lang}' (${s.subDir}) is produced by that port's docs command — run it to populate those pages.`);
|
|
433
543
|
}
|
|
434
544
|
}
|
|
435
545
|
else if (hasConfig) {
|
|
436
546
|
// Config present but failed to load — already warned above; don't claim an
|
|
437
547
|
// api surface we couldn't build.
|
|
438
|
-
|
|
548
|
+
info("meta docs: api surface skipped — metaobjects.config.ts failed to load.");
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
info("meta docs: api surface skipped — no metaobjects.config.ts (nothing generated to document).");
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
// AGENT surface — three pages an agent reads BEFORE touching a tier (`agent/schema.md`
|
|
555
|
+
// before persistence, `agent/ui.md` before a form or grid, `agent/requirements.md`
|
|
556
|
+
// before adding a capability). The fourth file the always-on pointer names,
|
|
557
|
+
// `api/AGENT-API.md`, belongs to the api surface above.
|
|
558
|
+
//
|
|
559
|
+
// Gated on a loadable gen config exactly as `api` is, and for a stronger reason: the
|
|
560
|
+
// physical schema depends on the project's DIALECT and column-naming strategy, and the
|
|
561
|
+
// neutral model surface above runs on a placeholder because it documents no SQL at all.
|
|
562
|
+
// The dialect here is the project's own, resolved by the same default `meta gen` and
|
|
563
|
+
// `meta migrate` apply — see `buildAgentSchemaInput`.
|
|
564
|
+
if (docsCfg.surfaces.includes("agent")) {
|
|
565
|
+
if (loadedConfig !== undefined) {
|
|
566
|
+
const strategy = loadedConfig.columnNamingStrategy ?? DEFAULT_COLUMN_NAMING_STRATEGY;
|
|
567
|
+
const schema = buildAgentSchemaInput(root, loadedConfig.dialect, strategy);
|
|
568
|
+
emit.push(...(await agentDocsFile({
|
|
569
|
+
...(schema !== undefined && { schema }),
|
|
570
|
+
columnNamingStrategy: strategy,
|
|
571
|
+
}).generate(ctx)));
|
|
572
|
+
}
|
|
573
|
+
else if (hasConfig) {
|
|
574
|
+
info("meta docs: agent surface skipped — metaobjects.config.ts failed to load.");
|
|
439
575
|
}
|
|
440
576
|
else {
|
|
441
|
-
|
|
577
|
+
info("meta docs: agent surface skipped — no metaobjects.config.ts (the physical schema " +
|
|
578
|
+
"and the generated UI are what it describes).");
|
|
442
579
|
}
|
|
443
580
|
}
|
|
444
581
|
try {
|
|
@@ -478,7 +615,15 @@ export async function docsCommand(args, cwd) {
|
|
|
478
615
|
// did not run — the opposite of the silence the empty-ledger guard exists to produce.
|
|
479
616
|
const requirementFiles = emit.filter((f) => f.path.startsWith("requirements.")).length;
|
|
480
617
|
const reqSummary = requirementFiles > 0 ? `; ${requirementFiles} requirement file(s)` : "";
|
|
481
|
-
|
|
618
|
+
// Same rule as the requirements line: NAMED rather than counted, and only when written.
|
|
619
|
+
// Each agent page is skipped when its tier has nothing to describe, so "3 agent pages"
|
|
620
|
+
// would leave a reader unable to tell which three — and the pages are the thing the
|
|
621
|
+
// always-on agent context points at by name.
|
|
622
|
+
const agentPages = emit
|
|
623
|
+
.filter((f) => f.path.startsWith("agent/"))
|
|
624
|
+
.map((f) => basename(f.path));
|
|
625
|
+
const agentSummary = agentPages.length > 0 ? `; agent/${agentPages.sort().join(" + agent/")}` : "";
|
|
626
|
+
info(`meta docs — wrote ${modelSummary}; ${apiSummary}${reqSummary}${agentSummary} → ${outDir}`);
|
|
482
627
|
return 0;
|
|
483
628
|
}
|
|
484
629
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Every ejectable name, in registry order (stable — matches `meta eject --list`). */
|
|
2
|
+
export declare function ejectableNames(): string[];
|
|
3
|
+
export interface EjectOptions {
|
|
4
|
+
cwd: string;
|
|
5
|
+
name: string;
|
|
6
|
+
/** Overwrite an already-ejected file. Without it, eject NEVER clobbers — matching
|
|
7
|
+
* `writeOwnedGenerators`'s unconditional preserve-if-present rule in init.ts. */
|
|
8
|
+
force?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface EjectResult {
|
|
11
|
+
path: string;
|
|
12
|
+
importLine: string;
|
|
13
|
+
/** The symbol the template exports — the binding to REPLACE in the config. */
|
|
14
|
+
exportName: string;
|
|
15
|
+
/** The package the generator currently comes from, i.e. the import to remove. */
|
|
16
|
+
packageName: string;
|
|
17
|
+
/** Advisory lines about packages the ejected file imports but the project lacks. */
|
|
18
|
+
dependencyNotes: string[];
|
|
19
|
+
status: "created" | "preserved";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* An ejected file is ordinary source in the adopter's repo, so its imports must be
|
|
23
|
+
* declared dependencies or their `tsc` reports TS2307 on the file we just told them
|
|
24
|
+
* they own — and under a strict (pnpm/npm) node_modules layout `meta gen` cannot
|
|
25
|
+
* resolve it either. `meta init` already calls this out by ADDING the two packages its
|
|
26
|
+
* five scaffolded generators need; the on-demand templates import two more
|
|
27
|
+
* (codegen-ts-react, codegen-ts-tanstack) that nothing declares.
|
|
28
|
+
*
|
|
29
|
+
* This REPORTS rather than edits: init is a scaffolder writing a whole project and has
|
|
30
|
+
* a manifest in hand, while eject copies one file into a repo whose dependency policy
|
|
31
|
+
* (workspace protocol, catalog, pinned ranges) is the adopter's. Naming the exact
|
|
32
|
+
* missing package and the version to match is the useful half; silently rewriting
|
|
33
|
+
* someone's manifest is not.
|
|
34
|
+
*/
|
|
35
|
+
export declare function dependencyNotesForTemplate(cwd: string, templateSource: string): Promise<string[]>;
|
|
36
|
+
export declare function ejectGenerator(opts: EjectOptions): Promise<EjectResult>;
|
|
37
|
+
export declare function ejectCommand(args: string[], cwd: string): Promise<number>;
|
|
38
|
+
//# sourceMappingURL=eject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eject.d.ts","sourceRoot":"","sources":["../../../src/commands/eject.ts"],"names":[],"mappings":"AA4DA,sFAAsF;AACtF,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AA2CD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;sFACkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;CACjC;AAoBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBvG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA8B7E;AAeD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0D/E"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
// FR-040 §4.2(a) — `meta eject <generator>` takes ownership of any reference-template
|
|
2
|
+
// generator, in any package, at any time after `meta init`. ADR-0034 scaffold-and-own
|
|
3
|
+
// has `init` copy five of them eagerly (entity, queries, routes, barrel, names); this is the
|
|
4
|
+
// SAME copy operation, generalised to every ejectable name and callable on demand — for
|
|
5
|
+
// a generator you skipped at init time, or one a package gained since.
|
|
6
|
+
import { mkdir, writeFile, stat, readFile } from "node:fs/promises";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { cliVersion } from "../lib/version.js";
|
|
9
|
+
import * as coreTpl from "@metaobjectsdev/codegen-ts";
|
|
10
|
+
import * as reactTpl from "@metaobjectsdev/codegen-ts-react";
|
|
11
|
+
import * as tanstackTpl from "@metaobjectsdev/codegen-ts-tanstack";
|
|
12
|
+
import { parseEjectArgs } from "../lib/args.js";
|
|
13
|
+
import { log } from "../lib/log.js";
|
|
14
|
+
import { declaredDependencyNames, readPackageManifest } from "../lib/package-manifest.js";
|
|
15
|
+
// Mirrors `OWNED_GENERATORS_DIR` in init.ts's `writeOwnedGenerators` — same directory,
|
|
16
|
+
// same never-clobber-without-consent contract. Kept as its own local constant rather
|
|
17
|
+
// than shared: eject is a standalone operation on ANY name, not a byproduct of init,
|
|
18
|
+
// and the two call sites have no other state in common worth coupling over one string.
|
|
19
|
+
const OWNED_GENERATORS_DIR = "codegen/generators";
|
|
20
|
+
// One registry, three packages — a package that gains templates later registers itself
|
|
21
|
+
// here and `meta eject` picks it up with no other change.
|
|
22
|
+
//
|
|
23
|
+
// Each entry exposes its reference ROOT rather than a read function. The packages' own
|
|
24
|
+
// `readReferenceTemplate` narrows its parameter to a literal union, so calling it with
|
|
25
|
+
// a CLI-supplied `string` used to need a generic `asserts name is N` helper — ~20 lines
|
|
26
|
+
// to re-establish, for the compiler, a fact `resolveSource` has ALREADY established at
|
|
27
|
+
// runtime by selecting this entry via `names.includes(name)`. Reading from the root
|
|
28
|
+
// deletes that machinery without weakening anything: membership is still checked, once,
|
|
29
|
+
// where the untrusted value enters.
|
|
30
|
+
const SOURCES = [
|
|
31
|
+
{
|
|
32
|
+
packageName: "@metaobjectsdev/codegen-ts",
|
|
33
|
+
names: coreTpl.REFERENCE_GENERATOR_NAMES,
|
|
34
|
+
root: coreTpl.resolveReferenceRoot,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
packageName: "@metaobjectsdev/codegen-ts-react",
|
|
38
|
+
names: reactTpl.REFERENCE_GENERATOR_NAMES,
|
|
39
|
+
root: reactTpl.resolveReferenceRoot,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
packageName: "@metaobjectsdev/codegen-ts-tanstack",
|
|
43
|
+
names: tanstackTpl.REFERENCE_GENERATOR_NAMES,
|
|
44
|
+
root: tanstackTpl.resolveReferenceRoot,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
function resolveSource(name) {
|
|
48
|
+
return SOURCES.find((s) => s.names.includes(name));
|
|
49
|
+
}
|
|
50
|
+
/** Every ejectable name, in registry order (stable — matches `meta eject --list`). */
|
|
51
|
+
export function ejectableNames() {
|
|
52
|
+
return SOURCES.flatMap((s) => s.names);
|
|
53
|
+
}
|
|
54
|
+
// Every reference template's header documents its own paste-ready import line, e.g.
|
|
55
|
+
// codegen-ts/src/reference/entity.ts:
|
|
56
|
+
// // Then import it LOCALLY in metaobjects.config.ts:
|
|
57
|
+
// // import { entityFile } from "./codegen/generators/entity.js";
|
|
58
|
+
// Extracting it here — rather than re-deriving an export symbol from the file name —
|
|
59
|
+
// means eject can never drift from what the template itself already tells a human to
|
|
60
|
+
// paste, and needs no per-name export-symbol map: a generator's exported symbol does
|
|
61
|
+
// NOT follow its file name (`hooks.ts` exports `tanstackQuery`, `routes-hono.ts`
|
|
62
|
+
// exports `routesFileHono`, `grid.ts` exports `tanstackGrid`).
|
|
63
|
+
const HEADER_IMPORT_RE = /^\/\/\s+(import \{ \w+ \} from "\.\/codegen\/generators\/[\w.-]+\.js";)\s*$/m;
|
|
64
|
+
/** The bound symbol out of the already-validated import line — same single source of
|
|
65
|
+
* truth as the line itself, so the "replace this binding" message can never name a
|
|
66
|
+
* symbol the template does not actually export. */
|
|
67
|
+
function extractExportName(importLine, name) {
|
|
68
|
+
const match = /^import \{ (\w+) \}/.exec(importLine);
|
|
69
|
+
if (!match?.[1]) {
|
|
70
|
+
throw new Error(`reference template "${name}" has an unparseable import line: ${importLine}`);
|
|
71
|
+
}
|
|
72
|
+
return match[1];
|
|
73
|
+
}
|
|
74
|
+
function extractImportLine(templateSource, name) {
|
|
75
|
+
const match = HEADER_IMPORT_RE.exec(templateSource);
|
|
76
|
+
if (!match?.[1]) {
|
|
77
|
+
throw new Error(`reference template "${name}" has no documented "// import { ... }" header line — ` +
|
|
78
|
+
"cannot report the import line to paste.");
|
|
79
|
+
}
|
|
80
|
+
return match[1];
|
|
81
|
+
}
|
|
82
|
+
async function fileExists(p) {
|
|
83
|
+
try {
|
|
84
|
+
return (await stat(p)).isFile();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** The `@metaobjectsdev/*` packages an ejected template imports, read from the file
|
|
91
|
+
* itself rather than from a per-name table — the template is the only thing that
|
|
92
|
+
* knows, and a table would drift from it the moment a template gains an import. */
|
|
93
|
+
function requiredPackages(templateSource) {
|
|
94
|
+
const found = new Set();
|
|
95
|
+
// The optional trailing group matches a SUBPATH and is deliberately not captured: what
|
|
96
|
+
// has to be installed is the package, and `@metaobjectsdev/metadata/constants` is a
|
|
97
|
+
// real, documented subpath this codebase already uses (the browser-safe pure-constants
|
|
98
|
+
// entry). Requiring the closing quote straight after the package name — as this did —
|
|
99
|
+
// made any such import match nothing at all, so a template gaining one would get no
|
|
100
|
+
// note. That is the drift this function exists to prevent, reappearing inside the
|
|
101
|
+
// function itself.
|
|
102
|
+
for (const m of templateSource.matchAll(/from\s+"(@metaobjectsdev\/[\w-]+)(?:\/[\w./-]+)?"/g)) {
|
|
103
|
+
if (m[1] !== undefined)
|
|
104
|
+
found.add(m[1]);
|
|
105
|
+
}
|
|
106
|
+
return [...found].sort();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* An ejected file is ordinary source in the adopter's repo, so its imports must be
|
|
110
|
+
* declared dependencies or their `tsc` reports TS2307 on the file we just told them
|
|
111
|
+
* they own — and under a strict (pnpm/npm) node_modules layout `meta gen` cannot
|
|
112
|
+
* resolve it either. `meta init` already calls this out by ADDING the two packages its
|
|
113
|
+
* five scaffolded generators need; the on-demand templates import two more
|
|
114
|
+
* (codegen-ts-react, codegen-ts-tanstack) that nothing declares.
|
|
115
|
+
*
|
|
116
|
+
* This REPORTS rather than edits: init is a scaffolder writing a whole project and has
|
|
117
|
+
* a manifest in hand, while eject copies one file into a repo whose dependency policy
|
|
118
|
+
* (workspace protocol, catalog, pinned ranges) is the adopter's. Naming the exact
|
|
119
|
+
* missing package and the version to match is the useful half; silently rewriting
|
|
120
|
+
* someone's manifest is not.
|
|
121
|
+
*/
|
|
122
|
+
export async function dependencyNotesForTemplate(cwd, templateSource) {
|
|
123
|
+
const required = requiredPackages(templateSource);
|
|
124
|
+
if (required.length === 0)
|
|
125
|
+
return [];
|
|
126
|
+
const pkg = readPackageManifest(cwd);
|
|
127
|
+
if (pkg === undefined) {
|
|
128
|
+
// No readable manifest — say what the file needs and let the adopter place it.
|
|
129
|
+
return [`This file imports: ${required.join(", ")}. Make sure each is installed.`];
|
|
130
|
+
}
|
|
131
|
+
const declared = declaredDependencyNames(pkg);
|
|
132
|
+
const missing = required.filter((p) => !declared.has(p));
|
|
133
|
+
if (missing.length === 0)
|
|
134
|
+
return [];
|
|
135
|
+
return [
|
|
136
|
+
`The ejected file imports ${missing.join(", ")}, which your package.json does not ` +
|
|
137
|
+
"declare — your typecheck will report TS2307 until it does. Install with:",
|
|
138
|
+
` npm i -D ${missing.map((p) => `${p}@^${cliVersion()}`).join(" ")}`,
|
|
139
|
+
];
|
|
140
|
+
}
|
|
141
|
+
export async function ejectGenerator(opts) {
|
|
142
|
+
const source = resolveSource(opts.name);
|
|
143
|
+
if (source === undefined) {
|
|
144
|
+
throw new Error(`unknown generator "${opts.name}". Ejectable generators: ${ejectableNames().join(", ")}. ` +
|
|
145
|
+
"Run `meta eject --list` to see them grouped by package.");
|
|
146
|
+
}
|
|
147
|
+
const templateSource = await readFile(join(source.root(), `${opts.name}.ts`), "utf8");
|
|
148
|
+
const importLine = extractImportLine(templateSource, opts.name);
|
|
149
|
+
const exportName = extractExportName(importLine, opts.name);
|
|
150
|
+
const rel = `${OWNED_GENERATORS_DIR}/${opts.name}.ts`;
|
|
151
|
+
const abs = join(opts.cwd, rel);
|
|
152
|
+
const notes = await dependencyNotesForTemplate(opts.cwd, templateSource);
|
|
153
|
+
const common = {
|
|
154
|
+
path: rel,
|
|
155
|
+
importLine,
|
|
156
|
+
exportName,
|
|
157
|
+
packageName: source.packageName,
|
|
158
|
+
dependencyNotes: notes,
|
|
159
|
+
};
|
|
160
|
+
if (!opts.force && (await fileExists(abs))) {
|
|
161
|
+
return { ...common, status: "preserved" };
|
|
162
|
+
}
|
|
163
|
+
await mkdir(join(opts.cwd, OWNED_GENERATORS_DIR), { recursive: true });
|
|
164
|
+
await writeFile(abs, templateSource, "utf8");
|
|
165
|
+
return { ...common, status: "created" };
|
|
166
|
+
}
|
|
167
|
+
function listOutput() {
|
|
168
|
+
const lines = [];
|
|
169
|
+
lines.push("Ejectable generators (copy any of these into codegen/generators/ and own it):");
|
|
170
|
+
lines.push("");
|
|
171
|
+
for (const source of SOURCES) {
|
|
172
|
+
lines.push(`${source.packageName}:`);
|
|
173
|
+
lines.push(` ${source.names.join(", ")}`);
|
|
174
|
+
lines.push("");
|
|
175
|
+
}
|
|
176
|
+
lines.push("Run: meta eject <name>");
|
|
177
|
+
return lines.join("\n");
|
|
178
|
+
}
|
|
179
|
+
export async function ejectCommand(args, cwd) {
|
|
180
|
+
let flags;
|
|
181
|
+
try {
|
|
182
|
+
flags = parseEjectArgs(args);
|
|
183
|
+
}
|
|
184
|
+
catch (err) {
|
|
185
|
+
log.error(err.message);
|
|
186
|
+
return 2;
|
|
187
|
+
}
|
|
188
|
+
if (flags.list) {
|
|
189
|
+
log.info(listOutput());
|
|
190
|
+
return 0;
|
|
191
|
+
}
|
|
192
|
+
if (flags.name === undefined) {
|
|
193
|
+
log.error("meta eject requires a generator name, or --list to see what's ejectable.");
|
|
194
|
+
return 2;
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
const result = await ejectGenerator({ cwd, name: flags.name, force: flags.force });
|
|
198
|
+
if (result.status === "preserved") {
|
|
199
|
+
log.info(`${result.path} already exists — left untouched (pass --force to overwrite).`);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
log.info(`Ejected "${flags.name}" -> ${result.path}. You own it now (ADR-0034 scaffold-and-own).`);
|
|
203
|
+
}
|
|
204
|
+
// REPLACE, never "paste". A generator reaches `generators: [...]` under ONE binding,
|
|
205
|
+
// so a reader told to "paste" gets a duplicate identifier at best — and at worst
|
|
206
|
+
// deletes nothing, keeps `formFile()` in the array bound to the PACKAGE import, and
|
|
207
|
+
// silently runs the packaged generator while editing the ejected file. That failure
|
|
208
|
+
// is invisible and is the exact one ejecting exists to prevent.
|
|
209
|
+
//
|
|
210
|
+
// But eject reads no config, so it cannot know WHICH of the three states this project
|
|
211
|
+
// is in, and stating one of them as fact is wrong in the other two — including for the
|
|
212
|
+
// five `meta init` scaffolds, whose config already imports from ./codegen/generators/,
|
|
213
|
+
// which is precisely the `meta eject <name> --force` re-sync case. Name the goal, then
|
|
214
|
+
// the three branches; the reader knows which one they are looking at.
|
|
215
|
+
log.info(`In metaobjects.config.ts, "${result.exportName}" must resolve to this file:`);
|
|
216
|
+
log.info(` ${result.importLine}`);
|
|
217
|
+
log.info(` - If it is imported from "${result.packageName}", REPLACE that import with the ` +
|
|
218
|
+
"line above. Adding a second one leaves `generators` bound to the PACKAGED " +
|
|
219
|
+
"generator, and your edits to this file do nothing.");
|
|
220
|
+
log.info(" - If it is already imported from ./codegen/generators/ (what `meta init` " +
|
|
221
|
+
"scaffolds), it points here already — nothing to change.");
|
|
222
|
+
log.info(` - If ${result.exportName}() is not in \`generators\` yet, add the import above ` +
|
|
223
|
+
"AND the entry.");
|
|
224
|
+
for (const line of result.dependencyNotes)
|
|
225
|
+
log.info(line);
|
|
226
|
+
return 0;
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
log.error(err.message);
|
|
230
|
+
return 1;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=eject.js.map
|