@intelligo-dev/cli 1.0.0-beta.13 → 1.0.0-beta.14
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 +41 -2
- package/dist/bin.js +37 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/add.d.ts +4 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +9 -0
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/create-flow.d.ts +4 -1
- package/dist/commands/create-flow.d.ts.map +1 -1
- package/dist/commands/create-flow.js +63 -31
- package/dist/commands/create-flow.js.map +1 -1
- package/dist/commands/create.d.ts +8 -4
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +15 -7
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +21 -19
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/migrate-check.d.ts +20 -1
- package/dist/commands/migrate-check.d.ts.map +1 -1
- package/dist/commands/migrate-check.js +35 -6
- package/dist/commands/migrate-check.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +2 -8
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/sync-messages.d.ts +37 -0
- package/dist/commands/sync-messages.d.ts.map +1 -0
- package/dist/commands/sync-messages.js +88 -0
- package/dist/commands/sync-messages.js.map +1 -0
- package/dist/commands/sync-scaffold.d.ts +36 -0
- package/dist/commands/sync-scaffold.d.ts.map +1 -0
- package/dist/commands/sync-scaffold.js +53 -0
- package/dist/commands/sync-scaffold.js.map +1 -0
- package/dist/commands/sync.d.ts +103 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +361 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/upgrade-check.d.ts.map +1 -1
- package/dist/commands/upgrade-check.js +4 -1
- package/dist/commands/upgrade-check.js.map +1 -1
- package/dist/manifest.d.ts +27 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +30 -3
- package/dist/manifest.js.map +1 -1
- package/dist/module-exports.d.ts +63 -0
- package/dist/module-exports.d.ts.map +1 -0
- package/dist/module-exports.js +231 -0
- package/dist/module-exports.js.map +1 -0
- package/dist/registry-bundle.d.ts +43 -0
- package/dist/registry-bundle.d.ts.map +1 -0
- package/dist/registry-bundle.js +74 -0
- package/dist/registry-bundle.js.map +1 -0
- package/dist/registry-items.d.ts +41 -13
- package/dist/registry-items.d.ts.map +1 -1
- package/dist/registry-items.js +117 -33
- package/dist/registry-items.js.map +1 -1
- package/package.json +1 -1
- package/src/bin.ts +52 -0
- package/src/commands/add.ts +11 -0
- package/src/commands/create-flow.ts +82 -26
- package/src/commands/create.ts +17 -7
- package/src/commands/doctor.ts +27 -27
- package/src/commands/migrate-check.ts +51 -10
- package/src/commands/migrate.ts +2 -8
- package/src/commands/sync-messages.ts +114 -0
- package/src/commands/sync-scaffold.ts +83 -0
- package/src/commands/sync.ts +534 -0
- package/src/commands/upgrade-check.ts +4 -1
- package/src/manifest.ts +57 -3
- package/src/module-exports.ts +266 -0
- package/src/registry-bundle.ts +103 -0
- package/src/registry-items.ts +141 -36
- package/templates/app-scaffold/intelligo.ts.tpl +6 -47
- package/templates/manifest.json +19 -0
- package/templates/registry/ai-agent-activity.json +23 -0
- package/templates/registry/ai-agent-progress.json +21 -0
- package/templates/registry/ai-approval-card.json +27 -0
- package/templates/registry/ai-artifact.json +22 -0
- package/templates/registry/ai-branch.json +21 -0
- package/templates/registry/ai-citations.json +24 -0
- package/templates/registry/ai-code-block.json +23 -0
- package/templates/registry/ai-composer-menu.json +19 -0
- package/templates/registry/ai-file-diff.json +25 -0
- package/templates/registry/ai-image-generation.json +23 -0
- package/templates/registry/ai-markdown.json +23 -0
- package/templates/registry/ai-message-bubble.json +23 -0
- package/templates/registry/ai-message-scroller.json +22 -0
- package/templates/registry/ai-message.json +21 -0
- package/templates/registry/ai-motion.json +19 -0
- package/templates/registry/ai-prompt-input.json +28 -0
- package/templates/registry/ai-reasoning-text.json +22 -0
- package/templates/registry/ai-reasoning.json +22 -0
- package/templates/registry/ai-shimmer-text.json +19 -0
- package/templates/registry/ai-sidebar.json +25 -0
- package/templates/registry/ai-speech-input.json +21 -0
- package/templates/registry/ai-streaming-response.json +24 -0
- package/templates/registry/ai-suggestion.json +19 -0
- package/templates/registry/ai-todo-list.json +22 -0
- package/templates/registry/ai-tool-approval.json +26 -0
- package/templates/registry/ai-tool-result.json +25 -0
- package/templates/registry/alert-dialog.json +23 -0
- package/templates/registry/animated-list.json +21 -0
- package/templates/registry/app-shell.json +93 -0
- package/templates/registry/artifacts.json +82 -0
- package/templates/registry/attachment.json +22 -0
- package/templates/registry/auth-email-verification.json +39 -0
- package/templates/registry/auth-login.json +72 -0
- package/templates/registry/auth-password-reset.json +53 -0
- package/templates/registry/auth-signup.json +41 -0
- package/templates/registry/billing-settings.json +60 -0
- package/templates/registry/button.json +22 -0
- package/templates/registry/chat-eve.json +19 -0
- package/templates/registry/chat-panel.json +30 -0
- package/templates/registry/chat-share.json +42 -0
- package/templates/registry/chat-widget.json +34 -0
- package/templates/registry/chat.json +326 -0
- package/templates/registry/checkbox.json +22 -0
- package/templates/registry/checkout.json +40 -0
- package/templates/registry/collapsible.json +19 -0
- package/templates/registry/command.json +23 -0
- package/templates/registry/copy-button.json +21 -0
- package/templates/registry/dashboard.json +69 -0
- package/templates/registry/dialog.json +24 -0
- package/templates/registry/document-viewer.json +22 -0
- package/templates/registry/dropdown-menu.json +23 -0
- package/templates/registry/expandable-tabs.json +22 -0
- package/templates/registry/feature-gating.json +73 -0
- package/templates/registry/file-upload.json +24 -0
- package/templates/registry/hold-action-button.json +22 -0
- package/templates/registry/input-group.json +23 -0
- package/templates/registry/input.json +19 -0
- package/templates/registry/intelligo.json +187 -0
- package/templates/registry/invitation-accept.json +64 -0
- package/templates/registry/language-switcher.json +29 -0
- package/templates/registry/morphing-modal.json +24 -0
- package/templates/registry/notification-stack.json +24 -0
- package/templates/registry/notifications.json +87 -0
- package/templates/registry/onboarding.json +83 -0
- package/templates/registry/otp-input.json +22 -0
- package/templates/registry/page-header.json +15 -0
- package/templates/registry/payment-poll.json +52 -0
- package/templates/registry/popover-morph.json +22 -0
- package/templates/registry/popover.json +22 -0
- package/templates/registry/pricing.json +111 -0
- package/templates/registry/privacy-settings.json +65 -0
- package/templates/registry/profile-settings.json +68 -0
- package/templates/registry/progress.json +19 -0
- package/templates/registry/radio-group.json +22 -0
- package/templates/registry/registry.json +2945 -0
- package/templates/registry/route-error.json +65 -0
- package/templates/registry/select-morph.json +23 -0
- package/templates/registry/select.json +23 -0
- package/templates/registry/settings-shell.json +47 -0
- package/templates/registry/sheet.json +24 -0
- package/templates/registry/sidebar.json +28 -0
- package/templates/registry/smoke.json +34 -0
- package/templates/registry/spinner.json +16 -0
- package/templates/registry/stat-card.json +18 -0
- package/templates/registry/status-badge.json +18 -0
- package/templates/registry/switch.json +20 -0
- package/templates/registry/tabs.json +23 -0
- package/templates/registry/team-settings.json +97 -0
- package/templates/registry/textarea.json +16 -0
- package/templates/registry/tooltip.json +22 -0
- package/templates/registry/trial-banner.json +43 -0
- package/templates/registry/usage.json +84 -0
- package/templates/registry/workspace-settings.json +71 -0
- package/templates/registry-items.json +1 -1
- package/templates/registry-requires.json +26 -2
- package/templates/vitest/server-only.ts.tpl +7 -0
- package/templates/vitest/vitest.config.ts.tpl +37 -0
package/README.md
CHANGED
|
@@ -23,13 +23,51 @@ to the new application, which is where `intelligo` comes from afterwards.
|
|
|
23
23
|
```bash
|
|
24
24
|
pnpm dlx @intelligo-dev/cli@beta create my-app # a registry-ready Next.js app, plus the pages you pick
|
|
25
25
|
pnpm dlx @intelligo-dev/cli@beta create my-app --items chat,billing-settings --yes # no questions
|
|
26
|
-
intelligo add <feature> # generate consumer-owned source (admin-page, maintenance)
|
|
26
|
+
intelligo add <feature> # generate consumer-owned source (admin-page, maintenance, vitest)
|
|
27
27
|
intelligo doctor # what is misconfigured, and why it matters
|
|
28
28
|
intelligo migrate # apply the framework chain
|
|
29
29
|
intelligo migrate --check [--json] # compare the chain with the database, change nothing
|
|
30
30
|
intelligo upgrade --check # what a template upgrade would change
|
|
31
|
+
intelligo sync [items…] # install registry pages from this release, seams kept
|
|
32
|
+
intelligo sync --check # exit 1 when an installed page drifted from the registry
|
|
31
33
|
```
|
|
32
34
|
|
|
35
|
+
## `sync`: installed pages stay the registry's
|
|
36
|
+
|
|
37
|
+
A page arrives as source, through `shadcn add`, and nothing stops it drifting
|
|
38
|
+
afterwards — an edit here, a release skipped there. `intelligo sync` installs
|
|
39
|
+
items from the registry bundled with this CLI, so the pages match the
|
|
40
|
+
`@intelligo-dev/*` packages of the same version, in dependency order. Files an
|
|
41
|
+
item ships once for you to own (`lib/*-config`, `lib/nav-config.ts`… — the
|
|
42
|
+
`seams` in the registry's `requires.json`) are put back after the install, and
|
|
43
|
+
message files are merged key by key with your copy winning. The result is
|
|
44
|
+
recorded in `intelligo.manifest.json`.
|
|
45
|
+
|
|
46
|
+
Name the items once — `intelligo sync intelligo app-shell chat …` — and
|
|
47
|
+
afterwards a bare `intelligo sync` updates them. It refuses to overwrite a file
|
|
48
|
+
you edited by hand unless you pass `--force`: move the change into a seam
|
|
49
|
+
first. `intelligo sync --check` installs nothing, lists every file that is
|
|
50
|
+
`missing`, `edited`, `outdated`, `messages-behind` or `locale-behind`, and
|
|
51
|
+
exits 1 on any — the gate to run in CI.
|
|
52
|
+
|
|
53
|
+
### Other locales
|
|
54
|
+
|
|
55
|
+
The registry ships English (`messages/en/<item>.json`). When the app's
|
|
56
|
+
`i18n/routing.ts` lists more `locales`, `sync --check` compares each other
|
|
57
|
+
locale's copy of every shipped namespace — `messages/<locale>/<item>.json` —
|
|
58
|
+
with the app's English file on disk (the merged copy, your own keys
|
|
59
|
+
included) and reports a missing file or missing keys as `locale-behind`,
|
|
60
|
+
with the keys. `sync` never writes another locale: after it adds English
|
|
61
|
+
keys, translate them, and the check passes again.
|
|
62
|
+
|
|
63
|
+
`create` installs the pages you pick the same way: the dependencies first
|
|
64
|
+
(from the root of a parent pnpm workspace when the new app is one of its
|
|
65
|
+
members, so the workspace keeps one lockfile), then `intelligo sync` of the
|
|
66
|
+
design-system base and every item, one `shadcn add` each. Scaffold files an
|
|
67
|
+
item replaces — `app/globals.css`, the theme provider, `lib/utils.ts` — move
|
|
68
|
+
from the `app-scaffold` record to the registry's (the feature's `handedOver`
|
|
69
|
+
list), so `upgrade --check` does not report them as yours forever.
|
|
70
|
+
|
|
33
71
|
## Why `migrate` is not `drizzle-kit migrate`
|
|
34
72
|
|
|
35
73
|
Drizzle applies migrations in journal-timestamp order and skips anything
|
|
@@ -47,7 +85,8 @@ baselined first.
|
|
|
47
85
|
which an empty database and a stale one share. A deploy gate that must tell them
|
|
48
86
|
apart reads `--json`: one object on stdout whose `state` is `up_to_date`,
|
|
49
87
|
`pending`, `fresh` (empty database), `unmanaged`, `ahead` or `legacy`, beside
|
|
50
|
-
`exitCode`, `chain`, `applied`, `pending`, `unknown`, `legacy
|
|
88
|
+
`exitCode`, `chain`, `applied`, `pending`, `unknown`, `legacy`, `legacyMissing`
|
|
89
|
+
and `adoptable`.
|
|
51
90
|
|
|
52
91
|
## `add maintenance` and its schedule
|
|
53
92
|
|
package/dist/bin.js
CHANGED
|
@@ -17,8 +17,11 @@ import { addFeature, formatAddResult, addExitCode, readCatalogue, } from "./comm
|
|
|
17
17
|
import { exitCodeFor, formatResults, runChecks } from "./commands/doctor.js";
|
|
18
18
|
import { formatMigrateCheck, formatMigrateCheckJson, migrateCheck, migrateCheckExitCode, } from "./commands/migrate-check.js";
|
|
19
19
|
import { MIGRATIONS_TABLE_SQL, SCHEMA_PROBE_SQL, applyExitCode, applyMigrations, formatApplyResult, } from "./commands/migrate.js";
|
|
20
|
+
import { formatSyncReport, installedFrameworkVersion, selectItems, syncApply, syncCheck, syncCheckExitCode, } from "./commands/sync.js";
|
|
20
21
|
import { formatUpgradeReport, upgradeCheck, upgradeCheckExitCode, } from "./commands/upgrade-check.js";
|
|
21
22
|
import { loadAppEnv } from "./env-files.js";
|
|
23
|
+
import { resolveRegistryDir } from "./registry-bundle.js";
|
|
24
|
+
import { readRegistryCatalogue } from "./registry-items.js";
|
|
22
25
|
import { MIGRATION_LOCATIONS, resolveMigrationsDir } from "./migrations-dir.js";
|
|
23
26
|
/**
|
|
24
27
|
* Templates ship with the CLI package.
|
|
@@ -50,6 +53,9 @@ function usage() {
|
|
|
50
53
|
" fresh | ahead | unmanaged | legacy)",
|
|
51
54
|
" add <feature> Generate consumer-owned source (--force to overwrite)",
|
|
52
55
|
" upgrade --check Show what a template upgrade would change",
|
|
56
|
+
" sync [items…] Install registry pages from this release's registry,",
|
|
57
|
+
" keeping seams and merging messages (--force replaces",
|
|
58
|
+
" hand-edited files; --check only reports, exit 1 on drift)",
|
|
53
59
|
"",
|
|
54
60
|
].join("\n");
|
|
55
61
|
}
|
|
@@ -181,6 +187,37 @@ async function main() {
|
|
|
181
187
|
console.log(formatUpgradeReport(report));
|
|
182
188
|
return upgradeCheckExitCode(report);
|
|
183
189
|
}
|
|
190
|
+
case "sync": {
|
|
191
|
+
const registryDir = resolveRegistryDir(TEMPLATES_DIR);
|
|
192
|
+
if (!registryDir) {
|
|
193
|
+
console.error("This CLI has no bundled registry — in the framework repository, run `pnpm registry:build` first.");
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
const context = {
|
|
197
|
+
appRoot: process.cwd(),
|
|
198
|
+
registryDir,
|
|
199
|
+
requires: readRegistryCatalogue(TEMPLATES_DIR).requires,
|
|
200
|
+
frameworkVersion: FRAMEWORK_VERSION,
|
|
201
|
+
};
|
|
202
|
+
const installed = installedFrameworkVersion(context.appRoot);
|
|
203
|
+
if (installed && installed !== FRAMEWORK_VERSION) {
|
|
204
|
+
console.error(`! @intelligo-dev/core is ${installed} but this CLI carries the ${FRAMEWORK_VERSION} registry — ` +
|
|
205
|
+
"run the CLI of the same version (`pnpm exec intelligo`), or pages and packages will disagree.");
|
|
206
|
+
}
|
|
207
|
+
const selection = selectItems(rest.filter((a) => !a.startsWith("-")), context);
|
|
208
|
+
if (!selection.ok) {
|
|
209
|
+
console.error(selection.message);
|
|
210
|
+
return 1;
|
|
211
|
+
}
|
|
212
|
+
if (rest.includes("--check")) {
|
|
213
|
+
const report = syncCheck(selection.items, context);
|
|
214
|
+
console.log(formatSyncReport(report));
|
|
215
|
+
return syncCheckExitCode(report);
|
|
216
|
+
}
|
|
217
|
+
return syncApply(selection.items, context, {
|
|
218
|
+
force: rest.includes("--force"),
|
|
219
|
+
});
|
|
220
|
+
}
|
|
184
221
|
case "help":
|
|
185
222
|
console.log(usage());
|
|
186
223
|
return 0;
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/add.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export type TemplateFeature = {
|
|
|
23
23
|
deprecated?: string;
|
|
24
24
|
files: TemplateFile[];
|
|
25
25
|
cron?: TemplateCron;
|
|
26
|
+
/** What the developer still does by hand once the files are written. */
|
|
27
|
+
nextSteps?: string[];
|
|
26
28
|
};
|
|
27
29
|
export type TemplateCatalogue = Record<string, TemplateFeature>;
|
|
28
30
|
export declare function readCatalogue(templatesDir: string): TemplateCatalogue;
|
|
@@ -43,6 +45,8 @@ export type AddResult = {
|
|
|
43
45
|
cron?: TemplateCron & {
|
|
44
46
|
status: "written" | "present" | "manual";
|
|
45
47
|
};
|
|
48
|
+
/** The catalogue's steps left to the developer, printed after the files. */
|
|
49
|
+
nextSteps?: string[];
|
|
46
50
|
};
|
|
47
51
|
export type AddOptions = {
|
|
48
52
|
appRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAIrE;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;IACnE,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC5C,MAAM,CAMR;AAmCD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CAkF1E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAsBpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAEhD"}
|
package/dist/commands/add.js
CHANGED
|
@@ -62,8 +62,14 @@ export function addFeature(feature, options) {
|
|
|
62
62
|
};
|
|
63
63
|
if (spec.deprecated)
|
|
64
64
|
result.deprecated = spec.deprecated;
|
|
65
|
+
if (spec.nextSteps?.length)
|
|
66
|
+
result.nextSteps = spec.nextSteps;
|
|
65
67
|
const recorded = [];
|
|
68
|
+
const handedOver = new Set(previous?.handedOver ?? []);
|
|
66
69
|
for (const file of spec.files) {
|
|
70
|
+
// A registry item replaced it; `intelligo sync` keeps it now.
|
|
71
|
+
if (handedOver.has(file.target))
|
|
72
|
+
continue;
|
|
67
73
|
const source = path.join(options.templatesDir, file.template);
|
|
68
74
|
const target = path.join(options.appRoot, file.target);
|
|
69
75
|
const contents = substitute(readFileSync(source, "utf8"), options.variables);
|
|
@@ -118,6 +124,9 @@ export function formatAddResult(r) {
|
|
|
118
124
|
lines.push(" nothing to do");
|
|
119
125
|
if (r.cron)
|
|
120
126
|
lines.push(...cronNextSteps(r.cron));
|
|
127
|
+
if (r.nextSteps?.length) {
|
|
128
|
+
lines.push("", " Next:", ...r.nextSteps.map((step) => ` - ${step}`));
|
|
129
|
+
}
|
|
121
130
|
return lines.join("\n");
|
|
122
131
|
}
|
|
123
132
|
/**
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,GAEd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The conversation around `createApp`: ask what the flags did not say,
|
|
3
3
|
* scaffold, and install the chosen registry items once the developer
|
|
4
|
-
* has approved the commands that do it.
|
|
4
|
+
* has approved the commands that do it. The items go in through
|
|
5
|
+
* `intelligo sync` — one `shadcn add` per item from the registry this
|
|
6
|
+
* CLI carries, recorded in the manifest — exactly as a later sync
|
|
7
|
+
* would put them back.
|
|
5
8
|
*
|
|
6
9
|
* Nothing runs on the developer's machine without their say-so. In a
|
|
7
10
|
* terminal the commands are shown and confirmed; without one (CI, a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"create-flow.d.ts","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA6BH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,6DAA6D;IAC7D,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuBrE;AAiED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,WAAW,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAiIjB"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The conversation around `createApp`: ask what the flags did not say,
|
|
3
3
|
* scaffold, and install the chosen registry items once the developer
|
|
4
|
-
* has approved the commands that do it.
|
|
4
|
+
* has approved the commands that do it. The items go in through
|
|
5
|
+
* `intelligo sync` — one `shadcn add` per item from the registry this
|
|
6
|
+
* CLI carries, recorded in the manifest — exactly as a later sync
|
|
7
|
+
* would put them back.
|
|
5
8
|
*
|
|
6
9
|
* Nothing runs on the developer's machine without their say-so. In a
|
|
7
10
|
* terminal the commands are shown and confirmed; without one (CI, a
|
|
@@ -11,7 +14,9 @@ import { spawnSync } from "node:child_process";
|
|
|
11
14
|
import path from "node:path";
|
|
12
15
|
import * as p from "@clack/prompts";
|
|
13
16
|
import { assertNotOccupied, createApp, deriveNames, formatCreateResult, formatNextSteps, isOccupied, } from "./create.js";
|
|
14
|
-
import {
|
|
17
|
+
import { syncApply } from "./sync.js";
|
|
18
|
+
import { resolveRegistryDir } from "../registry-bundle.js";
|
|
19
|
+
import { detectPackageManager, findWorkspaceRoot, formatCommand, installPlan, readRegistryCatalogue, shortDescription, withDependencies, } from "../registry-items.js";
|
|
15
20
|
export function parseCreateFlags(args) {
|
|
16
21
|
let target;
|
|
17
22
|
let items;
|
|
@@ -54,6 +59,32 @@ function run(c, cwd) {
|
|
|
54
59
|
});
|
|
55
60
|
return result.status === 0;
|
|
56
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Run the plan: the dependency install, then the sync. Returns the
|
|
64
|
+
* commands still to run by hand — none when both succeeded.
|
|
65
|
+
*/
|
|
66
|
+
async function installPages(plan, options) {
|
|
67
|
+
const { appRoot, interactive, show } = options;
|
|
68
|
+
const say = (line) => interactive ? p.log.step(line) : console.log(line);
|
|
69
|
+
const fail = (message) => interactive ? p.log.error(message) : console.error(message);
|
|
70
|
+
if (plan.install) {
|
|
71
|
+
say(`› ${show(plan.install)}`);
|
|
72
|
+
if (!run(plan.install, plan.install.cwd ?? appRoot)) {
|
|
73
|
+
fail(`\`${show(plan.install)}\` failed — the scaffold is in place; run the rest by hand.`);
|
|
74
|
+
return [plan.install, plan.sync];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
say(`› ${show(plan.sync)}`);
|
|
78
|
+
const code = await syncApply(plan.items, options.syncContext, {
|
|
79
|
+
force: true,
|
|
80
|
+
log: say,
|
|
81
|
+
});
|
|
82
|
+
if (code !== 0) {
|
|
83
|
+
fail("The pages did not all install — the scaffold is in place; re-run the sync by hand.");
|
|
84
|
+
return [plan.sync];
|
|
85
|
+
}
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
57
88
|
export async function runCreate(flags, context) {
|
|
58
89
|
const { interactive } = context;
|
|
59
90
|
const catalogue = readRegistryCatalogue(context.templatesDir);
|
|
@@ -127,45 +158,46 @@ export async function runCreate(flags, context) {
|
|
|
127
158
|
p.log.success(`Scaffolded ${result.written.length} files in ${target}`);
|
|
128
159
|
}
|
|
129
160
|
// 4. The pages — only with approval.
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
161
|
+
const workspaceRoot = findWorkspaceRoot(appRoot);
|
|
162
|
+
const plan = installPlan(items, { appRoot, packageManager, workspaceRoot });
|
|
163
|
+
const commands = plan
|
|
164
|
+
? [...(plan.install ? [plan.install] : []), plan.sync]
|
|
165
|
+
: [];
|
|
166
|
+
const show = (c) => formatCommand(c, appRoot);
|
|
167
|
+
const registryDir = resolveRegistryDir(context.templatesDir);
|
|
168
|
+
if (plan && flags.install && !registryDir) {
|
|
169
|
+
console.error("This CLI has no bundled registry to install pages from — in the framework repository, run `pnpm registry:build` first.");
|
|
170
|
+
}
|
|
171
|
+
let approved = plan !== null && flags.install && flags.yes && !!registryDir;
|
|
172
|
+
if (plan && flags.install && registryDir && !flags.yes && interactive) {
|
|
173
|
+
p.note(commands.map(show).join("\n"), "Commands to run in " + target);
|
|
135
174
|
const answer = await p.confirm({
|
|
136
|
-
message:
|
|
137
|
-
? `shadcn is not installed yet — install the dependencies (shadcn included) with ${
|
|
175
|
+
message: plan.install
|
|
176
|
+
? `shadcn is not installed yet — install the dependencies (shadcn included) with ${plan.install.command}${workspaceRoot ? " from the workspace root" : ""} and add ${items.length} page(s)?`
|
|
138
177
|
: `Add ${items.length} page(s) with shadcn?`,
|
|
139
178
|
});
|
|
140
179
|
if (bail(answer, `The scaffold is in ${target}; nothing was installed.`))
|
|
141
180
|
return 1;
|
|
142
181
|
approved = answer;
|
|
143
182
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
console.error(message);
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
pending = plan;
|
|
164
|
-
}
|
|
183
|
+
const pending = approved && plan && registryDir
|
|
184
|
+
? await installPages(plan, {
|
|
185
|
+
appRoot,
|
|
186
|
+
interactive,
|
|
187
|
+
show,
|
|
188
|
+
syncContext: {
|
|
189
|
+
appRoot,
|
|
190
|
+
registryDir,
|
|
191
|
+
requires: catalogue.requires,
|
|
192
|
+
frameworkVersion: context.frameworkVersion,
|
|
193
|
+
},
|
|
194
|
+
})
|
|
195
|
+
: commands;
|
|
165
196
|
const next = {
|
|
166
|
-
packageManager,
|
|
197
|
+
packageManager: workspaceRoot ? "pnpm" : packageManager,
|
|
167
198
|
installed: approved && pending.length === 0,
|
|
168
199
|
pending,
|
|
200
|
+
workspaceRoot,
|
|
169
201
|
};
|
|
170
202
|
if (interactive) {
|
|
171
203
|
p.note(formatNextSteps(target, next), "Next");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"create-flow.js","sourceRoot":"","sources":["../../src/commands/create-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* In a terminal it asks for the project name when none is given, then
|
|
11
11
|
* which registry pages to install (`--items a,b` or `--all` answer that
|
|
12
|
-
* without asking). The pages are installed by
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* without asking). The pages are installed by `intelligo sync` — one
|
|
13
|
+
* `shadcn add` per item, from the registry this CLI carries — after the
|
|
14
|
+
* dependencies (from the root of a parent pnpm workspace when the app is
|
|
15
|
+
* a member of one), and only once you approve the exact commands, or
|
|
16
|
+
* pass `--yes`. `--no-install` stops after the scaffold and prints them
|
|
17
|
+
* instead.
|
|
16
18
|
*/
|
|
17
19
|
import { type AddResult } from "./add.js";
|
|
18
20
|
import { type Command, type PackageManager } from "../registry-items.js";
|
|
@@ -44,6 +46,8 @@ export type NextSteps = {
|
|
|
44
46
|
installed: boolean;
|
|
45
47
|
/** Install commands the developer declined, or that did not get to run. */
|
|
46
48
|
pending?: Command[];
|
|
49
|
+
/** The parent pnpm workspace the app is a member of, installed from its root. */
|
|
50
|
+
workspaceRoot?: string | null;
|
|
47
51
|
};
|
|
48
52
|
export declare function formatNextSteps(target: string, next: NextSteps): string;
|
|
49
53
|
export declare function formatCreateResult(target: string, r: AddResult, next?: NextSteps): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAUA;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAoB3D;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AASF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAkBvE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,EACZ,IAAI,GAAE,SAAwD,GAC7D,MAAM,CAWR"}
|
package/dist/commands/create.js
CHANGED
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* In a terminal it asks for the project name when none is given, then
|
|
11
11
|
* which registry pages to install (`--items a,b` or `--all` answer that
|
|
12
|
-
* without asking). The pages are installed by
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* without asking). The pages are installed by `intelligo sync` — one
|
|
13
|
+
* `shadcn add` per item, from the registry this CLI carries — after the
|
|
14
|
+
* dependencies (from the root of a parent pnpm workspace when the app is
|
|
15
|
+
* a member of one), and only once you approve the exact commands, or
|
|
16
|
+
* pass `--yes`. `--no-install` stops after the scaffold and prints them
|
|
17
|
+
* instead.
|
|
16
18
|
*/
|
|
17
19
|
import { existsSync, mkdirSync, readdirSync } from "node:fs";
|
|
18
20
|
import path from "node:path";
|
|
@@ -67,14 +69,20 @@ function shellQuote(value) {
|
|
|
67
69
|
}
|
|
68
70
|
export function formatNextSteps(target, next) {
|
|
69
71
|
const pm = next.packageManager;
|
|
72
|
+
const appRoot = path.resolve(target);
|
|
73
|
+
const install = {
|
|
74
|
+
command: pm,
|
|
75
|
+
args: ["install"],
|
|
76
|
+
cwd: next.workspaceRoot ?? appRoot,
|
|
77
|
+
};
|
|
70
78
|
return [
|
|
71
|
-
`cd ${shellQuote(path.relative(process.cwd(),
|
|
79
|
+
`cd ${shellQuote(path.relative(process.cwd(), appRoot) || ".")}`,
|
|
72
80
|
"cp .env.example .env.local # then fill it in",
|
|
73
81
|
...(next.pending?.length
|
|
74
|
-
? next.pending.map(formatCommand)
|
|
82
|
+
? next.pending.map((c) => formatCommand(c, appRoot))
|
|
75
83
|
: next.installed
|
|
76
84
|
? []
|
|
77
|
-
: [
|
|
85
|
+
: [formatCommand(install, appRoot)]),
|
|
78
86
|
`${pm === "npm" ? "npm run" : pm} dev`,
|
|
79
87
|
].join("\n");
|
|
80
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC,CAAC;AAsBF,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,CAAC;AAyLF,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW,EAAE,CAwNpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAK5D;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAE1D"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -8,18 +8,9 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
8
8
|
import { parseEnv } from "node:util";
|
|
9
9
|
import { inspectMigrationChain, readMigrationChain } from "../migrations.js";
|
|
10
10
|
import { readManifest } from "../manifest.js";
|
|
11
|
+
import { checkExports, hasObjectKey, reexportedSource, stripComments, } from "../module-exports.js";
|
|
11
12
|
import { MODEL_CATALOGUE_LOCATIONS, readCatalogueModelIds, } from "../model-catalogue.js";
|
|
12
13
|
import { MIGRATION_LOCATIONS, resolveMigrationsDir, } from "../migrations-dir.js";
|
|
13
|
-
/**
|
|
14
|
-
* Block and line comments removed, so a check cannot be satisfied — or
|
|
15
|
-
* defeated — by prose. The composition root's own doc comment names
|
|
16
|
-
* `registerModels` in several of the templates.
|
|
17
|
-
*/
|
|
18
|
-
function stripComments(text) {
|
|
19
|
-
return text
|
|
20
|
-
.replace(/\/\*[\s\S]*?\*\//g, "")
|
|
21
|
-
.replace(/(^|[^:])\/\/.*$/gm, "$1");
|
|
22
|
-
}
|
|
23
14
|
/**
|
|
24
15
|
* templates/registry-requires.json is a build-time copy of
|
|
25
16
|
* packages/registry/requires.json (scripts/sync-registry-requires.mjs),
|
|
@@ -254,13 +245,17 @@ export function runChecks(options = {}) {
|
|
|
254
245
|
const requires = options.requires === undefined ? bundledRequires() : options.requires;
|
|
255
246
|
if (requires) {
|
|
256
247
|
const exists = (rel) => [".ts", ".tsx", ".js", ".jsx", ".json", ""].some((ext) => existsSync(path.join(root, rel + ext)));
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
248
|
+
// lib/plans.ts and whatever it re-exports — a catalogue defined in
|
|
249
|
+
// a workspace package counts — comments stripped.
|
|
250
|
+
const plansFile = ["lib/plans.ts", "lib/plans.tsx"]
|
|
251
|
+
.map((rel) => path.join(root, rel))
|
|
252
|
+
.find((file) => existsSync(file));
|
|
253
|
+
const plans = plansFile ? reexportedSource(plansFile, root) : null;
|
|
260
254
|
for (const [name, item] of Object.entries(requires.items)) {
|
|
261
255
|
if (!existsSync(path.join(root, item.marker)))
|
|
262
256
|
continue;
|
|
263
257
|
const problems = [];
|
|
258
|
+
const notes = [];
|
|
264
259
|
for (const dep of item.items ?? []) {
|
|
265
260
|
const marker = requires.items[dep]?.marker;
|
|
266
261
|
if (marker && !existsSync(path.join(root, marker))) {
|
|
@@ -277,21 +272,28 @@ export function runChecks(options = {}) {
|
|
|
277
272
|
.find((p) => existsSync(p));
|
|
278
273
|
if (!abs)
|
|
279
274
|
continue; // reported above as a missing file
|
|
280
|
-
const
|
|
281
|
-
const missing = names.filter((n) => !new RegExp(`export\\s+(?:default\\s+)?(?:async\\s+)?(?:const|function\\*?|let|var|class)\\s+${n}\\b`).test(source) &&
|
|
282
|
-
!new RegExp(`export\\s*\\{[^}]*\\b${n}\\b`).test(source));
|
|
275
|
+
const { missing, unresolved } = checkExports(abs, names, root);
|
|
283
276
|
if (missing.length) {
|
|
284
277
|
problems.push(`${file} must export ${missing.join(", ")}`);
|
|
285
278
|
}
|
|
279
|
+
else if (unresolved.length) {
|
|
280
|
+
notes.push(`${file}: could not read ${unresolved.map((u) => `\`export * from "${u}"\``).join(", ")} — assumed to provide ${names.join(", ")}`);
|
|
281
|
+
}
|
|
286
282
|
}
|
|
287
283
|
for (const feature of item.features ?? []) {
|
|
288
|
-
if (
|
|
289
|
-
|
|
284
|
+
if (!plans || hasObjectKey(plans.text, feature))
|
|
285
|
+
continue;
|
|
286
|
+
if (plans.unresolved.length) {
|
|
287
|
+
notes.push(`the "${feature}" feature key is not in lib/plans.ts, and ${plans.unresolved.join(", ")} could not be read to confirm it`);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
290
|
problems.push(`register the "${feature}" feature key in lib/plans.ts — an unregistered key is denied (403)`);
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
results.push(problems.length === 0
|
|
294
|
-
?
|
|
294
|
+
? notes.length === 0
|
|
295
|
+
? { name: `item:${name}`, status: "ok", detail: "requirements met" }
|
|
296
|
+
: { name: `item:${name}`, status: "warn", detail: notes.join("; ") }
|
|
295
297
|
: {
|
|
296
298
|
name: `item:${name}`,
|
|
297
299
|
status: "error",
|