@kernlang/vue 3.1.5 → 3.1.7

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/LICENSE CHANGED
@@ -659,3 +659,20 @@ specific requirements.
659
659
  if any, to sign a "copyright disclaimer" for the program, if necessary.
660
660
  For more information on this, and how to apply and follow the GNU AGPL, see
661
661
  <https://www.gnu.org/licenses/>.
662
+
663
+ ===============================================================================
664
+
665
+ Copyright (c) 2026 KERNlang
666
+
667
+ Additional permission under GNU AGPL version 3 section 7:
668
+
669
+ If you modify this Program, or any covered work, by linking or combining
670
+ it with other code, such other code is not for that reason alone subject
671
+ to any of the requirements of the GNU Affero GPL version 3.
672
+
673
+ ---
674
+
675
+ COMMERCIAL USE
676
+
677
+ Using this software as part of a paid product or service requires a
678
+ commercial license. Contact: hello@kernlang.dev
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared utilities for building multi-file artifacts from Vue structure plans.
3
+ *
4
+ * Used by Vue transpilers when structure !== 'flat' to convert
5
+ * a StructurePlan into GeneratedArtifact[].
6
+ */
7
+ import type { GeneratedArtifact, IRNode, ResolvedKernConfig } from '@kernlang/core';
8
+ import type { PlannedFile, StructurePlan } from './structure-vue.js';
9
+ export interface StructuredResult {
10
+ entryCode: string;
11
+ artifacts: GeneratedArtifact[];
12
+ }
13
+ /**
14
+ * Build artifacts from a Vue structure plan.
15
+ *
16
+ * @param plan - The structure plan from planVueStructure()
17
+ * @param renderFile - Callback to render a single file's nodes to SFC code
18
+ * @param root - The root IR node
19
+ * @param config - Resolved config
20
+ */
21
+ export declare function buildVueStructuredArtifacts(plan: StructurePlan, renderFile: (file: PlannedFile, config: ResolvedKernConfig) => string, root: IRNode, config: ResolvedKernConfig): StructuredResult;
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Shared utilities for building multi-file artifacts from Vue structure plans.
3
+ *
4
+ * Used by Vue transpilers when structure !== 'flat' to convert
5
+ * a StructurePlan into GeneratedArtifact[].
6
+ */
7
+ import { extractComposables, generateBarrelCode, generateLogicComposableCode, generateStateComposableCode, generateTypesCode, } from './structure-vue.js';
8
+ /**
9
+ * Build artifacts from a Vue structure plan.
10
+ *
11
+ * @param plan - The structure plan from planVueStructure()
12
+ * @param renderFile - Callback to render a single file's nodes to SFC code
13
+ * @param root - The root IR node
14
+ * @param config - Resolved config
15
+ */
16
+ export function buildVueStructuredArtifacts(plan, renderFile, root, config) {
17
+ const featureName = root.props?.name || 'Component';
18
+ const artifacts = [];
19
+ let entryCode = '';
20
+ // Collect state and logic nodes from root children
21
+ const stateNodes = [];
22
+ const logicNodes = [];
23
+ for (const child of root.children || []) {
24
+ if (child.type === 'state')
25
+ stateNodes.push(child);
26
+ if (child.type === 'logic' || child.type === 'handler')
27
+ logicNodes.push(child);
28
+ }
29
+ // Determine composables directory from plan
30
+ const composableFiles = plan.files.filter((f) => f.artifactType === 'hook');
31
+ const composablesDir = composableFiles.length > 0
32
+ ? composableFiles[0].path.substring(0, composableFiles[0].path.lastIndexOf('/'))
33
+ : 'composables';
34
+ const composables = extractComposables(featureName, stateNodes, logicNodes, composablesDir);
35
+ for (const file of plan.files) {
36
+ if (file.artifactType === 'hook') {
37
+ const matchingComposable = composables.find((c) => c.path === file.path);
38
+ if (matchingComposable) {
39
+ const code = matchingComposable.stateDecls.length > 0
40
+ ? generateStateComposableCode(matchingComposable)
41
+ : generateLogicComposableCode(matchingComposable, composables.find((c) => c.stateDecls.length > 0)?.composableName);
42
+ artifacts.push({ path: file.path, content: code, type: 'hook' });
43
+ }
44
+ continue;
45
+ }
46
+ if (file.artifactType === 'types') {
47
+ const stateDecls = stateNodes.map((n) => ({
48
+ name: n.props?.name || 'value',
49
+ initial: String(n.props?.initial ?? ''),
50
+ }));
51
+ const code = generateTypesCode(featureName, stateDecls);
52
+ artifacts.push({ path: file.path, content: code, type: 'types' });
53
+ continue;
54
+ }
55
+ if (file.artifactType === 'theme') {
56
+ const themeNodes = file.nodes;
57
+ const themeLines = [];
58
+ for (const tn of themeNodes) {
59
+ const name = tn.props?.name || 'theme';
60
+ const styles = tn.props?.styles || {};
61
+ themeLines.push(`export const ${name} = ${JSON.stringify(styles, null, 2)};`);
62
+ }
63
+ artifacts.push({ path: file.path, content: themeLines.join('\n\n'), type: 'theme' });
64
+ continue;
65
+ }
66
+ // Render component/entry/page/template files (SFCs)
67
+ const code = renderFile(file, config);
68
+ if (file.isEntry) {
69
+ entryCode = code;
70
+ artifacts.push({ path: file.path, content: code, type: file.artifactType });
71
+ }
72
+ else {
73
+ artifacts.push({ path: file.path, content: code, type: file.artifactType });
74
+ }
75
+ }
76
+ // Barrel exports
77
+ for (const barrel of plan.barrels) {
78
+ const code = generateBarrelCode(barrel);
79
+ artifacts.push({ path: barrel.path, content: code, type: 'barrel' });
80
+ }
81
+ return { entryCode, artifacts };
82
+ }
83
+ //# sourceMappingURL=artifact-utils-vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-utils-vue.js","sourceRoot":"","sources":["../src/artifact-utils-vue.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,9 @@ import type { IRNode } from '@kernlang/core';
8
8
  export declare function generateVueProvider(node: IRNode): string[];
