@devbie/newbie-cli 1.10.1 → 1.11.1
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 +19 -11
- package/dist/assemble/modules-copy.js +1 -1
- package/dist/assemble/modules-copy.js.map +1 -1
- package/dist/assemble/modules.js +1 -1
- package/dist/assemble/schema.js +1 -1
- package/dist/commands/doctor.js +7 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/modules/add.d.ts +6 -0
- package/dist/commands/modules/add.js +32 -0
- package/dist/commands/modules/add.js.map +1 -0
- package/dist/commands/modules/apply.d.ts +6 -0
- package/dist/commands/modules/apply.js +94 -0
- package/dist/commands/modules/apply.js.map +1 -0
- package/dist/commands/modules/update.js +2 -2
- package/dist/commands/modules/update.js.map +1 -1
- package/dist/commands/modules/watch.js +1 -1
- package/dist/commands/modules/watch.js.map +1 -1
- package/dist/commands/template/update.d.ts +7 -0
- package/dist/commands/template/update.js +142 -0
- package/dist/commands/template/update.js.map +1 -0
- package/dist/core/deploy-compose.js +1 -1
- package/dist/core/template-update.d.ts +38 -0
- package/dist/core/template-update.js +218 -0
- package/dist/core/template-update.js.map +1 -0
- package/dist/program.d.ts +1 -0
- package/dist/program.js +29 -10
- package/dist/program.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ newbie-modules registry, reconcile module copies and project wiring, and load
|
|
|
10
10
|
module-bundled command namespaces (e.g. `newbie secrets`) declared by the
|
|
11
11
|
installed modules.
|
|
12
12
|
|
|
13
|
-
The command surface is a written contract; see ADR-024.
|
|
13
|
+
The command surface is a written contract; see ADR-024/ADR-029.
|
|
14
14
|
|
|
15
15
|
## Requirements
|
|
16
16
|
|
|
@@ -48,7 +48,7 @@ npm install
|
|
|
48
48
|
npx newbie modules
|
|
49
49
|
|
|
50
50
|
# Reconcile project files with the enabled module list (non-interactive)
|
|
51
|
-
npx newbie modules
|
|
51
|
+
npx newbie modules apply -y
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
## Commands
|
|
@@ -99,11 +99,19 @@ inventory and never writes.
|
|
|
99
99
|
| -------- | ----------------------------------- |
|
|
100
100
|
| `--json` | Print the module inventory as JSON. |
|
|
101
101
|
|
|
102
|
-
#### `newbie modules
|
|
102
|
+
#### `newbie modules add <keys...>`
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
Declare modules in `modules.json` (npm-style add) and install them: fetch the
|
|
105
|
+
registry, reject unknown or deprecated keys, then land the copies and wiring.
|
|
106
|
+
|
|
107
|
+
| Option | Description |
|
|
108
|
+
| ----------- | -------------------------- |
|
|
109
|
+
| `-y, --yes` | Skip confirmation prompts. |
|
|
110
|
+
|
|
111
|
+
#### `newbie modules apply`
|
|
112
|
+
|
|
113
|
+
Reconcile the project with `modules.json`: copy missing modules, remove extra
|
|
114
|
+
ones, regenerate wiring.
|
|
107
115
|
|
|
108
116
|
| Option | Description |
|
|
109
117
|
| ----------- | -------------------------------------------------------------------------------------------- |
|
|
@@ -153,11 +161,11 @@ Only valid inside a newbie-modules registry checkout (cwd must contain
|
|
|
153
161
|
|
|
154
162
|
### `newbie template`
|
|
155
163
|
|
|
156
|
-
#### `newbie template
|
|
164
|
+
#### `newbie template update [paths...]`
|
|
157
165
|
|
|
158
|
-
|
|
159
|
-
ownership registry: whole-file
|
|
160
|
-
`prisma.config.ts` and the static `deploy/` stack; block
|
|
166
|
+
Update framework-owned template files from the template, driven by the ADR-009
|
|
167
|
+
ownership registry: whole-file update for `main.ts`, `tsconfig*`, `nest-cli.json`,
|
|
168
|
+
`prisma.config.ts` and the static `deploy/` stack; block update for the
|
|
161
169
|
`@@newbie-framework` blocks of `.env.example`, `.gitignore` and
|
|
162
170
|
`prisma/schema.prisma`. Generated and template-shipped host-owned files are
|
|
163
171
|
skipped. Path prefixes (e.g. `deploy/`) restrict the scope.
|
|
@@ -165,7 +173,7 @@ skipped. Path prefixes (e.g. `deploy/`) restrict the scope.
|
|
|
165
173
|
| Option | Description |
|
|
166
174
|
| ----------------------- | ----------------------------------------------------------------- |
|
|
167
175
|
| `--template-path <dir>` | Use a local template directory instead of cloning the repository. |
|
|
168
|
-
| `--template-ref <ref>` | Git ref (e.g. a template tag) to
|
|
176
|
+
| `--template-ref <ref>` | Git ref (e.g. a template tag) to update from. |
|
|
169
177
|
| `--check` | CI gate: print the diff and exit non-zero when files drift. |
|
|
170
178
|
|
|
171
179
|
### Module-provided commands
|
|
@@ -37,7 +37,7 @@ async function addModules(params) {
|
|
|
37
37
|
if (missing.length > 0) {
|
|
38
38
|
const detail = missing.map(({ key, source }) => ` - ${key} (${source})`).join("\n");
|
|
39
39
|
throw new errors_1.CliError(`Registry checkout ${registry.sourceCommit ?? "unknown"} is missing module source(s):\n${detail}\n` +
|
|
40
|
-
`Point NEWBIE_MODULES_REF at a ref that carries them, then run 'newbie modules
|
|
40
|
+
`Point NEWBIE_MODULES_REF at a ref that carries them, then run 'newbie modules apply'.`);
|
|
41
41
|
}
|
|
42
42
|
for (const key of keys) {
|
|
43
43
|
await sink.copy((0, registry_1.moduleRootInRegistry)(registry.root, key), node_path_1.default.posix.join(paths_1.MODULES_DIR, key));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules-copy.js","sourceRoot":"","sources":["../../src/assemble/modules-copy.ts"],"names":[],"mappings":";;;;;AAYA,kDAMC;AAQD,sEAUC;AAOD,gCAuBC;AAGD,sCAMC;AA3ED,0DAA6B;AAE7B,8CAAiD;AACjD,8CAAyE;AACzE,0CAAyC;AACzC,4CAA4C;AAO5C,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAW,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,mBAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,iBAAQ,CAAC,uCAAuC,mBAAW,KAAK,GAAG,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,6BAA6B,CACjD,YAAoB,EACpB,IAAuB;IAEvB,MAAM,OAAO,GAA2C,EAAE,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAA,+BAAoB,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,MAKhC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,IAAI,iBAAQ,CAChB,qBAAqB,QAAQ,CAAC,YAAY,IAAI,SAAS,kCAAkC,MAAM,IAAI;YACjG,
|
|
1
|
+
{"version":3,"file":"modules-copy.js","sourceRoot":"","sources":["../../src/assemble/modules-copy.ts"],"names":[],"mappings":";;;;;AAYA,kDAMC;AAQD,sEAUC;AAOD,gCAuBC;AAGD,sCAMC;AA3ED,0DAA6B;AAE7B,8CAAiD;AACjD,8CAAyE;AACzE,0CAAyC;AACzC,4CAA4C;AAO5C,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAW,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,mBAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,iBAAQ,CAAC,uCAAuC,mBAAW,KAAK,GAAG,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,6BAA6B,CACjD,YAAoB,EACpB,IAAuB;IAEvB,MAAM,OAAO,GAA2C,EAAE,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAA,+BAAoB,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOM,KAAK,UAAU,UAAU,CAAC,MAKhC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,IAAI,iBAAQ,CAChB,qBAAqB,QAAQ,CAAC,YAAY,IAAI,SAAS,kCAAkC,MAAM,IAAI;YACjG,uFAAuF,CAC1F,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAA,+BAAoB,EAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAGM,KAAK,UAAU,aAAa,CAAC,MAAsC;IACxE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/dist/assemble/modules.js
CHANGED
|
@@ -11,7 +11,7 @@ const module_manifest_1 = require("../core/module-manifest");
|
|
|
11
11
|
const issues_1 = require("../lib/issues");
|
|
12
12
|
const module_install_1 = require("../lib/module-install");
|
|
13
13
|
const DO_NOT_EDIT_HEADER = `// THIS FILE IS GENERATED BY @devbie/newbie-cli. DO NOT EDIT.
|
|
14
|
-
// Run 'newbie modules
|
|
14
|
+
// Run 'newbie modules apply' to regenerate this file.
|
|
15
15
|
|
|
16
16
|
`;
|
|
17
17
|
const EMPTY_MODULE_TEMPLATE = `${DO_NOT_EDIT_HEADER}import {Global, Module} from '@nestjs/common';
|
package/dist/assemble/schema.js
CHANGED
|
@@ -12,7 +12,7 @@ const issues_1 = require("../lib/issues");
|
|
|
12
12
|
const module_install_1 = require("../lib/module-install");
|
|
13
13
|
const fs_util_1 = require("../lib/fs-util");
|
|
14
14
|
const DO_NOT_EDIT_HEADER = `// THIS FILE IS MANAGED BY @devbie/newbie-cli. DO NOT EDIT.
|
|
15
|
-
// Run 'newbie modules
|
|
15
|
+
// Run 'newbie modules apply' to regenerate this file.
|
|
16
16
|
|
|
17
17
|
`;
|
|
18
18
|
async function readOptionalText(cwd, relativePath) {
|
package/dist/commands/doctor.js
CHANGED
|
@@ -54,10 +54,10 @@ async function runDoctor(options) {
|
|
|
54
54
|
error(`Module '${key}' is not present in the registry.`);
|
|
55
55
|
}
|
|
56
56
|
if (!(await (0, fs_util_1.fileExists)(cwd, paths_1.MODULES_MODULE_TS))) {
|
|
57
|
-
error(`Generated ${paths_1.MODULES_MODULE_TS} is missing; run 'newbie modules
|
|
57
|
+
error(`Generated ${paths_1.MODULES_MODULE_TS} is missing; run 'newbie modules apply'.`);
|
|
58
58
|
}
|
|
59
59
|
if (!(await (0, fs_util_1.fileExists)(cwd, paths_1.MODULES_CONFIG_TS))) {
|
|
60
|
-
error(`Generated ${paths_1.MODULES_CONFIG_TS} is missing; run 'newbie modules
|
|
60
|
+
error(`Generated ${paths_1.MODULES_CONFIG_TS} is missing; run 'newbie modules apply'.`);
|
|
61
61
|
}
|
|
62
62
|
const moduleGraph = new Map();
|
|
63
63
|
const missingEnv = await (0, check_1.collectMissingEnv)(cwd, keys);
|
|
@@ -69,7 +69,7 @@ async function runDoctor(options) {
|
|
|
69
69
|
for (const key of keys) {
|
|
70
70
|
const label = (0, colorette_1.bold)(key);
|
|
71
71
|
if (!(await (0, fs_util_1.fileExists)(cwd, `${paths_1.MODULES_DIR}/${key}`))) {
|
|
72
|
-
error(`${label}: module directory missing; run 'newbie modules
|
|
72
|
+
error(`${label}: module directory missing; run 'newbie modules apply'.`);
|
|
73
73
|
continue;
|
|
74
74
|
}
|
|
75
75
|
const manifest = await (0, module_install_1.readInstalledManifest)(cwd, key);
|
|
@@ -80,7 +80,7 @@ async function runDoctor(options) {
|
|
|
80
80
|
moduleGraph.set(key, manifest.moduleDependencies ?? []);
|
|
81
81
|
if (manifest.schema) {
|
|
82
82
|
if (!(await (0, fs_util_1.fileExists)(cwd, node_path_1.default.posix.join(paths_1.PRISMA_SCHEMA_MODELS_DIR, `${key}.prisma`)))) {
|
|
83
|
-
error(`${label}: ${paths_1.PRISMA_SCHEMA_MODELS_DIR}/${key}.prisma missing; run 'newbie modules
|
|
83
|
+
error(`${label}: ${paths_1.PRISMA_SCHEMA_MODELS_DIR}/${key}.prisma missing; run 'newbie modules apply'.`);
|
|
84
84
|
}
|
|
85
85
|
if (datasourceSchemas && !datasourceSchemas.includes((0, prisma_schema_1.moduleSchemaNamespace)(key))) {
|
|
86
86
|
error(`${label}: datasource schemas lacks '${(0, prisma_schema_1.moduleSchemaNamespace)(key)}'.`);
|
|
@@ -112,7 +112,7 @@ async function runDoctor(options) {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
for (const { module, dependency } of (0, module_closure_1.findMissingEnabledModules)(keys, moduleGraph)) {
|
|
115
|
-
error(`'${dependency}' must be enabled because module '${module}' declares it as a module dependency; run 'newbie modules
|
|
115
|
+
error(`'${dependency}' must be enabled because module '${module}' declares it as a module dependency; run 'newbie modules apply'.`);
|
|
116
116
|
}
|
|
117
117
|
const copied = new Set((await promises_1.default
|
|
118
118
|
.readdir(node_path_1.default.resolve(cwd, paths_1.MODULES_DIR), { withFileTypes: true })
|
|
@@ -123,7 +123,7 @@ async function runDoctor(options) {
|
|
|
123
123
|
if (!keys.includes(dir)) {
|
|
124
124
|
const isRegistryModule = registry ? (await (0, registry_1.readRegistryModule)(registry.root, dir)) !== null : false;
|
|
125
125
|
if (isRegistryModule) {
|
|
126
|
-
notice(`Extra module directory '${dir}' not declared in ${paths_1.MODULES_JSON}; run 'newbie modules
|
|
126
|
+
notice(`Extra module directory '${dir}' not declared in ${paths_1.MODULES_JSON}; run 'newbie modules apply' to remove it.`);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -134,7 +134,7 @@ async function runDoctor(options) {
|
|
|
134
134
|
continue;
|
|
135
135
|
const orphanKey = file.slice(0, -".prisma".length);
|
|
136
136
|
if (!enabledKeySet.has(orphanKey)) {
|
|
137
|
-
error(`Orphan prisma fragment '${paths_1.PRISMA_SCHEMA_MODELS_DIR}/${file}' (module '${orphanKey}' not enabled); run 'newbie modules
|
|
137
|
+
error(`Orphan prisma fragment '${paths_1.PRISMA_SCHEMA_MODELS_DIR}/${file}' (module '${orphanKey}' not enabled); run 'newbie modules apply' to remove it.`);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
const errors = findings.filter((finding) => finding.level === "error");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;AAqCA,8BAoMC;AAzOD,gEAAkC;AAClC,0DAA6B;AAC7B,oDAA4B;AAC5B,yCAAiE;AAEjE,8CAO4B;AAC5B,yCAA8C;AAC9C,2DAAmE;AACnE,yDAAmD;AACnD,yDAAqF;AACrF,wCAAiD;AACjD,0CAAyC;AACzC,wCAA+E;AAC/E,4CAA4C;AAC5C,8CAAwF;AACxF,0DAA8D;AAC9D,wDAAqE;AAc9D,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CACV,gBAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,IAAI;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAQ,EAAE;QACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,OAAe,EAAQ,EAAE;QACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAGF,IAAI,CAAC,CAAC,MAAM,IAAA,2BAAW,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAQ,CAAC,GAAG,oBAAY,4DAA4D,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,gCAAgB,EAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,KAAK,CAAC,CAAC;IAG/B,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,CAC5H,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,wGAAwG,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,2BAAgB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,WAAW,GAAG,mCAAmC,CAAC,CAAC;IAChF,CAAC;IAGD,IAAI,CAAC,CAAC,MAAM,IAAA,oBAAU,EAAC,GAAG,EAAE,yBAAiB,CAAC,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,aAAa,yBAAiB,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runAdd = runAdd;
|
|
4
|
+
const colorette_1 = require("colorette");
|
|
5
|
+
const pipeline_1 = require("../../assemble/pipeline");
|
|
6
|
+
const modules_state_1 = require("../../core/modules-state");
|
|
7
|
+
const errors_1 = require("../../lib/errors");
|
|
8
|
+
const registry_1 = require("../../lib/registry");
|
|
9
|
+
const shared_1 = require("../shared");
|
|
10
|
+
async function runAdd(options) {
|
|
11
|
+
const keys = options.keys;
|
|
12
|
+
if (keys.length === 0) {
|
|
13
|
+
throw new errors_1.CliError("`modules add` requires at least one module key: `newbie modules add <keys...>`.");
|
|
14
|
+
}
|
|
15
|
+
const { ctx } = await (0, shared_1.createContext)(options, { fetch: true });
|
|
16
|
+
const registryModules = await (0, registry_1.listRegistryModules)(ctx.registry.root);
|
|
17
|
+
const known = new Set(registryModules.map((entry) => entry.key));
|
|
18
|
+
const unknown = keys.filter((key) => !known.has(key));
|
|
19
|
+
if (unknown.length > 0) {
|
|
20
|
+
throw new errors_1.CliError(`Unknown module(s): ${unknown.join(", ")}. Available modules: ${[...known].join(", ")}`);
|
|
21
|
+
}
|
|
22
|
+
const deprecated = (0, registry_1.deprecatedNoticesOf)(registryModules);
|
|
23
|
+
const blocked = keys.filter((key) => deprecated.has(key));
|
|
24
|
+
if (blocked.length > 0) {
|
|
25
|
+
throw new errors_1.CliError(`Cannot install deprecated module(s): ${blocked.map((key) => `'${key}' (${deprecated.get(key)})`).join(", ")}`);
|
|
26
|
+
}
|
|
27
|
+
const next = [...new Set([...(0, modules_state_1.moduleKeys)(ctx.state), ...keys])];
|
|
28
|
+
await (0, pipeline_1.applyModuleKeys)(ctx, next);
|
|
29
|
+
ctx.issues.assertEmpty();
|
|
30
|
+
console.info((0, colorette_1.bold)((0, colorette_1.green)("\n🍺 C O M P L E T E\n")));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/modules/add.ts"],"names":[],"mappings":";;AAgBA,wBA2BC;AA3CD,yCAAwC;AAExC,sDAA0D;AAC1D,4DAAsD;AACtD,6CAA4C;AAC5C,iDAA8E;AAE9E,sCAAyD;AASlD,KAAK,UAAU,MAAM,CAAC,OAA0B;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAQ,CAAC,iFAAiF,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,MAAM,IAAA,8BAAmB,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,eAAe,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAChB,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAA,0BAAU,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAA,0BAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAA,iBAAK,EAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runApply = runApply;
|
|
4
|
+
const prompts_1 = require("@inquirer/prompts");
|
|
5
|
+
const colorette_1 = require("colorette");
|
|
6
|
+
const pipeline_1 = require("../../assemble/pipeline");
|
|
7
|
+
const paths_1 = require("../../constants/paths");
|
|
8
|
+
const modules_state_1 = require("../../core/modules-state");
|
|
9
|
+
const errors_1 = require("../../lib/errors");
|
|
10
|
+
const shared_1 = require("../shared");
|
|
11
|
+
async function runApply(options) {
|
|
12
|
+
if (options.check) {
|
|
13
|
+
await runApplyCheck(options);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
await runApplyReconcile(options);
|
|
17
|
+
}
|
|
18
|
+
async function runApplyCheck(options) {
|
|
19
|
+
const { ctx } = await (0, shared_1.createContext)(options, { check: true, fetch: false });
|
|
20
|
+
const plan = await (0, pipeline_1.planReconcile)(ctx);
|
|
21
|
+
if (plan.installed.length > 0 || plan.uninstalled.length > 0) {
|
|
22
|
+
const lines = [
|
|
23
|
+
...plan.installed.map((key) => ` - ${key}: copy missing from src/modules`),
|
|
24
|
+
...plan.uninstalled.map((key) => ` - ${key}: extra copy not declared in modules.json`),
|
|
25
|
+
];
|
|
26
|
+
throw new errors_1.CliError(`Module copies are out of sync with modules.json:\n${lines.join("\n")}\nRun \`newbie modules apply\`.`);
|
|
27
|
+
}
|
|
28
|
+
const declared = (0, modules_state_1.moduleKeys)(ctx.state);
|
|
29
|
+
const undeclaredDependencies = plan.enabledKeys.filter((key) => !declared.includes(key));
|
|
30
|
+
if (undeclaredDependencies.length > 0) {
|
|
31
|
+
throw new errors_1.CliError(`modules.json is missing module(s) required by the enabled set: ${undeclaredDependencies.join(", ")}. ` +
|
|
32
|
+
"Run `newbie modules add` to declare them.");
|
|
33
|
+
}
|
|
34
|
+
await (0, pipeline_1.applyPlanned)(ctx, plan);
|
|
35
|
+
const findings = ctx.sink.findings.filter(isCountedFinding);
|
|
36
|
+
if (findings.length === 0) {
|
|
37
|
+
console.info((0, colorette_1.green)((0, colorette_1.bold)("✓ Module copies and generated wiring match modules.json.")));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
for (const finding of findings) {
|
|
41
|
+
const detail = finding.kind === "action" ? finding.detail : finding.kind;
|
|
42
|
+
console.info(` - ${finding.path}: ${detail}`);
|
|
43
|
+
}
|
|
44
|
+
throw new errors_1.CliError(`${findings.length} generated file(s) drift from the installed module set. ` +
|
|
45
|
+
"Run `newbie modules apply` to regenerate them.");
|
|
46
|
+
}
|
|
47
|
+
function isCountedFinding(finding) {
|
|
48
|
+
if (finding.path === paths_1.ENV_PATH)
|
|
49
|
+
return false;
|
|
50
|
+
if (finding.kind === "action" && finding.detail === "prisma generate")
|
|
51
|
+
return false;
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
async function runApplyReconcile(options) {
|
|
55
|
+
const { ctx } = await (0, shared_1.createContext)(options, { fetch: true });
|
|
56
|
+
const plan = await (0, pipeline_1.planReconcile)(ctx);
|
|
57
|
+
const { installed, uninstalled, closureAdded } = plan;
|
|
58
|
+
for (const addition of closureAdded ?? []) {
|
|
59
|
+
console.info((0, colorette_1.cyan)(`[info] ${addition.key} is required by ${addition.requiredBy.join(", ")} and will also be enabled.`));
|
|
60
|
+
}
|
|
61
|
+
if (installed.length === 0 && uninstalled.length === 0) {
|
|
62
|
+
await (0, pipeline_1.applyPlanned)(ctx, plan);
|
|
63
|
+
ctx.issues.assertEmpty();
|
|
64
|
+
console.info((0, colorette_1.green)("[info] Project is in sync with modules.json; wiring refreshed."));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let message;
|
|
68
|
+
if (!uninstalled.length && installed.length) {
|
|
69
|
+
message = `Do you want to INSTALL ${(0, colorette_1.cyan)(installed.join(", "))}?`;
|
|
70
|
+
}
|
|
71
|
+
else if (uninstalled.length && !installed.length) {
|
|
72
|
+
message = `Do you want to UNINSTALL ${(0, colorette_1.inverse)(uninstalled.join(", "))}?`;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
message = `Do you want to UNINSTALL ${(0, colorette_1.inverse)(uninstalled.join(", "))} and INSTALL ${(0, colorette_1.cyan)(installed.join(", "))}?`;
|
|
76
|
+
}
|
|
77
|
+
if (!options.yes && !options.dryRun) {
|
|
78
|
+
const confirmed = await (0, prompts_1.select)({
|
|
79
|
+
message,
|
|
80
|
+
choices: [
|
|
81
|
+
{ name: "Yes", value: "yes" },
|
|
82
|
+
{ name: "No", value: "no" },
|
|
83
|
+
],
|
|
84
|
+
});
|
|
85
|
+
if (confirmed !== "yes") {
|
|
86
|
+
console.info("[info] Cancelled.");
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
await (0, pipeline_1.applyPlanned)(ctx, plan);
|
|
91
|
+
ctx.issues.assertEmpty();
|
|
92
|
+
console.info((0, colorette_1.bold)((0, colorette_1.green)("\n🍺 C O M P L E T E\n")));
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/modules/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,10 +88,10 @@ async function runUpdate(options) {
|
|
|
88
88
|
process.stdout.write("\x1b[2K\r");
|
|
89
89
|
for (const result of inspections) {
|
|
90
90
|
if (result.status === "missing") {
|
|
91
|
-
console.info((0, colorette_1.yellow)(`[skip] ${result.key}: directory missing; run 'newbie modules
|
|
91
|
+
console.info((0, colorette_1.yellow)(`[skip] ${result.key}: directory missing; run 'newbie modules apply'.`));
|
|
92
92
|
}
|
|
93
93
|
else if (result.status === "missing-in-registry") {
|
|
94
|
-
console.info((0, colorette_1.yellow)(`[skip] ${result.key}: not present in registry checkout ${short(registry.sourceCommit)}; set NEWBIE_MODULES_REF to a ref that carries it, then run 'newbie modules
|
|
94
|
+
console.info((0, colorette_1.yellow)(`[skip] ${result.key}: not present in registry checkout ${short(registry.sourceCommit)}; set NEWBIE_MODULES_REF to a ref that carries it, then run 'newbie modules apply'.`));
|
|
95
95
|
}
|
|
96
96
|
else if (result.status === "drifted") {
|
|
97
97
|
console.info((0, colorette_1.yellow)(`[skip] ${result.key}: local changes detected (${result.patchIds.length} file(s)); re-run with --force to overwrite.`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/modules/update.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/modules/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ async function runWatch(options) {
|
|
|
83
83
|
if (watchKeys.length === 0) {
|
|
84
84
|
console.info((0, colorette_1.yellow)(options.all
|
|
85
85
|
? "No matching modules found in the registry."
|
|
86
|
-
: "
|
|
86
|
+
: "This project has no enabled modules. Run `newbie modules add <key>` to declare one (or `newbie modules apply` when modules.json already declares a set), or use --all to watch every registry module."));
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
89
|
console.info((0, colorette_1.cyan)(`Watching ${watchKeys.length} module(s) for changes in ${registry.root}…`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/modules/watch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/modules/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GlobalOptions } from "../shared";
|
|
2
|
+
import { TemplateReference } from "../create";
|
|
3
|
+
export interface TemplateUpdateOptions extends GlobalOptions, TemplateReference {
|
|
4
|
+
check?: boolean;
|
|
5
|
+
paths?: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function runTemplateUpdate(options: TemplateUpdateOptions): Promise<void>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runTemplateUpdate = runTemplateUpdate;
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const colorette_1 = require("colorette");
|
|
10
|
+
const template_update_1 = require("../../core/template-update");
|
|
11
|
+
const unified_diff_1 = require("../../core/unified-diff");
|
|
12
|
+
const errors_1 = require("../../lib/errors");
|
|
13
|
+
const sink_1 = require("../../lib/sink");
|
|
14
|
+
const create_1 = require("../create");
|
|
15
|
+
function matchesPathFilter(filePath, filter) {
|
|
16
|
+
const normalized = filter.replace(/^\.\//, "").replace(/\/+$/, "");
|
|
17
|
+
if (normalized === "")
|
|
18
|
+
return true;
|
|
19
|
+
return filePath === normalized || filePath.startsWith(`${normalized}/`);
|
|
20
|
+
}
|
|
21
|
+
function filterTemplateFiles(paths) {
|
|
22
|
+
const updatable = template_update_1.TEMPLATE_FILES.filter(template_update_1.isUpdatableTemplateFile);
|
|
23
|
+
if (!paths || paths.length === 0)
|
|
24
|
+
return updatable;
|
|
25
|
+
const selected = updatable.filter((file) => paths.some((p) => matchesPathFilter(file.path, p)));
|
|
26
|
+
if (selected.length === 0) {
|
|
27
|
+
throw new errors_1.CliError(`No framework-managed template files match the path filter: ${paths.join(", ")}`);
|
|
28
|
+
}
|
|
29
|
+
return selected;
|
|
30
|
+
}
|
|
31
|
+
async function readOrNull(root, rel) {
|
|
32
|
+
try {
|
|
33
|
+
return await promises_1.default.readFile(node_path_1.default.join(root, rel), "utf8");
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function isScanIgnored(relPath) {
|
|
40
|
+
const segments = relPath.split("/");
|
|
41
|
+
if (segments.some((segment) => template_update_1.TEMPLATE_SCAN_IGNORED_DIRECTORIES.has(segment)))
|
|
42
|
+
return true;
|
|
43
|
+
const base = segments[segments.length - 1];
|
|
44
|
+
if (template_update_1.TEMPLATE_SCAN_IGNORED_FILES.has(base))
|
|
45
|
+
return true;
|
|
46
|
+
return template_update_1.TEMPLATE_SCAN_IGNORED_SUFFIXES.some((suffix) => base.endsWith(suffix));
|
|
47
|
+
}
|
|
48
|
+
async function listTemplateFiles(root) {
|
|
49
|
+
const found = [];
|
|
50
|
+
async function walk(relDir) {
|
|
51
|
+
const dirents = await promises_1.default.readdir(node_path_1.default.join(root, relDir), { withFileTypes: true });
|
|
52
|
+
for (const dirent of dirents) {
|
|
53
|
+
const relPath = relDir === "" ? dirent.name : `${relDir}/${dirent.name}`;
|
|
54
|
+
if (dirent.isDirectory()) {
|
|
55
|
+
if (template_update_1.TEMPLATE_SCAN_IGNORED_DIRECTORIES.has(dirent.name))
|
|
56
|
+
continue;
|
|
57
|
+
await walk(relPath);
|
|
58
|
+
}
|
|
59
|
+
else if (dirent.isFile() && !isScanIgnored(relPath)) {
|
|
60
|
+
found.push(relPath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
await walk("");
|
|
65
|
+
return found;
|
|
66
|
+
}
|
|
67
|
+
async function assertTemplateRegistryComplete(templateRoot) {
|
|
68
|
+
const unclassified = (0, template_update_1.findUnclassifiedTemplateFiles)(await listTemplateFiles(templateRoot));
|
|
69
|
+
if (unclassified.length === 0)
|
|
70
|
+
return;
|
|
71
|
+
throw new errors_1.CliError(`Template file(s) missing from the ownership registry (ADR-009 D4):\n - ${unclassified.join("\n - ")}\n` +
|
|
72
|
+
"Classify each one in TEMPLATE_FILES (packages/newbie-cli/src/core/template-update.ts).");
|
|
73
|
+
}
|
|
74
|
+
function printChangeDiff(change) {
|
|
75
|
+
const label = change.file.path;
|
|
76
|
+
if (change.kind === "missing-markers") {
|
|
77
|
+
const markers = (0, template_update_1.frameworkMarkers)(change.file.markerSyntax);
|
|
78
|
+
console.warn((0, colorette_1.yellow)(`! ${label}: framework markers (${markers.start} / ${markers.end}) ` +
|
|
79
|
+
"not found; skipping. Add them back to re-enable template update."));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const kindLabel = change.kind === "create" ? "missing in project" : "differs from template";
|
|
83
|
+
console.info((0, colorette_1.bold)(`\n# ${label} (${kindLabel})`));
|
|
84
|
+
const aLabel = change.currentComparable === null ? "/dev/null" : `a/${label}`;
|
|
85
|
+
const diff = (0, unified_diff_1.unifiedDiff)(change.currentComparable ?? "", change.templateComparable ?? "", aLabel, `b/${label}`);
|
|
86
|
+
process.stdout.write(diff);
|
|
87
|
+
}
|
|
88
|
+
async function runTemplateUpdate(options) {
|
|
89
|
+
const cwd = node_path_1.default.resolve(options.cwd);
|
|
90
|
+
const sink = (0, sink_1.createSink)(cwd, options.dryRun);
|
|
91
|
+
const templateFiles = filterTemplateFiles(options.paths);
|
|
92
|
+
const scope = options.paths && options.paths.length > 0 ? options.paths.join(", ") : null;
|
|
93
|
+
const template = await (0, create_1.resolveTemplate)(options);
|
|
94
|
+
console.info((0, colorette_1.cyan)(`Template source: ${template.source}`));
|
|
95
|
+
if (scope) {
|
|
96
|
+
console.info((0, colorette_1.cyan)(`Scope: ${scope} (${templateFiles.length} template files)`));
|
|
97
|
+
}
|
|
98
|
+
await assertTemplateRegistryComplete(template.root);
|
|
99
|
+
const projectFiles = new Map();
|
|
100
|
+
const templateContents = new Map();
|
|
101
|
+
for (const file of templateFiles) {
|
|
102
|
+
projectFiles.set(file.path, await readOrNull(cwd, file.path));
|
|
103
|
+
templateContents.set(file.path, await readOrNull(template.root, file.path));
|
|
104
|
+
}
|
|
105
|
+
let changes;
|
|
106
|
+
try {
|
|
107
|
+
changes = (0, template_update_1.planTemplateUpdate)(projectFiles, templateContents, templateFiles);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
throw new errors_1.CliError(error.message);
|
|
111
|
+
}
|
|
112
|
+
if (changes.length === 0) {
|
|
113
|
+
const suffix = scope ? ` (scope: ${scope})` : "";
|
|
114
|
+
console.info((0, colorette_1.green)((0, colorette_1.bold)(`✓ Project template files are up to date with the template${suffix}.`)));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const actionable = changes.filter((c) => c.kind !== "missing-markers");
|
|
118
|
+
for (const change of changes) {
|
|
119
|
+
printChangeDiff(change);
|
|
120
|
+
}
|
|
121
|
+
console.info(`\n${actionable.length} template file(s) to update: ` +
|
|
122
|
+
actionable.map((c) => `${c.file.path} (${c.kind})`).join(", "));
|
|
123
|
+
if (options.check) {
|
|
124
|
+
const command = scope ? `newbie template update ${scope}` : "newbie template update";
|
|
125
|
+
throw new errors_1.CliError(`${changes.length} template file(s) drift from the template ` +
|
|
126
|
+
`(${actionable.length} auto-fixable). ` +
|
|
127
|
+
`Run \`${command}\` to apply the template version.`);
|
|
128
|
+
}
|
|
129
|
+
for (const change of actionable) {
|
|
130
|
+
if (change.nextContent !== null) {
|
|
131
|
+
await sink.writeText(change.file.path, change.nextContent);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (options.dryRun) {
|
|
135
|
+
console.info("[dry-run] no files were modified");
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
console.info((0, colorette_1.green)((0, colorette_1.bold)("\n✓ Template files updated.")));
|
|
139
|
+
console.info("Review with `git diff`, then commit on a branch and open a PR.");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/template/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ exports.buildComposeModulesYaml = buildComposeModulesYaml;
|
|
|
4
4
|
const env_file_1 = require("./env-file");
|
|
5
5
|
const datastore_registry_1 = require("./datastore-registry");
|
|
6
6
|
const HEADER = `# THIS FILE IS GENERATED BY @devbie/newbie-cli. DO NOT EDIT.
|
|
7
|
-
# Regenerate with \`newbie modules
|
|
7
|
+
# Regenerate with \`newbie modules apply\` (it also runs as part of modules update).
|
|
8
8
|
|
|
9
9
|
`;
|
|
10
10
|
const EMPTY_YAML = `${HEADER}services: {}\n`;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type MarkerSyntax = "//" | "#";
|
|
2
|
+
export interface FrameworkMarkers {
|
|
3
|
+
start: string;
|
|
4
|
+
end: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function frameworkMarkers(syntax?: MarkerSyntax): FrameworkMarkers;
|
|
7
|
+
export type TemplateFileOwnership = "framework-whole-file" | "framework-marker-block" | "generated" | "template-shipped-host-owned";
|
|
8
|
+
export type RenderedFragment = {
|
|
9
|
+
kind: "line";
|
|
10
|
+
pattern: RegExp;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "block";
|
|
13
|
+
start: string;
|
|
14
|
+
end: string;
|
|
15
|
+
};
|
|
16
|
+
export interface TemplateFile {
|
|
17
|
+
path: string;
|
|
18
|
+
ownership: TemplateFileOwnership;
|
|
19
|
+
markerSyntax?: MarkerSyntax;
|
|
20
|
+
rendered?: RenderedFragment;
|
|
21
|
+
}
|
|
22
|
+
export declare const TEMPLATE_FILES: readonly TemplateFile[];
|
|
23
|
+
export declare function isUpdatableTemplateFile(file: TemplateFile): boolean;
|
|
24
|
+
export declare const TEMPLATE_SCAN_IGNORED_DIRECTORIES: ReadonlySet<string>;
|
|
25
|
+
export declare const TEMPLATE_SCAN_IGNORED_FILES: ReadonlySet<string>;
|
|
26
|
+
export declare const TEMPLATE_SCAN_IGNORED_SUFFIXES: readonly string[];
|
|
27
|
+
export declare function findUnclassifiedTemplateFiles(paths: Iterable<string>): string[];
|
|
28
|
+
export declare function extractMarkerBlock(content: string, syntax?: MarkerSyntax): string | null;
|
|
29
|
+
export declare function replaceMarkerBlock(content: string, block: string, syntax?: MarkerSyntax): string | null;
|
|
30
|
+
export type TemplateChangeKind = "create" | "update" | "missing-markers";
|
|
31
|
+
export interface TemplateChange {
|
|
32
|
+
file: TemplateFile;
|
|
33
|
+
kind: TemplateChangeKind;
|
|
34
|
+
nextContent: string | null;
|
|
35
|
+
currentComparable: string | null;
|
|
36
|
+
templateComparable: string | null;
|
|
37
|
+
}
|
|
38
|
+
export declare function planTemplateUpdate(projectFiles: ReadonlyMap<string, string | null>, templateFiles: ReadonlyMap<string, string | null>, files?: readonly TemplateFile[]): TemplateChange[];
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TEMPLATE_SCAN_IGNORED_SUFFIXES = exports.TEMPLATE_SCAN_IGNORED_FILES = exports.TEMPLATE_SCAN_IGNORED_DIRECTORIES = exports.TEMPLATE_FILES = void 0;
|
|
4
|
+
exports.frameworkMarkers = frameworkMarkers;
|
|
5
|
+
exports.isUpdatableTemplateFile = isUpdatableTemplateFile;
|
|
6
|
+
exports.findUnclassifiedTemplateFiles = findUnclassifiedTemplateFiles;
|
|
7
|
+
exports.extractMarkerBlock = extractMarkerBlock;
|
|
8
|
+
exports.replaceMarkerBlock = replaceMarkerBlock;
|
|
9
|
+
exports.planTemplateUpdate = planTemplateUpdate;
|
|
10
|
+
const env_file_1 = require("./env-file");
|
|
11
|
+
function frameworkMarkers(syntax = "//") {
|
|
12
|
+
return {
|
|
13
|
+
start: `${syntax} @@newbie-framework-start`,
|
|
14
|
+
end: `${syntax} @@newbie-framework-end`,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.TEMPLATE_FILES = [
|
|
18
|
+
{ path: "src/main.ts", ownership: "framework-whole-file" },
|
|
19
|
+
{ path: "tsconfig.json", ownership: "framework-whole-file" },
|
|
20
|
+
{ path: "tsconfig.build.json", ownership: "framework-whole-file" },
|
|
21
|
+
{ path: "nest-cli.json", ownership: "framework-whole-file" },
|
|
22
|
+
{ path: "prisma.config.ts", ownership: "framework-whole-file" },
|
|
23
|
+
{ path: "deploy/compose.framework.yml", ownership: "framework-whole-file" },
|
|
24
|
+
{
|
|
25
|
+
path: "deploy/Caddyfile.tmpl",
|
|
26
|
+
ownership: "framework-whole-file",
|
|
27
|
+
rendered: { kind: "block", start: env_file_1.MODULES_MARKER_START, end: env_file_1.MODULES_MARKER_END },
|
|
28
|
+
},
|
|
29
|
+
{ path: "deploy/scripts/lib.sh", ownership: "framework-whole-file" },
|
|
30
|
+
{ path: "deploy/scripts/render-env.sh", ownership: "framework-whole-file" },
|
|
31
|
+
{ path: "deploy/scripts/deploy.sh", ownership: "framework-whole-file" },
|
|
32
|
+
{ path: "deploy/scripts/start.sh", ownership: "framework-whole-file" },
|
|
33
|
+
{ path: "deploy/scripts/backup.sh", ownership: "framework-whole-file" },
|
|
34
|
+
{ path: "deploy/scripts/provision.sh", ownership: "framework-whole-file" },
|
|
35
|
+
{ path: ".env.example", ownership: "framework-marker-block", markerSyntax: "#" },
|
|
36
|
+
{ path: ".gitignore", ownership: "framework-marker-block", markerSyntax: "#" },
|
|
37
|
+
{
|
|
38
|
+
path: "prisma/schema.prisma",
|
|
39
|
+
ownership: "framework-marker-block",
|
|
40
|
+
markerSyntax: "//",
|
|
41
|
+
rendered: { kind: "line", pattern: /^\s*schemas\s*=.*$/m },
|
|
42
|
+
},
|
|
43
|
+
{ path: "src/modules/modules.config.ts", ownership: "generated" },
|
|
44
|
+
{ path: "src/modules/modules.module.ts", ownership: "generated" },
|
|
45
|
+
{ path: "deploy/compose.modules.yml", ownership: "generated" },
|
|
46
|
+
{ path: "package.json", ownership: "template-shipped-host-owned" },
|
|
47
|
+
{ path: ".githooks/pre-commit", ownership: "template-shipped-host-owned" },
|
|
48
|
+
{ path: ".githooks/commit-msg", ownership: "template-shipped-host-owned" },
|
|
49
|
+
{ path: "README.md", ownership: "template-shipped-host-owned" },
|
|
50
|
+
{ path: ".prettierignore", ownership: "template-shipped-host-owned" },
|
|
51
|
+
{ path: "eslint.config.mjs", ownership: "template-shipped-host-owned" },
|
|
52
|
+
{ path: "prisma/seed.ts", ownership: "template-shipped-host-owned" },
|
|
53
|
+
{ path: "src/application/application.controller.ts", ownership: "template-shipped-host-owned" },
|
|
54
|
+
{ path: "src/application/application.module.ts", ownership: "template-shipped-host-owned" },
|
|
55
|
+
{ path: "deploy/compose.application.yml", ownership: "template-shipped-host-owned" },
|
|
56
|
+
{ path: "deploy/clickhouse/config.d/memory.xml", ownership: "template-shipped-host-owned" },
|
|
57
|
+
{ path: ".github/dependabot.yml", ownership: "template-shipped-host-owned" },
|
|
58
|
+
{ path: ".github/workflows/ci.yml", ownership: "template-shipped-host-owned" },
|
|
59
|
+
{ path: ".github/workflows/dependabot-triage.yml", ownership: "template-shipped-host-owned" },
|
|
60
|
+
];
|
|
61
|
+
function isUpdatableTemplateFile(file) {
|
|
62
|
+
return file.ownership === "framework-whole-file" || file.ownership === "framework-marker-block";
|
|
63
|
+
}
|
|
64
|
+
const UPDATABLE_FILES = exports.TEMPLATE_FILES.filter(isUpdatableTemplateFile);
|
|
65
|
+
exports.TEMPLATE_SCAN_IGNORED_DIRECTORIES = new Set([
|
|
66
|
+
".git",
|
|
67
|
+
".idea",
|
|
68
|
+
".vscode",
|
|
69
|
+
".newbie",
|
|
70
|
+
"coverage",
|
|
71
|
+
"dist",
|
|
72
|
+
"generated",
|
|
73
|
+
"node_modules",
|
|
74
|
+
]);
|
|
75
|
+
exports.TEMPLATE_SCAN_IGNORED_FILES = new Set([".DS_Store", ".env", "package-lock.json"]);
|
|
76
|
+
exports.TEMPLATE_SCAN_IGNORED_SUFFIXES = [".tsbuildinfo"];
|
|
77
|
+
function findUnclassifiedTemplateFiles(paths) {
|
|
78
|
+
const registered = new Set(exports.TEMPLATE_FILES.map((file) => file.path));
|
|
79
|
+
return [...paths].filter((filePath) => !registered.has(filePath)).sort(env_file_1.compareStrings);
|
|
80
|
+
}
|
|
81
|
+
function extractMarkerBlock(content, syntax = "//") {
|
|
82
|
+
const markers = frameworkMarkers(syntax);
|
|
83
|
+
const start = content.indexOf(markers.start);
|
|
84
|
+
const end = content.indexOf(markers.end);
|
|
85
|
+
if (start === -1 || end === -1 || end < start)
|
|
86
|
+
return null;
|
|
87
|
+
return content.slice(start, end + markers.end.length);
|
|
88
|
+
}
|
|
89
|
+
function replaceMarkerBlock(content, block, syntax = "//") {
|
|
90
|
+
const current = extractMarkerBlock(content, syntax);
|
|
91
|
+
if (current === null)
|
|
92
|
+
return null;
|
|
93
|
+
return content.replace(current, block);
|
|
94
|
+
}
|
|
95
|
+
function extractRendered(content, fragment) {
|
|
96
|
+
if (fragment.kind === "line") {
|
|
97
|
+
return content.match(fragment.pattern)?.[0] ?? null;
|
|
98
|
+
}
|
|
99
|
+
const start = content.indexOf(fragment.start);
|
|
100
|
+
const end = content.indexOf(fragment.end);
|
|
101
|
+
if (start === -1 || end === -1 || end < start)
|
|
102
|
+
return null;
|
|
103
|
+
return content.slice(start, end + fragment.end.length);
|
|
104
|
+
}
|
|
105
|
+
function replaceRendered(content, fragment, replacement) {
|
|
106
|
+
if (fragment.kind === "line") {
|
|
107
|
+
if (content.match(fragment.pattern) === null)
|
|
108
|
+
return null;
|
|
109
|
+
return content.replace(fragment.pattern, () => replacement);
|
|
110
|
+
}
|
|
111
|
+
const start = content.indexOf(fragment.start);
|
|
112
|
+
const end = content.indexOf(fragment.end);
|
|
113
|
+
if (start === -1 || end === -1 || end < start)
|
|
114
|
+
return null;
|
|
115
|
+
return content.slice(0, start) + replacement + content.slice(end + fragment.end.length);
|
|
116
|
+
}
|
|
117
|
+
function stripRendered(content, fragment) {
|
|
118
|
+
if (fragment.kind === "line") {
|
|
119
|
+
return content
|
|
120
|
+
.split("\n")
|
|
121
|
+
.filter((line) => line.match(fragment.pattern) === null)
|
|
122
|
+
.join("\n");
|
|
123
|
+
}
|
|
124
|
+
const current = extractRendered(content, fragment);
|
|
125
|
+
return current === null ? content : content.replace(current, "");
|
|
126
|
+
}
|
|
127
|
+
function carryRendered(templateContent, projectContent, fragment, filePath) {
|
|
128
|
+
const projectFragment = extractRendered(projectContent, fragment);
|
|
129
|
+
if (projectFragment === null)
|
|
130
|
+
return templateContent;
|
|
131
|
+
const next = replaceRendered(templateContent, fragment, projectFragment);
|
|
132
|
+
if (next === null) {
|
|
133
|
+
throw new Error(`Template ${filePath} is missing the assembly-rendered fragment expected by the registry.`);
|
|
134
|
+
}
|
|
135
|
+
return next;
|
|
136
|
+
}
|
|
137
|
+
function comparable(file, content) {
|
|
138
|
+
let next = content;
|
|
139
|
+
if (file.rendered)
|
|
140
|
+
next = stripRendered(next, file.rendered);
|
|
141
|
+
if (file.ownership === "framework-marker-block") {
|
|
142
|
+
const block = extractMarkerBlock(next, file.markerSyntax);
|
|
143
|
+
if (block === null) {
|
|
144
|
+
throw new Error(`Template ${file.path} is missing the framework block.`);
|
|
145
|
+
}
|
|
146
|
+
next = block;
|
|
147
|
+
}
|
|
148
|
+
return next;
|
|
149
|
+
}
|
|
150
|
+
function planTemplateUpdate(projectFiles, templateFiles, files = UPDATABLE_FILES) {
|
|
151
|
+
const changes = [];
|
|
152
|
+
for (const file of files) {
|
|
153
|
+
const templateContent = templateFiles.get(file.path);
|
|
154
|
+
if (templateContent == null)
|
|
155
|
+
continue;
|
|
156
|
+
const projectContent = projectFiles.get(file.path);
|
|
157
|
+
if (projectContent == null) {
|
|
158
|
+
changes.push({
|
|
159
|
+
file,
|
|
160
|
+
kind: "create",
|
|
161
|
+
nextContent: templateContent,
|
|
162
|
+
currentComparable: null,
|
|
163
|
+
templateComparable: comparable(file, templateContent),
|
|
164
|
+
});
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (file.ownership === "framework-marker-block") {
|
|
168
|
+
const markers = frameworkMarkers(file.markerSyntax);
|
|
169
|
+
const templateBlock = extractMarkerBlock(templateContent, file.markerSyntax);
|
|
170
|
+
if (templateBlock === null) {
|
|
171
|
+
throw new Error(`Template ${file.path} is missing the framework block ` + `(${markers.start} / ${markers.end}).`);
|
|
172
|
+
}
|
|
173
|
+
const projectBlock = extractMarkerBlock(projectContent, file.markerSyntax);
|
|
174
|
+
if (projectBlock === null) {
|
|
175
|
+
changes.push({
|
|
176
|
+
file,
|
|
177
|
+
kind: "missing-markers",
|
|
178
|
+
nextContent: null,
|
|
179
|
+
currentComparable: null,
|
|
180
|
+
templateComparable: comparable(file, templateContent),
|
|
181
|
+
});
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
const templateComparable = comparable(file, templateContent);
|
|
185
|
+
const projectComparable = comparable(file, projectContent);
|
|
186
|
+
if (projectComparable !== templateComparable) {
|
|
187
|
+
const carried = file.rendered
|
|
188
|
+
? carryRendered(templateContent, projectContent, file.rendered, file.path)
|
|
189
|
+
: templateContent;
|
|
190
|
+
const nextBlock = extractMarkerBlock(carried, file.markerSyntax);
|
|
191
|
+
const nextContent = nextBlock === null ? null : replaceMarkerBlock(projectContent, nextBlock, file.markerSyntax);
|
|
192
|
+
changes.push({
|
|
193
|
+
file,
|
|
194
|
+
kind: "update",
|
|
195
|
+
nextContent,
|
|
196
|
+
currentComparable: projectComparable,
|
|
197
|
+
templateComparable,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
const projectComparable = comparable(file, projectContent);
|
|
203
|
+
const templateComparable = comparable(file, templateContent);
|
|
204
|
+
if (projectComparable !== templateComparable) {
|
|
205
|
+
changes.push({
|
|
206
|
+
file,
|
|
207
|
+
kind: "update",
|
|
208
|
+
nextContent: file.rendered
|
|
209
|
+
? carryRendered(templateContent, projectContent, file.rendered, file.path)
|
|
210
|
+
: templateContent,
|
|
211
|
+
currentComparable: projectComparable,
|
|
212
|
+
templateComparable,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return changes;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=template-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-update.js","sourceRoot":"","sources":["../../src/core/template-update.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts
CHANGED
package/dist/program.js
CHANGED
|
@@ -4,22 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
+
exports.enforceStrictArguments = enforceStrictArguments;
|
|
7
8
|
exports.buildProgram = buildProgram;
|
|
8
9
|
const commander_1 = require("commander");
|
|
9
10
|
const package_json_1 = __importDefault(require("../package.json"));
|
|
10
11
|
const create_1 = require("./commands/create");
|
|
11
12
|
const doctor_1 = require("./commands/doctor");
|
|
13
|
+
const add_1 = require("./commands/modules/add");
|
|
14
|
+
const apply_1 = require("./commands/modules/apply");
|
|
12
15
|
const default_1 = require("./commands/modules/default");
|
|
13
|
-
const install_1 = require("./commands/modules/install");
|
|
14
16
|
const lint_1 = require("./commands/modules/lint");
|
|
15
17
|
const remove_1 = require("./commands/modules/remove");
|
|
16
18
|
const update_1 = require("./commands/modules/update");
|
|
17
19
|
const watch_1 = require("./commands/modules/watch");
|
|
18
20
|
const status_1 = require("./commands/status");
|
|
19
|
-
const
|
|
21
|
+
const update_2 = require("./commands/template/update");
|
|
20
22
|
const cli_runner_1 = require("./lib/cli-runner");
|
|
21
23
|
const module_selector_1 = require("./lib/module-selector");
|
|
22
24
|
exports.VERSION = package_json_1.default.version;
|
|
25
|
+
function enforceStrictArguments(command) {
|
|
26
|
+
command.allowExcessArguments(false);
|
|
27
|
+
for (const child of command.commands)
|
|
28
|
+
enforceStrictArguments(child);
|
|
29
|
+
}
|
|
23
30
|
function buildProgram() {
|
|
24
31
|
const program = new commander_1.Command();
|
|
25
32
|
program
|
|
@@ -78,17 +85,28 @@ function buildProgram() {
|
|
|
78
85
|
return (0, cli_runner_1.run)(() => (0, default_1.runModules)({ ...collectOptions(this), json: Boolean(flags.json) }));
|
|
79
86
|
});
|
|
80
87
|
modules
|
|
81
|
-
.command("
|
|
82
|
-
.description("
|
|
83
|
-
.option("--check", "CI gate: verify module copies and generated wiring without writing anything", false)
|
|
88
|
+
.command("add <keys...>")
|
|
89
|
+
.description("Declare modules in modules.json and install them (npm-style add)")
|
|
84
90
|
.option("-y, --yes", "skip confirmation prompts", false)
|
|
85
91
|
.action(function (keys) {
|
|
86
92
|
const flags = this.opts();
|
|
87
|
-
return (0, cli_runner_1.run)(() => (0,
|
|
93
|
+
return (0, cli_runner_1.run)(() => (0, add_1.runAdd)({
|
|
94
|
+
...collectOptions(this),
|
|
95
|
+
yes: Boolean(flags.yes),
|
|
96
|
+
keys: (0, module_selector_1.parseModuleSelector)(keys) ?? [],
|
|
97
|
+
}));
|
|
98
|
+
});
|
|
99
|
+
modules
|
|
100
|
+
.command("apply")
|
|
101
|
+
.description("Reconcile the project with modules.json; --check is the CI gate")
|
|
102
|
+
.option("--check", "CI gate: verify module copies and generated wiring without writing anything", false)
|
|
103
|
+
.option("-y, --yes", "skip confirmation prompts", false)
|
|
104
|
+
.action(function () {
|
|
105
|
+
const flags = this.opts();
|
|
106
|
+
return (0, cli_runner_1.run)(() => (0, apply_1.runApply)({
|
|
88
107
|
...collectOptions(this),
|
|
89
108
|
check: Boolean(flags.check),
|
|
90
109
|
yes: Boolean(flags.yes),
|
|
91
|
-
keys: (0, module_selector_1.parseModuleSelector)(keys),
|
|
92
110
|
}));
|
|
93
111
|
});
|
|
94
112
|
modules
|
|
@@ -142,14 +160,14 @@ function buildProgram() {
|
|
|
142
160
|
template.outputHelp();
|
|
143
161
|
});
|
|
144
162
|
template
|
|
145
|
-
.command("
|
|
146
|
-
.description("
|
|
163
|
+
.command("update [paths...]")
|
|
164
|
+
.description("Update framework-owned template files (ADR-009 ownership registry: main.ts, tsconfig*, nest-cli.json, prisma.config.ts, prisma framework block, .env.example/.gitignore framework blocks, deploy/*) from the template; pass path prefixes to restrict the scope")
|
|
147
165
|
.option("--template-path <dir>", "use a local template directory instead of cloning newbie-starter")
|
|
148
166
|
.option("--template-ref <ref>", "git ref (e.g. a template tag) of newbie-starter to sync from")
|
|
149
167
|
.option("--check", "CI gate: print the diff and exit non-zero when skeleton files drift", false)
|
|
150
168
|
.action(function (paths) {
|
|
151
169
|
const flags = this.opts();
|
|
152
|
-
return (0, cli_runner_1.run)(() => (0,
|
|
170
|
+
return (0, cli_runner_1.run)(() => (0, update_2.runTemplateUpdate)({
|
|
153
171
|
...collectOptions(this),
|
|
154
172
|
templatePath: flags.templatePath,
|
|
155
173
|
templateRef: flags.templateRef,
|
|
@@ -161,6 +179,7 @@ function buildProgram() {
|
|
|
161
179
|
program.outputHelp();
|
|
162
180
|
console.info(`\nnewbie v${exports.VERSION}`);
|
|
163
181
|
});
|
|
182
|
+
enforceStrictArguments(program);
|
|
164
183
|
return program;
|
|
165
184
|
}
|
|
166
185
|
//# sourceMappingURL=program.js.map
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|