@nexo-alpha/cli 0.1.0 → 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.
- package/README.md +18 -6
- package/dist/cli.js +43 -10
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +6 -3
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +24 -7
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +33 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/load-application.d.ts +6 -1
- package/dist/load-application.d.ts.map +1 -1
- package/dist/load-application.js +9 -1
- package/dist/load-application.js.map +1 -1
- package/dist/render.d.ts +23 -2
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +28 -0
- package/dist/render.js.map +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -16,7 +16,9 @@ Or use it without a global install via `npx @nexo-alpha/cli`.
|
|
|
16
16
|
|
|
17
17
|
## How it finds an application
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
The CLI resolves a target app one of two ways:
|
|
20
|
+
|
|
21
|
+
**Explicit path** — a path to a **compiled JS module** that exports a `NexoApplication` as `app` (or `default`):
|
|
20
22
|
|
|
21
23
|
```ts
|
|
22
24
|
// dist/app.js
|
|
@@ -28,15 +30,25 @@ app.module({ name: "payments", purpose: "Handle customer payments" });
|
|
|
28
30
|
nexo inspect ./dist/app.js
|
|
29
31
|
```
|
|
30
32
|
|
|
33
|
+
**Project config** — omit the path and the CLI looks for a `nexo.config.json` in the current directory, or a parent directory, with the shape:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{ "app": "./dist/app.js" }
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`app` is resolved relative to the config file's own directory, so it works the same no matter which subdirectory you run `nexo` from. Run `nexo inspect` from anywhere under a project with this config and it just works — no path needed.
|
|
40
|
+
|
|
31
41
|
## Commands
|
|
32
42
|
|
|
33
43
|
```bash
|
|
34
|
-
nexo inspect
|
|
35
|
-
nexo inspect
|
|
36
|
-
nexo status
|
|
37
|
-
nexo context
|
|
44
|
+
nexo inspect [app-path] [moduleName] # application summary, or one module's full detail
|
|
45
|
+
nexo inspect [--module moduleName] # same, using nexo.config.json for the app path
|
|
46
|
+
nexo status [app-path] # development state
|
|
47
|
+
nexo context [app-path] # raw JSON manifest (buildContext output)
|
|
38
48
|
```
|
|
39
49
|
|
|
50
|
+
`app-path` is optional in every form above — when omitted, the CLI falls back to `nexo.config.json`. `--module` is only meaningful for `inspect`, and only when `app-path` is omitted (when a path is given, the module name is just the next positional argument, as before).
|
|
51
|
+
|
|
40
52
|
Example:
|
|
41
53
|
|
|
42
54
|
```text
|
|
@@ -73,7 +85,7 @@ APIs:
|
|
|
73
85
|
|
|
74
86
|
## Status
|
|
75
87
|
|
|
76
|
-
**v0.1-alpha.** No
|
|
88
|
+
**v0.1-alpha.** No write commands.
|
|
77
89
|
|
|
78
90
|
## License
|
|
79
91
|
|
package/dist/cli.js
CHANGED
|
@@ -1,27 +1,60 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { loadApplication } from "./load-application.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveConfiguredAppPath } from "./config.js";
|
|
4
|
+
import { context, health, inspect, status, validate } from "./commands.js";
|
|
4
5
|
const USAGE = `Usage:
|
|
5
|
-
nexo inspect
|
|
6
|
-
nexo
|
|
7
|
-
nexo
|
|
6
|
+
nexo inspect [app-module-path] [moduleName]
|
|
7
|
+
nexo inspect [--module moduleName]
|
|
8
|
+
nexo status [app-module-path]
|
|
9
|
+
nexo context [app-module-path]
|
|
10
|
+
nexo validate [app-module-path]
|
|
11
|
+
nexo health [app-module-path]
|
|
12
|
+
|
|
13
|
+
If app-module-path is omitted, Nexo looks for a "nexo.config.json" in the
|
|
14
|
+
current directory or a parent directory, with the shape:
|
|
15
|
+
{ "app": "./dist/app.js" }`;
|
|
8
16
|
async function main() {
|
|
9
|
-
const [command,
|
|
10
|
-
if (command === undefined
|
|
17
|
+
const [command, ...rest] = process.argv.slice(2);
|
|
18
|
+
if (command === undefined) {
|
|
11
19
|
console.error(USAGE);
|
|
12
20
|
process.exitCode = 1;
|
|
13
21
|
return;
|
|
14
22
|
}
|
|
15
|
-
|
|
23
|
+
let appPath;
|
|
24
|
+
let moduleName;
|
|
25
|
+
const [first, second] = rest;
|
|
26
|
+
if (first !== undefined && !first.startsWith("--")) {
|
|
27
|
+
appPath = first;
|
|
28
|
+
moduleName = second;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const moduleFlagIndex = rest.indexOf("--module");
|
|
32
|
+
if (moduleFlagIndex !== -1) {
|
|
33
|
+
moduleName = rest[moduleFlagIndex + 1];
|
|
34
|
+
}
|
|
35
|
+
appPath = await resolveConfiguredAppPath(process.cwd());
|
|
36
|
+
}
|
|
37
|
+
if (appPath === undefined) {
|
|
38
|
+
console.error(`No app path given and no "nexo.config.json" found.\n\n${USAGE}`);
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const { app, knowledge } = await loadApplication(appPath);
|
|
16
43
|
switch (command) {
|
|
17
44
|
case "inspect":
|
|
18
|
-
console.log(inspect(app,
|
|
45
|
+
console.log(inspect(app, knowledge, moduleName));
|
|
19
46
|
return;
|
|
20
47
|
case "status":
|
|
21
|
-
console.log(status(app));
|
|
48
|
+
console.log(status(app, knowledge));
|
|
22
49
|
return;
|
|
23
50
|
case "context":
|
|
24
|
-
console.log(context(app));
|
|
51
|
+
console.log(context(app, knowledge));
|
|
52
|
+
return;
|
|
53
|
+
case "validate":
|
|
54
|
+
console.log(validate(app));
|
|
55
|
+
return;
|
|
56
|
+
case "health":
|
|
57
|
+
console.log(health(app));
|
|
25
58
|
return;
|
|
26
59
|
default:
|
|
27
60
|
console.error(`Unknown command "${command}".\n\n${USAGE}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,KAAK,GAAG;;;;;;;;;;6BAUe,CAAC;AAE9B,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,OAA2B,CAAC;IAChC,IAAI,UAA8B,CAAC;IAEnC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,KAAK,CAAC;QAChB,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CACX,yDAAyD,KAAK,EAAE,CACjE,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YACrC,OAAO;QACT,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,OAAO;QACT;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { NexoApplication } from "@nexo-alpha/core";
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
2
|
+
import { type ApplicationKnowledge } from "@nexo-alpha/context";
|
|
3
|
+
export declare function inspect(app: NexoApplication, knowledge: ApplicationKnowledge | undefined, moduleName?: string): string;
|
|
4
|
+
export declare function status(app: NexoApplication, knowledge: ApplicationKnowledge | undefined): string;
|
|
5
|
+
export declare function context(app: NexoApplication, knowledge: ApplicationKnowledge | undefined): string;
|
|
6
|
+
export declare function validate(app: NexoApplication): string;
|
|
7
|
+
export declare function health(app: NexoApplication): string;
|
|
5
8
|
//# sourceMappingURL=commands.d.ts.map
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAU7F,wBAAgB,OAAO,CACrB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,oBAAoB,GAAG,SAAS,EAC3C,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAmBR;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAC1C,MAAM,CAQR;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAC1C,MAAM,CAER;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAKrD;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAGnD"}
|
package/dist/commands.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { buildContext, contextToJson } from "@nexo-alpha/context";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { createVerificationInterface } from "@nexo-alpha/tools";
|
|
3
|
+
import { renderApplicationSummary, renderDevelopmentState, renderHealth, renderModuleDetail, renderValidation } from "./render.js";
|
|
4
|
+
export function inspect(app, knowledge, moduleName) {
|
|
5
|
+
const context = buildContext(app, knowledge);
|
|
5
6
|
if (moduleName === undefined) {
|
|
6
7
|
return renderApplicationSummary(context);
|
|
7
8
|
}
|
|
@@ -15,10 +16,26 @@ export function inspect(app, moduleName) {
|
|
|
15
16
|
}
|
|
16
17
|
return renderModuleDetail(module);
|
|
17
18
|
}
|
|
18
|
-
export function status(app) {
|
|
19
|
-
|
|
19
|
+
export function status(app, knowledge) {
|
|
20
|
+
const devState = knowledge?.getDevelopmentState() ?? {
|
|
21
|
+
completed: [],
|
|
22
|
+
inProgress: [],
|
|
23
|
+
blocked: [],
|
|
24
|
+
knownIssues: []
|
|
25
|
+
};
|
|
26
|
+
return renderDevelopmentState(devState);
|
|
20
27
|
}
|
|
21
|
-
export function context(app) {
|
|
22
|
-
return contextToJson(buildContext(app));
|
|
28
|
+
export function context(app, knowledge) {
|
|
29
|
+
return contextToJson(buildContext(app, knowledge));
|
|
30
|
+
}
|
|
31
|
+
export function validate(app) {
|
|
32
|
+
const verify = createVerificationInterface(app);
|
|
33
|
+
const archResult = verify.validateArchitecture();
|
|
34
|
+
const configResult = verify.validateConfiguration();
|
|
35
|
+
return renderValidation(archResult.issues, configResult.issues);
|
|
36
|
+
}
|
|
37
|
+
export function health(app) {
|
|
38
|
+
const verify = createVerificationInterface(app);
|
|
39
|
+
return renderHealth(verify.checkApplicationHealth());
|
|
23
40
|
}
|
|
24
41
|
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,OAAO,CACrB,GAAoB,EACpB,SAA2C,EAC3C,UAAmB;IAEnB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAElE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC9C,CAAC,CAAC,8CAA8C,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,WAAW,UAAU,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,GAAoB,EACpB,SAA2C;IAE3C,MAAM,QAAQ,GAAG,SAAS,EAAE,mBAAmB,EAAE,IAAI;QACnD,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,GAAoB,EACpB,SAA2C;IAE3C,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAoB;IAC3C,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACpD,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAoB;IACzC,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface NexoConfig {
|
|
2
|
+
readonly app: string;
|
|
3
|
+
}
|
|
4
|
+
export declare function findNexoConfig(startDir: string): Promise<string | undefined>;
|
|
5
|
+
export declare function resolveConfiguredAppPath(startDir: string): Promise<string | undefined>;
|
|
6
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkBlF;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB7B"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, join, resolve } from "node:path";
|
|
4
|
+
const CONFIG_FILE_NAME = "nexo.config.json";
|
|
5
|
+
export async function findNexoConfig(startDir) {
|
|
6
|
+
let dir = resolve(startDir);
|
|
7
|
+
while (true) {
|
|
8
|
+
const candidate = join(dir, CONFIG_FILE_NAME);
|
|
9
|
+
if (existsSync(candidate)) {
|
|
10
|
+
return candidate;
|
|
11
|
+
}
|
|
12
|
+
const parent = dirname(dir);
|
|
13
|
+
if (parent === dir) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
dir = parent;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function resolveConfiguredAppPath(startDir) {
|
|
20
|
+
const configPath = await findNexoConfig(startDir);
|
|
21
|
+
if (configPath === undefined) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const raw = await readFile(configPath, "utf8");
|
|
25
|
+
const parsed = JSON.parse(raw);
|
|
26
|
+
if (typeof parsed !== "object" ||
|
|
27
|
+
parsed === null ||
|
|
28
|
+
typeof parsed.app !== "string") {
|
|
29
|
+
throw new Error(`"${configPath}" must have a string "app" field, e.g. { "app": "./dist/app.js" }.`);
|
|
30
|
+
}
|
|
31
|
+
return resolve(dirname(configPath), parsed.app);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAM5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAE9C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExC,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAA4B,CAAC,GAAG,KAAK,QAAQ,EACrD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,IAAI,UAAU,oEAAoE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAG,MAAqB,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { loadApplication } from "./load-application.js";
|
|
2
|
+
export { findNexoConfig, resolveConfiguredAppPath } from "./config.js";
|
|
3
|
+
export type { NexoConfig } from "./config.js";
|
|
2
4
|
export { inspect, status, context } from "./commands.js";
|
|
3
5
|
export { renderApplicationSummary, renderModuleDetail, renderDevelopmentState } from "./render.js";
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { loadApplication } from "./load-application.js";
|
|
2
|
+
export { findNexoConfig, resolveConfiguredAppPath } from "./config.js";
|
|
2
3
|
export { inspect, status, context } from "./commands.js";
|
|
3
4
|
export { renderApplicationSummary, renderModuleDetail, renderDevelopmentState } from "./render.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,aAAa,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { NexoApplication } from "@nexo-alpha/core";
|
|
2
|
-
|
|
2
|
+
import type { ApplicationKnowledge } from "@nexo-alpha/context";
|
|
3
|
+
export interface LoadedApplication {
|
|
4
|
+
readonly app: NexoApplication;
|
|
5
|
+
readonly knowledge?: ApplicationKnowledge | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare function loadApplication(modulePath: string): Promise<LoadedApplication>;
|
|
3
8
|
//# sourceMappingURL=load-application.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-application.d.ts","sourceRoot":"","sources":["../src/load-application.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"load-application.d.ts","sourceRoot":"","sources":["../src/load-application.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACvD;AAkBD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAmB5B"}
|
package/dist/load-application.js
CHANGED
|
@@ -5,6 +5,11 @@ function isNexoApplication(value) {
|
|
|
5
5
|
value !== null &&
|
|
6
6
|
typeof value.getModules === "function");
|
|
7
7
|
}
|
|
8
|
+
function isApplicationKnowledge(value) {
|
|
9
|
+
return (typeof value === "object" &&
|
|
10
|
+
value !== null &&
|
|
11
|
+
typeof value.getDecisions === "function");
|
|
12
|
+
}
|
|
8
13
|
export async function loadApplication(modulePath) {
|
|
9
14
|
const absolutePath = resolve(process.cwd(), modulePath);
|
|
10
15
|
const imported = await import(pathToFileURL(absolutePath).href);
|
|
@@ -12,6 +17,9 @@ export async function loadApplication(modulePath) {
|
|
|
12
17
|
if (!isNexoApplication(app)) {
|
|
13
18
|
throw new Error(`"${modulePath}" does not export a Nexo application. Expected a named "app" export or default export with a Nexo application instance.`);
|
|
14
19
|
}
|
|
15
|
-
|
|
20
|
+
const knowledge = isApplicationKnowledge(imported.knowledge)
|
|
21
|
+
? imported.knowledge
|
|
22
|
+
: undefined;
|
|
23
|
+
return { app, knowledge };
|
|
16
24
|
}
|
|
17
25
|
//# sourceMappingURL=load-application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-application.js","sourceRoot":"","sources":["../src/load-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"load-application.js","sourceRoot":"","sources":["../src/load-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASzC,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAkC,CAAC,UAAU,KAAK,UAAU,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAoC,CAAC,YAAY,KAAK,UAAU,CACzE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB;IAElB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,QAAQ,GAA4B,MAAM,MAAM,CACpD,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CACjC,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC;IAE7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,IAAI,UAAU,yHAAyH,CACxI,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1D,CAAC,CAAC,QAAQ,CAAC,SAAS;QACpB,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC5B,CAAC"}
|
package/dist/render.d.ts
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
import type { DevelopmentState } from "@nexo-alpha/
|
|
2
|
-
import type { ApplicationContext, ModuleContext } from "@nexo-alpha/context";
|
|
1
|
+
import type { ApplicationContext, DevelopmentState, ModuleContext } from "@nexo-alpha/context";
|
|
3
2
|
export declare function renderApplicationSummary(context: ApplicationContext): string;
|
|
4
3
|
export declare function renderModuleDetail(module: ModuleContext): string;
|
|
5
4
|
export declare function renderDevelopmentState(state: DevelopmentState): string;
|
|
5
|
+
export declare function renderValidation(archIssues: readonly {
|
|
6
|
+
severity: string;
|
|
7
|
+
message: string;
|
|
8
|
+
target?: string;
|
|
9
|
+
}[], configIssues: readonly {
|
|
10
|
+
severity: string;
|
|
11
|
+
message: string;
|
|
12
|
+
target?: string;
|
|
13
|
+
}[]): string;
|
|
14
|
+
export declare function renderHealth(health: {
|
|
15
|
+
state: string;
|
|
16
|
+
moduleCount: number;
|
|
17
|
+
apiCount: number;
|
|
18
|
+
serviceCount: number;
|
|
19
|
+
architecture: {
|
|
20
|
+
valid: boolean;
|
|
21
|
+
issues: readonly {
|
|
22
|
+
severity: string;
|
|
23
|
+
message: string;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
}): string;
|
|
6
27
|
//# sourceMappingURL=render.d.ts.map
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAS/F,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAuChE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAwBtE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,YAAY,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAmBvM;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,SAAS;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;CAC5F,GAAG,MAAM,CAYT"}
|
package/dist/render.js
CHANGED
|
@@ -37,4 +37,32 @@ export function renderDevelopmentState(state) {
|
|
|
37
37
|
lines.push("Current objective:", state.currentObjective !== undefined ? ` ${state.currentObjective}` : " (none)", "", "Completed:", renderList(state.completed), "", "In progress:", renderList(state.inProgress), "", "Blocked:", renderList(state.blocked), "", "Known issues:", renderList(state.knownIssues), "", "Next step:", state.nextStep !== undefined ? ` ${state.nextStep}` : " (none)");
|
|
38
38
|
return lines.join("\n");
|
|
39
39
|
}
|
|
40
|
+
export function renderValidation(archIssues, configIssues) {
|
|
41
|
+
const all = [...archIssues, ...configIssues];
|
|
42
|
+
if (all.length === 0) {
|
|
43
|
+
return "Nexo Validation: PASSED (0 issues)";
|
|
44
|
+
}
|
|
45
|
+
const errors = all.filter((i) => i.severity === "error");
|
|
46
|
+
const warnings = all.filter((i) => i.severity === "warning");
|
|
47
|
+
const lines = [
|
|
48
|
+
`Nexo Validation: ${errors.length === 0 ? "PASSED WITH WARNINGS" : "FAILED"} (${errors.length} errors, ${warnings.length} warnings)`,
|
|
49
|
+
""
|
|
50
|
+
];
|
|
51
|
+
for (const issue of all) {
|
|
52
|
+
lines.push(`[${issue.severity.toUpperCase()}] ${issue.message}`);
|
|
53
|
+
}
|
|
54
|
+
return lines.join("\n");
|
|
55
|
+
}
|
|
56
|
+
export function renderHealth(health) {
|
|
57
|
+
const lines = [
|
|
58
|
+
"Nexo Application Health",
|
|
59
|
+
"",
|
|
60
|
+
`State: ${health.state}`,
|
|
61
|
+
`Modules: ${health.moduleCount}`,
|
|
62
|
+
`APIs: ${health.apiCount}`,
|
|
63
|
+
`Services: ${health.serviceCount}`,
|
|
64
|
+
`Architecture Valid: ${health.architecture.valid ? "YES" : "NO"} (${health.architecture.issues.length} issues)`
|
|
65
|
+
];
|
|
66
|
+
return lines.join("\n");
|
|
67
|
+
}
|
|
40
68
|
//# sourceMappingURL=render.js.map
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexo-alpha/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Command-line interface for the Nexo framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nexo",
|
|
@@ -23,12 +23,16 @@
|
|
|
23
23
|
"import": "./dist/index.js"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
26
29
|
"files": [
|
|
27
30
|
"dist"
|
|
28
31
|
],
|
|
29
32
|
"dependencies": {
|
|
30
|
-
"@nexo-alpha/core": "0.
|
|
31
|
-
"@nexo-alpha/context": "0.
|
|
33
|
+
"@nexo-alpha/core": "0.2.0",
|
|
34
|
+
"@nexo-alpha/context": "0.2.0",
|
|
35
|
+
"@nexo-alpha/tools": "0.2.0"
|
|
32
36
|
},
|
|
33
37
|
"scripts": {
|
|
34
38
|
"build": "tsc -p tsconfig.json",
|