9
9
  export declare function generateVueEffect(node: IRNode): string[];
10
10
  export declare function generateVueHook(node: IRNode): string[];
11
+ /** Check if a node is a ground-layer node that may have Vue-specific overrides. */
12
+ export declare function isVueGroundNode(type: string): boolean;
13
+ /** Generate Vue-overridden ground-layer node. Returns null for non-overridden nodes (fall through to core). */
14
+ export declare function generateVueGroundNode(node: IRNode): string[] | null;
11
15
  export declare function isVueNode(type: string): boolean;
12
16
  export declare function generateVueNode(node: IRNode): string[];
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Mirrors @kernlang/react/codegen-react.ts but outputs Vue instead of React/JSX.
6
6
  */
7
- import { parseParamList, getProps, getChildren, getFirstChild, dedent, handlerCode, emitIdentifier, emitTypeAnnotation } from '@kernlang/core';
7
+ import { dedent, emitIdentifier, emitTypeAnnotation, generateCoreNode, getChildren, getFirstChild, getProps, handlerCode, parseParamList, } from '@kernlang/core';
8
8
  // ── Provider → provide/inject ────────────────────────────────────────────
9
9
  // provider name=Search type=UseSearchResult
10
10
  // prop name=initialQuery type=string
@@ -103,13 +103,13 @@ export function generateVueEffect(node) {
103
103
  lines.push('}');
104
104
  lines.push('');
105
105
  // Composable function
106
- const propNames = propNodes.map(pn => getProps(pn).name);
106
+ const propNames = propNodes.map((pn) => getProps(pn).name);
107
107
  const destructured = propNames.join(', ');
108
108
  lines.push(`export function use${name}${genericParam}({ ${destructured} }: ${name}Props${genericParam}) {`);
109
109
  const code = handlerCode(node);
110
110
  if (deps && !once) {
111
111
  // watch mode — immediate: true to match React useEffect behavior (run on mount)
112
- const depsArr = deps.split(',').map(d => d.trim());
112
+ const depsArr = deps.split(',').map((d) => d.trim());
113
113
  const watchSource = depsArr.length === 1 ? depsArr[0] : `[${depsArr.join(', ')}]`;
114
114
  // Vue watch cleanup uses onCleanup param, not return value
115
115
  const hasCleanup = !!cleanupNode;
@@ -178,8 +178,8 @@ export function generateVueHook(node) {
178
178
  const retClause = returnsType ? `: ${returnsType}` : '';
179
179
  lines.push(`export function ${name}(${paramList})${retClause} {`);
180
180
  const children = getChildren(node);
181
- const returnsNode = children.find(c => c.type === 'returns');
182
- const ordered = children.filter(c => c.type !== 'returns');
181
+ const returnsNode = children.find((c) => c.type === 'returns');
182
+ const ordered = children.filter((c) => c.type !== 'returns');
183
183
  for (const child of ordered) {
184
184
  const cp = getProps(child);
185
185
  switch (child.type) {
@@ -248,7 +248,7 @@ export function generateVueHook(node) {
248
248
  const effectCleanup = getFirstChild(child, 'cleanup');
249
249
  if (edeps) {
250
250
  vueImports.add('watch');
251
- const depsArr = edeps.split(',').map(d => d.trim());
251
+ const depsArr = edeps.split(',').map((d) => d.trim());
252
252
  const watchSource = depsArr.length === 1 ? depsArr[0] : `[${depsArr.join(', ')}]`;
253
253
  const watchCbParams = effectCleanup ? '_value, _oldValue, onCleanup' : '';
254
254
  lines.push(` watch(${watchSource}, (${watchCbParams}) => {`);
@@ -292,7 +292,7 @@ export function generateVueHook(node) {
292
292
  // Returns
293
293
  if (returnsNode) {
294
294
  const rnames = getProps(returnsNode).names || '';
295
- const entries = rnames.split(',').map(e => {
295
+ const entries = rnames.split(',').map((e) => {
296
296
  const [key, ...valueParts] = e.split(':');
297
297
  const value = valueParts.join(':').trim();
298
298
  return value ? `${key.trim()}: ${value}` : key.trim();
@@ -308,16 +308,78 @@ export function generateVueHook(node) {
308
308
  }
309
309
  return lines;
310
310
  }
311
+ // ── Ground Layer — Vue Overrides (Tier 2) ───────────────────────────────
312
+ const GROUND_NODE_TYPES = new Set([
313
+ 'derive',
314
+ 'transform',
315
+ 'action',
316
+ 'guard',
317
+ 'assume',
318
+ 'invariant',
319
+ 'each',
320
+ 'collect',
321
+ 'branch',
322
+ 'resolve',
323
+ 'expect',
324
+ 'recover',
325
+ 'pattern',
326
+ 'apply',
327
+ ]);
328
+ /** Check if a node is a ground-layer node that may have Vue-specific overrides. */
329
+ export function isVueGroundNode(type) {
330
+ return GROUND_NODE_TYPES.has(type);
331
+ }
332
+ /** Vue Tier 2 override for derive → computed(). */
333
+ function generateVueDerive(node) {
334
+ const props = getProps(node);
335
+ const name = props.name;
336
+ const expr = props.expr;
337
+ return [`const ${name} = computed(() => ${expr});`];
338
+ }
339
+ /** Vue Tier 2 override for each → v-for template rendering. */
340
+ function generateVueEach(node) {
341
+ const props = getProps(node);
342
+ const itemName = props.name || 'item';
343
+ const collection = props.in;
344
+ const index = props.index;
345
+ const lines = [];
346
+ const iterVar = index ? `(${itemName}, ${index})` : itemName;
347
+ lines.push(`<template v-for="${iterVar} in ${collection}" :key="${itemName}.id ?? ${itemName}">`);
348
+ for (const child of getChildren(node)) {
349
+ // Try Vue-specific codegen first, fall back to core codegen
350
+ const childLines = isVueNode(child.type) ? generateVueNode(child) : generateCoreNode(child);
351
+ for (const line of childLines) {
352
+ lines.push(` ${line}`);
353
+ }
354
+ }
355
+ lines.push(`</template>`);
356
+ return lines;
357
+ }
358
+ /** Generate Vue-overridden ground-layer node. Returns null for non-overridden nodes (fall through to core). */
359
+ export function generateVueGroundNode(node) {
360
+ switch (node.type) {
361
+ case 'derive':
362
+ return generateVueDerive(node);
363
+ case 'each':
364
+ return generateVueEach(node);
365
+ default:
366
+ return null; // No Vue override — fall through to core
367
+ }
368
+ }
311
369
  // ── Dispatcher ───────────────────────────────────────────────────────────
312
370
  export function isVueNode(type) {
313
371
  return type === 'provider' || type === 'effect' || type === 'hook';
314
372
  }
315
373
  export function generateVueNode(node) {
316
374
  switch (node.type) {
317
- case 'provider': return generateVueProvider(node);
318
- case 'effect': return generateVueEffect(node);
319
- case 'hook': return generateVueHook(node);
320
- default: return [];
375
+ case 'provider':
376
+ return generateVueProvider(node);
377
+ case 'effect':
378
+ return generateVueEffect(node);
379
+ case 'hook':
380
+ return generateVueHook(node);
381
+ default:
382
+ return [];
321
383
  }
322
384
  }
323
385
  //# sourceMappingURL=codegen-vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-vue.js","sourceRoot":"","sources":["../src/codegen-vue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-vue.js","sourceRoot":"","sources":["../src/codegen-vue.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  /**
2
- * @kernlang/vue — Vue 3 SFC + Nuxt 3 transpilers + Vue codegen
2
+ * @kernlang/vue — Vue 3 SFC + Nuxt 3 transpilers + Vue Tailwind + codegen + structure planning
3
3
  */
4
- export { transpileVue } from './transpiler-vue.js';
4
+ export type { StructuredResult } from './artifact-utils-vue.js';
5
+ export { buildVueStructuredArtifacts } from './artifact-utils-vue.js';
6
+ export { generateVueEffect, generateVueGroundNode, generateVueHook, generateVueNode, generateVueProvider, isVueGroundNode, isVueNode, } from './codegen-vue.js';
7
+ export type { BarrelExport, ExtractedComposable, NodeRole, PlannedFile, StructurePlan, } from './structure-vue.js';
8
+ export { adaptPlanForNuxt, classifyNode, extractComposables, generateBarrelCode, generateLogicComposableCode, generateStateComposableCode, generateTypesCode, planVueStructure, } from './structure-vue.js';
5
9
  export { transpileNuxt } from './transpiler-nuxt.js';
6
- export { generateVueProvider, generateVueEffect, generateVueHook, generateVueNode, isVueNode, } from './codegen-vue.js';
10
+ export { transpileTailwindVue } from './transpiler-tailwind-vue.js';
11
+ export { transpileVue } from './transpiler-vue.js';
package/dist/index.js CHANGED
@@ -1,7 +1,10 @@
1
1
  /**
2
- * @kernlang/vue — Vue 3 SFC + Nuxt 3 transpilers + Vue codegen
2
+ * @kernlang/vue — Vue 3 SFC + Nuxt 3 transpilers + Vue Tailwind + codegen + structure planning
3
3
  */
4
- export { transpileVue } from './transpiler-vue.js';
4
+ export { buildVueStructuredArtifacts } from './artifact-utils-vue.js';
5
+ export { generateVueEffect, generateVueGroundNode, generateVueHook, generateVueNode, generateVueProvider, isVueGroundNode, isVueNode, } from './codegen-vue.js';
6
+ export { adaptPlanForNuxt, classifyNode, extractComposables, generateBarrelCode, generateLogicComposableCode, generateStateComposableCode, generateTypesCode, planVueStructure, } from './structure-vue.js';
5
7
  export { transpileNuxt } from './transpiler-nuxt.js';
6
- export { generateVueProvider, generateVueEffect, generateVueHook, generateVueNode, isVueNode, } from './codegen-vue.js';
8
+ export { transpileTailwindVue } from './transpiler-tailwind-vue.js';
9
+ export { transpileVue } from './transpiler-vue.js';
7
10
  //# 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;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,SAAS,GACV,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * KERN Structure Planner for Vue
3
+ *
4
+ * Adapts React's structure planner for Vue conventions:
5
+ * - .vue files instead of .tsx
6
+ * - composables/ instead of hooks/
7
+ * - ref() / computed() instead of useState / useMemo
8
+ * - Barrel exports use .ts (plain TS, not SFC)
9
+ *
10
+ * Supports: bulletproof, atomic, kern, flat patterns.
11
+ */
12
+ import type { GeneratedArtifact, IRNode, ResolvedKernConfig } from '@kernlang/core';
13
+ export type NodeRole = 'surface' | 'block' | 'element' | 'container' | 'state' | 'logic' | 'theme' | 'meta';
14
+ export interface PlannedFile {
15
+ path: string;
16
+ artifactType: GeneratedArtifact['type'];
17
+ nodes: IRNode[];
18
+ rootNode: IRNode;
19
+ dependsOn: string[];
20
+ isEntry: boolean;
21
+ componentName?: string;
22
+ }
23
+ export interface StructurePlan {
24
+ files: PlannedFile[];
25
+ barrels: BarrelExport[];
26
+ }
27
+ export interface BarrelExport {
28
+ path: string;
29
+ exports: {
30
+ name: string;
31
+ from: string;
32
+ }[];
33
+ }
34
+ export interface ExtractedComposable {
35
+ composableName: string;
36
+ path: string;
37
+ stateDecls: {
38
+ name: string;
39
+ initial: string;
40
+ }[];
41
+ logicBlocks: string[];
42
+ returnedValues: string[];
43
+ importedBy: string[];
44
+ }
45
+ export declare function classifyNode(node: IRNode): NodeRole;
46
+ export declare function extractComposables(featureName: string, stateNodes: IRNode[], logicNodes: IRNode[], composablesDir: string): ExtractedComposable[];
47
+ export declare function generateStateComposableCode(composable: ExtractedComposable): string;
48
+ export declare function generateLogicComposableCode(composable: ExtractedComposable, stateComposableName?: string): string;
49
+ export declare function generateTypesCode(featureName: string, stateDecls: {
50
+ name: string;
51
+ initial: string;
52
+ }[]): string;
53
+ export declare function generateBarrelCode(barrel: BarrelExport): string;
54
+ export declare function adaptPlanForNuxt(plan: StructurePlan, root: IRNode): StructurePlan;
55
+ export declare function planVueStructure(root: IRNode, config: ResolvedKernConfig): StructurePlan | null;