@kernlang/core 3.1.3 → 3.1.5
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/codegen/emitters.d.ts +25 -0
- package/dist/codegen/emitters.js +124 -0
- package/dist/codegen/emitters.js.map +1 -0
- package/dist/codegen/helpers.d.ts +22 -0
- package/dist/codegen/helpers.js +159 -0
- package/dist/codegen/helpers.js.map +1 -0
- package/dist/codegen-core.d.ts +4 -35
- package/dist/codegen-core.js +87 -277
- package/dist/codegen-core.js.map +1 -1
- package/dist/errors.d.ts +2 -0
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +15 -17
- package/dist/parser.js +209 -55
- package/dist/parser.js.map +1 -1
- package/dist/runtime.d.ts +57 -0
- package/dist/runtime.js +121 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schema.d.ts +39 -0
- package/dist/schema.js +481 -0
- package/dist/schema.js.map +1 -0
- package/dist/spec.d.ts +3 -2
- package/dist/spec.js +28 -17
- package/dist/spec.js.map +1 -1
- package/dist/styles-tailwind.js +29 -0
- package/dist/styles-tailwind.js.map +1 -1
- package/dist/template-engine.d.ts +3 -2
- package/dist/template-engine.js +15 -13
- package/dist/template-engine.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/package.json +21 -1
package/dist/spec.d.ts
CHANGED
|
@@ -11,14 +11,15 @@
|
|
|
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", "
|
|
14
|
+
export declare const NODE_TYPES: readonly ["screen", "page", "row", "col", "card", "grid", "scroll", "text", "image", "progress", "divider", "codeblock", "section", "form", "button", "input", "textarea", "slider", "toggle", "modal", "list", "item", "tabs", "tab", "header", "link", "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", "box", "gradient", "state", "repl", "guard", "parallel", "dispatch", "then", "each", "layout", "loading", "metadata", "generateMetadata", "notFound", "redirect", "fetch", "type", "interface", "field", "fn", "const", "union", "variant", "service", "method", "singleton", "constructor", "signal", "cleanup", "machine", "transition", "error", "module", "export", "config", "store", "test", "describe", "it", "event", "hook", "provider", "effect", "logic", "memo", "callback", "ref", "context", "prop", "returns", "input-area", "output-area", "text-input", "select-input", "model", "column", "relation", "repository", "dependency", "inject", "cache", "entry", "invalidate", "conditional", "component", "select", "option", "icon", "svg", "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
|
+
import { type KernRuntime } from './runtime.js';
|
|
16
17
|
/** Register an evolved node type (called at startup from .kern/evolved/). */
|
|
17
18
|
export declare function registerEvolvedType(keyword: string): void;
|
|
18
19
|
/** Unregister an evolved node type (for rollback/testing). */
|
|
19
20
|
export declare function unregisterEvolvedType(keyword: string): void;
|
|
20
21
|
/** Check if a type is a known node type (core or evolved). */
|
|
21
|
-
export declare function isKnownNodeType(type: string): boolean;
|
|
22
|
+
export declare function isKnownNodeType(type: string, runtime?: KernRuntime): boolean;
|
|
22
23
|
/** Get all dynamically registered evolved types (defensive copy). */
|
|
23
24
|
export declare function getEvolvedTypes(): ReadonlySet<string>;
|
|
24
25
|
/** Clear all dynamic types (for test isolation). */
|
package/dist/spec.js
CHANGED
|
@@ -34,17 +34,17 @@ NL = "\\n" | EOF
|
|
|
34
34
|
// ── Node Types ──────────────────────────────────────────────────────────
|
|
35
35
|
export const NODE_TYPES = [
|
|
36
36
|
// Layout
|
|
37
|
-
'screen', 'row', 'col', 'card', 'scroll',
|
|
37
|
+
'screen', 'page', 'row', 'col', 'card', 'grid', 'scroll',
|
|
38
38
|
// Content
|
|
39
39
|
'text', 'image', 'progress', 'divider', 'codeblock',
|
|
40
40
|
// Structural
|
|
41
|
-
'section',
|
|
41
|
+
'section', 'form',
|
|
42
42
|
// Interactive
|
|
43
|
-
'button', 'input', 'modal',
|
|
43
|
+
'button', 'input', 'textarea', 'slider', 'toggle', 'modal',
|
|
44
44
|
// Lists
|
|
45
45
|
'list', 'item',
|
|
46
46
|
// Navigation
|
|
47
|
-
'tabs', 'tab', 'header',
|
|
47
|
+
'tabs', 'tab', 'header', 'link',
|
|
48
48
|
// Meta
|
|
49
49
|
'theme',
|
|
50
50
|
// Backend
|
|
@@ -56,12 +56,14 @@ export const NODE_TYPES = [
|
|
|
56
56
|
'cli', 'command', 'arg', 'flag', 'import',
|
|
57
57
|
// Terminal
|
|
58
58
|
'separator', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'scoreboard', 'metric',
|
|
59
|
-
'spinner', '
|
|
59
|
+
'spinner', 'box', 'gradient',
|
|
60
60
|
'state', 'repl', 'guard', 'parallel', 'dispatch', 'then', 'each',
|
|
61
|
+
// Next.js App Router
|
|
62
|
+
'layout', 'loading',
|
|
61
63
|
// Next.js production patterns
|
|
62
|
-
'generateMetadata', 'notFound', 'redirect', 'fetch',
|
|
64
|
+
'metadata', 'generateMetadata', 'notFound', 'redirect', 'fetch',
|
|
63
65
|
// Core Language — type system, functions, state machines
|
|
64
|
-
'type', 'interface', 'field', 'fn',
|
|
66
|
+
'type', 'interface', 'field', 'fn', 'const',
|
|
65
67
|
'union', 'variant',
|
|
66
68
|
'service', 'method', 'singleton', 'constructor',
|
|
67
69
|
'signal', 'cleanup',
|
|
@@ -71,8 +73,8 @@ export const NODE_TYPES = [
|
|
|
71
73
|
'test', 'describe', 'it',
|
|
72
74
|
'event',
|
|
73
75
|
// React — hooks, providers, effects
|
|
74
|
-
'hook', 'provider', 'effect',
|
|
75
|
-
'memo', 'callback', 'ref', 'context',
|
|
76
|
+
'hook', 'provider', 'effect', 'logic',
|
|
77
|
+
'memo', 'callback', 'ref', 'context',
|
|
76
78
|
'prop', 'returns',
|
|
77
79
|
// Ink — terminal React (Ink) specific nodes
|
|
78
80
|
'input-area', 'output-area', 'text-input', 'select-input',
|
|
@@ -82,8 +84,10 @@ export const NODE_TYPES = [
|
|
|
82
84
|
'dependency', 'inject',
|
|
83
85
|
'cache', 'entry', 'invalidate',
|
|
84
86
|
// UI controls
|
|
85
|
-
'conditional',
|
|
87
|
+
'conditional', 'component',
|
|
86
88
|
'select', 'option',
|
|
89
|
+
// Graphics
|
|
90
|
+
'icon', 'svg',
|
|
87
91
|
// Template system
|
|
88
92
|
'template', 'slot', 'body',
|
|
89
93
|
// Ground layer — semantic reasoning
|
|
@@ -100,26 +104,27 @@ export const NODE_TYPES = [
|
|
|
100
104
|
];
|
|
101
105
|
// ── Dynamic Node Types (Evolve v4 — graduated nodes) ────────────────────
|
|
102
106
|
// Evolved nodes register here at startup. Checked by parser alongside NODE_TYPES.
|
|
103
|
-
|
|
107
|
+
import { defaultRuntime } from './runtime.js';
|
|
104
108
|
/** Register an evolved node type (called at startup from .kern/evolved/). */
|
|
105
109
|
export function registerEvolvedType(keyword) {
|
|
106
|
-
|
|
110
|
+
defaultRuntime.registerEvolvedType(keyword);
|
|
107
111
|
}
|
|
108
112
|
/** Unregister an evolved node type (for rollback/testing). */
|
|
109
113
|
export function unregisterEvolvedType(keyword) {
|
|
110
|
-
|
|
114
|
+
defaultRuntime.unregisterEvolvedType(keyword);
|
|
111
115
|
}
|
|
112
116
|
/** Check if a type is a known node type (core or evolved). */
|
|
113
|
-
export function isKnownNodeType(type) {
|
|
114
|
-
|
|
117
|
+
export function isKnownNodeType(type, runtime) {
|
|
118
|
+
const rt = runtime ?? defaultRuntime;
|
|
119
|
+
return NODE_TYPES.includes(type) || rt.dynamicNodeTypes.has(type);
|
|
115
120
|
}
|
|
116
121
|
/** Get all dynamically registered evolved types (defensive copy). */
|
|
117
122
|
export function getEvolvedTypes() {
|
|
118
|
-
return
|
|
123
|
+
return defaultRuntime.getEvolvedTypes();
|
|
119
124
|
}
|
|
120
125
|
/** Clear all dynamic types (for test isolation). */
|
|
121
126
|
export function clearEvolvedTypes() {
|
|
122
|
-
|
|
127
|
+
defaultRuntime.clearEvolvedTypes();
|
|
123
128
|
}
|
|
124
129
|
/** Reserved keywords — evolved nodes cannot use these. */
|
|
125
130
|
export const KERN_RESERVED = Object.freeze(new Set(NODE_TYPES));
|
|
@@ -129,10 +134,16 @@ export const KERN_RESERVED = Object.freeze(new Set(NODE_TYPES));
|
|
|
129
134
|
export const STYLE_SHORTHANDS = {
|
|
130
135
|
// Spacing
|
|
131
136
|
p: 'padding', m: 'margin',
|
|
137
|
+
px: 'paddingX', py: 'paddingY',
|
|
132
138
|
pt: 'paddingTop', pb: 'paddingBottom', pl: 'paddingLeft', pr: 'paddingRight',
|
|
139
|
+
mx: 'marginX', my: 'marginY',
|
|
133
140
|
mt: 'marginTop', mb: 'marginBottom', ml: 'marginLeft', mr: 'marginRight',
|
|
134
141
|
// Sizing
|
|
135
142
|
w: 'width', h: 'height', f: 'flex',
|
|
143
|
+
'max-width': 'maxWidth', 'min-width': 'minWidth',
|
|
144
|
+
'max-height': 'maxHeight', 'min-height': 'minHeight',
|
|
145
|
+
// Positioning
|
|
146
|
+
'z-index': 'zIndex',
|
|
136
147
|
// Colors
|
|
137
148
|
bg: 'backgroundColor', c: 'color', bc: 'borderColor',
|
|
138
149
|
// Typography
|
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;
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
|
package/dist/styles-tailwind.js
CHANGED
|
@@ -29,6 +29,12 @@ export function stylesToTailwind(styles, colors) {
|
|
|
29
29
|
case 'padding':
|
|
30
30
|
classes.push(pxToTw('p', v));
|
|
31
31
|
break;
|
|
32
|
+
case 'paddingX':
|
|
33
|
+
classes.push(pxToTw('px', v));
|
|
34
|
+
break;
|
|
35
|
+
case 'paddingY':
|
|
36
|
+
classes.push(pxToTw('py', v));
|
|
37
|
+
break;
|
|
32
38
|
case 'paddingTop':
|
|
33
39
|
classes.push(pxToTw('pt', v));
|
|
34
40
|
break;
|
|
@@ -44,6 +50,12 @@ export function stylesToTailwind(styles, colors) {
|
|
|
44
50
|
case 'margin':
|
|
45
51
|
classes.push(pxToTw('m', v));
|
|
46
52
|
break;
|
|
53
|
+
case 'marginX':
|
|
54
|
+
classes.push(pxToTw('mx', v));
|
|
55
|
+
break;
|
|
56
|
+
case 'marginY':
|
|
57
|
+
classes.push(pxToTw('my', v));
|
|
58
|
+
break;
|
|
47
59
|
case 'marginTop':
|
|
48
60
|
classes.push(pxToTw('mt', v));
|
|
49
61
|
break;
|
|
@@ -77,6 +89,18 @@ export function stylesToTailwind(styles, colors) {
|
|
|
77
89
|
case 'height':
|
|
78
90
|
v === '100%' ? classes.push('h-full') : classes.push(`h-[${addPx(v)}]`);
|
|
79
91
|
break;
|
|
92
|
+
case 'maxWidth':
|
|
93
|
+
classes.push(`max-w-[${addPx(v)}]`);
|
|
94
|
+
break;
|
|
95
|
+
case 'minWidth':
|
|
96
|
+
classes.push(`min-w-[${addPx(v)}]`);
|
|
97
|
+
break;
|
|
98
|
+
case 'maxHeight':
|
|
99
|
+
classes.push(`max-h-[${addPx(v)}]`);
|
|
100
|
+
break;
|
|
101
|
+
case 'minHeight':
|
|
102
|
+
classes.push(`min-h-[${addPx(v)}]`);
|
|
103
|
+
break;
|
|
80
104
|
case 'justifyContent':
|
|
81
105
|
if (v === 'space-between')
|
|
82
106
|
classes.push('justify-between');
|
|
@@ -145,6 +169,11 @@ export function stylesToTailwind(styles, colors) {
|
|
|
145
169
|
return classes.join(' ');
|
|
146
170
|
}
|
|
147
171
|
export function pxToTw(prefix, v) {
|
|
172
|
+
// Tailwind-native keyword values
|
|
173
|
+
if (v === 'auto')
|
|
174
|
+
return `${prefix}-auto`;
|
|
175
|
+
if (v === '0')
|
|
176
|
+
return `${prefix}-0`;
|
|
148
177
|
const n = Number(v);
|
|
149
178
|
if (isNaN(n))
|
|
150
179
|
return `${prefix}-[${v}]`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-tailwind.js","sourceRoot":"","sources":["../src/styles-tailwind.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styles-tailwind.js","sourceRoot":"","sources":["../src/styles-tailwind.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Templates are registered at config/CLI time, then expanded during codegen.
|
|
6
6
|
*/
|
|
7
7
|
import type { IRNode, TemplateDefinition } from './types.js';
|
|
8
|
+
import { type KernRuntime } from './runtime.js';
|
|
8
9
|
export declare class KernTemplateError extends Error {
|
|
9
10
|
constructor(message: string);
|
|
10
11
|
}
|
|
@@ -14,7 +15,7 @@ export declare class KernTemplateError extends Error {
|
|
|
14
15
|
*/
|
|
15
16
|
export declare function registerTemplate(node: IRNode, sourceFile?: string): void;
|
|
16
17
|
/** Check if a node type matches a registered template. */
|
|
17
|
-
export declare function isTemplateNode(type: string): boolean;
|
|
18
|
+
export declare function isTemplateNode(type: string, runtime?: KernRuntime): boolean;
|
|
18
19
|
/** Clear all registered templates (for test isolation). */
|
|
19
20
|
export declare function clearTemplates(): void;
|
|
20
21
|
/** Get a registered template definition by name. */
|
|
@@ -30,4 +31,4 @@ export declare function templateCount(): number;
|
|
|
30
31
|
* 4. Handle {{CHILDREN}}: iterate child nodes through codegen
|
|
31
32
|
* 5. Prepend import lines
|
|
32
33
|
*/
|
|
33
|
-
export declare function expandTemplateNode(node: IRNode, _depth?: number): string[];
|
|
34
|
+
export declare function expandTemplateNode(node: IRNode, _depth?: number, runtime?: KernRuntime): string[];
|
package/dist/template-engine.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Templates are registered at config/CLI time, then expanded during codegen.
|
|
6
6
|
*/
|
|
7
7
|
import { generateCoreNode, emitIdentifier, emitTemplateSafe } from './codegen-core.js';
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { defaultRuntime } from './runtime.js';
|
|
9
|
+
// ── Registry — now delegates to defaultRuntime ──────────────────────────
|
|
10
10
|
const MAX_EXPANSION_DEPTH = 10;
|
|
11
11
|
// ── Errors ──────────────────────────────────────────────────────────────
|
|
12
12
|
export class KernTemplateError extends Error {
|
|
@@ -82,23 +82,24 @@ export function registerTemplate(node, sourceFile) {
|
|
|
82
82
|
throw new KernTemplateError(`Template '${name}': must have a body <<< >>> block`);
|
|
83
83
|
}
|
|
84
84
|
const body = p(bodyNode).code || '';
|
|
85
|
-
|
|
85
|
+
defaultRuntime.registerTemplate(name, { name, slots, imports, body, sourceFile });
|
|
86
86
|
}
|
|
87
87
|
/** Check if a node type matches a registered template. */
|
|
88
|
-
export function isTemplateNode(type) {
|
|
89
|
-
|
|
88
|
+
export function isTemplateNode(type, runtime) {
|
|
89
|
+
const rt = runtime ?? defaultRuntime;
|
|
90
|
+
return rt.isTemplateNode(type);
|
|
90
91
|
}
|
|
91
92
|
/** Clear all registered templates (for test isolation). */
|
|
92
93
|
export function clearTemplates() {
|
|
93
|
-
|
|
94
|
+
defaultRuntime.clearTemplates();
|
|
94
95
|
}
|
|
95
96
|
/** Get a registered template definition by name. */
|
|
96
97
|
export function getTemplate(name) {
|
|
97
|
-
return
|
|
98
|
+
return defaultRuntime.getTemplate(name);
|
|
98
99
|
}
|
|
99
100
|
/** Get count of registered templates. */
|
|
100
101
|
export function templateCount() {
|
|
101
|
-
return
|
|
102
|
+
return defaultRuntime.templateCount();
|
|
102
103
|
}
|
|
103
104
|
// ── Expansion ───────────────────────────────────────────────────────────
|
|
104
105
|
/** Strip common leading whitespace from multiline body text. */
|
|
@@ -119,11 +120,12 @@ function dedentBody(code) {
|
|
|
119
120
|
* 4. Handle {{CHILDREN}}: iterate child nodes through codegen
|
|
120
121
|
* 5. Prepend import lines
|
|
121
122
|
*/
|
|
122
|
-
export function expandTemplateNode(node, _depth = 0) {
|
|
123
|
+
export function expandTemplateNode(node, _depth = 0, runtime) {
|
|
124
|
+
const rt = runtime ?? defaultRuntime;
|
|
123
125
|
if (_depth > MAX_EXPANSION_DEPTH) {
|
|
124
126
|
throw new KernTemplateError(`Template expansion depth exceeded ${MAX_EXPANSION_DEPTH} — possible recursion in template '${node.type}'`);
|
|
125
127
|
}
|
|
126
|
-
const template =
|
|
128
|
+
const template = rt.templateRegistry.get(node.type);
|
|
127
129
|
if (!template) {
|
|
128
130
|
throw new KernTemplateError(`No template registered for type '${node.type}'`);
|
|
129
131
|
}
|
|
@@ -160,9 +162,9 @@ export function expandTemplateNode(node, _depth = 0) {
|
|
|
160
162
|
}
|
|
161
163
|
else {
|
|
162
164
|
// Other children go through codegen (supports nested templates)
|
|
163
|
-
const expanded = isTemplateNode(child.type)
|
|
164
|
-
? expandTemplateNode(child, _depth + 1)
|
|
165
|
-
: generateCoreNode(child);
|
|
165
|
+
const expanded = isTemplateNode(child.type, rt)
|
|
166
|
+
? expandTemplateNode(child, _depth + 1, rt)
|
|
167
|
+
: generateCoreNode(child, undefined, rt);
|
|
166
168
|
childrenLines.push(...expanded);
|
|
167
169
|
}
|
|
168
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../src/template-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,cAAc,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
|
@@ -80,6 +80,21 @@ export interface TranspileResult {
|
|
|
80
80
|
/** Node-level diagnostics (never silently drop) */
|
|
81
81
|
diagnostics?: TranspileDiagnostic[];
|
|
82
82
|
}
|
|
83
|
+
export type ParseErrorCode = 'UNCLOSED_EXPR' | 'UNCLOSED_STYLE' | 'UNCLOSED_STRING' | 'UNEXPECTED_TOKEN' | 'EMPTY_DOCUMENT' | 'INVALID_INDENT' | 'UNKNOWN_NODE_TYPE' | 'INDENT_JUMP' | 'DUPLICATE_PROP' | 'DROPPED_LINE';
|
|
84
|
+
export type ParseDiagnosticSeverity = 'error' | 'warning' | 'info';
|
|
85
|
+
export interface ParseDiagnostic {
|
|
86
|
+
code: ParseErrorCode;
|
|
87
|
+
severity: ParseDiagnosticSeverity;
|
|
88
|
+
message: string;
|
|
89
|
+
line: number;
|
|
90
|
+
col: number;
|
|
91
|
+
endCol: number;
|
|
92
|
+
suggestion: string;
|
|
93
|
+
}
|
|
94
|
+
export interface ParseResult {
|
|
95
|
+
root: IRNode;
|
|
96
|
+
diagnostics: ParseDiagnostic[];
|
|
97
|
+
}
|
|
83
98
|
/** Result of decompilation (IR → human-readable) */
|
|
84
99
|
export interface DecompileResult {
|
|
85
100
|
/** Human-readable TypeScript representation */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernlang/core",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5",
|
|
4
4
|
"description": "Kern core — parser, types, spec, config, style engines, codegen",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,6 +9,26 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./codegen": {
|
|
14
|
+
"types": "./dist/codegen-core.d.ts",
|
|
15
|
+
"default": "./dist/codegen-core.js"
|
|
16
|
+
},
|
|
17
|
+
"./codegen/emitters": {
|
|
18
|
+
"types": "./dist/codegen/emitters.d.ts",
|
|
19
|
+
"default": "./dist/codegen/emitters.js"
|
|
20
|
+
},
|
|
21
|
+
"./codegen/helpers": {
|
|
22
|
+
"types": "./dist/codegen/helpers.d.ts",
|
|
23
|
+
"default": "./dist/codegen/helpers.js"
|
|
24
|
+
},
|
|
25
|
+
"./runtime": {
|
|
26
|
+
"types": "./dist/runtime.d.ts",
|
|
27
|
+
"default": "./dist/runtime.js"
|
|
28
|
+
},
|
|
29
|
+
"./schema": {
|
|
30
|
+
"types": "./dist/schema.d.ts",
|
|
31
|
+
"default": "./dist/schema.js"
|
|
12
32
|
}
|
|
13
33
|
},
|
|
14
34
|
"files": [
|