@devbie/newbie-cli 0.1.1 → 0.2.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.
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { NestAsset } from "./assets";
|
|
2
|
+
export type ModuleRole = "collector";
|
|
3
|
+
export declare const MODULE_ROLES: readonly ModuleRole[];
|
|
4
|
+
export declare function isModuleRole(value: string): value is ModuleRole;
|
|
2
5
|
export interface ModuleWiring {
|
|
3
6
|
file: string;
|
|
4
7
|
className: string;
|
|
@@ -6,6 +9,7 @@ export interface ModuleWiring {
|
|
|
6
9
|
export interface ModuleManifest {
|
|
7
10
|
key: string;
|
|
8
11
|
layer?: string;
|
|
12
|
+
role?: ModuleRole;
|
|
9
13
|
module: ModuleWiring;
|
|
10
14
|
schema?: string;
|
|
11
15
|
"config-service"?: Record<string, unknown>;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODULE_ROLES = void 0;
|
|
4
|
+
exports.isModuleRole = isModuleRole;
|
|
3
5
|
exports.normalizeModuleManifest = normalizeModuleManifest;
|
|
4
6
|
exports.moduleImportLine = moduleImportLine;
|
|
5
7
|
exports.sanitizeModuleNames = sanitizeModuleNames;
|
|
8
|
+
exports.MODULE_ROLES = ["collector"];
|
|
9
|
+
function isModuleRole(value) {
|
|
10
|
+
return exports.MODULE_ROLES.includes(value);
|
|
11
|
+
}
|
|
6
12
|
function normalizeModuleDependencies(raw, key) {
|
|
7
13
|
if (raw === undefined)
|
|
8
14
|
return undefined;
|
|
@@ -18,6 +24,13 @@ function assertOptionalString(value, field, key) {
|
|
|
18
24
|
throw new Error(`Invalid newbie.module.json for '${key}': '${field}' must be a non-empty string when declared.`);
|
|
19
25
|
}
|
|
20
26
|
}
|
|
27
|
+
function assertOptionalRole(value, key) {
|
|
28
|
+
if (value === undefined)
|
|
29
|
+
return;
|
|
30
|
+
if (typeof value !== "string" || !isModuleRole(value)) {
|
|
31
|
+
throw new Error(`Invalid newbie.module.json for '${key}': 'role' must be one of: ${exports.MODULE_ROLES.join(", ")} when declared.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
21
34
|
function normalizeModuleManifest(raw, expectedKey) {
|
|
22
35
|
if (!raw || typeof raw !== "object") {
|
|
23
36
|
throw new Error("Invalid newbie.module.json: expected an object.");
|
|
@@ -40,6 +53,7 @@ function normalizeModuleManifest(raw, expectedKey) {
|
|
|
40
53
|
const moduleDependencies = normalizeModuleDependencies(data.moduleDependencies, data.key);
|
|
41
54
|
assertOptionalString(data.cli, "cli", data.key);
|
|
42
55
|
assertOptionalString(data.sdk, "sdk", data.key);
|
|
56
|
+
assertOptionalRole(data.role, data.key);
|
|
43
57
|
const manifest = {
|
|
44
58
|
...data,
|
|
45
59
|
key: data.key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-manifest.js","sourceRoot":"","sources":["../../src/core/module-manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-manifest.js","sourceRoot":"","sources":["../../src/core/module-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/module-cli.js
CHANGED
|
@@ -54,10 +54,11 @@ async function registerModuleCommands(program, options) {
|
|
|
54
54
|
return;
|
|
55
55
|
const state = await (0, modules_state_1.readModulesState)(options.cwd);
|
|
56
56
|
for (const key of (0, modules_state_2.moduleKeys)(state)) {
|
|
57
|
-
|
|
58
|
-
if (!manifest)
|
|
59
|
-
continue;
|
|
57
|
+
let manifest = null;
|
|
60
58
|
try {
|
|
59
|
+
manifest = await (0, module_install_2.readInstalledManifest)(options.cwd, key);
|
|
60
|
+
if (!manifest)
|
|
61
|
+
continue;
|
|
61
62
|
const loaded = await loadModuleCliEntry(options.cwd, key, manifest);
|
|
62
63
|
if (!loaded)
|
|
63
64
|
continue;
|
|
@@ -66,7 +67,7 @@ async function registerModuleCommands(program, options) {
|
|
|
66
67
|
program.addCommand(detached);
|
|
67
68
|
}
|
|
68
69
|
catch (error) {
|
|
69
|
-
console.error((0, colorette_1.yellow)(`[warn] Skipped CLI namespace '${manifest
|
|
70
|
+
console.error((0, colorette_1.yellow)(`[warn] Skipped CLI namespace '${manifest?.cli ?? key}' of module '${key}': ${error.message}`));
|
|
70
71
|
if (process.env.NEWBIE_DEBUG && error.stack) {
|
|
71
72
|
console.error(error.stack);
|
|
72
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-cli.js","sourceRoot":"","sources":["../../src/lib/module-cli.ts"],"names":[],"mappings":";;;;;AAuEA,gDA2BC;AAeD,
|
|
1
|
+
{"version":3,"file":"module-cli.js","sourceRoot":"","sources":["../../src/lib/module-cli.ts"],"names":[],"mappings":"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"}
|