@uibit/codegen 0.1.0 → 0.2.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/README.md CHANGED
@@ -1,10 +1,13 @@
1
1
  # @uibit/codegen
2
2
 
3
+ [![NPM Version](https://img.shields.io/npm/v/@uibit/codegen.svg?style=flat-square&color=black)](https://www.npmjs.com/package/@uibit/codegen)
4
+
5
+
3
6
  A generic, high-performance web component wrapper generator for multiple frontend frameworks. It reads a standard Custom Elements Manifest (`custom-elements.json`) and generates native-feeling, tree-shakable wrappers for React, Vue 3, Svelte 5, Angular, SolidJS, Astro, Qwik, and Nuxt 3.
4
7
 
5
8
  ## Features
6
9
 
7
- - **Zero Runtime Dependencies**: The generated wrapper files are written as raw source code or lightweight wrappers (using standard utilities like `@lit/react`), requiring no compilation or heavy libraries in your library's repo.
10
+ - **Zero Runtime Dependencies**: The generated wrappers are written as raw, standalone source code using standard native framework primitives (e.g., standard React Hooks, Vue's `h` render function, or Svelte 5 runes) with no external library dependencies.
8
11
  - **Tree Shakable**: Generates individual files per component and framework, enabling modern bundlers to optimize your bundle sizes.
9
12
  - **Strictly Typed**: Outputs precise TypeScript declarations (`.d.ts`) matching your components' properties, attributes, and custom events.
10
13
  - **Svelte 5 Runes**: Automatically templates wrappers using Svelte 5's new `$props()`, `$state()`, and `$effect()` runes.
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * Scans the src directory of a component, parses its TypeScript source files into ASTs
3
- * using oxc-parser, and extracts the names of all exported types (interfaces, type aliases, enums, classes).
3
+ * using @swc/core, and extracts the names of all exported types (interfaces, type aliases, enums, classes).
4
4
  */
5
5
  export declare function resolveExportedTypes(srcDirPath: string): Set<string>;
6
+ /**
7
+ * Scans the src directory, parses TypeScript source files, and extracts the actual
8
+ * default initializer strings for class properties directly from the AST.
9
+ */
10
+ export declare function resolveSourceDefaults(srcDirPath: string): Record<string, Record<string, string>>;
6
11
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsDpE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA+EpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4EhG"}
@@ -1,9 +1,9 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { parseSync } from 'oxc-parser';
3
+ import swc from '@swc/core';
4
4
  /**
5
5
  * Scans the src directory of a component, parses its TypeScript source files into ASTs
6
- * using oxc-parser, and extracts the names of all exported types (interfaces, type aliases, enums, classes).
6
+ * using @swc/core, and extracts the names of all exported types (interfaces, type aliases, enums, classes).
7
7
  */
8
8
  export function resolveExportedTypes(srcDirPath) {
9
9
  const exportedTypes = new Set();
@@ -22,28 +22,54 @@ export function resolveExportedTypes(srcDirPath) {
22
22
  !entry.name.endsWith('.test.ts')) {
23
23
  try {
24
24
  const content = fs.readFileSync(fullPath, 'utf-8');
25
- const ast = parseSync(entry.name, content);
26
- for (const node of (ast.program.body || [])) {
27
- if (node.type === 'ExportNamedDeclaration') {
28
- if (node.declaration) {
29
- const decl = node.declaration;
30
- if (decl.id && typeof decl.id.name === 'string') {
31
- exportedTypes.add(decl.id.name);
25
+ const ast = swc.parseSync(content, {
26
+ syntax: 'typescript',
27
+ tsx: false,
28
+ decorators: true,
29
+ comments: false,
30
+ target: 'es2022'
31
+ });
32
+ for (const node of (ast.body || [])) {
33
+ if (node.type === 'ExportDeclaration') {
34
+ const decl = node.declaration;
35
+ if (decl) {
36
+ if (decl.type === 'ClassDeclaration' || decl.type === 'FunctionDeclaration') {
37
+ if (decl.identifier && typeof decl.identifier.value === 'string') {
38
+ exportedTypes.add(decl.identifier.value);
39
+ }
40
+ }
41
+ else if (decl.type === 'TsInterfaceDeclaration' ||
42
+ decl.type === 'TsTypeAliasDeclaration' ||
43
+ decl.type === 'TsEnumDeclaration') {
44
+ if (decl.id && typeof decl.id.value === 'string') {
45
+ exportedTypes.add(decl.id.value);
46
+ }
32
47
  }
33
48
  }
49
+ }
50
+ else if (node.type === 'ExportNamedDeclaration') {
34
51
  if (node.specifiers) {
35
52
  for (const specifier of node.specifiers) {
36
- const spec = specifier;
37
- if (spec.exported && typeof spec.exported.name === 'string') {
38
- exportedTypes.add(spec.exported.name);
53
+ if (specifier.type === 'ExportSpecifier') {
54
+ const name = specifier.exported?.value || specifier.orig.value;
55
+ if (typeof name === 'string') {
56
+ exportedTypes.add(name);
57
+ }
39
58
  }
40
59
  }
41
60
  }
42
61
  }
43
62
  else if (node.type === 'ExportDefaultDeclaration') {
44
- const decl = node.declaration;
45
- if (decl && decl.id && typeof decl.id.name === 'string') {
46
- exportedTypes.add(decl.id.name);
63
+ const decl = node.decl;
64
+ if (decl) {
65
+ if (decl.type === 'ClassDeclaration' || decl.type === 'FunctionDeclaration') {
66
+ if (decl.identifier && typeof decl.identifier.value === 'string') {
67
+ exportedTypes.add(decl.identifier.value);
68
+ }
69
+ }
70
+ else if (decl.id && typeof decl.id.value === 'string') {
71
+ exportedTypes.add(decl.id.value);
72
+ }
47
73
  }
48
74
  }
49
75
  }
@@ -57,4 +83,81 @@ export function resolveExportedTypes(srcDirPath) {
57
83
  scanDir(srcDirPath);
58
84
  return exportedTypes;
59
85
  }
86
+ /**
87
+ * Scans the src directory, parses TypeScript source files, and extracts the actual
88
+ * default initializer strings for class properties directly from the AST.
89
+ */
90
+ export function resolveSourceDefaults(srcDirPath) {
91
+ const allDefaults = {};
92
+ function scanDir(dir) {
93
+ if (!fs.existsSync(dir))
94
+ return;
95
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
96
+ for (const entry of entries) {
97
+ const fullPath = path.join(dir, entry.name);
98
+ if (entry.isDirectory()) {
99
+ scanDir(fullPath);
100
+ }
101
+ else if (entry.isFile() &&
102
+ entry.name.endsWith('.ts') &&
103
+ !entry.name.endsWith('.d.ts') &&
104
+ !entry.name.endsWith('.test.ts')) {
105
+ try {
106
+ const content = fs.readFileSync(fullPath, 'utf-8');
107
+ const ast = swc.parseSync(content, {
108
+ syntax: 'typescript',
109
+ tsx: false,
110
+ decorators: true,
111
+ comments: false,
112
+ target: 'es2022'
113
+ });
114
+ for (const node of (ast.body || [])) {
115
+ let classDecl = null;
116
+ if (node.type === 'ClassDeclaration') {
117
+ classDecl = node;
118
+ }
119
+ else if (node.type === 'ExportDeclaration' && node.declaration?.type === 'ClassDeclaration') {
120
+ classDecl = node.declaration;
121
+ }
122
+ else if (node.type === 'ExportDefaultDeclaration' && (node.decl?.type === 'ClassExpression' || node.decl?.type === 'ClassDeclaration')) {
123
+ classDecl = node.decl;
124
+ }
125
+ if (classDecl && classDecl.identifier?.value) {
126
+ const className = classDecl.identifier.value;
127
+ const defaults = {};
128
+ for (const member of (classDecl.body || [])) {
129
+ if (member.type === 'ClassProperty' && member.value) {
130
+ const propName = member.key?.value;
131
+ if (propName) {
132
+ const tempModule = {
133
+ type: 'Module',
134
+ span: { start: 0, end: 0 },
135
+ body: [
136
+ {
137
+ type: 'ExpressionStatement',
138
+ span: { start: 0, end: 0 },
139
+ expression: member.value
140
+ }
141
+ ],
142
+ interpreter: null
143
+ };
144
+ const printed = swc.printSync(tempModule, { minify: false }).code.trim();
145
+ const defaultValue = printed.endsWith(';') ? printed.slice(0, -1).trim() : printed;
146
+ defaults[propName] = defaultValue;
147
+ }
148
+ }
149
+ }
150
+ allDefaults[className] = defaults;
151
+ }
152
+ }
153
+ }
154
+ catch (e) {
155
+ // Ignore parse errors on individual files
156
+ }
157
+ }
158
+ }
159
+ }
160
+ scanDir(srcDirPath);
161
+ return allDefaults;
162
+ }
60
163
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Parse a full TypeScript module code string to a SWC Module AST.
3
+ */
4
+ export declare function parseModule(source: string): any;
5
+ /**
6
+ * Parse class properties/methods into an array of SWC ClassMember AST nodes.
7
+ */
8
+ export declare function parseClassMembers(source: string): any[];
9
+ /**
10
+ * Parse arrow function code block and extract its statement nodes.
11
+ */
12
+ export declare function extractStatementsFromArrow(source: string): any[];
13
+ /**
14
+ * Find class declaration node inside a parsed Module AST.
15
+ */
16
+ export declare function findClassDeclaration(moduleAst: any): any;
17
+ /**
18
+ * Find decorator by name (e.g. Component, Directive) on a class declaration.
19
+ */
20
+ export declare function findComponentDecorator(classDecl: any, decoratorName?: string): any;
21
+ /**
22
+ * Parses an object literal definition string and returns its SWC properties AST array.
23
+ */
24
+ export declare function extractObjectProperties(source: string): any[];
25
+ //# sourceMappingURL=swc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swc.d.ts","sourceRoot":"","sources":["../../src/core/swc.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAQ/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAOvD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAQhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAKxD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,SAAc,GAAG,GAAG,CAIvF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAK7D"}
@@ -0,0 +1,59 @@
1
+ import swc from '@swc/core';
2
+ /**
3
+ * Parse a full TypeScript module code string to a SWC Module AST.
4
+ */
5
+ export function parseModule(source) {
6
+ return swc.parseSync(source, {
7
+ syntax: 'typescript',
8
+ tsx: false,
9
+ decorators: true,
10
+ comments: true,
11
+ target: 'es2022'
12
+ });
13
+ }
14
+ /**
15
+ * Parse class properties/methods into an array of SWC ClassMember AST nodes.
16
+ */
17
+ export function parseClassMembers(source) {
18
+ const ast = swc.parseSync(`class T { ${source} }`, {
19
+ syntax: 'typescript',
20
+ decorators: true
21
+ });
22
+ const classDecl = ast.body[0];
23
+ return classDecl?.declaration?.body || classDecl?.body || [];
24
+ }
25
+ /**
26
+ * Parse arrow function code block and extract its statement nodes.
27
+ */
28
+ export function extractStatementsFromArrow(source) {
29
+ const members = parseClassMembers(`static temp = () => { ${source} }`);
30
+ const method = members[0];
31
+ const arrowFn = method?.value;
32
+ if (arrowFn?.body?.type === 'BlockStatement') {
33
+ return arrowFn.body.stmts || [];
34
+ }
35
+ return [];
36
+ }
37
+ /**
38
+ * Find class declaration node inside a parsed Module AST.
39
+ */
40
+ export function findClassDeclaration(moduleAst) {
41
+ const exportDecl = moduleAst.body.find((n) => n.type === 'ExportDeclaration' && n.declaration?.type === 'ClassDeclaration');
42
+ return exportDecl?.declaration;
43
+ }
44
+ /**
45
+ * Find decorator by name (e.g. Component, Directive) on a class declaration.
46
+ */
47
+ export function findComponentDecorator(classDecl, decoratorName = 'Component') {
48
+ return classDecl?.decorators?.find((d) => d.expression?.callee?.value === decoratorName);
49
+ }
50
+ /**
51
+ * Parses an object literal definition string and returns its SWC properties AST array.
52
+ */
53
+ export function extractObjectProperties(source) {
54
+ const moduleAst = parseModule(`const t = { ${source} };`);
55
+ const varDecl = moduleAst.body[0];
56
+ const objExpr = varDecl?.declarations?.[0]?.init;
57
+ return objExpr?.properties || [];
58
+ }
59
+ //# sourceMappingURL=swc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swc.js","sourceRoot":"","sources":["../../src/core/swc.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,WAAW,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;QAC3B,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,KAAK;QACV,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,MAAM,IAAI,EAAE;QACjD,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC;IACrC,OAAO,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAc;IACvD,MAAM,OAAO,GAAG,iBAAiB,CAAC,yBAAyB,MAAM,IAAI,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,KAAK,CAAC;IAC9B,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAc;IACjD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CACpC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,kBAAkB,CACzF,CAAC;IACF,OAAO,UAAU,EAAE,WAAW,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAc,EAAE,aAAa,GAAG,WAAW;IAChF,OAAO,SAAS,EAAE,UAAU,EAAE,IAAI,CAChC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,KAAK,aAAa,CAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe,MAAM,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACjD,OAAO,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;AACnC,CAAC"}
@@ -13,6 +13,7 @@ export interface Event {
13
13
  type?: {
14
14
  text: string;
15
15
  };
16
+ payloadKeys?: string[];
16
17
  }
17
18
  export interface Attribute {
18
19
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpE"}
@@ -33,4 +33,12 @@ export declare function toCamelCase(str: string): string;
33
33
  * Capitalizes the first letter of a string.
34
34
  */
35
35
  export declare function capitalize(str: string): string;
36
+ /**
37
+ * Sanitizes event type text from CEM, wrapping key-value listings in object braces if needed.
38
+ */
39
+ export declare function sanitizeEventType(typeText: string | undefined): string;
40
+ /**
41
+ * Checks if a component event is associated with a given property based on payload keys, suffix conventions, or DOM defaults.
42
+ */
43
+ export declare function isEventAssociatedWithProp(component: any, eventName: string, propName: string): boolean;
36
44
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM1B;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;CACF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAyB,GAAG,MAAM,CAG5G;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM1B;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;CACF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAyB,GAAG,MAAM,CAG5G;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOtE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBtG"}
@@ -70,4 +70,39 @@ export function capitalize(str) {
70
70
  return '';
71
71
  return str.charAt(0).toUpperCase() + str.slice(1);
72
72
  }
73
+ /**
74
+ * Sanitizes event type text from CEM, wrapping key-value listings in object braces if needed.
75
+ */
76
+ export function sanitizeEventType(typeText) {
77
+ if (!typeText)
78
+ return 'any';
79
+ const trimmed = typeText.trim();
80
+ if (trimmed.includes(':') && !trimmed.startsWith('{') && !trimmed.endsWith('}')) {
81
+ return `{ ${trimmed} }`;
82
+ }
83
+ return trimmed;
84
+ }
85
+ /**
86
+ * Checks if a component event is associated with a given property based on payload keys, suffix conventions, or DOM defaults.
87
+ */
88
+ export function isEventAssociatedWithProp(component, eventName, propName) {
89
+ const event = component.events?.find((e) => e.name === eventName);
90
+ if (event?.payloadKeys?.includes(propName)) {
91
+ return true;
92
+ }
93
+ const normalizedProp = propName.toLowerCase();
94
+ const normalizedEvent = eventName.toLowerCase();
95
+ // Suffix mapping (e.g. slide-change maps to slide)
96
+ if (normalizedEvent === `${normalizedProp}change` || normalizedEvent === `${normalizedProp}-change`) {
97
+ return true;
98
+ }
99
+ // Standard form value fallbacks
100
+ if (propName === 'value' && (eventName === 'change' || eventName === 'input' || eventName.endsWith('-change'))) {
101
+ return true;
102
+ }
103
+ if (propName === 'checked' && eventName === 'change') {
104
+ return true;
105
+ }
106
+ return false;
107
+ }
73
108
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,aAAa;IAA1B;QACU,WAAM,GAAa,EAAE,CAAC;IAmBhC,CAAC;IAjBC;;OAEG;IACH,MAAM,CAAC,KAAa;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,IAAI,GAAG,SAAS;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAsB,EAAE,UAAuB;IAC1F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,eAAyB,EAAE,UAAU,GAAW,gBAAgB;IAClG,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,IAAI,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import { qwikPlugin } from './templates/qwik.js';
11
11
  import { nuxtPlugin } from './templates/nuxt.js';
12
12
  import { preactPlugin } from './templates/preact.js';
13
13
  import { stencilPlugin } from './templates/stencil.js';
14
- import { resolveExportedTypes } from './core/parser.js';
14
+ import { resolveExportedTypes, resolveSourceDefaults } from './core/parser.js';
15
15
  const plugins = [
16
16
  reactPlugin,
17
17
  vuePlugin,
@@ -24,6 +24,18 @@ const plugins = [
24
24
  preactPlugin,
25
25
  stencilPlugin
26
26
  ];
27
+ function extractKeysFromTypeText(typeText) {
28
+ if (!typeText)
29
+ return [];
30
+ const keys = [];
31
+ const matches = typeText.matchAll(/\b(\w+)\s*:/g);
32
+ for (const match of matches) {
33
+ if (match[1]) {
34
+ keys.push(match[1]);
35
+ }
36
+ }
37
+ return keys;
38
+ }
27
39
  function run() {
28
40
  const args = process.argv.slice(2);
29
41
  const pkgIndex = args.indexOf('--package');
@@ -53,23 +65,33 @@ function run() {
53
65
  }
54
66
  const importPathIndex = args.indexOf('--import-path');
55
67
  const importPath = importPathIndex !== -1 ? args[importPathIndex + 1] : (detectedImportPath || '../../index.js');
56
- // Extract exported types using TypeScript compiler AST parsing
68
+ // Extract exported types and property defaults using AST parsing
57
69
  const srcDir = path.join(absolutePkgDir, 'src');
58
70
  const exportedTypes = resolveExportedTypes(srcDir);
71
+ const sourceDefaults = resolveSourceDefaults(srcDir);
59
72
  for (const module of manifest.modules || []) {
60
73
  for (const declaration of module.declarations || []) {
61
- if (declaration.customElement) {
74
+ if (declaration.customElement && declaration.tagName) {
75
+ const componentDefaults = sourceDefaults[declaration.name] || {};
62
76
  const properties = (declaration.members || [])
63
77
  .filter((m) => m.kind === 'field' && m.privacy !== 'private' && !m.static && !m.readonly)
64
- .map((m) => ({
65
- name: m.name,
66
- type: m.type,
67
- description: m.description,
68
- default: m.default,
69
- readonly: m.readonly
70
- }));
78
+ .map((m) => {
79
+ const astDefault = componentDefaults[m.name];
80
+ return {
81
+ name: m.name,
82
+ type: m.type,
83
+ description: m.description,
84
+ default: astDefault !== undefined ? astDefault : m.default,
85
+ readonly: m.readonly
86
+ };
87
+ });
71
88
  const attributes = declaration.attributes || [];
72
- const events = declaration.events || [];
89
+ const events = (declaration.events || []).map((e) => ({
90
+ name: e.name,
91
+ description: e.description,
92
+ type: e.type,
93
+ payloadKeys: extractKeysFromTypeText(e.type?.text || '')
94
+ }));
73
95
  const slots = declaration.slots || [];
74
96
  const mixins = declaration.mixins || [];
75
97
  const formAssociated = declaration.formAssociated === true || mixins.some((m) => m.name === 'FormAssociatedMixin');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../../src/templates/angular.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,aAAa;IACxB,IAAI;IACJ,QAAQ,YAAY,iBAAiB;QAGjC,UAAU;;CAGf,CAAC"}
1
+ {"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../../src/templates/angular.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAU1D,eAAO,MAAM,aAAa;IACxB,IAAI;IACJ,QAAQ,YAAY,iBAAiB;QAGjC,UAAU;;CAGf,CAAC"}