@kernlang/core 3.1.1 → 3.1.3
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 +3 -0
- package/dist/codegen-core.d.ts +10 -2
- package/dist/codegen-core.js +128 -227
- package/dist/codegen-core.js.map +1 -1
- package/dist/concepts.d.ts +12 -2
- package/dist/concepts.js.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +13 -0
- package/dist/parser.js +152 -41
- package/dist/parser.js.map +1 -1
- package/dist/spec.d.ts +3 -3
- package/dist/spec.js +5 -3
- package/dist/spec.js.map +1 -1
- package/dist/template-engine.js +9 -5
- package/dist/template-engine.js.map +1 -1
- package/dist/types.d.ts +22 -0
- package/dist/utils.d.ts +9 -1
- package/dist/utils.js +63 -1
- package/dist/utils.js.map +1 -1
- package/package.json +10 -1
package/dist/parser.js
CHANGED
|
@@ -42,8 +42,14 @@ export function tokenizeLine(line) {
|
|
|
42
42
|
else
|
|
43
43
|
i++;
|
|
44
44
|
}
|
|
45
|
+
if (depth > 0) {
|
|
46
|
+
_parseWarnings.push(`Unclosed expression block '{{' at column ${start + 1}`);
|
|
47
|
+
}
|
|
45
48
|
const inner = line.slice(start + 2, i).trim();
|
|
46
|
-
i
|
|
49
|
+
if (i < line.length - 1)
|
|
50
|
+
i += 2;
|
|
51
|
+
else
|
|
52
|
+
i = line.length;
|
|
47
53
|
tokens.push({ kind: 'expr', value: inner, pos: start });
|
|
48
54
|
continue;
|
|
49
55
|
}
|
|
@@ -52,27 +58,60 @@ export function tokenizeLine(line) {
|
|
|
52
58
|
const start = i;
|
|
53
59
|
let inQuote = false;
|
|
54
60
|
let j = i + 1;
|
|
61
|
+
let closed = false;
|
|
55
62
|
while (j < line.length) {
|
|
63
|
+
if (line[j] === '\\' && j + 1 < line.length) {
|
|
64
|
+
j += 2;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
56
67
|
if (line[j] === '"')
|
|
57
68
|
inQuote = !inQuote;
|
|
58
69
|
if (!inQuote && line[j] === '}') {
|
|
59
70
|
j++;
|
|
71
|
+
closed = true;
|
|
60
72
|
break;
|
|
61
73
|
}
|
|
62
74
|
j++;
|
|
63
75
|
}
|
|
64
|
-
|
|
76
|
+
if (!closed) {
|
|
77
|
+
_parseWarnings.push(`Unclosed style block '{' at column ${start + 1}`);
|
|
78
|
+
}
|
|
79
|
+
tokens.push({ kind: 'style', value: line.slice(start + 1, closed ? j - 1 : j), pos: start });
|
|
65
80
|
i = j;
|
|
66
81
|
continue;
|
|
67
82
|
}
|
|
68
|
-
// Quoted string "..."
|
|
83
|
+
// Quoted string "..." with \" escape support
|
|
69
84
|
if (ch === '"') {
|
|
70
85
|
const start = i;
|
|
71
86
|
i++;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
let inner = '';
|
|
88
|
+
while (i < line.length && line[i] !== '"') {
|
|
89
|
+
if (line[i] === '\\' && i + 1 < line.length) {
|
|
90
|
+
const next = line[i + 1];
|
|
91
|
+
if (next === '"') {
|
|
92
|
+
inner += '"';
|
|
93
|
+
i += 2;
|
|
94
|
+
}
|
|
95
|
+
else if (next === '\\') {
|
|
96
|
+
inner += '\\';
|
|
97
|
+
i += 2;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
inner += line[i];
|
|
101
|
+
i++;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
inner += line[i];
|
|
106
|
+
i++;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (i >= line.length) {
|
|
110
|
+
_parseWarnings.push(`Unclosed quoted string at column ${start + 1}`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
i++; // skip closing quote
|
|
114
|
+
}
|
|
76
115
|
tokens.push({ kind: 'quoted', value: inner, pos: start });
|
|
77
116
|
continue;
|
|
78
117
|
}
|
|
@@ -372,6 +411,20 @@ const KEYWORD_HANDLERS = new Map([
|
|
|
372
411
|
if (num)
|
|
373
412
|
props.status = parseInt(num, 10);
|
|
374
413
|
}],
|
|
414
|
+
// Rule syntax — native .kern lint rules
|
|
415
|
+
['rule', (s, props) => {
|
|
416
|
+
// rule id severity=error category=bug confidence=0.9
|
|
417
|
+
consumeBareIdent(s, props, 'id');
|
|
418
|
+
}],
|
|
419
|
+
['message', (s, props) => {
|
|
420
|
+
// message "template with {{interpolation}}"
|
|
421
|
+
s.skipWS();
|
|
422
|
+
const tok = s.peek();
|
|
423
|
+
if (tok && tok.kind === 'quoted') {
|
|
424
|
+
props.template = tok.value;
|
|
425
|
+
s.next();
|
|
426
|
+
}
|
|
427
|
+
}],
|
|
375
428
|
['middleware', (s, props, content) => {
|
|
376
429
|
s.skipWS();
|
|
377
430
|
if (!s.hasMore())
|
|
@@ -458,7 +511,7 @@ function parseLine(raw, lineNum) {
|
|
|
458
511
|
_parseWarnings.push(`Unexpected token "${skipped.value}" at line ${lineNum}:${errCol}`);
|
|
459
512
|
}
|
|
460
513
|
return {
|
|
461
|
-
indent
|
|
514
|
+
indent,
|
|
462
515
|
type,
|
|
463
516
|
props,
|
|
464
517
|
styles,
|
|
@@ -475,7 +528,11 @@ function splitStylePairs(block) {
|
|
|
475
528
|
let parenDepth = 0;
|
|
476
529
|
for (let i = 0; i < block.length; i++) {
|
|
477
530
|
const ch = block[i];
|
|
478
|
-
if (ch === '
|
|
531
|
+
if (ch === '\\' && i + 1 < block.length) {
|
|
532
|
+
current += ch + block[i + 1];
|
|
533
|
+
i++;
|
|
534
|
+
}
|
|
535
|
+
else if (ch === '"') {
|
|
479
536
|
inQuote = !inQuote;
|
|
480
537
|
current += ch;
|
|
481
538
|
}
|
|
@@ -518,7 +575,7 @@ function parseStyleBlock(block, styles, pseudoStyles) {
|
|
|
518
575
|
const key = quotedKeyMatch[1];
|
|
519
576
|
let value = quotedKeyMatch[2].trim();
|
|
520
577
|
if (value.startsWith('"') && value.endsWith('"')) {
|
|
521
|
-
value = value.slice(1, -1);
|
|
578
|
+
value = value.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
|
522
579
|
}
|
|
523
580
|
styles[key] = value;
|
|
524
581
|
continue;
|
|
@@ -529,14 +586,14 @@ function parseStyleBlock(block, styles, pseudoStyles) {
|
|
|
529
586
|
const key = pair.slice(0, colonIdx).trim();
|
|
530
587
|
let value = pair.slice(colonIdx + 1).trim();
|
|
531
588
|
if (value.startsWith('"') && value.endsWith('"')) {
|
|
532
|
-
value = value.slice(1, -1);
|
|
589
|
+
value = value.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
|
533
590
|
}
|
|
534
591
|
styles[key] = value;
|
|
535
592
|
}
|
|
536
593
|
}
|
|
537
594
|
}
|
|
538
595
|
function expandMinified(source) {
|
|
539
|
-
if (!source.includes('(') || source.split('\n').length >
|
|
596
|
+
if (!source.includes('(') || source.split('\n').length > 1)
|
|
540
597
|
return source;
|
|
541
598
|
const result = [];
|
|
542
599
|
let depth = 0;
|
|
@@ -594,10 +651,10 @@ function expandMinified(source) {
|
|
|
594
651
|
}
|
|
595
652
|
/** Get warnings from the last parse() call */
|
|
596
653
|
export function getParseWarnings() { return [..._parseWarnings]; }
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
const lines = source.split('\n');
|
|
654
|
+
// ── Shared parse helpers ─────────────────────────────────────────────────
|
|
655
|
+
/** Process source lines into ParsedLine entries (multiline blocks + regular lines). */
|
|
656
|
+
function parseLines(source) {
|
|
657
|
+
const lines = expandMinified(source).split('\n');
|
|
601
658
|
const parsed = [];
|
|
602
659
|
for (let i = 0; i < lines.length; i++) {
|
|
603
660
|
const trimmed = lines[i].trimStart();
|
|
@@ -613,19 +670,22 @@ export function parse(source) {
|
|
|
613
670
|
}
|
|
614
671
|
else {
|
|
615
672
|
i++;
|
|
616
|
-
while (i < lines.length && !lines[i].
|
|
673
|
+
while (i < lines.length && !lines[i].trimStart().startsWith('>>>')) {
|
|
617
674
|
codeLines.push(lines[i]);
|
|
618
675
|
i++;
|
|
619
676
|
}
|
|
620
677
|
if (i < lines.length) {
|
|
621
678
|
const closeLine = lines[i];
|
|
622
679
|
const closeIdx = closeLine.indexOf('>>>');
|
|
623
|
-
if (closeIdx > 0)
|
|
624
|
-
|
|
680
|
+
if (closeIdx > 0) {
|
|
681
|
+
const before = closeLine.slice(0, closeIdx).trim();
|
|
682
|
+
if (before)
|
|
683
|
+
codeLines.push(before);
|
|
684
|
+
}
|
|
625
685
|
}
|
|
626
686
|
}
|
|
627
687
|
parsed.push({
|
|
628
|
-
indent
|
|
688
|
+
indent,
|
|
629
689
|
type: multilineType,
|
|
630
690
|
props: { code: codeLines.join('\n').replace(/^\n+|\n+$/g, '') },
|
|
631
691
|
styles: {},
|
|
@@ -639,27 +699,28 @@ export function parse(source) {
|
|
|
639
699
|
if (p)
|
|
640
700
|
parsed.push(p);
|
|
641
701
|
}
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
702
|
+
return parsed;
|
|
703
|
+
}
|
|
704
|
+
/** Convert a ParsedLine to an IRNode (no children yet). */
|
|
705
|
+
function toNode(p) {
|
|
706
|
+
const node = {
|
|
707
|
+
type: p.type,
|
|
708
|
+
loc: p.loc,
|
|
709
|
+
props: { ...p.props },
|
|
710
|
+
children: [],
|
|
711
|
+
};
|
|
712
|
+
if (Object.keys(p.styles).length > 0)
|
|
713
|
+
node.props.styles = p.styles;
|
|
714
|
+
if (Object.keys(p.pseudoStyles).length > 0)
|
|
715
|
+
node.props.pseudoStyles = p.pseudoStyles;
|
|
716
|
+
if (p.themeRefs.length > 0)
|
|
717
|
+
node.props.themeRefs = p.themeRefs;
|
|
718
|
+
return node;
|
|
719
|
+
}
|
|
720
|
+
/** Build a tree from parsed lines using indent-based stack. */
|
|
721
|
+
function buildTree(parsed, root, rootIndent) {
|
|
722
|
+
const stack = [{ node: root, indent: rootIndent }];
|
|
723
|
+
for (let i = 0; i < parsed.length; i++) {
|
|
663
724
|
const p = parsed[i];
|
|
664
725
|
const node = toNode(p);
|
|
665
726
|
while (stack.length > 1 && stack[stack.length - 1].indent >= p.indent) {
|
|
@@ -671,6 +732,56 @@ export function parse(source) {
|
|
|
671
732
|
parent.children.push(node);
|
|
672
733
|
stack.push({ node, indent: p.indent });
|
|
673
734
|
}
|
|
735
|
+
}
|
|
736
|
+
// ── Public parse API ─────────────────────────────────────────────────────
|
|
737
|
+
/**
|
|
738
|
+
* Parse KERN source into an IR tree. The first node becomes the root.
|
|
739
|
+
* WARNING: For multi-root content (e.g., multiple `rule` definitions),
|
|
740
|
+
* use `parseDocument()` instead — this function treats subsequent
|
|
741
|
+
* top-level nodes as children of the first node.
|
|
742
|
+
* @see parseDocument
|
|
743
|
+
*/
|
|
744
|
+
export function parse(source) {
|
|
745
|
+
_parseWarnings = [];
|
|
746
|
+
const parsed = parseLines(source);
|
|
747
|
+
if (parsed.length === 0) {
|
|
748
|
+
return { type: 'document', children: [], loc: { line: 1, col: 1 } };
|
|
749
|
+
}
|
|
750
|
+
const root = toNode(parsed[0]);
|
|
751
|
+
buildTree(parsed.slice(1), root, parsed[0].indent);
|
|
752
|
+
computeEndSpans(root);
|
|
674
753
|
return root;
|
|
675
754
|
}
|
|
755
|
+
/**
|
|
756
|
+
* Parse KERN source into a document-wrapped IR tree.
|
|
757
|
+
* Unlike parse(), this always returns a `document` root so multiple
|
|
758
|
+
* top-level nodes (e.g., multiple `rule` definitions) are siblings.
|
|
759
|
+
*/
|
|
760
|
+
export function parseDocument(source) {
|
|
761
|
+
_parseWarnings = [];
|
|
762
|
+
const parsed = parseLines(source);
|
|
763
|
+
if (parsed.length === 0) {
|
|
764
|
+
return { type: 'document', children: [], loc: { line: 1, col: 1 } };
|
|
765
|
+
}
|
|
766
|
+
const doc = { type: 'document', children: [], loc: { line: 1, col: 1 } };
|
|
767
|
+
buildTree(parsed, doc, -1);
|
|
768
|
+
computeEndSpans(doc);
|
|
769
|
+
return doc;
|
|
770
|
+
}
|
|
771
|
+
/** Recursively compute endLine/endCol for each node based on its last child. */
|
|
772
|
+
function computeEndSpans(node) {
|
|
773
|
+
if (node.children && node.children.length > 0) {
|
|
774
|
+
for (const child of node.children)
|
|
775
|
+
computeEndSpans(child);
|
|
776
|
+
const lastChild = node.children[node.children.length - 1];
|
|
777
|
+
if (lastChild.loc && node.loc) {
|
|
778
|
+
node.loc.endLine = lastChild.loc.endLine ?? lastChild.loc.line;
|
|
779
|
+
node.loc.endCol = lastChild.loc.endCol ?? lastChild.loc.col;
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
else if (node.loc) {
|
|
783
|
+
node.loc.endLine = node.loc.line;
|
|
784
|
+
node.loc.endCol = node.loc.col;
|
|
785
|
+
}
|
|
786
|
+
}
|
|
676
787
|
//# sourceMappingURL=parser.js.map
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/spec.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const KERN_VERSION = "2.0.0";
|
|
13
13
|
export declare const IR_GRAMMAR = "\ndocument = node+\nnode = indent type (SP prop)* (SP style)? (SP themeref)* NL child*\nchild = node\nindent = \" \"*\ntype = ident\nprop = ident \"=\" value\nvalue = quoted | bare\nquoted = '\"' [^\"]* '\"'\nbare = [^\\s{$]+\nstyle = \"{\" spair (\",\" spair)* \"}\"\nspair = sident \":\" svalue | \":\" pseudo \":\" sident \":\" svalue\npseudo = \"press\" | \"hover\" | \"active\" | \"focus\"\nsident = shorthand | ident\nsvalue = [^,}]+\nthemeref = \"$\" ident\nident = [A-Za-z_][A-Za-z0-9_-]*\nSP = \" \"+\nNL = \"\\n\" | EOF\n";
|
|
14
|
-
export declare const NODE_TYPES: readonly ["screen", "row", "col", "card", "scroll", "text", "image", "progress", "divider", "codeblock", "section", "button", "input", "modal", "list", "item", "tabs", "tab", "header", "theme", "server", "route", "middleware", "handler", "schema", "stream", "spawn", "timer", "on", "env", "websocket", "params", "auth", "validate", "respond", "trigger", "cli", "command", "arg", "flag", "import", "separator", "table", "thead", "tbody", "tr", "th", "td", "scoreboard", "metric", "spinner", "progress", "box", "gradient", "state", "repl", "guard", "parallel", "dispatch", "then", "each", "generateMetadata", "notFound", "redirect", "fetch", "type", "interface", "field", "fn", "union", "variant", "service", "method", "singleton", "constructor", "signal", "cleanup", "machine", "transition", "error", "module", "export", "config", "store", "test", "describe", "it", "event", "hook", "provider", "effect", "memo", "callback", "ref", "context", "cleanup", "prop", "returns", "input-area", "output-area", "text-input", "select-input", "model", "column", "relation", "repository", "dependency", "inject", "cache", "entry", "invalidate", "conditional", "select", "option", "template", "slot", "body", "derive", "transform", "action", "assume", "invariant", "branch", "path", "resolve", "candidate", "discriminator", "collect", "pattern", "apply", "expect", "recover", "strategy", "reason", "evidence", "needs"];
|
|
14
|
+
export declare const NODE_TYPES: readonly ["screen", "row", "col", "card", "scroll", "text", "image", "progress", "divider", "codeblock", "section", "button", "input", "modal", "list", "item", "tabs", "tab", "header", "theme", "server", "route", "middleware", "handler", "schema", "stream", "spawn", "timer", "on", "env", "websocket", "params", "auth", "validate", "respond", "trigger", "cli", "command", "arg", "flag", "import", "separator", "table", "thead", "tbody", "tr", "th", "td", "scoreboard", "metric", "spinner", "progress", "box", "gradient", "state", "repl", "guard", "parallel", "dispatch", "then", "each", "generateMetadata", "notFound", "redirect", "fetch", "type", "interface", "field", "fn", "union", "variant", "service", "method", "singleton", "constructor", "signal", "cleanup", "machine", "transition", "error", "module", "export", "config", "store", "test", "describe", "it", "event", "hook", "provider", "effect", "memo", "callback", "ref", "context", "cleanup", "prop", "returns", "input-area", "output-area", "text-input", "select-input", "model", "column", "relation", "repository", "dependency", "inject", "cache", "entry", "invalidate", "conditional", "select", "option", "template", "slot", "body", "derive", "transform", "action", "assume", "invariant", "branch", "path", "resolve", "candidate", "discriminator", "collect", "pattern", "apply", "expect", "recover", "strategy", "reason", "evidence", "needs", "rule", "message"];
|
|
15
15
|
export type IRNodeType = (typeof NODE_TYPES)[number];
|
|
16
16
|
/** Register an evolved node type (called at startup from .kern/evolved/). */
|
|
17
17
|
export declare function registerEvolvedType(keyword: string): void;
|
|
@@ -19,11 +19,11 @@ export declare function registerEvolvedType(keyword: string): void;
|
|
|
19
19
|
export declare function unregisterEvolvedType(keyword: string): void;
|
|
20
20
|
/** Check if a type is a known node type (core or evolved). */
|
|
21
21
|
export declare function isKnownNodeType(type: string): boolean;
|
|
22
|
-
/** Get all dynamically registered evolved types. */
|
|
22
|
+
/** Get all dynamically registered evolved types (defensive copy). */
|
|
23
23
|
export declare function getEvolvedTypes(): ReadonlySet<string>;
|
|
24
24
|
/** Clear all dynamic types (for test isolation). */
|
|
25
25
|
export declare function clearEvolvedTypes(): void;
|
|
26
26
|
/** Reserved keywords — evolved nodes cannot use these. */
|
|
27
|
-
export declare const KERN_RESERVED:
|
|
27
|
+
export declare const KERN_RESERVED: ReadonlySet<string>;
|
|
28
28
|
export declare const STYLE_SHORTHANDS: Record<string, string>;
|
|
29
29
|
export declare const VALUE_SHORTHANDS: Record<string, string>;
|
package/dist/spec.js
CHANGED
|
@@ -95,6 +95,8 @@ export const NODE_TYPES = [
|
|
|
95
95
|
'reason', 'evidence',
|
|
96
96
|
// Confidence layer — evidence gaps
|
|
97
97
|
'needs',
|
|
98
|
+
// Rule layer — native .kern lint rules
|
|
99
|
+
'rule', 'message',
|
|
98
100
|
];
|
|
99
101
|
// ── Dynamic Node Types (Evolve v4 — graduated nodes) ────────────────────
|
|
100
102
|
// Evolved nodes register here at startup. Checked by parser alongside NODE_TYPES.
|
|
@@ -111,16 +113,16 @@ export function unregisterEvolvedType(keyword) {
|
|
|
111
113
|
export function isKnownNodeType(type) {
|
|
112
114
|
return NODE_TYPES.includes(type) || _dynamicNodeTypes.has(type);
|
|
113
115
|
}
|
|
114
|
-
/** Get all dynamically registered evolved types. */
|
|
116
|
+
/** Get all dynamically registered evolved types (defensive copy). */
|
|
115
117
|
export function getEvolvedTypes() {
|
|
116
|
-
return _dynamicNodeTypes;
|
|
118
|
+
return new Set(_dynamicNodeTypes);
|
|
117
119
|
}
|
|
118
120
|
/** Clear all dynamic types (for test isolation). */
|
|
119
121
|
export function clearEvolvedTypes() {
|
|
120
122
|
_dynamicNodeTypes.clear();
|
|
121
123
|
}
|
|
122
124
|
/** Reserved keywords — evolved nodes cannot use these. */
|
|
123
|
-
export const KERN_RESERVED = new Set(NODE_TYPES);
|
|
125
|
+
export const KERN_RESERVED = Object.freeze(new Set(NODE_TYPES));
|
|
124
126
|
// ── Style Shorthands (FROZEN at v1.0 — 30 entries) ──────────────────────
|
|
125
127
|
// Any CSS property not in this map uses the escape hatch: "property":"value"
|
|
126
128
|
// This map will NOT grow. Use quoted keys for new CSS properties.
|
package/dist/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IACxC,UAAU;IACV,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW;IACnD,aAAa;IACb,SAAS;IACT,cAAc;IACd,QAAQ,EAAE,OAAO,EAAE,OAAO;IAC1B,QAAQ;IACR,MAAM,EAAE,MAAM;IACd,aAAa;IACb,MAAM,EAAE,KAAK,EAAE,QAAQ;IACvB,OAAO;IACP,OAAO;IACP,UAAU;IACV,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ;IACpD,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW;IACpD,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAClD,MAAM;IACN,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IACzC,WAAW;IACX,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;IAChF,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;IACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAChE,8BAA8B;IAC9B,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO;IACnD,yDAAyD;IACzD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI;IAClC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa;IAC/C,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,UAAU,EAAE,IAAI;IACxB,OAAO;IACP,oCAAoC;IACpC,MAAM,EAAE,UAAU,EAAE,QAAQ;IAC5B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAC/C,MAAM,EAAE,SAAS;IACjB,4CAA4C;IAC5C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc;IACzD,qBAAqB;IACrB,OAAO,EAAE,QAAQ,EAAE,UAAU;IAC7B,YAAY;IACZ,YAAY,EAAE,QAAQ;IACtB,OAAO,EAAE,OAAO,EAAE,YAAY;IAC9B,cAAc;IACd,aAAa;IACb,QAAQ,EAAE,QAAQ;IAClB,kBAAkB;IAClB,UAAU,EAAE,MAAM,EAAE,MAAM;IAC1B,oCAAoC;IACpC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW;IACtD,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe;IACzD,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ;IACvC,SAAS,EAAE,UAAU;IACrB,mCAAmC;IACnC,QAAQ,EAAE,UAAU;IACpB,mCAAmC;IACnC,OAAO;
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/template-engine.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Users define reusable code patterns in .kern files with typed slots.
|
|
5
5
|
* Templates are registered at config/CLI time, then expanded during codegen.
|
|
6
6
|
*/
|
|
7
|
-
import { generateCoreNode } from './codegen-core.js';
|
|
7
|
+
import { generateCoreNode, emitIdentifier, emitTemplateSafe } from './codegen-core.js';
|
|
8
8
|
// ── Registry ────────────────────────────────────────────────────────────
|
|
9
9
|
const _registry = new Map();
|
|
10
10
|
const MAX_EXPANSION_DEPTH = 10;
|
|
@@ -135,7 +135,9 @@ export function expandTemplateNode(node, _depth = 0) {
|
|
|
135
135
|
if (rawValue !== undefined && rawValue !== null) {
|
|
136
136
|
const value = String(rawValue);
|
|
137
137
|
validateSlotValue(slot.name, value, slot.slotType);
|
|
138
|
-
|
|
138
|
+
// Sanitize based on slot type — identifiers are validated, strings are escaped
|
|
139
|
+
const safeValue = slot.slotType === 'identifier' ? emitIdentifier(value, value) : value;
|
|
140
|
+
slotValues.set(slot.name, safeValue);
|
|
139
141
|
}
|
|
140
142
|
else if (slot.optional) {
|
|
141
143
|
slotValues.set(slot.name, slot.defaultValue ?? '');
|
|
@@ -175,9 +177,10 @@ export function expandTemplateNode(node, _depth = 0) {
|
|
|
175
177
|
return childrenLines.map(l => indent + l).join('\n');
|
|
176
178
|
});
|
|
177
179
|
}
|
|
178
|
-
// Replace {{slotName}} placeholders
|
|
180
|
+
// Replace {{slotName}} placeholders — escape slot names for safe RegExp
|
|
179
181
|
for (const [name, value] of slotValues) {
|
|
180
|
-
const
|
|
182
|
+
const safeName = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
183
|
+
const re = new RegExp(`\\{\\{${safeName}\\}\\}`, 'g');
|
|
181
184
|
body = body.replace(re, value);
|
|
182
185
|
}
|
|
183
186
|
const lines = body.split('\n');
|
|
@@ -186,7 +189,8 @@ export function expandTemplateNode(node, _depth = 0) {
|
|
|
186
189
|
const importLines = [];
|
|
187
190
|
for (const imp of template.imports) {
|
|
188
191
|
const nameList = imp.names.split(',').map(s => s.trim()).join(', ');
|
|
189
|
-
|
|
192
|
+
const safeFrom = emitTemplateSafe(imp.from);
|
|
193
|
+
importLines.push(`import { ${nameList} } from '${safeFrom}';`);
|
|
190
194
|
}
|
|
191
195
|
importLines.push('');
|
|
192
196
|
lines.unshift(...importLines);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../src/template-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../src/template-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -43,6 +43,26 @@ export interface GeneratedArtifact {
|
|
|
43
43
|
/** Artifact type */
|
|
44
44
|
type: 'page' | 'layout' | 'route' | 'middleware' | 'component' | 'config' | 'entry' | 'command' | 'hook' | 'types' | 'barrel' | 'theme' | 'template' | 'websocket' | 'model' | 'service' | 'error' | 'lib';
|
|
45
45
|
}
|
|
46
|
+
/** Diagnostic outcome for an IR node during transpilation */
|
|
47
|
+
export type DiagnosticOutcome = 'expressed' | 'consumed' | 'suppressed' | 'unsupported';
|
|
48
|
+
/** Diagnostic entry for a single IR node */
|
|
49
|
+
export interface TranspileDiagnostic {
|
|
50
|
+
/** The IR node type that was processed */
|
|
51
|
+
nodeType: string;
|
|
52
|
+
/** How the node was handled */
|
|
53
|
+
outcome: DiagnosticOutcome;
|
|
54
|
+
/** Which transpiler target produced this diagnostic */
|
|
55
|
+
target: string;
|
|
56
|
+
/** Source location of the node in .kern file */
|
|
57
|
+
loc?: {
|
|
58
|
+
line: number;
|
|
59
|
+
col: number;
|
|
60
|
+
};
|
|
61
|
+
/** Why this outcome was chosen */
|
|
62
|
+
reason?: string;
|
|
63
|
+
/** Number of children also lost (for root-cause-only reporting) */
|
|
64
|
+
childrenLost?: number;
|
|
65
|
+
}
|
|
46
66
|
/** Result of transpilation */
|
|
47
67
|
export interface TranspileResult {
|
|
48
68
|
/** Generated React Native TypeScript code */
|
|
@@ -57,6 +77,8 @@ export interface TranspileResult {
|
|
|
57
77
|
tokenReduction: number;
|
|
58
78
|
/** Multi-file output artifacts */
|
|
59
79
|
artifacts?: GeneratedArtifact[];
|
|
80
|
+
/** Node-level diagnostics (never silently drop) */
|
|
81
|
+
diagnostics?: TranspileDiagnostic[];
|
|
60
82
|
}
|
|
61
83
|
/** Result of decompilation (IR → human-readable) */
|
|
62
84
|
export interface DecompileResult {
|