@rcrsr/rill-cli 0.10.0 → 0.12.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/check/rules/index.d.ts +1 -0
- package/dist/check/rules/index.d.ts.map +1 -1
- package/dist/check/rules/index.js +5 -0
- package/dist/check/rules/index.js.map +1 -1
- package/dist/check/rules/use-expressions.d.ts +31 -0
- package/dist/check/rules/use-expressions.d.ts.map +1 -0
- package/dist/check/rules/use-expressions.js +101 -0
- package/dist/check/rules/use-expressions.js.map +1 -0
- package/dist/check/types.d.ts +6 -0
- package/dist/check/types.d.ts.map +1 -1
- package/dist/check/visitor.d.ts.map +1 -1
- package/dist/check/visitor.js +6 -0
- package/dist/check/visitor.js.map +1 -1
- package/dist/cli-exec.d.ts.map +1 -1
- package/dist/cli-exec.js +1 -27
- package/dist/cli-exec.js.map +1 -1
- package/dist/cli-module-loader.d.ts.map +1 -1
- package/dist/cli-module-loader.js +7 -31
- package/dist/cli-module-loader.js.map +1 -1
- package/dist/cli-run.d.ts +9 -0
- package/dist/cli-run.d.ts.map +1 -0
- package/dist/cli-run.js +282 -0
- package/dist/cli-run.js.map +1 -0
- package/dist/run/runner.d.ts +24 -0
- package/dist/run/runner.d.ts.map +1 -0
- package/dist/run/runner.js +258 -0
- package/dist/run/runner.js.map +1 -0
- package/dist/run/types.d.ts +17 -0
- package/dist/run/types.d.ts.map +1 -0
- package/dist/run/types.js +5 -0
- package/dist/run/types.js.map +1 -0
- package/package.json +6 -3
|
@@ -13,6 +13,7 @@ export { UNNECESSARY_ASSERTION, VALIDATE_EXTERNAL } from './types.js';
|
|
|
13
13
|
export { USE_EMPTY_METHOD } from './strings.js';
|
|
14
14
|
export { AVOID_REASSIGNMENT, COMPLEX_CONDITION, LOOP_OUTER_CAPTURE, } from './anti-patterns.js';
|
|
15
15
|
export { SPACING_OPERATOR, SPACING_BRACES, SPACING_BRACKETS, SPACING_CLOSURE, INDENT_CONTINUATION, IMPLICIT_DOLLAR_METHOD, IMPLICIT_DOLLAR_FUNCTION, IMPLICIT_DOLLAR_CLOSURE, THROWAWAY_CAPTURE, } from './formatting.js';
|
|
16
|
+
export { USE_DYNAMIC_IDENTIFIER, USE_UNTYPED_HOST_REF, } from './use-expressions.js';
|
|
16
17
|
/**
|
|
17
18
|
* All registered validation rules.
|
|
18
19
|
* Rules are applied during AST traversal via the validator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA4ClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAM9B;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAuD5C,CAAC"}
|
|
@@ -12,6 +12,7 @@ import { UNNECESSARY_ASSERTION, VALIDATE_EXTERNAL } from './types.js';
|
|
|
12
12
|
import { USE_EMPTY_METHOD } from './strings.js';
|
|
13
13
|
import { AVOID_REASSIGNMENT, COMPLEX_CONDITION, LOOP_OUTER_CAPTURE, } from './anti-patterns.js';
|
|
14
14
|
import { SPACING_OPERATOR, SPACING_BRACES, SPACING_BRACKETS, SPACING_CLOSURE, INDENT_CONTINUATION, IMPLICIT_DOLLAR_METHOD, IMPLICIT_DOLLAR_FUNCTION, IMPLICIT_DOLLAR_CLOSURE, THROWAWAY_CAPTURE, } from './formatting.js';
|
|
15
|
+
import { USE_DYNAMIC_IDENTIFIER, USE_UNTYPED_HOST_REF, } from './use-expressions.js';
|
|
15
16
|
// ============================================================
|
|
16
17
|
// RE-EXPORT INDIVIDUAL RULES
|
|
17
18
|
// ============================================================
|
|
@@ -25,6 +26,7 @@ export { UNNECESSARY_ASSERTION, VALIDATE_EXTERNAL } from './types.js';
|
|
|
25
26
|
export { USE_EMPTY_METHOD } from './strings.js';
|
|
26
27
|
export { AVOID_REASSIGNMENT, COMPLEX_CONDITION, LOOP_OUTER_CAPTURE, } from './anti-patterns.js';
|
|
27
28
|
export { SPACING_OPERATOR, SPACING_BRACES, SPACING_BRACKETS, SPACING_CLOSURE, INDENT_CONTINUATION, IMPLICIT_DOLLAR_METHOD, IMPLICIT_DOLLAR_FUNCTION, IMPLICIT_DOLLAR_CLOSURE, THROWAWAY_CAPTURE, } from './formatting.js';
|
|
29
|
+
export { USE_DYNAMIC_IDENTIFIER, USE_UNTYPED_HOST_REF, } from './use-expressions.js';
|
|
28
30
|
// ============================================================
|
|
29
31
|
// RULE REGISTRY
|
|
30
32
|
// ============================================================
|
|
@@ -74,5 +76,8 @@ export const VALIDATION_RULES = [
|
|
|
74
76
|
IMPLICIT_DOLLAR_FUNCTION,
|
|
75
77
|
IMPLICIT_DOLLAR_CLOSURE,
|
|
76
78
|
THROWAWAY_CAPTURE,
|
|
79
|
+
// UseExpr validation
|
|
80
|
+
USE_DYNAMIC_IDENTIFIER,
|
|
81
|
+
USE_UNTYPED_HOST_REF,
|
|
77
82
|
];
|
|
78
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/check/rules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UseExpr Validation Rules
|
|
3
|
+
* Enforces use<> expression restrictions based on checkerMode.
|
|
4
|
+
*
|
|
5
|
+
* AC-14: use<$varName> and use<(expr)> forms produce errors in strict mode,
|
|
6
|
+
* warnings in permissive mode.
|
|
7
|
+
* AC-15: use<host:fn> without :type annotation produces an error in strict mode,
|
|
8
|
+
* a warning in permissive mode.
|
|
9
|
+
*/
|
|
10
|
+
import type { ValidationRule } from '../types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Flags dynamic use<> identifier forms in checkerMode-aware way.
|
|
13
|
+
* Variable form (use<$name>) and computed form (use<(expr)>) are harder for
|
|
14
|
+
* static analysis and code review. Strict mode rejects them; permissive warns.
|
|
15
|
+
*
|
|
16
|
+
* References:
|
|
17
|
+
* - AC-14 in use-construct spec
|
|
18
|
+
* - docs/guide-conventions.md checker modes section
|
|
19
|
+
*/
|
|
20
|
+
export declare const USE_DYNAMIC_IDENTIFIER: ValidationRule;
|
|
21
|
+
/**
|
|
22
|
+
* Flags static use<host:fn> expressions that lack a :type annotation.
|
|
23
|
+
* Untyped host references make type flow opaque. Strict mode rejects them;
|
|
24
|
+
* permissive mode warns.
|
|
25
|
+
*
|
|
26
|
+
* References:
|
|
27
|
+
* - AC-15 in use-construct spec
|
|
28
|
+
* - docs/guide-conventions.md checker modes section
|
|
29
|
+
*/
|
|
30
|
+
export declare const USE_UNTYPED_HOST_REF: ValidationRule;
|
|
31
|
+
//# sourceMappingURL=use-expressions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-expressions.d.ts","sourceRoot":"","sources":["../../../src/check/rules/use-expressions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,aAAa,CAAC;AAQrB;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAoCpC,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,cA0ClC,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UseExpr Validation Rules
|
|
3
|
+
* Enforces use<> expression restrictions based on checkerMode.
|
|
4
|
+
*
|
|
5
|
+
* AC-14: use<$varName> and use<(expr)> forms produce errors in strict mode,
|
|
6
|
+
* warnings in permissive mode.
|
|
7
|
+
* AC-15: use<host:fn> without :type annotation produces an error in strict mode,
|
|
8
|
+
* a warning in permissive mode.
|
|
9
|
+
*/
|
|
10
|
+
import { extractContextLine } from './helpers.js';
|
|
11
|
+
// ============================================================
|
|
12
|
+
// USE_DYNAMIC_IDENTIFIER RULE (AC-14)
|
|
13
|
+
// ============================================================
|
|
14
|
+
/**
|
|
15
|
+
* Flags dynamic use<> identifier forms in checkerMode-aware way.
|
|
16
|
+
* Variable form (use<$name>) and computed form (use<(expr)>) are harder for
|
|
17
|
+
* static analysis and code review. Strict mode rejects them; permissive warns.
|
|
18
|
+
*
|
|
19
|
+
* References:
|
|
20
|
+
* - AC-14 in use-construct spec
|
|
21
|
+
* - docs/guide-conventions.md checker modes section
|
|
22
|
+
*/
|
|
23
|
+
export const USE_DYNAMIC_IDENTIFIER = {
|
|
24
|
+
code: 'USE_DYNAMIC_IDENTIFIER',
|
|
25
|
+
category: 'anti-patterns',
|
|
26
|
+
severity: 'warning',
|
|
27
|
+
nodeTypes: ['UseExpr'],
|
|
28
|
+
validate(node, context) {
|
|
29
|
+
const useNode = node;
|
|
30
|
+
const identifier = useNode.identifier;
|
|
31
|
+
// Only applies to variable and computed forms
|
|
32
|
+
if (identifier.kind !== 'variable' && identifier.kind !== 'computed') {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
const isStrict = context.config.checkerMode === 'strict';
|
|
36
|
+
const severity = isStrict ? 'error' : 'warning';
|
|
37
|
+
const formLabel = identifier.kind === 'variable'
|
|
38
|
+
? `use<$${identifier.name}>`
|
|
39
|
+
: 'use<(expr)>';
|
|
40
|
+
const modeLabel = isStrict ? 'strict mode' : 'permissive mode';
|
|
41
|
+
return [
|
|
42
|
+
{
|
|
43
|
+
location: useNode.span.start,
|
|
44
|
+
severity,
|
|
45
|
+
code: 'USE_DYNAMIC_IDENTIFIER',
|
|
46
|
+
message: `Dynamic use<> identifier (${formLabel}) is not recommended in ${modeLabel}; prefer static use<scheme:resource>`,
|
|
47
|
+
context: extractContextLine(useNode.span.start.line, context.source),
|
|
48
|
+
fix: null,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
// ============================================================
|
|
54
|
+
// USE_UNTYPED_HOST_REF RULE (AC-15)
|
|
55
|
+
// ============================================================
|
|
56
|
+
/**
|
|
57
|
+
* Flags static use<host:fn> expressions that lack a :type annotation.
|
|
58
|
+
* Untyped host references make type flow opaque. Strict mode rejects them;
|
|
59
|
+
* permissive mode warns.
|
|
60
|
+
*
|
|
61
|
+
* References:
|
|
62
|
+
* - AC-15 in use-construct spec
|
|
63
|
+
* - docs/guide-conventions.md checker modes section
|
|
64
|
+
*/
|
|
65
|
+
export const USE_UNTYPED_HOST_REF = {
|
|
66
|
+
code: 'USE_UNTYPED_HOST_REF',
|
|
67
|
+
category: 'types',
|
|
68
|
+
severity: 'warning',
|
|
69
|
+
nodeTypes: ['UseExpr'],
|
|
70
|
+
validate(node, context) {
|
|
71
|
+
const useNode = node;
|
|
72
|
+
const identifier = useNode.identifier;
|
|
73
|
+
// Only applies to static form
|
|
74
|
+
if (identifier.kind !== 'static') {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
// Only applies to 'host' scheme
|
|
78
|
+
if (identifier.scheme !== 'host') {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
// No diagnostic if a :type annotation is present
|
|
82
|
+
if (useNode.typeRef !== null) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
const isStrict = context.config.checkerMode === 'strict';
|
|
86
|
+
const severity = isStrict ? 'error' : 'warning';
|
|
87
|
+
const resource = `${identifier.scheme}:${identifier.segments.join('.')}`;
|
|
88
|
+
const modeLabel = isStrict ? 'strict mode' : 'permissive mode';
|
|
89
|
+
return [
|
|
90
|
+
{
|
|
91
|
+
location: useNode.span.start,
|
|
92
|
+
severity,
|
|
93
|
+
code: 'USE_UNTYPED_HOST_REF',
|
|
94
|
+
message: `use<${resource}> has no :type annotation in ${modeLabel}; add :TypeName to declare the resolved type`,
|
|
95
|
+
context: extractContextLine(useNode.span.start.line, context.source),
|
|
96
|
+
fix: null,
|
|
97
|
+
},
|
|
98
|
+
];
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=use-expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-expressions.js","sourceRoot":"","sources":["../../../src/check/rules/use-expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/check/types.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export interface CheckConfig {
|
|
|
48
48
|
readonly rules: Record<string, RuleState>;
|
|
49
49
|
/** Severity overrides by rule code */
|
|
50
50
|
readonly severity: Record<string, Severity>;
|
|
51
|
+
/**
|
|
52
|
+
* Type checker mode controlling UseExpr validation strictness.
|
|
53
|
+
* - 'strict': variable/computed use<> and untyped host references are errors
|
|
54
|
+
* - 'permissive': same conditions produce warnings (default)
|
|
55
|
+
*/
|
|
56
|
+
readonly checkerMode?: 'strict' | 'permissive';
|
|
51
57
|
}
|
|
52
58
|
/**
|
|
53
59
|
* Context for validation passes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/check/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAC;AAMrB,iCAAiC;AACjC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AAM9C;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CAC1B;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/check/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/check/visitor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEvD;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,IAAI,
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/check/visitor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEvD;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,IAAI,CA2VN"}
|
package/dist/check/visitor.js
CHANGED
|
@@ -289,6 +289,12 @@ export function visitNode(node, context, visitor) {
|
|
|
289
289
|
}
|
|
290
290
|
visitNode(node.returnType, context, visitor);
|
|
291
291
|
break;
|
|
292
|
+
case 'UseExpr':
|
|
293
|
+
// Visit computed expression if present; typeRef is not an ASTNode
|
|
294
|
+
if (node.identifier.kind === 'computed') {
|
|
295
|
+
visitNode(node.identifier.expression, context, visitor);
|
|
296
|
+
}
|
|
297
|
+
break;
|
|
292
298
|
default: {
|
|
293
299
|
// Exhaustive check: if we reach here, a node type is missing
|
|
294
300
|
const _exhaustive = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/check/visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/check/visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-exec.d.ts","sourceRoot":"","sources":["../src/cli-exec.ts"],"names":[],"mappings":";AACA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"cli-exec.d.ts","sourceRoot":"","sources":["../src/cli-exec.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AASnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAsIpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqC/C;AAED;;;;;;GAMG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAiI1C"}
|
package/dist/cli-exec.js
CHANGED
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as fs from 'fs/promises';
|
|
9
9
|
import * as fsSync from 'fs';
|
|
10
|
-
import * as path from 'path';
|
|
11
|
-
import * as yaml from 'yaml';
|
|
12
10
|
import { parse, execute, createRuntimeContext, toNative } from '@rcrsr/rill';
|
|
13
11
|
import { formatError, determineExitCode, VERSION, detectHelpVersionFlag, } from './cli-shared.js';
|
|
14
|
-
import { loadModule } from './cli-module-loader.js';
|
|
15
12
|
import { explainError } from './cli-explain.js';
|
|
16
13
|
/**
|
|
17
14
|
* Parse command-line arguments into structured command
|
|
@@ -145,18 +142,12 @@ export function parseArgs(argv) {
|
|
|
145
142
|
export async function executeScript(file, args, options) {
|
|
146
143
|
// Use pre-read source if provided, otherwise read from file or stdin
|
|
147
144
|
let source;
|
|
148
|
-
let scriptPath;
|
|
149
145
|
if (options?.source !== undefined) {
|
|
150
146
|
source = options.source;
|
|
151
|
-
scriptPath =
|
|
152
|
-
file === '-'
|
|
153
|
-
? path.resolve(process.cwd(), '<stdin>')
|
|
154
|
-
: path.resolve(file);
|
|
155
147
|
}
|
|
156
148
|
else if (file === '-' || options?.stdin) {
|
|
157
149
|
// Read from stdin (must use sync API for stdin)
|
|
158
150
|
source = fsSync.readFileSync(0, 'utf-8');
|
|
159
|
-
scriptPath = path.resolve(process.cwd(), '<stdin>');
|
|
160
151
|
}
|
|
161
152
|
else {
|
|
162
153
|
// Check if file exists
|
|
@@ -168,28 +159,11 @@ export async function executeScript(file, args, options) {
|
|
|
168
159
|
}
|
|
169
160
|
// Read from file
|
|
170
161
|
source = await fs.readFile(file, 'utf-8');
|
|
171
|
-
scriptPath = path.resolve(file);
|
|
172
162
|
}
|
|
173
163
|
// Parse the script
|
|
174
164
|
const ast = parse(source);
|
|
175
|
-
//
|
|
176
|
-
const frontmatter = ast.frontmatter
|
|
177
|
-
? (yaml.parse(ast.frontmatter.content) ?? {})
|
|
178
|
-
: {};
|
|
179
|
-
// Load modules if use: declarations exist
|
|
180
|
-
const variables = {};
|
|
181
|
-
if (frontmatter['use'] && Array.isArray(frontmatter['use'])) {
|
|
182
|
-
const cache = new Map();
|
|
183
|
-
for (const entry of frontmatter['use']) {
|
|
184
|
-
if (typeof entry === 'object' && entry !== null) {
|
|
185
|
-
const [name, modulePath] = Object.entries(entry)[0];
|
|
186
|
-
variables[name] = await loadModule(modulePath, scriptPath, cache);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
// Create runtime context with modules
|
|
165
|
+
// Create runtime context
|
|
191
166
|
const ctx = createRuntimeContext({
|
|
192
|
-
variables,
|
|
193
167
|
callbacks: {
|
|
194
168
|
onLog: (msg) => console.log(msg),
|
|
195
169
|
},
|
package/dist/cli-exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-exec.js","sourceRoot":"","sources":["../src/cli-exec.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,IAAI,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"cli-exec.js","sourceRoot":"","sources":["../src/cli-exec.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAkBhD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,sDAAsD;IACtD,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,mCAAmC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAClE,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,2DAA2D;IAC3D,IAAI,MAAM,GAAiC,OAAO,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;IAChE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAC1C,gCAAgC;QAChC,IACE,WAAW,KAAK,OAAO;YACvB,WAAW,KAAK,MAAM;YACtB,WAAW,KAAK,SAAS,EACzB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,2BAA2B,WAAW,wCAAwC,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,WAAW,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CACvC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,mBAAmB,CACrC,CAAC;IACF,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,IAAI;QACJ,WAAW;QACX,UAAU;QACV,WAAW;QACX,mBAAmB;KACpB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,0DAA0D;YAC1D,IACE,GAAG,KAAK,UAAU;gBAClB,GAAG,KAAK,mBAAmB;gBAC3B,GAAG,KAAK,WAAW,EACnB,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,QAA4B,CAAC;IACjC,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,aAAa;QACb,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,wCAAwC;YACxC,IACE,GAAG,KAAK,UAAU;gBAClB,GAAG,KAAK,mBAAmB;gBAC3B,GAAG,KAAK,WAAW,EACnB,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,2DAA2D;IAC3D,6DAA6D;IAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAE,EAAE,CAAC;IAC1D,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAc,EACd,OAA8C;IAE9C,qEAAqE;IACrE,IAAI,MAAc,CAAC;IAEnB,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;SAAM,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,gDAAgD;QAChD,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,iBAAiB;QACjB,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B,yBAAyB;IACzB,MAAM,GAAG,GAAG,oBAAoB,CAAC;QAC/B,SAAS,EAAE;YACT,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACjC;KACF,CAAC,CAAC;IAEH,6CAA6C;IAC7C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IAErB,4CAA4C;IAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,IAAI,MAA0B,CAAC;IAC/B,IAAI,aAMS,CAAC;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;wCAqBoB,CAAC,CAAC;gBAClC,OAAO;YAET,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,kCAAkC;gBAClC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,4CAA4C;oBAC5C,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,KAAK,MAAM;gBACT,2DAA2D;gBAC3D,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YAET,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,0CAA0C;gBAC1C,aAAa,GAAG;oBACd,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC;gBAEF,iFAAiF;gBACjF,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxB,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACnD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,eAAe;gBACf,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;oBAC3D,MAAM;iBACP,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEhE,+DAA+D;gBAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,0BAA0B;gBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,4DAA4D;YAC5D,OAAO,CAAC,KAAK,CACX,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;gBACvB,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,OAAO;gBACxC,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,KAAK;gBACxC,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE;aACtD,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,WAAW,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE;gBAC1C,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,OAAO;gBACxC,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,KAAK;gBACxC,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE;aACtD,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM;IAClC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEnC,IAAI,aAAa,EAAE,CAAC;IAClB,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-module-loader.d.ts","sourceRoot":"","sources":["../src/cli-module-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"cli-module-loader.d.ts","sourceRoot":"","sources":["../src/cli-module-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAC7C,KAAK,GAAE,GAAG,CAAC,MAAM,CAAa,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CA0CpC"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import * as fs from 'fs/promises';
|
|
8
8
|
import * as path from 'path';
|
|
9
|
-
import * as yaml from 'yaml';
|
|
10
9
|
import { parse } from '@rcrsr/rill';
|
|
11
10
|
import { execute, createRuntimeContext } from '@rcrsr/rill';
|
|
12
11
|
/**
|
|
@@ -44,36 +43,13 @@ export async function loadModule(specifier, fromPath, cache, chain = new Set())
|
|
|
44
43
|
// Load and parse module source
|
|
45
44
|
const source = await fs.readFile(absolutePath, 'utf-8');
|
|
46
45
|
const ast = parse(source);
|
|
47
|
-
//
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
for (const entry of frontmatter['use']) {
|
|
55
|
-
if (typeof entry === 'object' && entry !== null) {
|
|
56
|
-
const [name, depPath] = Object.entries(entry)[0];
|
|
57
|
-
imports[name] = await loadModule(depPath, absolutePath, cache, chain);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// Execute module with dependencies
|
|
62
|
-
const ctx = createRuntimeContext({ variables: imports });
|
|
63
|
-
await execute(ast, ctx);
|
|
64
|
-
// Extract exports from context variables
|
|
65
|
-
const exports = {};
|
|
66
|
-
const exportList = frontmatter['export'];
|
|
67
|
-
if (Array.isArray(exportList)) {
|
|
68
|
-
for (const name of exportList) {
|
|
69
|
-
if (typeof name === 'string' && ctx.variables.has(name)) {
|
|
70
|
-
exports[name] = ctx.variables.get(name);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// Cache and return
|
|
75
|
-
cache.set(absolutePath, exports);
|
|
76
|
-
return exports;
|
|
46
|
+
// Execute module
|
|
47
|
+
const ctx = createRuntimeContext({});
|
|
48
|
+
const execResult = await execute(ast, ctx);
|
|
49
|
+
// Cache and return (module result is the final expression value)
|
|
50
|
+
const result = { '': execResult.result };
|
|
51
|
+
cache.set(absolutePath, result);
|
|
52
|
+
return result;
|
|
77
53
|
}
|
|
78
54
|
finally {
|
|
79
55
|
// Remove from chain after processing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-module-loader.js","sourceRoot":"","sources":["../src/cli-module-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"cli-module-loader.js","sourceRoot":"","sources":["../src/cli-module-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG5D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAiB,EACjB,QAAgB,EAChB,KAA6C,EAC7C,QAAqB,IAAI,GAAG,EAAE;IAE9B,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAErE,gCAAgC;IAChC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;IAClC,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAExB,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1B,iBAAiB;QACjB,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE3C,iEAAiE;QACjE,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,qCAAqC;QACrC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* rill-run: Extension-aware rill script runner.
|
|
4
|
+
* Loads extensions from rill-config.json, generates bindings, and executes scripts.
|
|
5
|
+
*/
|
|
6
|
+
import type { RunCliOptions } from './run/types.js';
|
|
7
|
+
export declare function parseCliArgs(argv?: string[]): RunCliOptions;
|
|
8
|
+
export declare function main(): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=cli-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run.d.ts","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":";AACA;;;GAGG;AAyBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsCpD,wBAAgB,YAAY,CAC1B,IAAI,GAAE,MAAM,EAA0B,GACrC,aAAa,CA6Cf;AAqCD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA0L1C"}
|
package/dist/cli-run.js
ADDED
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* rill-run: Extension-aware rill script runner.
|
|
4
|
+
* Loads extensions from rill-config.json, generates bindings, and executes scripts.
|
|
5
|
+
*/
|
|
6
|
+
import { readFileSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
7
|
+
import { dirname, resolve } from 'node:path';
|
|
8
|
+
import { parseArgs } from 'node:util';
|
|
9
|
+
import { config as dotenvConfig } from 'dotenv';
|
|
10
|
+
import { parse, execute, createRuntimeContext, invokeCallable, isScriptCallable, VERSION, } from '@rcrsr/rill';
|
|
11
|
+
import { resolveConfigPath, loadProject, parseMainField, introspectHandler, marshalCliArgs, ConfigError, } from '@rcrsr/rill-config';
|
|
12
|
+
import { explainError } from './cli-explain.js';
|
|
13
|
+
import { runScript } from './run/runner.js';
|
|
14
|
+
// ============================================================
|
|
15
|
+
// HELP TEXT
|
|
16
|
+
// ============================================================
|
|
17
|
+
const USAGE = `\
|
|
18
|
+
Usage: rill-run [args...]
|
|
19
|
+
|
|
20
|
+
Options:
|
|
21
|
+
--config <path> Config file path (default: search from cwd)
|
|
22
|
+
--format <mode> Output format: human, json, compact (default: human)
|
|
23
|
+
--verbose Show full error details (default: false)
|
|
24
|
+
--max-stack-depth <n> Error stack frame limit (default: 10)
|
|
25
|
+
--create-bindings Write bindings source to config-defined file and exit
|
|
26
|
+
--explain <code> Print error code documentation
|
|
27
|
+
--help Print this help message and exit
|
|
28
|
+
--version Print version and exit`.trimEnd();
|
|
29
|
+
// ============================================================
|
|
30
|
+
// BASE OPTIONS (used to separate known flags from handler args)
|
|
31
|
+
// ============================================================
|
|
32
|
+
const BASE_OPTIONS = {
|
|
33
|
+
config: { type: 'string' },
|
|
34
|
+
format: { type: 'string' },
|
|
35
|
+
verbose: { type: 'boolean' },
|
|
36
|
+
'max-stack-depth': { type: 'string' },
|
|
37
|
+
'create-bindings': { type: 'boolean' },
|
|
38
|
+
help: { type: 'boolean' },
|
|
39
|
+
version: { type: 'boolean' },
|
|
40
|
+
explain: { type: 'string' },
|
|
41
|
+
};
|
|
42
|
+
// ============================================================
|
|
43
|
+
// PARSE ARGS
|
|
44
|
+
// ============================================================
|
|
45
|
+
export function parseCliArgs(argv = process.argv.slice(2)) {
|
|
46
|
+
const { values, positionals } = parseArgs({
|
|
47
|
+
args: argv,
|
|
48
|
+
options: BASE_OPTIONS,
|
|
49
|
+
allowPositionals: true,
|
|
50
|
+
strict: false,
|
|
51
|
+
});
|
|
52
|
+
if (values['help'] === true) {
|
|
53
|
+
process.stdout.write(USAGE + '\n');
|
|
54
|
+
process.exit(0);
|
|
55
|
+
}
|
|
56
|
+
if (values['version'] === true) {
|
|
57
|
+
process.stdout.write(`rill-run ${VERSION}\n`);
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
if (positionals.length === 0 && values['create-bindings'] === undefined) {
|
|
61
|
+
process.stderr.write('Error: no script path provided\n\n' + USAGE + '\n');
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
const scriptPath = positionals[0];
|
|
65
|
+
const scriptArgs = positionals.slice(1);
|
|
66
|
+
const rawFormat = values['format'];
|
|
67
|
+
const format = rawFormat === 'json' || rawFormat === 'compact' ? rawFormat : 'human';
|
|
68
|
+
const rawDepth = values['max-stack-depth'];
|
|
69
|
+
const parsedDepth = rawDepth !== undefined ? parseInt(rawDepth, 10) : NaN;
|
|
70
|
+
const maxStackDepth = !isNaN(parsedDepth) && parsedDepth >= 0 ? parsedDepth : 10;
|
|
71
|
+
return {
|
|
72
|
+
scriptPath,
|
|
73
|
+
scriptArgs,
|
|
74
|
+
config: values['config'] ?? './rill-config.json',
|
|
75
|
+
format,
|
|
76
|
+
verbose: values['verbose'] === true,
|
|
77
|
+
maxStackDepth,
|
|
78
|
+
explain: values['explain'],
|
|
79
|
+
createBindings: values['create-bindings'] === true,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// ============================================================
|
|
83
|
+
// HANDLER ARG EXTRACTION
|
|
84
|
+
// ============================================================
|
|
85
|
+
/**
|
|
86
|
+
* Extract unknown flags from argv as handler parameter strings.
|
|
87
|
+
* Filters out known base options and their values.
|
|
88
|
+
*/
|
|
89
|
+
function extractHandlerArgs(argv) {
|
|
90
|
+
const { values } = parseArgs({
|
|
91
|
+
args: argv,
|
|
92
|
+
options: BASE_OPTIONS,
|
|
93
|
+
allowPositionals: true,
|
|
94
|
+
strict: false,
|
|
95
|
+
});
|
|
96
|
+
const knownKeys = new Set(Object.keys(BASE_OPTIONS));
|
|
97
|
+
const handlerArgs = {};
|
|
98
|
+
for (const [key, value] of Object.entries(values)) {
|
|
99
|
+
if (knownKeys.has(key))
|
|
100
|
+
continue;
|
|
101
|
+
if (typeof value === 'string') {
|
|
102
|
+
handlerArgs[key] = value;
|
|
103
|
+
}
|
|
104
|
+
else if (value === true) {
|
|
105
|
+
handlerArgs[key] = '';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return handlerArgs;
|
|
109
|
+
}
|
|
110
|
+
// ============================================================
|
|
111
|
+
// MAIN
|
|
112
|
+
// ============================================================
|
|
113
|
+
export async function main() {
|
|
114
|
+
dotenvConfig({ quiet: true });
|
|
115
|
+
const argv = process.argv.slice(2);
|
|
116
|
+
const opts = parseCliArgs(argv);
|
|
117
|
+
if (opts.explain !== undefined) {
|
|
118
|
+
const doc = explainError(opts.explain);
|
|
119
|
+
if (doc !== null) {
|
|
120
|
+
process.stdout.write(doc + '\n');
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
process.stdout.write(`${opts.explain}: No documentation available.\n`);
|
|
124
|
+
}
|
|
125
|
+
process.exit(0);
|
|
126
|
+
}
|
|
127
|
+
const hasExplicitConfig = opts.config !== './rill-config.json';
|
|
128
|
+
let configPath;
|
|
129
|
+
try {
|
|
130
|
+
configPath = resolveConfigPath({
|
|
131
|
+
...(hasExplicitConfig ? { configFlag: opts.config } : {}),
|
|
132
|
+
cwd: process.cwd(),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
if (err instanceof ConfigError) {
|
|
137
|
+
process.stderr.write(err.message + '\n');
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
let project;
|
|
143
|
+
try {
|
|
144
|
+
project = await loadProject({
|
|
145
|
+
configPath,
|
|
146
|
+
env: process.env,
|
|
147
|
+
rillVersion: VERSION,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
if (err instanceof ConfigError) {
|
|
152
|
+
process.stderr.write(err.message + '\n');
|
|
153
|
+
process.exit(1);
|
|
154
|
+
}
|
|
155
|
+
throw err;
|
|
156
|
+
}
|
|
157
|
+
// Create bindings and exit early if --create-bindings was set
|
|
158
|
+
if (opts.createBindings === true) {
|
|
159
|
+
const extBindingsPath = resolve(process.cwd(), project.config.extensions?.bindings ?? 'bindings/ext.rill');
|
|
160
|
+
const ctxBindingsPath = resolve(process.cwd(), project.config.context?.bindings ?? 'bindings/context.rill');
|
|
161
|
+
mkdirSync(dirname(extBindingsPath), { recursive: true });
|
|
162
|
+
writeFileSync(extBindingsPath, project.extensionBindings + '\n');
|
|
163
|
+
mkdirSync(dirname(ctxBindingsPath), { recursive: true });
|
|
164
|
+
writeFileSync(ctxBindingsPath, project.contextBindings + '\n');
|
|
165
|
+
process.exit(0);
|
|
166
|
+
}
|
|
167
|
+
// Handler mode: main field contains "file.rill:handlerName"
|
|
168
|
+
const mainField = project.config.main;
|
|
169
|
+
if (mainField !== undefined && mainField.includes(':')) {
|
|
170
|
+
const { filePath, handlerName } = parseMainField(mainField);
|
|
171
|
+
const absolutePath = resolve(process.cwd(), filePath);
|
|
172
|
+
let source;
|
|
173
|
+
try {
|
|
174
|
+
source = readFileSync(absolutePath, 'utf-8');
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
178
|
+
process.stderr.write(message + '\n');
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
181
|
+
let ast;
|
|
182
|
+
try {
|
|
183
|
+
ast = parse(source);
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
187
|
+
process.stderr.write(message + '\n');
|
|
188
|
+
process.exit(1);
|
|
189
|
+
}
|
|
190
|
+
const runtimeOptions = {
|
|
191
|
+
...project.resolverConfig,
|
|
192
|
+
parseSource: parse,
|
|
193
|
+
callbacks: {
|
|
194
|
+
onLog: (msg) => {
|
|
195
|
+
process.stdout.write(msg + '\n');
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
maxCallStackDepth: opts.maxStackDepth,
|
|
199
|
+
};
|
|
200
|
+
const ctx = createRuntimeContext(runtimeOptions);
|
|
201
|
+
try {
|
|
202
|
+
await execute(ast, ctx);
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
206
|
+
process.stderr.write(message + '\n');
|
|
207
|
+
process.exit(1);
|
|
208
|
+
}
|
|
209
|
+
const handlerValue = handlerName !== undefined ? ctx.variables.get(handlerName) : undefined;
|
|
210
|
+
if (handlerValue === undefined || !isScriptCallable(handlerValue)) {
|
|
211
|
+
process.stderr.write(`Handler not found: $${handlerName ?? '(none)'} is not a closure\n`);
|
|
212
|
+
process.exit(1);
|
|
213
|
+
}
|
|
214
|
+
const introspection = introspectHandler(handlerValue);
|
|
215
|
+
const rawHandlerArgs = extractHandlerArgs(argv);
|
|
216
|
+
let handlerArgs;
|
|
217
|
+
try {
|
|
218
|
+
handlerArgs = marshalCliArgs(rawHandlerArgs, introspection.params);
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
if (err instanceof ConfigError) {
|
|
222
|
+
process.stderr.write(err.message + '\n');
|
|
223
|
+
process.exit(1);
|
|
224
|
+
}
|
|
225
|
+
throw err;
|
|
226
|
+
}
|
|
227
|
+
ctx.pipeValue = handlerArgs;
|
|
228
|
+
let handlerResult;
|
|
229
|
+
try {
|
|
230
|
+
handlerResult = await invokeCallable(handlerValue, [], ctx);
|
|
231
|
+
}
|
|
232
|
+
catch (err) {
|
|
233
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
234
|
+
process.stderr.write(message + '\n');
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
finally {
|
|
238
|
+
for (const dispose of project.disposes) {
|
|
239
|
+
try {
|
|
240
|
+
await dispose();
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// Ignore dispose errors
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (typeof handlerResult === 'string' && handlerResult.length > 0) {
|
|
248
|
+
process.stdout.write(handlerResult + '\n');
|
|
249
|
+
}
|
|
250
|
+
process.exit(0);
|
|
251
|
+
}
|
|
252
|
+
// Module mode: use main field as script path, or use CLI positional
|
|
253
|
+
const scriptPath = mainField !== undefined
|
|
254
|
+
? resolve(process.cwd(), mainField)
|
|
255
|
+
: opts.scriptPath;
|
|
256
|
+
const runOpts = {
|
|
257
|
+
...opts,
|
|
258
|
+
scriptPath,
|
|
259
|
+
};
|
|
260
|
+
const runResult = await runScript(runOpts, project.config, project.extTree, project.extensionBindings, [...project.disposes]);
|
|
261
|
+
if (runResult.output !== undefined) {
|
|
262
|
+
process.stdout.write(runResult.output + '\n');
|
|
263
|
+
}
|
|
264
|
+
if (runResult.errorOutput !== undefined) {
|
|
265
|
+
process.stderr.write(runResult.errorOutput + '\n');
|
|
266
|
+
}
|
|
267
|
+
process.exit(runResult.exitCode);
|
|
268
|
+
}
|
|
269
|
+
// ============================================================
|
|
270
|
+
// ENTRY
|
|
271
|
+
// ============================================================
|
|
272
|
+
const shouldRunMain = process.env['NODE_ENV'] !== 'test' &&
|
|
273
|
+
!process.env['VITEST'] &&
|
|
274
|
+
!process.env['VITEST_WORKER_ID'];
|
|
275
|
+
if (shouldRunMain) {
|
|
276
|
+
main().catch((err) => {
|
|
277
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
278
|
+
process.stderr.write(`Fatal error: ${message}\n`);
|
|
279
|
+
process.exit(1);
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=cli-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script runner for rill-run.
|
|
3
|
+
* Builds runtime options, executes rill scripts, and maps results to exit codes.
|
|
4
|
+
*/
|
|
5
|
+
import { type SchemeResolver } from '@rcrsr/rill';
|
|
6
|
+
import type { NestedExtConfig, RillConfigFile } from '@rcrsr/rill-config';
|
|
7
|
+
import type { RunCliOptions } from './types.js';
|
|
8
|
+
export interface RunResult {
|
|
9
|
+
readonly exitCode: number;
|
|
10
|
+
readonly output?: string | undefined;
|
|
11
|
+
readonly errorOutput?: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build a custom module scheme resolver.
|
|
15
|
+
* - ID 'ext' → returns generated bindings source
|
|
16
|
+
* - ID 'ext.*' → drills into extTree subtree and returns bindings for that node
|
|
17
|
+
* - All other IDs → delegates to moduleResolver with the modules config
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildModuleResolver(bindingsSource: string, modulesConfig: Record<string, string>, extTree: NestedExtConfig): SchemeResolver;
|
|
20
|
+
/**
|
|
21
|
+
* Run a rill script file with the given extension tree and config.
|
|
22
|
+
*/
|
|
23
|
+
export declare function runScript(opts: RunCliOptions, config: RillConfigFile, extTree: NestedExtConfig, bindingsSrc: string, disposes: Array<() => void | Promise<void>>): Promise<RunResult>;
|
|
24
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAWL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AA4CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CAwChB;AA6ID;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAC1C,OAAO,CAAC,SAAS,CAAC,CA4FpB"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script runner for rill-run.
|
|
3
|
+
* Builds runtime options, executes rill scripts, and maps results to exit codes.
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync } from 'node:fs';
|
|
6
|
+
import { parse, execute, createRuntimeContext, extResolver, moduleResolver, toNative, isTuple, } from '@rcrsr/rill';
|
|
7
|
+
import { ParseError, RillError, getCallStack } from '@rcrsr/rill';
|
|
8
|
+
import { buildExtensionBindings, isLeafFunction } from '@rcrsr/rill-config';
|
|
9
|
+
// ============================================================
|
|
10
|
+
// TREE CONVERSION
|
|
11
|
+
// ============================================================
|
|
12
|
+
function convertTreeToRillValues(tree) {
|
|
13
|
+
const result = {};
|
|
14
|
+
for (const [key, value] of Object.entries(tree)) {
|
|
15
|
+
if (typeof value === 'object' &&
|
|
16
|
+
value !== null &&
|
|
17
|
+
'fn' in value &&
|
|
18
|
+
typeof value.fn === 'function' &&
|
|
19
|
+
'params' in value) {
|
|
20
|
+
const rillFn = value;
|
|
21
|
+
result[key] = {
|
|
22
|
+
__type: 'callable',
|
|
23
|
+
kind: 'application',
|
|
24
|
+
isProperty: false,
|
|
25
|
+
fn: rillFn.fn,
|
|
26
|
+
params: rillFn.params,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
result[key] = convertTreeToRillValues(value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
// ============================================================
|
|
36
|
+
// MODULE RESOLVER
|
|
37
|
+
// ============================================================
|
|
38
|
+
/**
|
|
39
|
+
* Build a custom module scheme resolver.
|
|
40
|
+
* - ID 'ext' → returns generated bindings source
|
|
41
|
+
* - ID 'ext.*' → drills into extTree subtree and returns bindings for that node
|
|
42
|
+
* - All other IDs → delegates to moduleResolver with the modules config
|
|
43
|
+
*/
|
|
44
|
+
export function buildModuleResolver(bindingsSource, modulesConfig, extTree) {
|
|
45
|
+
const moduleConfig = {};
|
|
46
|
+
for (const [id, path] of Object.entries(modulesConfig)) {
|
|
47
|
+
if (id !== 'ext') {
|
|
48
|
+
moduleConfig[id] = path;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const resolver = (resource) => {
|
|
52
|
+
if (resource === 'ext') {
|
|
53
|
+
return { kind: 'source', text: bindingsSource };
|
|
54
|
+
}
|
|
55
|
+
if (resource.startsWith('ext.')) {
|
|
56
|
+
const suffix = resource.slice('ext.'.length);
|
|
57
|
+
const segments = suffix.split('.');
|
|
58
|
+
let node = extTree;
|
|
59
|
+
let fullyResolved = true;
|
|
60
|
+
for (const segment of segments) {
|
|
61
|
+
const child = node[segment];
|
|
62
|
+
if (child === undefined) {
|
|
63
|
+
fullyResolved = false;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
if (isLeafFunction(child)) {
|
|
67
|
+
fullyResolved = false;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
node = child;
|
|
71
|
+
}
|
|
72
|
+
if (fullyResolved && node !== extTree) {
|
|
73
|
+
const subtreeSource = buildExtensionBindings(node, suffix);
|
|
74
|
+
return { kind: 'source', text: subtreeSource };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return moduleResolver(resource, moduleConfig);
|
|
78
|
+
};
|
|
79
|
+
return resolver;
|
|
80
|
+
}
|
|
81
|
+
// ============================================================
|
|
82
|
+
// EXIT CODE MAPPING
|
|
83
|
+
// ============================================================
|
|
84
|
+
function mapResultToRunResult(result, format) {
|
|
85
|
+
if (isTuple(result)) {
|
|
86
|
+
const tuple = result;
|
|
87
|
+
if (tuple.entries.length === 2) {
|
|
88
|
+
const code = tuple.entries[0];
|
|
89
|
+
const message = tuple.entries[1];
|
|
90
|
+
if (typeof code === 'number' && typeof message === 'string') {
|
|
91
|
+
return {
|
|
92
|
+
exitCode: code,
|
|
93
|
+
output: message.length > 0 ? message : undefined,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (result === false || result === '') {
|
|
99
|
+
return { exitCode: 1 };
|
|
100
|
+
}
|
|
101
|
+
const formatted = formatOutput(result, format);
|
|
102
|
+
return { exitCode: 0, output: formatted };
|
|
103
|
+
}
|
|
104
|
+
function formatOutput(value, format) {
|
|
105
|
+
const native = toNative(value);
|
|
106
|
+
if (format === 'json' || format === 'compact') {
|
|
107
|
+
return JSON.stringify(native.value);
|
|
108
|
+
}
|
|
109
|
+
if (typeof value === 'string') {
|
|
110
|
+
return value;
|
|
111
|
+
}
|
|
112
|
+
return JSON.stringify(native.value, null, 2);
|
|
113
|
+
}
|
|
114
|
+
// ============================================================
|
|
115
|
+
// ERROR FORMATTING
|
|
116
|
+
// ============================================================
|
|
117
|
+
function resolveSourceSnippet(location, sources, filePath) {
|
|
118
|
+
if (sources.script !== undefined) {
|
|
119
|
+
const lines = sources.script.split('\n');
|
|
120
|
+
const idx = location.line - 1;
|
|
121
|
+
if (idx >= 0 &&
|
|
122
|
+
idx < lines.length &&
|
|
123
|
+
location.column <= lines[idx].length + 1) {
|
|
124
|
+
return {
|
|
125
|
+
label: filePath ?? '<script>',
|
|
126
|
+
...(lines[idx] !== undefined ? { sourceLine: lines[idx] } : {}),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (sources.bindings !== undefined) {
|
|
131
|
+
const lines = sources.bindings.split('\n');
|
|
132
|
+
const idx = location.line - 1;
|
|
133
|
+
if (idx >= 0 && idx < lines.length) {
|
|
134
|
+
return {
|
|
135
|
+
label: '<generated bindings>',
|
|
136
|
+
...(lines[idx] !== undefined ? { sourceLine: lines[idx] } : {}),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return { label: filePath ?? '<unknown>' };
|
|
141
|
+
}
|
|
142
|
+
function formatRillError(error, verbose, maxStackDepth, filePath, sources) {
|
|
143
|
+
const data = error.toData();
|
|
144
|
+
const parts = [];
|
|
145
|
+
parts.push(`${data.errorId}: ${data.message}`);
|
|
146
|
+
if (data.location !== undefined && sources !== undefined) {
|
|
147
|
+
const match = resolveSourceSnippet(data.location, sources, filePath);
|
|
148
|
+
parts.push(` at ${match.label}:${data.location.line}:${data.location.column}`);
|
|
149
|
+
if (match.sourceLine !== undefined) {
|
|
150
|
+
parts.push('');
|
|
151
|
+
const lineNum = String(data.location.line);
|
|
152
|
+
parts.push(` ${lineNum} | ${match.sourceLine}`);
|
|
153
|
+
const caretCol = Math.max(0, data.location.column - 1);
|
|
154
|
+
parts.push(` ${' '.repeat(lineNum.length)} | ${' '.repeat(caretCol)}^`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if (data.location !== undefined) {
|
|
158
|
+
parts.push(` at line ${data.location.line}, column ${data.location.column}`);
|
|
159
|
+
}
|
|
160
|
+
if (verbose &&
|
|
161
|
+
data.context !== undefined &&
|
|
162
|
+
Object.keys(data.context).length > 0) {
|
|
163
|
+
parts.push(` context: ${JSON.stringify(data.context, null, 2)}`);
|
|
164
|
+
}
|
|
165
|
+
if (verbose && data.helpUrl !== undefined) {
|
|
166
|
+
parts.push(` help: ${data.helpUrl}`);
|
|
167
|
+
}
|
|
168
|
+
const frames = getCallStack(error);
|
|
169
|
+
const visibleFrames = frames.slice(0, maxStackDepth);
|
|
170
|
+
for (const frame of visibleFrames) {
|
|
171
|
+
const loc = `${frame.location.start.line}:${frame.location.start.column}`;
|
|
172
|
+
const name = frame.functionName !== undefined ? ` in ${frame.functionName}` : '';
|
|
173
|
+
const ctx = frame.context !== undefined ? ` (${frame.context})` : '';
|
|
174
|
+
parts.push(` at ${loc}${name}${ctx}`);
|
|
175
|
+
}
|
|
176
|
+
return parts.join('\n');
|
|
177
|
+
}
|
|
178
|
+
// ============================================================
|
|
179
|
+
// RUNNER
|
|
180
|
+
// ============================================================
|
|
181
|
+
/**
|
|
182
|
+
* Run a rill script file with the given extension tree and config.
|
|
183
|
+
*/
|
|
184
|
+
export async function runScript(opts, config, extTree, bindingsSrc, disposes) {
|
|
185
|
+
if (!opts.scriptPath) {
|
|
186
|
+
return { exitCode: 1, errorOutput: 'no script path provided' };
|
|
187
|
+
}
|
|
188
|
+
let source;
|
|
189
|
+
try {
|
|
190
|
+
source = readFileSync(opts.scriptPath, 'utf-8');
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
194
|
+
return { exitCode: 1, errorOutput: message };
|
|
195
|
+
}
|
|
196
|
+
const extConfig = convertTreeToRillValues(extTree);
|
|
197
|
+
const modulesConfig = config.modules ?? {};
|
|
198
|
+
const customModuleResolver = buildModuleResolver(bindingsSrc, modulesConfig, extTree);
|
|
199
|
+
const runtimeOptions = {
|
|
200
|
+
resolvers: {
|
|
201
|
+
ext: extResolver,
|
|
202
|
+
module: customModuleResolver,
|
|
203
|
+
},
|
|
204
|
+
configurations: {
|
|
205
|
+
resolvers: {
|
|
206
|
+
ext: extConfig,
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
parseSource: parse,
|
|
210
|
+
callbacks: {
|
|
211
|
+
onLog: (msg) => {
|
|
212
|
+
process.stdout.write(msg + '\n');
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
maxCallStackDepth: opts.maxStackDepth,
|
|
216
|
+
};
|
|
217
|
+
const ctx = createRuntimeContext(runtimeOptions);
|
|
218
|
+
if (opts.scriptArgs.length > 0) {
|
|
219
|
+
ctx.pipeValue = opts.scriptArgs.join(' ');
|
|
220
|
+
}
|
|
221
|
+
let ast;
|
|
222
|
+
try {
|
|
223
|
+
ast = parse(source);
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
if (err instanceof ParseError) {
|
|
227
|
+
const formatted = formatRillError(err, opts.verbose, opts.maxStackDepth, opts.scriptPath, { script: source });
|
|
228
|
+
return { exitCode: 1, errorOutput: formatted };
|
|
229
|
+
}
|
|
230
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
231
|
+
return { exitCode: 1, errorOutput: message };
|
|
232
|
+
}
|
|
233
|
+
let result;
|
|
234
|
+
try {
|
|
235
|
+
const execResult = await execute(ast, ctx);
|
|
236
|
+
result = execResult.result;
|
|
237
|
+
}
|
|
238
|
+
catch (err) {
|
|
239
|
+
if (err instanceof RillError) {
|
|
240
|
+
const formatted = formatRillError(err, opts.verbose, opts.maxStackDepth, opts.scriptPath, { script: source, bindings: bindingsSrc });
|
|
241
|
+
return { exitCode: 1, errorOutput: formatted };
|
|
242
|
+
}
|
|
243
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
244
|
+
return { exitCode: 1, errorOutput: message };
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
for (const dispose of disposes) {
|
|
248
|
+
try {
|
|
249
|
+
await dispose();
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
// Ignore dispose errors
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return mapResultToRunResult(result, opts.format);
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for rill-run.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parsed CLI options from process.argv.
|
|
6
|
+
*/
|
|
7
|
+
export interface RunCliOptions {
|
|
8
|
+
readonly scriptPath?: string | undefined;
|
|
9
|
+
readonly scriptArgs: string[];
|
|
10
|
+
readonly config: string;
|
|
11
|
+
readonly format: 'human' | 'json' | 'compact';
|
|
12
|
+
readonly verbose: boolean;
|
|
13
|
+
readonly maxStackDepth: number;
|
|
14
|
+
readonly explain?: string | undefined;
|
|
15
|
+
readonly createBindings?: boolean | undefined;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/run/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/run/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rcrsr/rill-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "CLI tools for the rill scripting language",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Andre Bremer",
|
|
@@ -15,11 +15,14 @@
|
|
|
15
15
|
"bin": {
|
|
16
16
|
"rill-exec": "./dist/cli-exec.js",
|
|
17
17
|
"rill-eval": "./dist/cli-eval.js",
|
|
18
|
-
"rill-check": "./dist/cli-check.js"
|
|
18
|
+
"rill-check": "./dist/cli-check.js",
|
|
19
|
+
"rill-run": "./dist/cli-run.js"
|
|
19
20
|
},
|
|
20
21
|
"dependencies": {
|
|
22
|
+
"dotenv": "^16.0.0",
|
|
21
23
|
"yaml": "^2.8.2",
|
|
22
|
-
"@rcrsr/rill": "^0.
|
|
24
|
+
"@rcrsr/rill": "^0.12.0",
|
|
25
|
+
"@rcrsr/rill-config": "^0.12.0"
|
|
23
26
|
},
|
|
24
27
|
"files": [
|
|
25
28
|
"dist"
|