@devbie/newbie-cli 1.11.1 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assemble/deploy.js +4 -3
- package/dist/assemble/deploy.js.map +1 -1
- package/dist/assemble/module-source-drift.js +2 -1
- package/dist/assemble/module-source-drift.js.map +1 -1
- package/dist/assemble/modules-copy.js +9 -10
- package/dist/assemble/modules-copy.js.map +1 -1
- package/dist/assemble/pipeline.js +14 -14
- package/dist/assemble/pipeline.js.map +1 -1
- package/dist/assemble/schema.js +4 -3
- package/dist/assemble/schema.js.map +1 -1
- package/dist/assemble/types.d.ts +1 -1
- package/dist/commands/create.js +5 -6
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/doctor.js +10 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/modules/add.js +5 -5
- package/dist/commands/modules/add.js.map +1 -1
- package/dist/commands/modules/apply.js +5 -5
- package/dist/commands/modules/apply.js.map +1 -1
- package/dist/commands/modules/default.js +1 -1
- package/dist/commands/modules/default.js.map +1 -1
- package/dist/commands/modules/lint.js +3 -3
- package/dist/commands/modules/lint.js.map +1 -1
- package/dist/commands/modules/remove.js +4 -4
- package/dist/commands/modules/remove.js.map +1 -1
- package/dist/commands/modules/update.js +7 -9
- package/dist/commands/modules/update.js.map +1 -1
- package/dist/commands/modules/watch.js +10 -10
- package/dist/commands/modules/watch.js.map +1 -1
- package/dist/commands/status.js +3 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/template/update.js +5 -5
- package/dist/commands/template/update.js.map +1 -1
- package/dist/constants/paths.d.ts +0 -3
- package/dist/constants/paths.js +1 -4
- package/dist/constants/paths.js.map +1 -1
- package/dist/core/modules-state.d.ts +1 -18
- package/dist/core/modules-state.js +0 -45
- package/dist/core/modules-state.js.map +1 -1
- package/dist/lib/cli-runner.js +3 -3
- package/dist/lib/cli-runner.js.map +1 -1
- package/dist/lib/issues.js +2 -2
- package/dist/lib/issues.js.map +1 -1
- package/dist/lib/module-cli.js +9 -9
- package/dist/lib/module-cli.js.map +1 -1
- package/dist/lib/module-install.js +5 -5
- package/dist/lib/module-install.js.map +1 -1
- package/dist/lib/modules-state.d.ts +1 -1
- package/dist/lib/modules-state.js +8 -17
- package/dist/lib/modules-state.js.map +1 -1
- package/dist/lib/registry.js +14 -14
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/sink.js +2 -2
- package/dist/lib/sink.js.map +1 -1
- package/dist/public.d.ts +2 -3
- package/dist/public.js +6 -7
- package/dist/public.js.map +1 -1
- package/package.json +3 -1
- package/dist/commands/modules/install.d.ts +0 -7
- package/dist/commands/modules/install.js +0 -121
- package/dist/commands/modules/install.js.map +0 -1
- package/dist/commands/template/sync.d.ts +0 -7
- package/dist/commands/template/sync.js +0 -142
- package/dist/commands/template/sync.js.map +0 -1
- package/dist/core/template-sync.d.ts +0 -38
- package/dist/core/template-sync.js +0 -218
- package/dist/core/template-sync.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -5
- package/dist/lib/errors.js +0 -20
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/exec.d.ts +0 -13
- package/dist/lib/exec.js +0 -40
- package/dist/lib/exec.js.map +0 -1
- package/dist/lib/fs-util.d.ts +0 -2
- package/dist/lib/fs-util.js +0 -28
- package/dist/lib/fs-util.js.map +0 -1
package/dist/assemble/deploy.js
CHANGED
|
@@ -7,11 +7,12 @@ exports.planDeployRenders = planDeployRenders;
|
|
|
7
7
|
exports.applyDeployRenders = applyDeployRenders;
|
|
8
8
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
10
11
|
const caddyfile_modules_1 = require("../core/caddyfile-modules");
|
|
11
12
|
const deploy_compose_1 = require("../core/deploy-compose");
|
|
12
13
|
const datastore_registry_1 = require("../core/datastore-registry");
|
|
13
14
|
const paths_1 = require("../constants/paths");
|
|
14
|
-
const
|
|
15
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
15
16
|
const issues_1 = require("../lib/issues");
|
|
16
17
|
const module_install_1 = require("../lib/module-install");
|
|
17
18
|
async function readOrNull(file) {
|
|
@@ -24,7 +25,7 @@ async function readOrNull(file) {
|
|
|
24
25
|
}
|
|
25
26
|
async function hasMigrator(cwd, key) {
|
|
26
27
|
try {
|
|
27
|
-
await promises_1.default.stat(node_path_1.default.resolve(cwd,
|
|
28
|
+
await promises_1.default.stat(node_path_1.default.resolve(cwd, modules_state_1.MODULES_DIR, key, "migration", "migrate-cli.ts"));
|
|
28
29
|
return true;
|
|
29
30
|
}
|
|
30
31
|
catch {
|
|
@@ -43,7 +44,7 @@ async function planDeployRenders(params) {
|
|
|
43
44
|
}
|
|
44
45
|
if (manifest.layer === "datastore") {
|
|
45
46
|
if (!(0, datastore_registry_1.isRegisteredDatastore)(key)) {
|
|
46
|
-
throw new
|
|
47
|
+
throw new cli_kit_1.CliError(`Module '${key}' declares layer "datastore" but is not listed in the CLI datastore registry (ADR-008 D3).`);
|
|
47
48
|
}
|
|
48
49
|
datastores.push({ key, hasMigrator: await hasMigrator(cwd, key) });
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/assemble/deploy.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/assemble/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.diffModuleSources = diffModuleSources;
|
|
7
7
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
8
9
|
const paths_1 = require("../constants/paths");
|
|
9
10
|
const drift_1 = require("../core/drift");
|
|
10
11
|
const drift_2 = require("../lib/drift");
|
|
@@ -24,7 +25,7 @@ async function diffModuleSources(params) {
|
|
|
24
25
|
const registryDir = (0, registry_1.moduleRootInRegistry)(registryRoot, key);
|
|
25
26
|
const drift = {
|
|
26
27
|
key,
|
|
27
|
-
installedPath: `${
|
|
28
|
+
installedPath: `${modules_state_1.MODULES_DIR}/${key}`,
|
|
28
29
|
registryPath: `${paths_1.REGISTRY_MODULES_DIR}/${key}`,
|
|
29
30
|
report: null,
|
|
30
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-source-drift.js","sourceRoot":"","sources":["../../src/assemble/module-source-drift.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"module-source-drift.js","sourceRoot":"","sources":["../../src/assemble/module-source-drift.ts"],"names":[],"mappings":";;;;;AAiDA,8CA2BC;AA5ED,gEAAkC;AAElC,yDAAoD;AAEpD,8CAA0D;AAC1D,yCAA2D;AAC3D,wCAA0E;AAC1E,8CAAuD;AAsBvD,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAcM,KAAK,UAAU,iBAAiB,CAAC,MAIvC;IACC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAsB;YAC/B,GAAG;YACH,aAAa,EAAE,GAAG,2BAAW,IAAI,GAAG,EAAE;YACtC,YAAY,EAAE,GAAG,4BAAoB,IAAI,GAAG,EAAE;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,IAAA,+BAAuB,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,IAAA,yBAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;YAC5G,IAAI,MAAM,CAAC,KAAK;gBAAE,SAAS;YAC3B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -8,22 +8,21 @@ exports.collectMissingRegistrySources = collectMissingRegistrySources;
|
|
|
8
8
|
exports.addModules = addModules;
|
|
9
9
|
exports.removeModules = removeModules;
|
|
10
10
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const
|
|
11
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
12
12
|
const registry_1 = require("../lib/registry");
|
|
13
|
-
const
|
|
14
|
-
const fs_util_1 = require("../lib/fs-util");
|
|
13
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
15
14
|
function assertModuleKeySafe(key) {
|
|
16
|
-
const resolved = node_path_1.default.resolve(
|
|
17
|
-
const relative = node_path_1.default.relative(
|
|
15
|
+
const resolved = node_path_1.default.resolve(modules_state_1.MODULES_DIR, key);
|
|
16
|
+
const relative = node_path_1.default.relative(modules_state_1.MODULES_DIR, resolved);
|
|
18
17
|
if (relative.startsWith("..") || node_path_1.default.isAbsolute(relative) || relative.split(node_path_1.default.sep).length !== 1) {
|
|
19
|
-
throw new
|
|
18
|
+
throw new cli_kit_1.CliError(`[Error] Refusing to operate outside ${modules_state_1.MODULES_DIR}: ${key}`);
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
async function collectMissingRegistrySources(registryRoot, keys) {
|
|
23
22
|
const missing = [];
|
|
24
23
|
for (const key of keys) {
|
|
25
24
|
const source = (0, registry_1.moduleRootInRegistry)(registryRoot, key);
|
|
26
|
-
if (!(await (0,
|
|
25
|
+
if (!(await (0, cli_kit_1.pathExists)(source)))
|
|
27
26
|
missing.push({ key, source });
|
|
28
27
|
}
|
|
29
28
|
return missing;
|
|
@@ -36,18 +35,18 @@ async function addModules(params) {
|
|
|
36
35
|
const missing = await collectMissingRegistrySources(registry.root, keys);
|
|
37
36
|
if (missing.length > 0) {
|
|
38
37
|
const detail = missing.map(({ key, source }) => ` - ${key} (${source})`).join("\n");
|
|
39
|
-
throw new
|
|
38
|
+
throw new cli_kit_1.CliError(`Registry checkout ${registry.sourceCommit ?? "unknown"} is missing module source(s):\n${detail}\n` +
|
|
40
39
|
`Point NEWBIE_MODULES_REF at a ref that carries them, then run 'newbie modules apply'.`);
|
|
41
40
|
}
|
|
42
41
|
for (const key of keys) {
|
|
43
|
-
await sink.copy((0, registry_1.moduleRootInRegistry)(registry.root, key), node_path_1.default.posix.join(
|
|
42
|
+
await sink.copy((0, registry_1.moduleRootInRegistry)(registry.root, key), node_path_1.default.posix.join(modules_state_1.MODULES_DIR, key));
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
45
|
async function removeModules(params) {
|
|
47
46
|
const { sink, keys } = params;
|
|
48
47
|
for (const key of keys) {
|
|
49
48
|
assertModuleKeySafe(key);
|
|
50
|
-
await sink.remove(node_path_1.default.posix.join(
|
|
49
|
+
await sink.remove(node_path_1.default.posix.join(modules_state_1.MODULES_DIR, key));
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
52
|
//# sourceMappingURL=modules-copy.js.map
|
|
@@ -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,
|
|
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,yDAAoD;AAEpD,8CAAyE;AACzE,6CAAuD;AAOvD,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,2BAAW,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,2BAAW,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,kBAAQ,CAAC,uCAAuC,2BAAW,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,kBAAQ,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,2BAAW,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,2BAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -11,12 +11,12 @@ exports.planReconcile = planReconcile;
|
|
|
11
11
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
12
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
13
|
const colorette_1 = require("colorette");
|
|
14
|
-
const modules_state_1 = require("
|
|
14
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
15
|
+
const modules_state_2 = require("../core/modules-state");
|
|
15
16
|
const module_closure_1 = require("../core/module-closure");
|
|
16
|
-
const
|
|
17
|
-
const errors_1 = require("../lib/errors");
|
|
17
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
18
18
|
const registry_1 = require("../lib/registry");
|
|
19
|
-
const
|
|
19
|
+
const modules_state_3 = require("../lib/modules-state");
|
|
20
20
|
const dependencies_1 = require("./dependencies");
|
|
21
21
|
const deploy_1 = require("./deploy");
|
|
22
22
|
const env_1 = require("./env");
|
|
@@ -28,7 +28,7 @@ async function assertClosureResolvable(registryRoot, roots, options) {
|
|
|
28
28
|
const closure = await (0, module_graph_1.expandRegistryClosure)(registryRoot, roots, options);
|
|
29
29
|
const missing = (0, module_graph_1.describeMissingDependencies)(closure);
|
|
30
30
|
if (missing.length > 0) {
|
|
31
|
-
throw new
|
|
31
|
+
throw new cli_kit_1.CliError(`Cannot resolve module dependencies:\n - ${missing.join("\n - ")}`);
|
|
32
32
|
}
|
|
33
33
|
return closure;
|
|
34
34
|
}
|
|
@@ -41,7 +41,7 @@ function step(title) {
|
|
|
41
41
|
}
|
|
42
42
|
async function readProjectModuleDirs(cwd) {
|
|
43
43
|
try {
|
|
44
|
-
const dirents = await promises_1.default.readdir(node_path_1.default.resolve(cwd,
|
|
44
|
+
const dirents = await promises_1.default.readdir(node_path_1.default.resolve(cwd, modules_state_1.MODULES_DIR), {
|
|
45
45
|
withFileTypes: true,
|
|
46
46
|
});
|
|
47
47
|
const keys = [];
|
|
@@ -49,7 +49,7 @@ async function readProjectModuleDirs(cwd) {
|
|
|
49
49
|
if (!dirent.isDirectory())
|
|
50
50
|
continue;
|
|
51
51
|
try {
|
|
52
|
-
await promises_1.default.stat(node_path_1.default.resolve(cwd,
|
|
52
|
+
await promises_1.default.stat(node_path_1.default.resolve(cwd, modules_state_1.MODULES_DIR, dirent.name, modules_state_1.MODULE_MANIFEST_FILE));
|
|
53
53
|
keys.push(dirent.name);
|
|
54
54
|
}
|
|
55
55
|
catch {
|
|
@@ -95,7 +95,7 @@ async function runSteps(ctx, changes) {
|
|
|
95
95
|
await (0, modules_copy_1.addModules)({ cwd, sink, registry, keys: added });
|
|
96
96
|
if (!sink.dryRun) {
|
|
97
97
|
ctx.state = stampCopiedModules(ctx.state, added, registry);
|
|
98
|
-
await (0,
|
|
98
|
+
await (0, modules_state_3.writeModulesState)(cwd, sink, ctx.state);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
step("Update environment variables");
|
|
@@ -130,9 +130,9 @@ async function runSteps(ctx, changes) {
|
|
|
130
130
|
}
|
|
131
131
|
async function applyPlanned(ctx, changes) {
|
|
132
132
|
if (changes.enabledKeys) {
|
|
133
|
-
ctx.state = (0,
|
|
133
|
+
ctx.state = (0, modules_state_2.withModuleKeys)(ctx.state, changes.enabledKeys);
|
|
134
134
|
if (!ctx.sink.dryRun) {
|
|
135
|
-
await (0,
|
|
135
|
+
await (0, modules_state_3.writeModulesState)(ctx.cwd, ctx.sink, ctx.state);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
await runSteps(ctx, changes);
|
|
@@ -152,9 +152,9 @@ async function applyModuleKeys(ctx, nextKeys) {
|
|
|
152
152
|
console.info((0, colorette_1.cyan)(`[info] also enabling ${key} ${suffix}`));
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
const diff = (0,
|
|
156
|
-
ctx.state = (0,
|
|
157
|
-
await (0,
|
|
155
|
+
const diff = (0, modules_state_2.diffModuleKeys)((0, modules_state_1.moduleKeys)(ctx.state), expandedKeys);
|
|
156
|
+
ctx.state = (0, modules_state_2.withModuleKeys)(ctx.state, expandedKeys);
|
|
157
|
+
await (0, modules_state_3.writeModulesState)(cwd, sink, ctx.state);
|
|
158
158
|
await runSteps(ctx, {
|
|
159
159
|
added: diff.added,
|
|
160
160
|
removed: diff.removed,
|
|
@@ -186,7 +186,7 @@ async function planReconcile(ctx) {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
if (deprecated.length > 0) {
|
|
189
|
-
throw new
|
|
189
|
+
throw new cli_kit_1.CliError(`Cannot install deprecated module(s): ${deprecated.join(", ")}. Remove them from ${modules_state_1.MODULES_JSON} first.`);
|
|
190
190
|
}
|
|
191
191
|
return {
|
|
192
192
|
added: installed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/assemble/pipeline.ts"],"names":[],"mappings":";;;;;AA+DA,sDAmBC;AAqCD,4BAkDC;AAED,oCAUC;AAOD,0CA+BC;AAWD,sCA0CC;AAhRD,gEAAkC;AAClC,0DAA6B;AAE7B,yCAAiC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/assemble/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/assemble/schema.js
CHANGED
|
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.assembleSchemaFiles = assembleSchemaFiles;
|
|
7
7
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
9
10
|
const prisma_schema_1 = require("../core/prisma-schema");
|
|
10
11
|
const paths_1 = require("../constants/paths");
|
|
11
12
|
const issues_1 = require("../lib/issues");
|
|
12
13
|
const module_install_1 = require("../lib/module-install");
|
|
13
|
-
const
|
|
14
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
14
15
|
const DO_NOT_EDIT_HEADER = `// THIS FILE IS MANAGED BY @devbie/newbie-cli. DO NOT EDIT.
|
|
15
16
|
// Run 'newbie modules apply' to regenerate this file.
|
|
16
17
|
|
|
@@ -43,7 +44,7 @@ async function assembleSchemaFiles(params) {
|
|
|
43
44
|
const enabledSet = new Set(enabledKeys);
|
|
44
45
|
for (const { key, fragment } of await keysWithSchema(cwd, enabledKeys)) {
|
|
45
46
|
if (fragment === null) {
|
|
46
|
-
(0, issues_1.reportIssue)(issues, sink, `Declared Prisma fragment is missing inside ${node_path_1.default.posix.join(
|
|
47
|
+
(0, issues_1.reportIssue)(issues, sink, `Declared Prisma fragment is missing inside ${node_path_1.default.posix.join(modules_state_1.MODULES_DIR, key)}`);
|
|
47
48
|
continue;
|
|
48
49
|
}
|
|
49
50
|
const additionsPath = node_path_1.default.posix.join(paths_1.PRISMA_ADDITIONS_DIR, `${key}.prisma`);
|
|
@@ -93,7 +94,7 @@ async function assembleSchemaFiles(params) {
|
|
|
93
94
|
await sink.writeText(paths_1.PRISMA_SCHEMA_MAIN, next);
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
|
-
if (!skipPrismaGenerate && (await (0,
|
|
97
|
+
if (!skipPrismaGenerate && (await (0, cli_kit_1.fileExists)(cwd, paths_1.PRISMA_SCHEMA_MAIN))) {
|
|
97
98
|
await sink.run("npx", ["prisma", "generate"], "prisma generate");
|
|
98
99
|
}
|
|
99
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/assemble/schema.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/assemble/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/assemble/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ModulesState } from "@devbie/modules-state";
|
|
1
2
|
import { ModuleManifest } from "../core/module-manifest";
|
|
2
3
|
import { IssueBag } from "../lib/issues";
|
|
3
4
|
import { RegistryLocation } from "../lib/registry";
|
|
4
5
|
import { Sink } from "../lib/sink";
|
|
5
|
-
import { ModulesState } from "../core/modules-state";
|
|
6
6
|
export interface PipelineContext {
|
|
7
7
|
cwd: string;
|
|
8
8
|
sink: Sink;
|
package/dist/commands/create.js
CHANGED
|
@@ -10,8 +10,7 @@ const promises_1 = __importDefault(require("node:fs/promises"));
|
|
|
10
10
|
const node_os_1 = __importDefault(require("node:os"));
|
|
11
11
|
const node_path_1 = __importDefault(require("node:path"));
|
|
12
12
|
const colorette_1 = require("colorette");
|
|
13
|
-
const
|
|
14
|
-
const exec_1 = require("../lib/exec");
|
|
13
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
15
14
|
exports.TEMPLATE_REPOSITORY_URL = "https://github.com/worldzhy/newbie-starter.git";
|
|
16
15
|
exports.TEMPLATE_PATH_ENV = "NEWBIE_TEMPLATE_PATH";
|
|
17
16
|
const PACKAGE_NAME_RE = /^(?:@[a-z0-9][a-z0-9-._]*\/)?[a-z0-9][a-z0-9-._]*$/;
|
|
@@ -31,7 +30,7 @@ async function resolveTemplate(options) {
|
|
|
31
30
|
if (ref)
|
|
32
31
|
cloneArgs.push("--branch", ref);
|
|
33
32
|
cloneArgs.push(exports.TEMPLATE_REPOSITORY_URL, temp);
|
|
34
|
-
await (0,
|
|
33
|
+
await (0, cli_kit_1.execCapture)("git", cloneArgs);
|
|
35
34
|
return {
|
|
36
35
|
root: temp,
|
|
37
36
|
source: `${exports.TEMPLATE_REPOSITORY_URL}#${ref ?? "HEAD"}`,
|
|
@@ -46,12 +45,12 @@ async function copyTemplate(from, to) {
|
|
|
46
45
|
async function runCreate(options) {
|
|
47
46
|
const { name } = options;
|
|
48
47
|
if (!PACKAGE_NAME_RE.test(name) || name.length > 214) {
|
|
49
|
-
throw new
|
|
48
|
+
throw new cli_kit_1.CliError(`Invalid project name '${name}'. Use a lowercase npm package name, e.g. my-project or @scope/my-project.`);
|
|
50
49
|
}
|
|
51
50
|
const targetDir = node_path_1.default.resolve(options.cwd ?? process.cwd(), name);
|
|
52
51
|
const existing = await promises_1.default.readdir(targetDir).catch(() => null);
|
|
53
52
|
if (existing && existing.length > 0) {
|
|
54
|
-
throw new
|
|
53
|
+
throw new cli_kit_1.CliError(`Target directory ${targetDir} is not empty.`);
|
|
55
54
|
}
|
|
56
55
|
console.info((0, colorette_1.cyan)(`Creating project '${name}' from the basic template...`));
|
|
57
56
|
const templateRoot = (await resolveTemplate(options)).root;
|
|
@@ -68,7 +67,7 @@ async function runCreate(options) {
|
|
|
68
67
|
packageJson.name = name;
|
|
69
68
|
await promises_1.default.writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`);
|
|
70
69
|
if (options.gitInit !== false) {
|
|
71
|
-
await (0,
|
|
70
|
+
await (0, cli_kit_1.execCapture)("git", ["init", "--quiet"], { cwd: targetDir });
|
|
72
71
|
}
|
|
73
72
|
console.info((0, colorette_1.green)((0, colorette_1.bold)("\n✓ Project created.\n")));
|
|
74
73
|
console.info(`Next steps:\n cd ${name}\n npm install\n newbie modules\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -8,15 +8,14 @@ const promises_1 = __importDefault(require("node:fs/promises"));
|
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const figlet_1 = __importDefault(require("figlet"));
|
|
10
10
|
const colorette_1 = require("colorette");
|
|
11
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
11
12
|
const paths_1 = require("../constants/paths");
|
|
12
13
|
const drift_1 = require("../core/drift");
|
|
13
14
|
const module_closure_1 = require("../core/module-closure");
|
|
14
|
-
const modules_state_1 = require("../core/modules-state");
|
|
15
15
|
const prisma_schema_1 = require("../core/prisma-schema");
|
|
16
16
|
const check_1 = require("../lib/check");
|
|
17
|
-
const
|
|
17
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
18
18
|
const drift_2 = require("../lib/drift");
|
|
19
|
-
const fs_util_1 = require("../lib/fs-util");
|
|
20
19
|
const registry_1 = require("../lib/registry");
|
|
21
20
|
const module_install_1 = require("../lib/module-install");
|
|
22
21
|
const modules_state_2 = require("../lib/modules-state");
|
|
@@ -37,7 +36,7 @@ async function runDoctor(options) {
|
|
|
37
36
|
findings.push({ level: "notice", message });
|
|
38
37
|
};
|
|
39
38
|
if (!(await (0, modules_state_2.stateExists)(cwd))) {
|
|
40
|
-
throw new
|
|
39
|
+
throw new cli_kit_1.CliError(`${modules_state_1.MODULES_JSON} not found. Run 'newbie modules' to declare modules first.`);
|
|
41
40
|
}
|
|
42
41
|
const state = await (0, modules_state_2.readModulesState)(cwd);
|
|
43
42
|
const keys = (0, modules_state_1.moduleKeys)(state);
|
|
@@ -53,10 +52,10 @@ async function runDoctor(options) {
|
|
|
53
52
|
if (!known.has(key))
|
|
54
53
|
error(`Module '${key}' is not present in the registry.`);
|
|
55
54
|
}
|
|
56
|
-
if (!(await (0,
|
|
55
|
+
if (!(await (0, cli_kit_1.fileExists)(cwd, paths_1.MODULES_MODULE_TS))) {
|
|
57
56
|
error(`Generated ${paths_1.MODULES_MODULE_TS} is missing; run 'newbie modules apply'.`);
|
|
58
57
|
}
|
|
59
|
-
if (!(await (0,
|
|
58
|
+
if (!(await (0, cli_kit_1.fileExists)(cwd, paths_1.MODULES_CONFIG_TS))) {
|
|
60
59
|
error(`Generated ${paths_1.MODULES_CONFIG_TS} is missing; run 'newbie modules apply'.`);
|
|
61
60
|
}
|
|
62
61
|
const moduleGraph = new Map();
|
|
@@ -68,7 +67,7 @@ async function runDoctor(options) {
|
|
|
68
67
|
}
|
|
69
68
|
for (const key of keys) {
|
|
70
69
|
const label = (0, colorette_1.bold)(key);
|
|
71
|
-
if (!(await (0,
|
|
70
|
+
if (!(await (0, cli_kit_1.fileExists)(cwd, `${modules_state_1.MODULES_DIR}/${key}`))) {
|
|
72
71
|
error(`${label}: module directory missing; run 'newbie modules apply'.`);
|
|
73
72
|
continue;
|
|
74
73
|
}
|
|
@@ -79,7 +78,7 @@ async function runDoctor(options) {
|
|
|
79
78
|
}
|
|
80
79
|
moduleGraph.set(key, manifest.moduleDependencies ?? []);
|
|
81
80
|
if (manifest.schema) {
|
|
82
|
-
if (!(await (0,
|
|
81
|
+
if (!(await (0, cli_kit_1.fileExists)(cwd, node_path_1.default.posix.join(paths_1.PRISMA_SCHEMA_MODELS_DIR, `${key}.prisma`)))) {
|
|
83
82
|
error(`${label}: ${paths_1.PRISMA_SCHEMA_MODELS_DIR}/${key}.prisma missing; run 'newbie modules apply'.`);
|
|
84
83
|
}
|
|
85
84
|
if (datasourceSchemas && !datasourceSchemas.includes((0, prisma_schema_1.moduleSchemaNamespace)(key))) {
|
|
@@ -115,7 +114,7 @@ async function runDoctor(options) {
|
|
|
115
114
|
error(`'${dependency}' must be enabled because module '${module}' declares it as a module dependency; run 'newbie modules apply'.`);
|
|
116
115
|
}
|
|
117
116
|
const copied = new Set((await promises_1.default
|
|
118
|
-
.readdir(node_path_1.default.resolve(cwd,
|
|
117
|
+
.readdir(node_path_1.default.resolve(cwd, modules_state_1.MODULES_DIR), { withFileTypes: true })
|
|
119
118
|
.catch(() => []))
|
|
120
119
|
.filter((dirent) => dirent.isDirectory())
|
|
121
120
|
.map((dirent) => dirent.name));
|
|
@@ -123,7 +122,7 @@ async function runDoctor(options) {
|
|
|
123
122
|
if (!keys.includes(dir)) {
|
|
124
123
|
const isRegistryModule = registry ? (await (0, registry_1.readRegistryModule)(registry.root, dir)) !== null : false;
|
|
125
124
|
if (isRegistryModule) {
|
|
126
|
-
notice(`Extra module directory '${dir}' not declared in ${
|
|
125
|
+
notice(`Extra module directory '${dir}' not declared in ${modules_state_1.MODULES_JSON}; run 'newbie modules apply' to remove it.`);
|
|
127
126
|
}
|
|
128
127
|
}
|
|
129
128
|
}
|
|
@@ -169,7 +168,7 @@ async function runDoctor(options) {
|
|
|
169
168
|
console.info((0, colorette_1.cyan)("(notices are informational; errors make the command fail)"));
|
|
170
169
|
}
|
|
171
170
|
if (errors.length > 0) {
|
|
172
|
-
throw new
|
|
171
|
+
throw new cli_kit_1.CliError(`Doctor found ${errors.length} problem(s).`);
|
|
173
172
|
}
|
|
174
173
|
}
|
|
175
174
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runAdd = runAdd;
|
|
4
4
|
const colorette_1 = require("colorette");
|
|
5
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
5
6
|
const pipeline_1 = require("../../assemble/pipeline");
|
|
6
|
-
const
|
|
7
|
-
const errors_1 = require("../../lib/errors");
|
|
7
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
8
8
|
const registry_1 = require("../../lib/registry");
|
|
9
9
|
const shared_1 = require("../shared");
|
|
10
10
|
async function runAdd(options) {
|
|
11
11
|
const keys = options.keys;
|
|
12
12
|
if (keys.length === 0) {
|
|
13
|
-
throw new
|
|
13
|
+
throw new cli_kit_1.CliError("`modules add` requires at least one module key: `newbie modules add <keys...>`.");
|
|
14
14
|
}
|
|
15
15
|
const { ctx } = await (0, shared_1.createContext)(options, { fetch: true });
|
|
16
16
|
const registryModules = await (0, registry_1.listRegistryModules)(ctx.registry.root);
|
|
17
17
|
const known = new Set(registryModules.map((entry) => entry.key));
|
|
18
18
|
const unknown = keys.filter((key) => !known.has(key));
|
|
19
19
|
if (unknown.length > 0) {
|
|
20
|
-
throw new
|
|
20
|
+
throw new cli_kit_1.CliError(`Unknown module(s): ${unknown.join(", ")}. Available modules: ${[...known].join(", ")}`);
|
|
21
21
|
}
|
|
22
22
|
const deprecated = (0, registry_1.deprecatedNoticesOf)(registryModules);
|
|
23
23
|
const blocked = keys.filter((key) => deprecated.has(key));
|
|
24
24
|
if (blocked.length > 0) {
|
|
25
|
-
throw new
|
|
25
|
+
throw new cli_kit_1.CliError(`Cannot install deprecated module(s): ${blocked.map((key) => `'${key}' (${deprecated.get(key)})`).join(", ")}`);
|
|
26
26
|
}
|
|
27
27
|
const next = [...new Set([...(0, modules_state_1.moduleKeys)(ctx.state), ...keys])];
|
|
28
28
|
await (0, pipeline_1.applyModuleKeys)(ctx, next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/modules/add.ts"],"names":[],"mappings":";;AAgBA,wBA2BC;AA3CD,yCAAwC;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/modules/add.ts"],"names":[],"mappings":";;AAgBA,wBA2BC;AA3CD,yCAAwC;AACxC,yDAAmD;AAEnD,sDAA0D;AAC1D,6CAA2C;AAC3C,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,kBAAQ,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,kBAAQ,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,kBAAQ,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"}
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.runApply = runApply;
|
|
4
4
|
const prompts_1 = require("@inquirer/prompts");
|
|
5
5
|
const colorette_1 = require("colorette");
|
|
6
|
+
const modules_state_1 = require("@devbie/modules-state");
|
|
6
7
|
const pipeline_1 = require("../../assemble/pipeline");
|
|
7
8
|
const paths_1 = require("../../constants/paths");
|
|
8
|
-
const
|
|
9
|
-
const errors_1 = require("../../lib/errors");
|
|
9
|
+
const cli_kit_1 = require("@devbie/cli-kit");
|
|
10
10
|
const shared_1 = require("../shared");
|
|
11
11
|
async function runApply(options) {
|
|
12
12
|
if (options.check) {
|
|
@@ -23,12 +23,12 @@ async function runApplyCheck(options) {
|
|
|
23
23
|
...plan.installed.map((key) => ` - ${key}: copy missing from src/modules`),
|
|
24
24
|
...plan.uninstalled.map((key) => ` - ${key}: extra copy not declared in modules.json`),
|
|
25
25
|
];
|
|
26
|
-
throw new
|
|
26
|
+
throw new cli_kit_1.CliError(`Module copies are out of sync with modules.json:\n${lines.join("\n")}\nRun \`newbie modules apply\`.`);
|
|
27
27
|
}
|
|
28
28
|
const declared = (0, modules_state_1.moduleKeys)(ctx.state);
|
|
29
29
|
const undeclaredDependencies = plan.enabledKeys.filter((key) => !declared.includes(key));
|
|
30
30
|
if (undeclaredDependencies.length > 0) {
|
|
31
|
-
throw new
|
|
31
|
+
throw new cli_kit_1.CliError(`modules.json is missing module(s) required by the enabled set: ${undeclaredDependencies.join(", ")}. ` +
|
|
32
32
|
"Run `newbie modules add` to declare them.");
|
|
33
33
|
}
|
|
34
34
|
await (0, pipeline_1.applyPlanned)(ctx, plan);
|
|
@@ -41,7 +41,7 @@ async function runApplyCheck(options) {
|
|
|
41
41
|
const detail = finding.kind === "action" ? finding.detail : finding.kind;
|
|
42
42
|
console.info(` - ${finding.path}: ${detail}`);
|
|
43
43
|
}
|
|
44
|
-
throw new
|
|
44
|
+
throw new cli_kit_1.CliError(`${findings.length} generated file(s) drift from the installed module set. ` +
|
|
45
45
|
"Run `newbie modules apply` to regenerate them.");
|
|
46
46
|
}
|
|
47
47
|
function isCountedFinding(finding) {
|