@kernlang/core 2.0.0 → 3.1.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/codegen-core.d.ts +59 -2
- package/dist/codegen-core.js +1251 -25
- package/dist/codegen-core.js.map +1 -1
- package/dist/concepts.d.ts +100 -0
- package/dist/concepts.js +17 -0
- package/dist/concepts.js.map +1 -0
- package/dist/config.d.ts +37 -1
- package/dist/config.js +29 -1
- package/dist/config.js.map +1 -1
- package/dist/coverage-gap.d.ts +27 -0
- package/dist/coverage-gap.js +73 -0
- package/dist/coverage-gap.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +20 -0
- package/dist/parser.js +434 -138
- package/dist/parser.js.map +1 -1
- package/dist/scanner.js +48 -3
- package/dist/scanner.js.map +1 -1
- package/dist/spec.d.ts +13 -1
- package/dist/spec.js +54 -3
- package/dist/spec.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +10 -2
package/dist/errors.js
CHANGED
|
@@ -20,6 +20,15 @@ export class KernParseError extends KernError {
|
|
|
20
20
|
this.name = 'KernParseError';
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
export class KernCodegenError extends Error {
|
|
24
|
+
node;
|
|
25
|
+
constructor(message, node) {
|
|
26
|
+
const loc = node?.loc ? ` at ${node.type}:${node.loc.line}:${node.loc.col}` : node ? ` at ${node.type}` : '';
|
|
27
|
+
super(`Codegen error: ${message}${loc}`);
|
|
28
|
+
this.node = node;
|
|
29
|
+
this.name = 'KernCodegenError';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
23
32
|
function codeFrame(source, line, col) {
|
|
24
33
|
const lines = source.split('\n');
|
|
25
34
|
const start = Math.max(0, line - 3);
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,MAAM,CAAS;IAEf,YAAY,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,GAAG,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,MAAc;QACpE,KAAK,CAAC,gBAAgB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @kernlang/core — parser, types, spec, config, style engines, codegen
|
|
3
3
|
*/
|
|
4
|
-
export { parse } from './parser.js';
|
|
4
|
+
export { parse, registerParserHints, unregisterParserHints, clearParserHints, tokenizeLine } from './parser.js';
|
|
5
|
+
export type { Token, TokenKind } from './parser.js';
|
|
5
6
|
export { decompile } from './decompiler.js';
|
|
6
7
|
export { KernParseError } from './errors.js';
|
|
7
8
|
export type { IRNode, IRSourceLocation, SourceMapEntry, TranspileResult, DecompileResult, GeneratedArtifact, KernEngine, } from './types.js';
|
|
@@ -10,14 +11,19 @@ export type { KernConfig, KernTarget, KernStructure, ResolvedKernConfig, Framewo
|
|
|
10
11
|
export { parseMajorVersion, detectVersionsFromPackageJson, resolveTailwindMajor, resolveNextjsMajor } from './version-detect.js';
|
|
11
12
|
export { buildTailwindProfile, buildNextjsProfile, buildVersionProfile, applyTailwindTokenRules, } from './version-adapters.js';
|
|
12
13
|
export type { TailwindTokenRule, TailwindOutputRules, TailwindVersionProfile, NextjsOutputRules, NextjsVersionProfile, VersionProfile, } from './version-adapters.js';
|
|
13
|
-
export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS } from './spec.js';
|
|
14
|
+
export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS, registerEvolvedType, unregisterEvolvedType, isKnownNodeType, getEvolvedTypes, clearEvolvedTypes, KERN_RESERVED, } from './spec.js';
|
|
14
15
|
export { stylesToTailwind, colorToTw, pxToTw, DEFAULT_COLORS } from './styles-tailwind.js';
|
|
15
16
|
export { expandStyles, expandStyleKey, expandStyleValue } from './styles-react.js';
|
|
16
|
-
export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateFunction, generateMachine, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, parseParamList, capitalize, } from './codegen-core.js';
|
|
17
|
+
export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateUnion, generateService, generateFunction, generateMachine, generateMachineReducer, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, generateOn, generateWebSocket, generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateEach, generateCollect, generateBranch, generateResolve, generateExpect, generateRecover, generatePattern, generateApply, emitReasonAnnotations, emitLowConfidenceTodo, parseParamList, capitalize, getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode, generateConditional, generateSelect, generateModel, generateRepository, generateDependency, generateCache, registerEvolvedGenerator, registerEvolvedTargetGenerator, unregisterEvolvedGenerator, clearEvolvedGenerators, hasEvolvedGenerator, } from './codegen-core.js';
|
|
18
|
+
export { KernCodegenError } from './errors.js';
|
|
17
19
|
export { registerTemplate, isTemplateNode, expandTemplateNode, clearTemplates, getTemplate, templateCount, KernTemplateError, } from './template-engine.js';
|
|
18
20
|
export type { TemplateDefinition, TemplateSlot, TemplateImport, TemplateSlotType } from './types.js';
|
|
21
|
+
export { collectCoverageGaps, writeCoverageGaps, readCoverageGaps } from './coverage-gap.js';
|
|
22
|
+
export type { CoverageGap } from './coverage-gap.js';
|
|
19
23
|
export { TEMPLATE_CATALOG, COMMON_TEMPLATES, detectTemplates } from './template-catalog.js';
|
|
20
24
|
export type { CatalogEntry } from './template-catalog.js';
|
|
21
25
|
export { scanProject, generateConfigSource, formatScanSummary } from './scanner.js';
|
|
22
26
|
export type { ScanResult, ScanInfo, Detection } from './scanner.js';
|
|
27
|
+
export { conceptId, conceptSpan } from './concepts.js';
|
|
28
|
+
export type { ConceptNode, ConceptEdge, ConceptMap, ConceptSpan, ConceptNodeKind, ConceptEdgeKind, ConceptNodePayload, ConceptEdgePayload, EntrypointPayload, EffectPayload, StateMutationPayload, ErrorRaisePayload, ErrorHandlePayload, GuardPayload, CallPayload, DependencyPayload, } from './concepts.js';
|
|
23
29
|
export { countTokens, serializeIR, camelKey, escapeJsx, escapeJsxText, escapeJsxAttr, escapeJsString } from './utils.js';
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @kernlang/core — parser, types, spec, config, style engines, codegen
|
|
3
3
|
*/
|
|
4
4
|
// Core
|
|
5
|
-
export { parse } from './parser.js';
|
|
5
|
+
export { parse, registerParserHints, unregisterParserHints, clearParserHints, tokenizeLine } from './parser.js';
|
|
6
6
|
export { decompile } from './decompiler.js';
|
|
7
7
|
export { KernParseError } from './errors.js';
|
|
8
8
|
// Config
|
|
@@ -11,18 +11,34 @@ export { resolveConfig, mergeConfig, DEFAULT_CONFIG, VALID_TARGETS, VALID_STRUCT
|
|
|
11
11
|
export { parseMajorVersion, detectVersionsFromPackageJson, resolveTailwindMajor, resolveNextjsMajor } from './version-detect.js';
|
|
12
12
|
export { buildTailwindProfile, buildNextjsProfile, buildVersionProfile, applyTailwindTokenRules, } from './version-adapters.js';
|
|
13
13
|
// Spec
|
|
14
|
-
export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS
|
|
14
|
+
export { KERN_VERSION, NODE_TYPES, STYLE_SHORTHANDS, VALUE_SHORTHANDS,
|
|
15
|
+
// Evolved types (v4)
|
|
16
|
+
registerEvolvedType, unregisterEvolvedType, isKnownNodeType, getEvolvedTypes, clearEvolvedTypes, KERN_RESERVED, } from './spec.js';
|
|
15
17
|
// Style engines
|
|
16
18
|
export { stylesToTailwind, colorToTw, pxToTw, DEFAULT_COLORS } from './styles-tailwind.js';
|
|
17
19
|
export { expandStyles, expandStyleKey, expandStyleValue } from './styles-react.js';
|
|
18
20
|
// Codegen core
|
|
19
|
-
export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateFunction, generateMachine, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook,
|
|
21
|
+
export { generateCoreNode, isCoreNode, CORE_NODE_TYPES, generateType, generateInterface, generateUnion, generateService, generateFunction, generateMachine, generateMachineReducer, generateError, generateModule, generateConfig, generateStore, generateTest, generateEvent, generateImport, generateConst, generateHook, generateOn, generateWebSocket,
|
|
22
|
+
// Ground layer
|
|
23
|
+
generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateEach, generateCollect, generateBranch, generateResolve, generateExpect, generateRecover, generatePattern, generateApply, emitReasonAnnotations, emitLowConfidenceTodo, parseParamList, capitalize,
|
|
24
|
+
// Shared IR node helpers
|
|
25
|
+
getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode,
|
|
26
|
+
// Graduated nodes
|
|
27
|
+
generateConditional, generateSelect, generateModel, generateRepository, generateDependency, generateCache,
|
|
28
|
+
// Evolved generators (v4)
|
|
29
|
+
registerEvolvedGenerator, registerEvolvedTargetGenerator, unregisterEvolvedGenerator, clearEvolvedGenerators, hasEvolvedGenerator, } from './codegen-core.js';
|
|
30
|
+
// Codegen errors
|
|
31
|
+
export { KernCodegenError } from './errors.js';
|
|
20
32
|
// Template engine
|
|
21
33
|
export { registerTemplate, isTemplateNode, expandTemplateNode, clearTemplates, getTemplate, templateCount, KernTemplateError, } from './template-engine.js';
|
|
34
|
+
// Coverage gap emitter (v3)
|
|
35
|
+
export { collectCoverageGaps, writeCoverageGaps, readCoverageGaps } from './coverage-gap.js';
|
|
22
36
|
// Template catalog
|
|
23
37
|
export { TEMPLATE_CATALOG, COMMON_TEMPLATES, detectTemplates } from './template-catalog.js';
|
|
24
38
|
// Scanner
|
|
25
39
|
export { scanProject, generateConfigSource, formatScanSummary } from './scanner.js';
|
|
40
|
+
// Concepts (universal cross-language review model)
|
|
41
|
+
export { conceptId, conceptSpan } from './concepts.js';
|
|
26
42
|
// Utilities
|
|
27
43
|
export { countTokens, serializeIR, camelKey, escapeJsx, escapeJsxText, escapeJsxAttr, escapeJsString } from './utils.js';
|
|
28
44
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
import type { IRNode } from './types.js';
|
|
2
|
+
export type TokenKind = 'identifier' | 'number' | 'equals' | 'quoted' | 'expr' | 'style' | 'themeRef' | 'slash' | 'comma' | 'whitespace' | 'unknown';
|
|
3
|
+
export interface Token {
|
|
4
|
+
kind: TokenKind;
|
|
5
|
+
value: string;
|
|
6
|
+
pos: number;
|
|
7
|
+
}
|
|
8
|
+
/** Character-by-character tokenizer for a single KERN line (after indent stripped). */
|
|
9
|
+
export declare function tokenizeLine(line: string): Token[];
|
|
10
|
+
interface ParserHintsConfig {
|
|
11
|
+
positionalArgs?: string[];
|
|
12
|
+
bareWord?: string;
|
|
13
|
+
multilineBlock?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Register parser hints for an evolved node type. */
|
|
16
|
+
export declare function registerParserHints(keyword: string, hints: ParserHintsConfig): void;
|
|
17
|
+
/** Unregister parser hints (for rollback/testing). */
|
|
18
|
+
export declare function unregisterParserHints(keyword: string): void;
|
|
19
|
+
/** Clear all parser hints (for test isolation). */
|
|
20
|
+
export declare function clearParserHints(): void;
|
|
2
21
|
/** Get warnings from the last parse() call */
|
|
3
22
|
export declare function getParseWarnings(): string[];
|
|
4
23
|
export declare function parse(source: string): IRNode;
|
|
24
|
+
export {};
|