@machineblocks/cli 0.1.0 → 0.1.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/blocks/com/machineblocks/bml/cli/Library.bml +1 -1
- package/blocks/com/machineblocks/bml/cli/documentation/Commands.bml +21 -3
- package/blocks/com/machineblocks/bml/cli/documentation/DualCliModel.bml +3 -0
- package/blocks/com/machineblocks/bml/cli/documentation/Installation.bml +11 -3
- package/dist/args.d.ts +8 -1
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +46 -1
- package/dist/args.js.map +1 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +6 -2
- package/dist/execute.js.map +1 -1
- package/dist/help.d.ts +2 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +14 -1
- package/dist/help.js.map +1 -1
- package/dist/init-command.d.ts +4 -0
- package/dist/init-command.d.ts.map +1 -0
- package/dist/init-command.js +121 -0
- package/dist/init-command.js.map +1 -0
- package/package.json +10 -7
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
core:Documentation
|
|
9
9
|
</baseType>
|
|
10
10
|
<is>
|
|
11
|
-
User-facing commands for
|
|
11
|
+
User-facing commands for a MachineBlocks project
|
|
12
12
|
</is>
|
|
13
13
|
<documentation><![CDATA[
|
|
14
14
|
The host exposes a short command set. validate matches blockml validate.
|
|
@@ -67,13 +67,31 @@
|
|
|
67
67
|
Mapping codes MB_TARGET_PACKAGE_UNDETERMINED, MB_TARGET_PACKAGE_AMBIGUOUS,
|
|
68
68
|
and MB_SOURCE_OUTSIDE_ROOT are defined with the manifestation rules.
|
|
69
69
|
|
|
70
|
+
machineblocks init <package-fqn> [--src dir] [--install]
|
|
71
|
+
- Scaffolds a BlockML project by calling initProject from @blockml/cli,
|
|
72
|
+
then records the MachineBlocks profile. It does not spawn blockml init.
|
|
73
|
+
- --src changes the source directory (default blocks). --install runs
|
|
74
|
+
npm install after the profile is recorded. Without --install, init
|
|
75
|
+
does not install.
|
|
76
|
+
- The profile adds @machineblocks/cli to devDependencies when that package
|
|
77
|
+
is absent from dependencies and devDependencies. The range is the caret
|
|
78
|
+
range of this host. An existing dependencies entry stays put.
|
|
79
|
+
- The project Library.bml gains a dependencies composition child
|
|
80
|
+
com.machineblocks.bml.Library. An existing child is left in place.
|
|
81
|
+
Existing files are not replaced.
|
|
82
|
+
- A package FQN without a bml segment still exits 0 and warns. Compile
|
|
83
|
+
maps a bml segment to scad.
|
|
84
|
+
- Exit codes match initProject: 0 success, 1 write or install failure,
|
|
85
|
+
2 usage or an invalid package FQN.
|
|
86
|
+
- --help shows this command.
|
|
87
|
+
|
|
70
88
|
machineblocks --help
|
|
71
89
|
- Lists these commands.
|
|
72
90
|
- Points advanced users to blockml --help for search, inspect, graph,
|
|
73
|
-
transform,
|
|
91
|
+
transform, and new.
|
|
74
92
|
|
|
75
93
|
Not in this host surface (still available via blockml if that package
|
|
76
|
-
is installed): watch, search, inspect, graph, transform,
|
|
94
|
+
is installed): watch, search, inspect, graph, transform, new, xsd
|
|
77
95
|
toggle, thumbnail generation.
|
|
78
96
|
|
|
79
97
|
Per-target matrix entry this host satisfies:
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
BlockRenderEngine.
|
|
28
28
|
- Same validate and compile facade underneath. Defaults differ.
|
|
29
29
|
- Does not reimplement parse, validate, or emit.
|
|
30
|
+
- init calls initProject from @blockml/cli, then adds devDependency
|
|
31
|
+
@machineblocks/cli and library dependency com.machineblocks.bml.Library.
|
|
32
|
+
The universal init stays domain-agnostic.
|
|
30
33
|
|
|
31
34
|
Interop: a later plugin load (targetPackages in blockml.config.json mapping
|
|
32
35
|
machineblocks-v3-scad to @machineblocks/render-target) may let the universal
|
|
@@ -13,13 +13,21 @@
|
|
|
13
13
|
<documentation>
|
|
14
14
|
Consumer project (the usual path):
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
npx @machineblocks/cli init com.example.bml
|
|
17
17
|
npx machineblocks validate
|
|
18
18
|
npx machineblocks compile com.example.bml.bricks.MyBrick
|
|
19
19
|
|
|
20
|
+
init calls the universal project scaffold, then records @machineblocks/cli
|
|
21
|
+
as a devDependency and adds com.machineblocks.bml.Library to the project
|
|
22
|
+
library. Pass --install to run npm install after that profile is recorded.
|
|
23
|
+
Otherwise the next step is npm install. On a project that blockml init
|
|
24
|
+
already created, the same command adds only the missing profile and does
|
|
25
|
+
not replace existing files.
|
|
26
|
+
|
|
20
27
|
That install brings @machineblocks/render-target, @blockml/block-render-engine,
|
|
21
|
-
@machineblocks/core, and the BlockML compiler packages.
|
|
22
|
-
|
|
28
|
+
@machineblocks/core, and the BlockML compiler packages. init also records
|
|
29
|
+
@blockml/core and @blockml/cli. A bml segment in the package FQN lets
|
|
30
|
+
compile map the output package to scad.
|
|
23
31
|
|
|
24
32
|
From this monorepo while the bin is not published:
|
|
25
33
|
|
package/dist/args.d.ts
CHANGED
|
@@ -9,9 +9,16 @@ export interface CompileArgs {
|
|
|
9
9
|
sourcePackage?: string;
|
|
10
10
|
targetPackage?: string;
|
|
11
11
|
}
|
|
12
|
+
export interface InitArgs {
|
|
13
|
+
command: "init";
|
|
14
|
+
packageFqn: string;
|
|
15
|
+
srcDir?: string;
|
|
16
|
+
install: boolean;
|
|
17
|
+
}
|
|
12
18
|
export type HostCommand = {
|
|
13
19
|
command: "help";
|
|
14
|
-
|
|
20
|
+
topic?: "init";
|
|
21
|
+
} | ValidateArgs | CompileArgs | InitArgs | {
|
|
15
22
|
command: "usage";
|
|
16
23
|
message: string;
|
|
17
24
|
};
|
package/dist/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,YAAY,GACZ,WAAW,GACX,QAAQ,GACR;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAe9D;AAoHD,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO9E"}
|
package/dist/args.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMPILE_HELP } from "./help.js";
|
|
1
|
+
import { COMPILE_HELP, INIT_HELP } from "./help.js";
|
|
2
2
|
export function parseArgs(argv) {
|
|
3
3
|
if (argv.length === 0 || argv[0] === "--help" || argv[0] === "help") {
|
|
4
4
|
return { command: "help" };
|
|
@@ -10,6 +10,9 @@ export function parseArgs(argv) {
|
|
|
10
10
|
if (command === "compile") {
|
|
11
11
|
return parseCompile(rest);
|
|
12
12
|
}
|
|
13
|
+
if (command === "init") {
|
|
14
|
+
return parseInit(rest);
|
|
15
|
+
}
|
|
13
16
|
return { command: "usage", message: `Unknown command: ${command ?? ""}` };
|
|
14
17
|
}
|
|
15
18
|
function parseValidate(args) {
|
|
@@ -82,6 +85,48 @@ function parseCompile(args) {
|
|
|
82
85
|
}
|
|
83
86
|
return parsed;
|
|
84
87
|
}
|
|
88
|
+
function parseInit(args) {
|
|
89
|
+
if (args.includes("--help")) {
|
|
90
|
+
return { command: "help", topic: "init" };
|
|
91
|
+
}
|
|
92
|
+
let packageFqn;
|
|
93
|
+
let srcDir;
|
|
94
|
+
let install = false;
|
|
95
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
96
|
+
const arg = args[index];
|
|
97
|
+
if (arg === undefined) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (arg === "--install") {
|
|
101
|
+
install = true;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (arg === "--src") {
|
|
105
|
+
const value = args[index + 1];
|
|
106
|
+
if (value === undefined || value.startsWith("--")) {
|
|
107
|
+
return { command: "usage", message: "--src requires a directory." };
|
|
108
|
+
}
|
|
109
|
+
srcDir = value;
|
|
110
|
+
index += 1;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (arg.startsWith("--")) {
|
|
114
|
+
return { command: "usage", message: `Unknown option: ${arg}` };
|
|
115
|
+
}
|
|
116
|
+
if (packageFqn !== undefined) {
|
|
117
|
+
return { command: "usage", message: "init accepts one package FQN." };
|
|
118
|
+
}
|
|
119
|
+
packageFqn = arg;
|
|
120
|
+
}
|
|
121
|
+
if (packageFqn === undefined) {
|
|
122
|
+
return { command: "usage", message: `init requires a package FQN.\n\n${INIT_HELP}` };
|
|
123
|
+
}
|
|
124
|
+
const parsed = { command: "init", packageFqn, install };
|
|
125
|
+
if (srcDir !== undefined) {
|
|
126
|
+
parsed.srcDir = srcDir;
|
|
127
|
+
}
|
|
128
|
+
return parsed;
|
|
129
|
+
}
|
|
85
130
|
/** A final .* or .** segment denotes a package. An exact type FQN does not. */
|
|
86
131
|
export function sourcePackageFromSelector(selector) {
|
|
87
132
|
const parts = selector.split(".");
|
package/dist/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
|
package/dist/execute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKnE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAe5E"}
|
package/dist/execute.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { parseArgs } from "./args.js";
|
|
2
2
|
import { runCompile } from "./compile-command.js";
|
|
3
|
-
import { HELP } from "./help.js";
|
|
3
|
+
import { HELP, INIT_HELP } from "./help.js";
|
|
4
|
+
import { runInit } from "./init-command.js";
|
|
4
5
|
import { runValidate } from "./validate-command.js";
|
|
5
6
|
export function execute(argv, rootDir) {
|
|
6
7
|
const parsed = parseArgs(argv);
|
|
7
8
|
if (parsed.command === "help") {
|
|
8
|
-
return { code: 0, lines: [HELP] };
|
|
9
|
+
return { code: 0, lines: [parsed.topic === "init" ? INIT_HELP : HELP] };
|
|
9
10
|
}
|
|
10
11
|
if (parsed.command === "usage") {
|
|
11
12
|
return { code: 2, lines: [parsed.message, "", HELP] };
|
|
@@ -13,6 +14,9 @@ export function execute(argv, rootDir) {
|
|
|
13
14
|
if (parsed.command === "validate") {
|
|
14
15
|
return runValidate(parsed, rootDir);
|
|
15
16
|
}
|
|
17
|
+
if (parsed.command === "init") {
|
|
18
|
+
return runInit(parsed, rootDir);
|
|
19
|
+
}
|
|
16
20
|
return runCompile(parsed, rootDir);
|
|
17
21
|
}
|
|
18
22
|
//# sourceMappingURL=execute.js.map
|
package/dist/execute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,UAAU,OAAO,CAAC,IAAuB,EAAE,OAAe;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/help.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare const HELP = "Usage: machineblocks validate [file] [--all]\n machineblocks compile <source-selector> [--source-package <FQN>] [--target-package <FQN>]\n machineblocks --help\n\nvalidate\n Same project check as blockml validate. Does not write SCAD.\n\ncompile\n Renders selected Block and Set types to SCAD with machineblocks-v3-scad.\n The selector is a BlockML type selector: an exact FQN, pkg.*, or pkg.**.\n Output is written under the configured srcDir (default blocks).\n --target-package names a package root, not a directory.\n A package selector supplies the source root when --source-package is omitted.\n An exact block FQN does not.\n\nExit 0 success, 1 diagnostics, 2 usage or config.\nSearch, inspect, graph, and
|
|
1
|
+
export declare const HELP = "Usage: machineblocks validate [file] [--all]\n machineblocks compile <source-selector> [--source-package <FQN>] [--target-package <FQN>]\n machineblocks init <package-fqn> [--src dir] [--install]\n machineblocks --help\n\nvalidate\n Same project check as blockml validate. Does not write SCAD.\n\ncompile\n Renders selected Block and Set types to SCAD with machineblocks-v3-scad.\n The selector is a BlockML type selector: an exact FQN, pkg.*, or pkg.**.\n Output is written under the configured srcDir (default blocks).\n --target-package names a package root, not a directory.\n A package selector supplies the source root when --source-package is omitted.\n An exact block FQN does not.\n\ninit\n Scaffolds a BlockML project and records the MachineBlocks profile.\n Adds devDependency @machineblocks/cli and library com.machineblocks.bml.Library.\n Does not run npm install unless --install is passed.\n\nExit 0 success, 1 diagnostics, 2 usage or config.\nSearch, inspect, graph, and new stay on blockml.\n";
|
|
2
2
|
export declare const COMPILE_HELP = "Usage: machineblocks compile <source-selector> [--source-package <FQN>] [--target-package <FQN>]\n machineblocks compile --help\n\n<source-selector> Block FQN, or a package selector ending in .* or .**\n--source-package Source package root for an explicit mapping\n--target-package Target package root. Not a directory and not one output file.\n";
|
|
3
|
+
export declare const INIT_HELP = "Usage: machineblocks init <package-fqn> [--src dir] [--install]\n machineblocks init --help\n\n<package-fqn> Dotted package identifier. A bml segment is recommended.\n--src Source directory. Default blocks.\n--install Run npm install after the MachineBlocks profile is recorded.\n";
|
|
3
4
|
//# sourceMappingURL=help.d.ts.map
|
package/dist/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,khCAuBhB,CAAC;AAEF,eAAO,MAAM,YAAY,yWAMxB,CAAC;AAEF,eAAO,MAAM,SAAS,kTAMrB,CAAC"}
|
package/dist/help.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const HELP = `Usage: machineblocks validate [file] [--all]
|
|
2
2
|
machineblocks compile <source-selector> [--source-package <FQN>] [--target-package <FQN>]
|
|
3
|
+
machineblocks init <package-fqn> [--src dir] [--install]
|
|
3
4
|
machineblocks --help
|
|
4
5
|
|
|
5
6
|
validate
|
|
@@ -13,8 +14,13 @@ compile
|
|
|
13
14
|
A package selector supplies the source root when --source-package is omitted.
|
|
14
15
|
An exact block FQN does not.
|
|
15
16
|
|
|
17
|
+
init
|
|
18
|
+
Scaffolds a BlockML project and records the MachineBlocks profile.
|
|
19
|
+
Adds devDependency @machineblocks/cli and library com.machineblocks.bml.Library.
|
|
20
|
+
Does not run npm install unless --install is passed.
|
|
21
|
+
|
|
16
22
|
Exit 0 success, 1 diagnostics, 2 usage or config.
|
|
17
|
-
Search, inspect, graph, and
|
|
23
|
+
Search, inspect, graph, and new stay on blockml.
|
|
18
24
|
`;
|
|
19
25
|
export const COMPILE_HELP = `Usage: machineblocks compile <source-selector> [--source-package <FQN>] [--target-package <FQN>]
|
|
20
26
|
machineblocks compile --help
|
|
@@ -23,4 +29,11 @@ export const COMPILE_HELP = `Usage: machineblocks compile <source-selector> [--s
|
|
|
23
29
|
--source-package Source package root for an explicit mapping
|
|
24
30
|
--target-package Target package root. Not a directory and not one output file.
|
|
25
31
|
`;
|
|
32
|
+
export const INIT_HELP = `Usage: machineblocks init <package-fqn> [--src dir] [--install]
|
|
33
|
+
machineblocks init --help
|
|
34
|
+
|
|
35
|
+
<package-fqn> Dotted package identifier. A bml segment is recommended.
|
|
36
|
+
--src Source directory. Default blocks.
|
|
37
|
+
--install Run npm install after the MachineBlocks profile is recorded.
|
|
38
|
+
`;
|
|
26
39
|
//# sourceMappingURL=help.js.map
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;CAM3B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;CAMxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOvD,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA2CnE"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { dirname, join, relative } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { BomBuilder } from "@blockml/builder";
|
|
6
|
+
import { initProject } from "@blockml/cli";
|
|
7
|
+
import { parse } from "@blockml/parser";
|
|
8
|
+
import { serialize } from "@blockml/serializer";
|
|
9
|
+
const CLI_PACKAGE = "@machineblocks/cli";
|
|
10
|
+
const MACHINEBLOCKS_LIBRARY = "com.machineblocks.bml.Library";
|
|
11
|
+
const MACHINEBLOCKS_NAMESPACE = "com.machineblocks.bml";
|
|
12
|
+
const BLOCK_LIBRARY_BASE = "org.blockml.bml.core.BlockLibrary";
|
|
13
|
+
export function runInit(args, rootDir) {
|
|
14
|
+
const scaffold = initProject({
|
|
15
|
+
packageFqn: args.packageFqn,
|
|
16
|
+
rootDir,
|
|
17
|
+
...(args.srcDir === undefined ? {} : { srcDir: args.srcDir }),
|
|
18
|
+
install: false,
|
|
19
|
+
});
|
|
20
|
+
const lines = scaffold.lines.map((line) => line.text);
|
|
21
|
+
if (scaffold.code !== 0) {
|
|
22
|
+
return { code: scaffold.code, lines };
|
|
23
|
+
}
|
|
24
|
+
const srcDir = args.srcDir?.trim() || "blocks";
|
|
25
|
+
const dependency = ensureCliDevDependency(rootDir);
|
|
26
|
+
lines.push(...dependency.lines);
|
|
27
|
+
if (dependency.code !== 0) {
|
|
28
|
+
return { code: dependency.code, lines };
|
|
29
|
+
}
|
|
30
|
+
const library = ensureLibraryDependency(rootDir, srcDir, args.packageFqn);
|
|
31
|
+
lines.push(...library.lines);
|
|
32
|
+
if (library.code !== 0) {
|
|
33
|
+
return { code: library.code, lines };
|
|
34
|
+
}
|
|
35
|
+
if (!args.packageFqn.split(".").includes("bml")) {
|
|
36
|
+
lines.push("Package FQN has no bml segment. Compile maps a bml segment to scad.");
|
|
37
|
+
}
|
|
38
|
+
if (!args.install) {
|
|
39
|
+
return { code: 0, lines };
|
|
40
|
+
}
|
|
41
|
+
const kept = lines.filter((line) => !line.startsWith("Next:"));
|
|
42
|
+
const needsAgents = lines.some((line) => line.startsWith("Next:") && line.includes("agents-md"));
|
|
43
|
+
const installed = npmInstall(rootDir);
|
|
44
|
+
if (installed.code !== 0) {
|
|
45
|
+
return { code: installed.code, lines: [...kept, ...installed.lines] };
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
code: 0,
|
|
49
|
+
lines: [...kept, ...installed.lines, needsAgents ? "Next: npx blockml agents-md generate" : "Next: npx blockml validate"],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function ensureCliDevDependency(rootDir) {
|
|
53
|
+
const pkgPath = join(rootDir, "package.json");
|
|
54
|
+
let pkg;
|
|
55
|
+
try {
|
|
56
|
+
pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return { code: 2, lines: ["Could not parse package.json."] };
|
|
60
|
+
}
|
|
61
|
+
if (pkg.dependencies?.[CLI_PACKAGE] !== undefined || pkg.devDependencies?.[CLI_PACKAGE] !== undefined) {
|
|
62
|
+
return { code: 0, lines: [`Skipped existing ${CLI_PACKAGE}`] };
|
|
63
|
+
}
|
|
64
|
+
pkg.devDependencies = { ...pkg.devDependencies, [CLI_PACKAGE]: `^${ownVersion()}` };
|
|
65
|
+
writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`, "utf8");
|
|
66
|
+
return { code: 0, lines: [`Recorded devDependency ${CLI_PACKAGE}`] };
|
|
67
|
+
}
|
|
68
|
+
function ensureLibraryDependency(rootDir, srcDir, packageFqn) {
|
|
69
|
+
const libraryPath = join(rootDir, srcDir, ...packageFqn.split("."), "Library.bml");
|
|
70
|
+
const display = displayPath(libraryPath, rootDir);
|
|
71
|
+
if (!existsSync(libraryPath)) {
|
|
72
|
+
return { code: 1, lines: [`Library not found: ${display}`] };
|
|
73
|
+
}
|
|
74
|
+
const parsed = parse(readFileSync(libraryPath, "utf8"), { filePath: libraryPath });
|
|
75
|
+
if (!parsed.success || parsed.document === null) {
|
|
76
|
+
return { code: 1, lines: [`Failed to parse ${display}`] };
|
|
77
|
+
}
|
|
78
|
+
if (dependsOn(parsed.document.block, MACHINEBLOCKS_LIBRARY)) {
|
|
79
|
+
return { code: 0, lines: [`Skipped existing ${MACHINEBLOCKS_LIBRARY}`] };
|
|
80
|
+
}
|
|
81
|
+
const builder = BomBuilder.edit(parsed.document);
|
|
82
|
+
if (!dependenciesAggregation(parsed.document.block)) {
|
|
83
|
+
builder.addAggregation({ name: "dependencies", typeFqn: BLOCK_LIBRARY_BASE, override: true });
|
|
84
|
+
}
|
|
85
|
+
builder.ensureNamespaceBinding("mb", MACHINEBLOCKS_NAMESPACE);
|
|
86
|
+
builder.addCompositionChild("dependencies", MACHINEBLOCKS_LIBRARY);
|
|
87
|
+
const emitted = serialize(builder.seal());
|
|
88
|
+
if (!emitted.success || emitted.text === null) {
|
|
89
|
+
return { code: 1, lines: [`Failed to serialize ${display}`] };
|
|
90
|
+
}
|
|
91
|
+
writeFileSync(libraryPath, emitted.text, "utf8");
|
|
92
|
+
return { code: 0, lines: [`Updated ${display}`] };
|
|
93
|
+
}
|
|
94
|
+
function dependsOn(block, typeFqn) {
|
|
95
|
+
const aggregation = dependenciesAggregation(block);
|
|
96
|
+
if (!aggregation?.composition) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return aggregation.composition.children.some((child) => child.kind === "blockInstance" && child.instance.typeFqn === typeFqn);
|
|
100
|
+
}
|
|
101
|
+
function dependenciesAggregation(block) {
|
|
102
|
+
const member = block.members.find((entry) => entry.kind === "aggregation" && entry.name === "dependencies");
|
|
103
|
+
return member?.kind === "aggregation" ? member : undefined;
|
|
104
|
+
}
|
|
105
|
+
function npmInstall(rootDir) {
|
|
106
|
+
const result = spawnSync("npm", ["install"], { cwd: rootDir, stdio: "inherit" });
|
|
107
|
+
if (result.status !== 0) {
|
|
108
|
+
return { code: 1, lines: ["npm install failed."] };
|
|
109
|
+
}
|
|
110
|
+
return { code: 0, lines: [] };
|
|
111
|
+
}
|
|
112
|
+
function ownVersion() {
|
|
113
|
+
const packageRoot = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
114
|
+
const pkg = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
|
|
115
|
+
return pkg.version ?? "0.0.0";
|
|
116
|
+
}
|
|
117
|
+
function displayPath(file, rootDir) {
|
|
118
|
+
const rel = relative(rootDir, file);
|
|
119
|
+
return rel && !rel.startsWith("..") ? rel : file;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=init-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@machineblocks/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "MachineBlocks host CLI — simplified BlockML entry that renders BML to SCAD",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -30,13 +30,16 @@
|
|
|
30
30
|
"test": "vitest run --root ../.. packages/machineblocks-cli/test"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@blockml/block-render-engine": "^0.1.
|
|
34
|
-
"@blockml/
|
|
35
|
-
"@blockml/
|
|
36
|
-
"@blockml/
|
|
37
|
-
"@blockml/
|
|
33
|
+
"@blockml/block-render-engine": "^0.1.1",
|
|
34
|
+
"@blockml/builder": "^0.9.14",
|
|
35
|
+
"@blockml/cli": "^0.9.14",
|
|
36
|
+
"@blockml/compiler": "^0.9.14",
|
|
37
|
+
"@blockml/core": "^1.4.5",
|
|
38
|
+
"@blockml/framework": "^0.9.14",
|
|
39
|
+
"@blockml/parser": "^0.9.14",
|
|
40
|
+
"@blockml/serializer": "^0.9.14",
|
|
38
41
|
"@machineblocks/core": "^3.0.0-A4",
|
|
39
|
-
"@machineblocks/render-target": "^0.1.
|
|
42
|
+
"@machineblocks/render-target": "^0.1.1"
|
|
40
43
|
},
|
|
41
44
|
"engines": {
|
|
42
45
|
"node": ">=20"
|