@arcmantle/lit-jsx 1.1.12 → 1.1.14

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.
@@ -3,15 +3,26 @@ import * as t from '@babel/types';
3
3
  export declare class ImportDiscovery {
4
4
  static readonly programCache: Map<string, NodePath<t.Program>>;
5
5
  static readonly resolvedCache: Map<string, Map<string, boolean>>;
6
- static readonly validCalls: Set<string>;
7
- static readonly validTypes: Set<string>;
8
6
  static clearCacheForFile(filePath: string): void;
9
7
  /**
10
- * Finds the definition of a JSX element in the given path.
8
+ * Checks if a JSX element is a class (custom element) or string literal (static element).
9
+ * Returns true if it's a custom element (class) or static element (string literal).
11
10
  */
12
11
  isDynamicOrCustomELement(path: NodePath): boolean;
13
- protected hasValidCallAssignment(programPath: NodePath<t.Program>, binding: Binding): boolean;
14
- protected hasValidTypeAnnotation(typeAnnotation: t.Identifier['typeAnnotation']): boolean;
12
+ /**
13
+ * Checks if a JSX element is specifically a class (not a string literal).
14
+ * Returns true only for class declarations/expressions, false otherwise.
15
+ * Used to determine if .tagName accessor should be used.
16
+ */
17
+ isClassByImportDiscovery(path: NodePath): boolean;
18
+ /**
19
+ * Recursively follows a binding to determine if it resolves to a class (not a string literal).
20
+ */
21
+ protected isClass(programPath: NodePath<t.Program>, binding: Binding): boolean;
22
+ /**
23
+ * Recursively follows a binding to determine if it resolves to a class or string literal.
24
+ */
25
+ protected isClassOrStringLiteral(programPath: NodePath<t.Program>, binding: Binding): boolean;
15
26
  protected followExportChain(programPath: NodePath<t.Program>, importedName: string): {
16
27
  programPath: NodePath<t.Program>;
17
28
  binding: Binding;
@@ -20,4 +31,5 @@ export declare class ImportDiscovery {
20
31
  protected resolveSourcePath(programPath: NodePath<t.Program>, source: string): string;
21
32
  }
22
33
  export declare const isDynamicOrCustomElement: (...args: Parameters<ImportDiscovery["isDynamicOrCustomELement"]>) => ReturnType<ImportDiscovery["isDynamicOrCustomELement"]>;
34
+ export declare const isClassByImportDiscovery: (...args: Parameters<ImportDiscovery["isClassByImportDiscovery"]>) => ReturnType<ImportDiscovery["isClassByImportDiscovery"]>;
23
35
  //# sourceMappingURL=import-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-discovery.d.ts","sourceRoot":"","sources":["../../src/compiler/import-discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAMlC,qBAAa,eAAe;IAE3B,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAa;IAC5E,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAa;IAC7E,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAK,GAAG,CAAC,MAAM,CAAC,CAAuC;IACjF,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAK,GAAG,CAAC,MAAM,CAAC,CAAuC;IAEjF,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAmCjD,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAyG7F,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,OAAO;IAczF,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG;QACpF,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,EAAM,OAAO,CAAC;KACrB,GAAG,SAAS;IAoFb,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS;IAcnF,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAUrF;AAID,eAAO,MAAM,wBAAwB,GACpC,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,KAC9D,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAIxD,CAAC"}
1
+ {"version":3,"file":"import-discovery.d.ts","sourceRoot":"","sources":["../../src/compiler/import-discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAMlC,qBAAa,eAAe;IAE3B,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAa;IAC5E,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAa;IAE7E,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKhD;;;OAGG;IACH,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAmCjD;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAqBjD;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAyE9E;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAqF7F,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG;QACpF,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,EAAM,OAAO,CAAC;KACrB,GAAG,SAAS;IAoFb,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS;IAcnF,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAUrF;AAID,eAAO,MAAM,wBAAwB,GACpC,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,KAC9D,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAIxD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACpC,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,KAC9D,UAAU,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAIxD,CAAC"}
@@ -5,14 +5,13 @@ import { Ensure, getPathFilename, isComponent } from "./compiler-utils.js";
5
5
  export class ImportDiscovery {
6
6
  static { this.programCache = new Map(); }
7
7
  static { this.resolvedCache = new Map(); }
8
- static { this.validCalls = new Set(['toComponent', 'toTag']); }
9
- static { this.validTypes = new Set(['ToComponent', 'ToTag']); }
10
8
  static clearCacheForFile(filePath) {
11
9
  ImportDiscovery.programCache.delete(filePath);
12
10
  ImportDiscovery.resolvedCache.delete(filePath);
13
11
  }
14
12
  /**
15
- * Finds the definition of a JSX element in the given path.
13
+ * Checks if a JSX element is a class (custom element) or string literal (static element).
14
+ * Returns true if it's a custom element (class) or static element (string literal).
16
15
  */
17
16
  isDynamicOrCustomELement(path) {
18
17
  if (!t.isJSXOpeningElement(path.node))
@@ -34,100 +33,152 @@ export class ImportDiscovery {
34
33
  const binding = path.scope.getBinding(elementName);
35
34
  if (!binding)
36
35
  return false;
37
- const isValid = this.hasValidCallAssignment(programPath, binding);
36
+ const isValid = this.isClassOrStringLiteral(programPath, binding);
38
37
  cached.set(elementName, isValid);
39
38
  return isValid;
40
39
  }
41
- hasValidCallAssignment(programPath, binding) {
40
+ /**
41
+ * Checks if a JSX element is specifically a class (not a string literal).
42
+ * Returns true only for class declarations/expressions, false otherwise.
43
+ * Used to determine if .tagName accessor should be used.
44
+ */
45
+ isClassByImportDiscovery(path) {
46
+ if (!t.isJSXOpeningElement(path.node))
47
+ return false;
48
+ if (!t.isJSXIdentifier(path.node.name))
49
+ return false;
50
+ const elementName = path.node.name.name;
51
+ if (!isComponent(elementName))
52
+ return false;
53
+ const programPath = Ensure.findProgramPathFromNodePath(path);
54
+ const binding = path.scope.getBinding(elementName);
55
+ if (!binding)
56
+ return false;
57
+ return this.isClass(programPath, binding);
58
+ }
59
+ /**
60
+ * Recursively follows a binding to determine if it resolves to a class (not a string literal).
61
+ */
62
+ isClass(programPath, binding) {
42
63
  const node = binding.path.node;
64
+ // Check for class declarations: class MyElement extends HTMLElement {}
65
+ if (t.isClassDeclaration(node))
66
+ return true;
43
67
  if (t.isVariableDeclarator(node)) {
44
- // Check if the variable has a TypeScript type annotation for ToComponent or ToTag
45
- if (t.isIdentifier(node.id)) {
46
- if (this.hasValidTypeAnnotation(node.id.typeAnnotation))
47
- return true;
48
- }
49
- if (t.isCallExpression(node.init)) {
50
- const callee = node.init.callee;
51
- if (t.isIdentifier(callee)) {
52
- const calleeName = callee.name;
53
- // If the original callee name is a valid call
54
- // we don't have to check where it came from.
55
- if (ImportDiscovery.validCalls.has(calleeName))
56
- return true;
57
- // We can check where the callee came from.
58
- const newBinding = programPath.scope.getBinding(calleeName);
59
- if (!newBinding)
60
- return false;
61
- return this.hasValidCallAssignment(programPath, newBinding);
62
- }
63
- }
64
- else if (t.isIdentifier(node.init)) {
65
- const referencedName = node.init.name;
68
+ const init = node.init;
69
+ if (!init)
70
+ return false;
71
+ // Check for class expressions: const MyElement = class {}
72
+ if (t.isClassExpression(init))
73
+ return true;
74
+ // String literals are NOT classes
75
+ if (t.isStringLiteral(init))
76
+ return false;
77
+ if (t.isTemplateLiteral(init))
78
+ return false;
79
+ // Follow identifiers: const MyElement = SomeOtherElement
80
+ if (t.isIdentifier(init)) {
81
+ const referencedName = init.name;
66
82
  const newBinding = programPath.scope.getBinding(referencedName);
67
83
  if (!newBinding)
68
84
  return false;
69
- return this.hasValidCallAssignment(programPath, newBinding);
85
+ return this.isClass(programPath, newBinding);
70
86
  }
87
+ // Skip call expressions
88
+ if (t.isCallExpression(init))
89
+ return false;
71
90
  }
72
- else if (t.isImportSpecifier(node)) {
73
- const imported = node.imported;
74
- const importedName = t.isIdentifier(imported)
75
- ? imported.name
76
- : imported.value;
77
- if (ImportDiscovery.validCalls.has(importedName))
78
- return true;
79
- // Since the imported name is not a valid call,
80
- // we need to resolve the import, and rerun the followCallBinding
81
- // using the new programPath.
91
+ else if (t.isImportSpecifier(node) || t.isImportDefaultSpecifier(node)) {
82
92
  const importDeclaration = binding.path.parent;
83
- if (t.isImportDeclaration(importDeclaration)) {
84
- const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
85
- if (!resolvedPath)
86
- return false;
87
- // We can now follow the new path
88
- const newProgramPath = this.getProgramPathFromFile(resolvedPath);
89
- if (!newProgramPath)
93
+ if (!t.isImportDeclaration(importDeclaration))
94
+ return false;
95
+ const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
96
+ if (!resolvedPath)
97
+ return false;
98
+ const newProgramPath = this.getProgramPathFromFile(resolvedPath);
99
+ if (!newProgramPath)
100
+ return false;
101
+ const importedName = t.isImportDefaultSpecifier(node)
102
+ ? 'default'
103
+ : t.isIdentifier(node.imported)
104
+ ? node.imported.name
105
+ : node.imported.value;
106
+ const newBinding = newProgramPath.scope.getBinding(importedName);
107
+ if (newBinding)
108
+ return this.isClass(newProgramPath, newBinding);
109
+ const exportChainResult = this.followExportChain(newProgramPath, importedName);
110
+ if (!exportChainResult)
111
+ return false;
112
+ return this.isClass(exportChainResult.programPath, exportChainResult.binding);
113
+ }
114
+ return false;
115
+ }
116
+ /**
117
+ * Recursively follows a binding to determine if it resolves to a class or string literal.
118
+ */
119
+ isClassOrStringLiteral(programPath, binding) {
120
+ const node = binding.path.node;
121
+ // Check for class declarations: class MyElement extends HTMLElement {}
122
+ if (t.isClassDeclaration(node))
123
+ return true;
124
+ if (t.isVariableDeclarator(node)) {
125
+ const init = node.init;
126
+ if (!init)
127
+ return false;
128
+ // Check for class expressions: const MyElement = class {}
129
+ if (t.isClassExpression(init))
130
+ return true;
131
+ // Check for string literals: const MyElement = 'my-element'
132
+ if (t.isStringLiteral(init))
133
+ return true;
134
+ // Check for template literals that are static: const MyElement = `my-element`
135
+ if (t.isTemplateLiteral(init) && init.expressions.length === 0 && init.quasis.length === 1)
136
+ return true;
137
+ // Follow identifiers: const MyElement = SomeOtherElement
138
+ if (t.isIdentifier(init)) {
139
+ const referencedName = init.name;
140
+ const newBinding = programPath.scope.getBinding(referencedName);
141
+ if (!newBinding)
90
142
  return false;
91
- const newBinding = newProgramPath.scope.getBinding(importedName);
92
- if (!newBinding) {
93
- // If there is no binding for this import, it might be because it comes from an export.
94
- const exportChainResult = this.followExportChain(newProgramPath, importedName);
95
- if (!exportChainResult)
96
- return false;
97
- return this.hasValidCallAssignment(exportChainResult.programPath, exportChainResult.binding);
98
- }
99
- return this.hasValidCallAssignment(newProgramPath, newBinding);
143
+ return this.isClassOrStringLiteral(programPath, newBinding);
100
144
  }
101
- }
102
- else if (t.isIdentifier(node)) {
103
- // Handle function parameters with type annotations like (Element: typeof DiscoveryTest)
104
- if (t.isTSTypeAnnotation(node.typeAnnotation)) {
105
- const typeAnnotation = node.typeAnnotation.typeAnnotation;
106
- // Check for direct type reference to ToComponent or ToTag
107
- if (this.hasValidTypeAnnotation(node.typeAnnotation))
108
- return true;
109
- if (t.isTSTypeQuery(typeAnnotation)) {
110
- // Extract the referenced type name from TSTypeQuery (typeof SomeVariable)
111
- const exprName = typeAnnotation.exprName;
112
- if (t.isIdentifier(exprName)) {
113
- const referencedName = exprName.name;
114
- const newBinding = programPath.scope.getBinding(referencedName);
115
- if (!newBinding)
116
- return false;
117
- return this.hasValidCallAssignment(programPath, newBinding);
118
- }
119
- }
145
+ // Follow call expressions that might return a class or string
146
+ if (t.isCallExpression(init)) {
147
+ // We can't determine the return type of arbitrary functions without type checking
148
+ // So we skip call expressions for now
149
+ return false;
120
150
  }
121
151
  }
122
- return false;
123
- }
124
- hasValidTypeAnnotation(typeAnnotation) {
125
- if (!t.isTSTypeAnnotation(typeAnnotation))
152
+ else if (t.isImportSpecifier(node) || t.isImportDefaultSpecifier(node)) {
153
+ const importDeclaration = binding.path.parent;
154
+ if (!t.isImportDeclaration(importDeclaration))
155
+ return false;
156
+ const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
157
+ if (!resolvedPath)
158
+ return false;
159
+ const newProgramPath = this.getProgramPathFromFile(resolvedPath);
160
+ if (!newProgramPath)
161
+ return false;
162
+ // Get the imported name
163
+ const importedName = t.isImportDefaultSpecifier(node)
164
+ ? 'default'
165
+ : t.isIdentifier(node.imported)
166
+ ? node.imported.name
167
+ : node.imported.value;
168
+ // Try to find binding in the imported file
169
+ const newBinding = newProgramPath.scope.getBinding(importedName);
170
+ if (newBinding)
171
+ return this.isClassOrStringLiteral(newProgramPath, newBinding);
172
+ // If no binding, check export chain
173
+ const exportChainResult = this.followExportChain(newProgramPath, importedName);
174
+ if (!exportChainResult)
175
+ return false;
176
+ return this.isClassOrStringLiteral(exportChainResult.programPath, exportChainResult.binding);
177
+ }
178
+ else if (t.isIdentifier(node)) {
179
+ // Handle function parameters: function render(Element: typeof MyElement)
180
+ // We can't determine the actual type without type checking, skip for now
126
181
  return false;
127
- const typeRef = typeAnnotation.typeAnnotation;
128
- if (t.isTSTypeReference(typeRef) && t.isIdentifier(typeRef.typeName)) {
129
- const typeName = typeRef.typeName.name;
130
- return ImportDiscovery.validTypes.has(typeName);
131
182
  }
132
183
  return false;
133
184
  }
@@ -217,4 +268,8 @@ export const isDynamicOrCustomElement = (...args) => {
217
268
  discovery ??= new ImportDiscovery();
218
269
  return discovery.isDynamicOrCustomELement(...args);
219
270
  };
271
+ export const isClassByImportDiscovery = (...args) => {
272
+ discovery ??= new ImportDiscovery();
273
+ return discovery.isClassByImportDiscovery(...args);
274
+ };
220
275
  //# sourceMappingURL=import-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-discovery.js","sourceRoot":"","sources":["../../src/compiler/import-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-discovery.js","sourceRoot":"","sources":["../../src/compiler/import-discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../src/compiler/transpiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transpiler.d.ts","sourceRoot":"","sources":["../../src/compiler/transpiler.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { CompiledBuilder, TemplateBuilder } from './builder.js';
4
4
  import { ensureImports, getProgramFromPath, getTemplateType, isJSXElementPath, isJSXElementStatic, isJSXFragmentPath, isValidOpeningElement, normalizeText, } from './compiler-utils.js';
5
5
  import { Ensure, getJSXElementName, getPathFilename, isJSXCustomElementComponent, isJSXFunctionElementComponent, isValidJSXElement, } from './compiler-utils.js';
6
6
  import { COMPONENT_LITERAL_PREFIX, ERROR_MESSAGES, options, VARIABLES, WHITESPACE_TAGS, } from './config.js';
7
+ import { isClassByImportDiscovery } from './import-discovery.js';
7
8
  import { isClassByType } from './type-utils.js';
8
9
  const toCamelCase = (name) => name
9
10
  .replace(/-([a-zA-Z])/g, (_, letter) => letter.toUpperCase());
@@ -64,6 +65,9 @@ export class TemplateTranspiler extends JSXTranspiler {
64
65
  const filename = getPathFilename(context.path);
65
66
  isClass = isClassByType(context.path, filename) === true;
66
67
  }
68
+ else if (options.useImportDiscovery) {
69
+ isClass = isClassByImportDiscovery(context.path.get('openingElement'));
70
+ }
67
71
  const literalIdentifier = Ensure.componentLiteral(context.tagName, COMPONENT_LITERAL_PREFIX + context.tagName, context.path, context.program, isClass);
68
72
  context.literalName = literalIdentifier.name;
69
73
  context.builder.addText('<');
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../src/compiler/transpiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../src/compiler/transpiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-program-manager.d.ts","sourceRoot":"","sources":["../../src/compiler/ts-program-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAC;AAyC5B,wEAAwE;AACxE,eAAO,MAAM,cAAc,QAAO,EAAE,CAAC,WAAW,GAAG,SAElD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,YAAY,QAAO,EAAE,CAAC,OAAO,GAAG,SAE5C,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,EAAE,CAAC,UAAU,GAAG,SAIhE,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,GAAG,SAInF,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,OAIzE,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,EAAE,QAAQ,OAAO,GAAG,SAAS,KAAG,IAStG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,SAAS,KAAG,IA8GzD,CAAC;AA6LF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,gBAAgB,MAAM,KAAG,IAiE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAO,IAUvC,CAAC"}
1
+ {"version":3,"file":"ts-program-manager.d.ts","sourceRoot":"","sources":["../../src/compiler/ts-program-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAC;AA+C5B,wEAAwE;AACxE,eAAO,MAAM,cAAc,QAAO,EAAE,CAAC,WAAW,GAAG,SAElD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,YAAY,QAAO,EAAE,CAAC,OAAO,GAAG,SAE5C,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,EAAE,CAAC,UAAU,GAAG,SAIhE,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,GAAG,SAInF,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,OAIzE,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,EAAE,QAAQ,OAAO,GAAG,SAAS,KAAG,IAStG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,SAAS,KAAG,IA8HzD,CAAC;AA0OF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,gBAAgB,MAAM,KAAG,IAiE/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAO,IAYvC,CAAC"}
@@ -6,8 +6,14 @@ let moduleResolutionCache;
6
6
  const fileVersions = new Map();
7
7
  const fileContents = new Map();
8
8
  const scriptKinds = new Map();
9
- const importMaps = new Map(); // filename -> (symbolName -> resolvedPath)
10
- const typeCheckCache = new Map(); // filename -> (symbolName -> isStatic)
9
+ // filename -> (symbolName -> resolvedPath)
10
+ const importMaps = new Map();
11
+ // filename -> (symbolName -> isStatic)
12
+ const typeCheckCache = new Map();
13
+ // filePath -> (symbolName -> resolvedPath or null if not found)
14
+ const reExportCache = new Map();
15
+ // containingFile -> (importPath -> resolvedPath)
16
+ const moduleResolutionPathCache = new Map();
11
17
  // ScriptKind lookup table for O(1) extension detection
12
18
  const extensionToScriptKind = new Map([
13
19
  ['.tsx', ts.ScriptKind.TSX],
@@ -75,6 +81,7 @@ export const initializeTypeInference = (file) => {
75
81
  const normalizedFilename = normalizePath(file.opts.filename);
76
82
  // Initialize Language Service on first use
77
83
  if (!languageService) {
84
+ //console.time('TypeScript Language Service: Initialization');
78
85
  // Auto-discover tsconfig
79
86
  const tsConfigPath = ts.findConfigFile(normalizedFilename, ts.sys.fileExists, 'tsconfig.json');
80
87
  // Load compiler options from tsconfig
@@ -126,6 +133,16 @@ export const initializeTypeInference = (file) => {
126
133
  return fileContents.get(normalized) ?? ts.sys.readFile(fileName);
127
134
  },
128
135
  resolveModuleNames: (moduleNames, containingFile) => {
136
+ const normalized = normalizePath(containingFile);
137
+ // OPTIMIZATION: Only resolve imports for files we explicitly loaded
138
+ // Skip resolution for lib files, node_modules, or files we don't care about
139
+ // This prevents the Language Service from cascading through the entire dependency tree
140
+ if (!fileContents.has(normalized)) {
141
+ // Return undefined for all modules in files we didn't load
142
+ // This tells TypeScript to skip type-checking this file's imports
143
+ return moduleNames.map(() => undefined);
144
+ }
145
+ // For files we loaded, resolve their imports normally
129
146
  return moduleNames.map(moduleName => {
130
147
  const result = ts.resolveModuleName(moduleName, containingFile, compilerOptions, ts.sys, moduleResolutionCache);
131
148
  return result.resolvedModule;
@@ -133,6 +150,7 @@ export const initializeTypeInference = (file) => {
133
150
  },
134
151
  };
135
152
  languageService = ts.createLanguageService(host, ts.createDocumentRegistry());
153
+ //console.timeEnd('TypeScript Language Service: Initialization');
136
154
  }
137
155
  // Update or add file to Language Service
138
156
  const currentVersion = fileVersions.get(normalizedFilename) ?? 0;
@@ -154,10 +172,22 @@ function findReExportSource(filePath, symbolName) {
154
172
  if (!compilerOptions || !moduleResolutionCache || !languageService)
155
173
  return undefined;
156
174
  const normalizedPath = normalizePath(filePath);
175
+ // Check re-export cache first
176
+ const cached = reExportCache.get(normalizedPath);
177
+ if (cached?.has(symbolName)) {
178
+ const result = cached.get(symbolName);
179
+ return result === null ? undefined : result;
180
+ }
157
181
  // Use cached source file from Language Service instead of creating new one
158
182
  const sourceFile = languageService.getProgram()?.getSourceFile(normalizedPath);
159
- if (!sourceFile)
183
+ if (!sourceFile) {
184
+ // Cache the negative result
185
+ if (!cached)
186
+ reExportCache.set(normalizedPath, new Map([[symbolName, null]]));
187
+ else
188
+ cached.set(symbolName, null);
160
189
  return undefined;
190
+ }
161
191
  for (const statement of sourceFile.statements) {
162
192
  // Check: export { X } from './file' or export { X as Y } from './file'
163
193
  if (ts.isExportDeclaration(statement) &&
@@ -181,13 +211,37 @@ function findReExportSource(filePath, symbolName) {
181
211
  }
182
212
  }
183
213
  if (isReExported) {
184
- // Resolve the re-export source
185
- const resolution = ts.resolveModuleName(exportPath, normalizedPath, compilerOptions, ts.sys, moduleResolutionCache);
186
- if (resolution.resolvedModule?.resolvedFileName)
187
- return normalizePath(resolution.resolvedModule.resolvedFileName);
214
+ // Check module resolution cache first
215
+ let pathCache = moduleResolutionPathCache.get(normalizedPath);
216
+ if (!pathCache) {
217
+ pathCache = new Map();
218
+ moduleResolutionPathCache.set(normalizedPath, pathCache);
219
+ }
220
+ let resolvedPath = pathCache.get(exportPath);
221
+ if (!resolvedPath) {
222
+ // Resolve the re-export source
223
+ const resolution = ts.resolveModuleName(exportPath, normalizedPath, compilerOptions, ts.sys, moduleResolutionCache);
224
+ if (resolution.resolvedModule?.resolvedFileName) {
225
+ resolvedPath = normalizePath(resolution.resolvedModule.resolvedFileName);
226
+ pathCache.set(exportPath, resolvedPath);
227
+ }
228
+ }
229
+ if (resolvedPath) {
230
+ // Cache the result before returning
231
+ const cache = reExportCache.get(normalizedPath) || new Map();
232
+ if (!reExportCache.has(normalizedPath))
233
+ reExportCache.set(normalizedPath, cache);
234
+ cache.set(symbolName, resolvedPath);
235
+ return resolvedPath;
236
+ }
188
237
  }
189
238
  }
190
239
  }
240
+ // Cache negative result
241
+ const cache = reExportCache.get(normalizedPath) || new Map();
242
+ if (!reExportCache.has(normalizedPath))
243
+ reExportCache.set(normalizedPath, cache);
244
+ cache.set(symbolName, null);
191
245
  return undefined;
192
246
  }
193
247
  /**
@@ -361,5 +415,7 @@ export const cleanupTypeInference = () => {
361
415
  scriptKinds.clear();
362
416
  importMaps.clear();
363
417
  typeCheckCache.clear();
418
+ reExportCache.clear();
419
+ moduleResolutionPathCache.clear();
364
420
  };
365
421
  //# sourceMappingURL=ts-program-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-program-manager.js","sourceRoot":"","sources":["../../src/compiler/ts-program-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,sDAAsD;AACtD,IAAI,eAA+C,CAAC;AACpD,IAAI,eAA+C,CAAC;AACpD,IAAI,qBAA2D,CAAC;AAChE,MAAM,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;AACpD,MAAM,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;AACpD,MAAM,WAAW,GAA+B,IAAI,GAAG,EAAE,CAAC;AAC1D,MAAM,UAAU,GAAqC,IAAI,GAAG,EAAE,CAAC,CAAC,2CAA2C;AAC3G,MAAM,cAAc,GAAkD,IAAI,GAAG,EAAE,CAAC,CAAC,uCAAuC;AAExH,uDAAuD;AACvD,MAAM,qBAAqB,GAA+B,IAAI,GAAG,CAAC;IACjE,CAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAE;IAC7B,CAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAE;IAC3B,CAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAE;IAC7B,CAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAE;CAC3B,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;IAE9B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;AAChE,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,GAA+B,EAAE;IAC9D,OAAO,eAAe,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,CAAC;AACxD,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,GAA2B,EAAE;IACxD,OAAO,eAAe,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAA6B,EAAE;IAC5E,MAAM,kBAAkB,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEnD,OAAO,eAAe,EAAE,UAAU,EAAE,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAuB,EAAE;IAC/F,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAW,EAAE;IACnF,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;AACjE,CAAC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,MAA2B,EAAQ,EAAE;IAC7G,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAe,EAAQ,EAAE;IAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;QACtB,OAAO;IAER,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7D,2CAA2C;IAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,yBAAyB;QACzB,MAAM,YAAY,GAAG,EAAE,CAAC,cAAc,CACrC,kBAAkB,EAClB,EAAE,CAAC,GAAG,CAAC,UAAU,EACjB,eAAe,CACf,CAAC;QAEF,sCAAsC;QACtC,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,EAAE,CAAC,0BAA0B,CACjD,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAC5B,CAAC;YACF,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC;QACxC,CAAC;aACI,CAAC;YACL,eAAe,GAAG;gBACjB,MAAM,EAAY,EAAE,CAAC,YAAY,CAAC,MAAM;gBACxC,MAAM,EAAY,EAAE,CAAC,UAAU,CAAC,MAAM;gBACtC,GAAG,EAAe,EAAE,CAAC,OAAO,CAAC,QAAQ;gBACrC,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO;aACjD,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,qBAAqB,GAAG,EAAE,CAAC,2BAA2B,CACrD,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAC5B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EACpB,eAAe,CACf,CAAC;QAEF,+BAA+B;QAC/B,MAAM,IAAI,GAA2B;YACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzD,gBAAgB,EAAI,CAAC,QAAQ,EAAE,EAAE;gBAChC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAE3C,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,OAAO,KAAK,SAAS;oBACxB,OAAO,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE9C,+BAA+B;gBAC/B,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC9B,OAAO,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEtE,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC3B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAE3C,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7D,CAAC;YACD,mBAAmB,EAAK,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAClD,sBAAsB,EAAE,GAAG,EAAE,CAAC,eAAgB;YAC9C,qBAAqB,EAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACtE,UAAU,EAAc,CAAC,QAAQ,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAE3C,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACtB,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAE3C,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,CAAC;YACD,kBAAkB,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE;gBACnD,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACnC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAClC,UAAU,EACV,cAAc,EACd,eAAgB,EAChB,EAAE,CAAC,GAAG,EACN,qBAAqB,CACrB,CAAC;oBAEF,OAAO,MAAM,CAAC,cAAc,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;QAEF,eAAe,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE7D,qDAAqD;IACrD,IAAI,eAAe,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QACzD,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEvD,sEAAsE;QACtE,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;AACF,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,kBAAkB,CAC1B,QAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB,IAAI,CAAC,eAAe;QACjE,OAAO,SAAS,CAAC;IAElB,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE/C,2EAA2E;IAC3E,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/E,IAAI,CAAC,UAAU;QACd,OAAO,SAAS,CAAC;IAElB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC/C,uEAAuE;QACvE,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACpC,SAAS,CAAC,eAAe;YACzB,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC;YAClD,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,gCAAgC;iBAC3B,IAAI,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACvD,oCAAoC;oBACpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrE,IAAI,YAAY,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACrE,YAAY,GAAG,IAAI,CAAC;wBACpB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBAClB,+BAA+B;gBAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,EAAE,CAAC,GAAG,EACN,qBAAqB,CACrB,CAAC;gBAEF,IAAI,UAAU,CAAC,cAAc,EAAE,gBAAgB;oBAC9C,OAAO,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC5B,UAAkB,EAClB,cAAsB,EACtB,SAA8B,EAC9B,UAAkB;IAElB,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB;QAC7C,OAAO,SAAS,CAAC;IAElB,8DAA8D;IAC9D,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,EAAE,CAAC,GAAG,EACN,qBAAqB,CACrB,CAAC;IAEF,IAAI,UAAU,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAE/E,oBAAoB;QACpB,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAExC,0DAA0D;QAC1D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC;QAED,6DAA6D;QAC7D,uEAAuE;QACvE,qCAAqC;QACrC,IAAI,aAAa,GAAG,YAAY,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,yBAAyB;QAE9C,OAAO,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC9C,MAAM;YAEP,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW;gBACf,MAAM;YAEP,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC1C,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;YAE1D,aAAa,GAAG,UAAU,CAAC;YAC3B,KAAK,EAAE,CAAC;QACT,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC3B,IAAa,EACb,UAAkB,EAClB,cAAsB,EACtB,SAA8B;IAE9B,oDAAoD;IACpD,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;YAErC,8BAA8B;YAC9B,IAAI,UAAyC,CAAC;YAC9C,IAAI,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC7E,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,wBAAwB;iBACnB,IAAI,IAAI,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC;YAEnB,IAAI,UAAU;gBACb,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;gBAC1D,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;oBAC7C,SAAS;gBAEV,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACjC,IAAI,aAAa,GAAG,KAAK,CAAC;gBAE1B,gDAAgD;gBAChD,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAAC,aAAa,GAAG,IAAI,CAAC;gBAAC,CAAC;gBACxG,wEAAwE;qBACnE,IAAI,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACjD,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACvE,aAAa,GAAG,IAAI,CAAC;4BACrB,MAAM;wBACP,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,aAAa,EAAE,CAAC;oBACnB,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;oBAC7F,IAAI,YAAY;wBACf,OAAO,IAAI,CAAC,CAAC,YAAY;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,sBAAsB;IACtB,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC;AAC3G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,cAAsB,EAAQ,EAAE;IACtF,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe;QACvC,OAAO;IAER,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAErD,iFAAiF;IACjF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,YAAY,EAAE,CAAC;YAClB,4CAA4C;YAC5C,OAAO;QACR,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU;QACd,OAAO;IAER,gDAAgD;IAChD,MAAM,SAAS,GAAG,MAAM,IAAI,IAAI,GAAG,EAAkB,CAAC;IACtD,IAAI,CAAC,MAAM;QACV,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAE3C,qDAAqD;IACrD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC/C,uBAAuB;QACvB,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACjE,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;YAC5C,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,2DAA2D;YAC3D,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU;gBACzC,aAAa,GAAG,IAAI,CAAC;YAEtB,8DAA8D;YAC9D,IAAI,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjF,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACtC,aAAa,GAAG,IAAI,CAAC;wBACrB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;YAED,6DAA6D;YAC7D,IAAI,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpF,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;oBACtD,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAED,IAAI,aAAa,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpE,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC;gBAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC7F,IAAI,YAAY;oBACf,MAAM,CAAC,yBAAyB;YAClC,CAAC;QACF,CAAC;QACD,8CAA8C;aACzC,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,0BAA0B;QAClC,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC9C,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,eAAe,GAAG,SAAS,CAAC;IAC5B,eAAe,GAAG,SAAS,CAAC;IAC5B,qBAAqB,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,cAAc,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"ts-program-manager.js","sourceRoot":"","sources":["../../src/compiler/ts-program-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,MAAM,CAAC;AAQhE,MAAM,WAAW,mBAAmB;IACnC,wCAAwC;IACxC,gBAAgB,CAAC,EAAM,OAAO,CAAC;IAC/B,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iGAAiG;IACjG,kBAAkB,CAAC,EAAI,OAAO,CAAC;IAC/B,sFAAsF;IACtF,gBAAgB,CAAC,EAAM,OAAO,CAAC;IAC/B,+CAA+C;IAC/C,KAAK,CAAC,EAAiB,OAAO,CAAC;IAC/B,sCAAsC;IACtC,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;CAC5F;AAGD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,UAAS,mBAAwB,KAAG,YA8I1D,CAAC"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,MAAM,CAAC;AAQhE,MAAM,WAAW,mBAAmB;IACnC,wCAAwC;IACxC,gBAAgB,CAAC,EAAM,OAAO,CAAC;IAC/B,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iGAAiG;IACjG,kBAAkB,CAAC,EAAI,OAAO,CAAC;IAC/B,sFAAsF;IACtF,gBAAgB,CAAC,EAAM,OAAO,CAAC;IAC/B,+CAA+C;IAC/C,KAAK,CAAC,EAAiB,OAAO,CAAC;IAC/B,sCAAsC;IACtC,KAAK,CAAC,EACH,KAAK,CAAC,gBAAgB,GACtB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;CAC5F;AAGD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,UAAS,mBAAwB,KAAG,YAiJ1D,CAAC"}
@@ -35,6 +35,7 @@ export const litJsx = (options = {}) => {
35
35
  order: 'pre',
36
36
  async handler(source, id) {
37
37
  try {
38
+ console.time(`lit-jsx transform: ${id}`);
38
39
  const babelUserOptions = options.babel
39
40
  ? await resolveAwaitableFunction(options.babel, source, id)
40
41
  : {};
@@ -59,6 +60,7 @@ export const litJsx = (options = {}) => {
59
60
  };
60
61
  const opts = deepmerge(babelUserOptions, babelOptions);
61
62
  const result = (await babel.transformAsync(source, opts));
63
+ console.timeEnd(`lit-jsx transform: ${id}`);
62
64
  return {
63
65
  code: result.code,
64
66
  map: result.map,
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/compiler/vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/compiler/vite-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcmantle/lit-jsx",
3
- "version": "1.1.12",
3
+ "version": "1.1.14",
4
4
  "description": "A JSX runtime and compiler that transforms JSX into Lit templates.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -48,6 +48,9 @@
48
48
  "vitepress": "^1.6.4",
49
49
  "vitest": "^4.0.16"
50
50
  },
51
+ "publishConfig": {
52
+ "registry": "https://registry.npmjs.org/"
53
+ },
51
54
  "scripts": {
52
55
  "build": "rimraf dist && tsc --project ./src/tsconfig.json",
53
56
  "dev": "vite build --watch --mode=development",
@@ -11,8 +11,6 @@ export class ImportDiscovery {
11
11
 
12
12
  static readonly programCache: Map<string, NodePath<t.Program>> = new Map();
13
13
  static readonly resolvedCache: Map<string, Map<string, boolean>> = new Map();
14
- static readonly validCalls: Set<string> = new Set([ 'toComponent', 'toTag' ]);
15
- static readonly validTypes: Set<string> = new Set([ 'ToComponent', 'ToTag' ]);
16
14
 
17
15
  static clearCacheForFile(filePath: string): void {
18
16
  ImportDiscovery.programCache.delete(filePath);
@@ -20,7 +18,8 @@ export class ImportDiscovery {
20
18
  }
21
19
 
22
20
  /**
23
- * Finds the definition of a JSX element in the given path.
21
+ * Checks if a JSX element is a class (custom element) or string literal (static element).
22
+ * Returns true if it's a custom element (class) or static element (string literal).
24
23
  */
25
24
  isDynamicOrCustomELement(path: NodePath): boolean {
26
25
  if (!t.isJSXOpeningElement(path.node))
@@ -50,127 +49,198 @@ export class ImportDiscovery {
50
49
  if (!binding)
51
50
  return false;
52
51
 
53
- const isValid = this.hasValidCallAssignment(programPath, binding);
52
+ const isValid = this.isClassOrStringLiteral(programPath, binding);
54
53
 
55
54
  cached.set(elementName, isValid);
56
55
 
57
56
  return isValid;
58
57
  }
59
58
 
60
- protected hasValidCallAssignment(programPath: NodePath<t.Program>, binding: Binding): boolean {
59
+ /**
60
+ * Checks if a JSX element is specifically a class (not a string literal).
61
+ * Returns true only for class declarations/expressions, false otherwise.
62
+ * Used to determine if .tagName accessor should be used.
63
+ */
64
+ isClassByImportDiscovery(path: NodePath): boolean {
65
+ if (!t.isJSXOpeningElement(path.node))
66
+ return false;
67
+
68
+ if (!t.isJSXIdentifier(path.node.name))
69
+ return false;
70
+
71
+ const elementName = path.node.name.name;
72
+
73
+ if (!isComponent(elementName))
74
+ return false;
75
+
76
+ const programPath = Ensure.findProgramPathFromNodePath(path);
77
+
78
+ const binding = path.scope.getBinding(elementName);
79
+ if (!binding)
80
+ return false;
81
+
82
+ return this.isClass(programPath, binding);
83
+ }
84
+
85
+ /**
86
+ * Recursively follows a binding to determine if it resolves to a class (not a string literal).
87
+ */
88
+ protected isClass(programPath: NodePath<t.Program>, binding: Binding): boolean {
61
89
  const node = binding.path.node;
62
90
 
63
- if (t.isVariableDeclarator(node)) {
64
- // Check if the variable has a TypeScript type annotation for ToComponent or ToTag
65
- if (t.isIdentifier(node.id)) {
66
- if (this.hasValidTypeAnnotation(node.id.typeAnnotation))
67
- return true;
68
- }
91
+ // Check for class declarations: class MyElement extends HTMLElement {}
92
+ if (t.isClassDeclaration(node))
93
+ return true;
69
94
 
70
- if (t.isCallExpression(node.init)) {
71
- const callee = node.init.callee;
95
+ if (t.isVariableDeclarator(node)) {
96
+ const init = node.init;
97
+ if (!init)
98
+ return false;
72
99
 
73
- if (t.isIdentifier(callee)) {
74
- const calleeName = callee.name;
100
+ // Check for class expressions: const MyElement = class {}
101
+ if (t.isClassExpression(init))
102
+ return true;
75
103
 
76
- // If the original callee name is a valid call
77
- // we don't have to check where it came from.
78
- if (ImportDiscovery.validCalls.has(calleeName))
79
- return true;
104
+ // String literals are NOT classes
105
+ if (t.isStringLiteral(init))
106
+ return false;
80
107
 
81
- // We can check where the callee came from.
82
- const newBinding = programPath.scope.getBinding(calleeName);
83
- if (!newBinding)
84
- return false;
108
+ if (t.isTemplateLiteral(init))
109
+ return false;
85
110
 
86
- return this.hasValidCallAssignment(programPath, newBinding);
87
- }
88
- }
89
- else if (t.isIdentifier(node.init)) {
90
- const referencedName = node.init.name;
111
+ // Follow identifiers: const MyElement = SomeOtherElement
112
+ if (t.isIdentifier(init)) {
113
+ const referencedName = init.name;
91
114
  const newBinding = programPath.scope.getBinding(referencedName);
92
115
  if (!newBinding)
93
116
  return false;
94
117
 
95
- return this.hasValidCallAssignment(programPath, newBinding);
118
+ return this.isClass(programPath, newBinding);
96
119
  }
120
+
121
+ // Skip call expressions
122
+ if (t.isCallExpression(init))
123
+ return false;
124
+ }
125
+ else if (t.isImportSpecifier(node) || t.isImportDefaultSpecifier(node)) {
126
+ const importDeclaration = binding.path.parent;
127
+ if (!t.isImportDeclaration(importDeclaration))
128
+ return false;
129
+
130
+ const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
131
+ if (!resolvedPath)
132
+ return false;
133
+
134
+ const newProgramPath = this.getProgramPathFromFile(resolvedPath);
135
+ if (!newProgramPath)
136
+ return false;
137
+
138
+ const importedName = t.isImportDefaultSpecifier(node)
139
+ ? 'default'
140
+ : t.isIdentifier(node.imported)
141
+ ? node.imported.name
142
+ : node.imported.value;
143
+
144
+ const newBinding = newProgramPath.scope.getBinding(importedName);
145
+ if (newBinding)
146
+ return this.isClass(newProgramPath, newBinding);
147
+
148
+ const exportChainResult = this.followExportChain(newProgramPath, importedName);
149
+ if (!exportChainResult)
150
+ return false;
151
+
152
+ return this.isClass(
153
+ exportChainResult.programPath,
154
+ exportChainResult.binding,
155
+ );
97
156
  }
98
- else if (t.isImportSpecifier(node)) {
99
- const imported = node.imported;
100
- const importedName = t.isIdentifier(imported)
101
- ? imported.name
102
- : imported.value;
103
157
 
104
- if (ImportDiscovery.validCalls.has(importedName))
158
+ return false;
159
+ }
160
+
161
+ /**
162
+ * Recursively follows a binding to determine if it resolves to a class or string literal.
163
+ */
164
+ protected isClassOrStringLiteral(programPath: NodePath<t.Program>, binding: Binding): boolean {
165
+ const node = binding.path.node;
166
+
167
+ // Check for class declarations: class MyElement extends HTMLElement {}
168
+ if (t.isClassDeclaration(node))
169
+ return true;
170
+
171
+ if (t.isVariableDeclarator(node)) {
172
+ const init = node.init;
173
+ if (!init)
174
+ return false;
175
+
176
+ // Check for class expressions: const MyElement = class {}
177
+ if (t.isClassExpression(init))
105
178
  return true;
106
179
 
107
- // Since the imported name is not a valid call,
108
- // we need to resolve the import, and rerun the followCallBinding
109
- // using the new programPath.
110
- const importDeclaration = binding.path.parent;
111
- if (t.isImportDeclaration(importDeclaration)) {
112
- const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
113
- if (!resolvedPath)
114
- return false;
180
+ // Check for string literals: const MyElement = 'my-element'
181
+ if (t.isStringLiteral(init))
182
+ return true;
115
183
 
116
- // We can now follow the new path
117
- const newProgramPath = this.getProgramPathFromFile(resolvedPath);
118
- if (!newProgramPath)
119
- return false;
184
+ // Check for template literals that are static: const MyElement = `my-element`
185
+ if (t.isTemplateLiteral(init) && init.expressions.length === 0 && init.quasis.length === 1)
186
+ return true;
120
187
 
121
- const newBinding = newProgramPath.scope.getBinding(importedName);
122
- if (!newBinding) {
123
- // If there is no binding for this import, it might be because it comes from an export.
124
- const exportChainResult = this.followExportChain(newProgramPath, importedName);
125
- if (!exportChainResult)
126
- return false;
127
-
128
- return this.hasValidCallAssignment(
129
- exportChainResult.programPath,
130
- exportChainResult.binding,
131
- );
132
- }
188
+ // Follow identifiers: const MyElement = SomeOtherElement
189
+ if (t.isIdentifier(init)) {
190
+ const referencedName = init.name;
191
+ const newBinding = programPath.scope.getBinding(referencedName);
192
+ if (!newBinding)
193
+ return false;
133
194
 
134
- return this.hasValidCallAssignment(newProgramPath, newBinding);
195
+ return this.isClassOrStringLiteral(programPath, newBinding);
135
196
  }
136
- }
137
- else if (t.isIdentifier(node)) {
138
- // Handle function parameters with type annotations like (Element: typeof DiscoveryTest)
139
- if (t.isTSTypeAnnotation(node.typeAnnotation)) {
140
- const typeAnnotation = node.typeAnnotation.typeAnnotation;
141
-
142
- // Check for direct type reference to ToComponent or ToTag
143
- if (this.hasValidTypeAnnotation(node.typeAnnotation))
144
- return true;
145
-
146
- if (t.isTSTypeQuery(typeAnnotation)) {
147
- // Extract the referenced type name from TSTypeQuery (typeof SomeVariable)
148
- const exprName = typeAnnotation.exprName;
149
-
150
- if (t.isIdentifier(exprName)) {
151
- const referencedName = exprName.name;
152
- const newBinding = programPath.scope.getBinding(referencedName);
153
- if (!newBinding)
154
- return false;
155
-
156
- return this.hasValidCallAssignment(programPath, newBinding);
157
- }
158
- }
197
+
198
+ // Follow call expressions that might return a class or string
199
+ if (t.isCallExpression(init)) {
200
+ // We can't determine the return type of arbitrary functions without type checking
201
+ // So we skip call expressions for now
202
+ return false;
159
203
  }
160
204
  }
205
+ else if (t.isImportSpecifier(node) || t.isImportDefaultSpecifier(node)) {
206
+ const importDeclaration = binding.path.parent;
207
+ if (!t.isImportDeclaration(importDeclaration))
208
+ return false;
161
209
 
162
- return false;
163
- }
210
+ const resolvedPath = this.resolveSourcePath(programPath, importDeclaration.source.value);
211
+ if (!resolvedPath)
212
+ return false;
164
213
 
165
- protected hasValidTypeAnnotation(typeAnnotation: t.Identifier['typeAnnotation']): boolean {
166
- if (!t.isTSTypeAnnotation(typeAnnotation))
167
- return false;
214
+ const newProgramPath = this.getProgramPathFromFile(resolvedPath);
215
+ if (!newProgramPath)
216
+ return false;
168
217
 
169
- const typeRef = typeAnnotation.typeAnnotation;
170
- if (t.isTSTypeReference(typeRef) && t.isIdentifier(typeRef.typeName)) {
171
- const typeName = typeRef.typeName.name;
218
+ // Get the imported name
219
+ const importedName = t.isImportDefaultSpecifier(node)
220
+ ? 'default'
221
+ : t.isIdentifier(node.imported)
222
+ ? node.imported.name
223
+ : node.imported.value;
172
224
 
173
- return ImportDiscovery.validTypes.has(typeName);
225
+ // Try to find binding in the imported file
226
+ const newBinding = newProgramPath.scope.getBinding(importedName);
227
+ if (newBinding)
228
+ return this.isClassOrStringLiteral(newProgramPath, newBinding);
229
+
230
+ // If no binding, check export chain
231
+ const exportChainResult = this.followExportChain(newProgramPath, importedName);
232
+ if (!exportChainResult)
233
+ return false;
234
+
235
+ return this.isClassOrStringLiteral(
236
+ exportChainResult.programPath,
237
+ exportChainResult.binding,
238
+ );
239
+ }
240
+ else if (t.isIdentifier(node)) {
241
+ // Handle function parameters: function render(Element: typeof MyElement)
242
+ // We can't determine the actual type without type checking, skip for now
243
+ return false;
174
244
  }
175
245
 
176
246
  return false;
@@ -298,3 +368,11 @@ export const isDynamicOrCustomElement = (
298
368
 
299
369
  return discovery.isDynamicOrCustomELement(...args);
300
370
  };
371
+
372
+ export const isClassByImportDiscovery = (
373
+ ...args: Parameters<ImportDiscovery['isClassByImportDiscovery']>
374
+ ): ReturnType<ImportDiscovery['isClassByImportDiscovery']> => {
375
+ discovery ??= new ImportDiscovery();
376
+
377
+ return discovery.isClassByImportDiscovery(...args);
378
+ };
@@ -33,6 +33,7 @@ import {
33
33
  VARIABLES,
34
34
  WHITESPACE_TAGS,
35
35
  } from './config.js';
36
+ import { isClassByImportDiscovery } from './import-discovery.js';
36
37
  import { isClassByType } from './type-utils.js';
37
38
 
38
39
 
@@ -133,6 +134,9 @@ export class TemplateTranspiler extends JSXTranspiler<TemplateContext> {
133
134
  const filename = getPathFilename(context.path);
134
135
  isClass = isClassByType(context.path as NodePath<t.JSXElement>, filename) === true;
135
136
  }
137
+ else if (options.useImportDiscovery) {
138
+ isClass = isClassByImportDiscovery(context.path.get('openingElement'));
139
+ }
136
140
 
137
141
  const literalIdentifier = Ensure.componentLiteral(
138
142
  context.tagName,
@@ -9,8 +9,14 @@ let moduleResolutionCache: ts.ModuleResolutionCache | undefined;
9
9
  const fileVersions: Map<string, number> = new Map();
10
10
  const fileContents: Map<string, string> = new Map();
11
11
  const scriptKinds: Map<string, ts.ScriptKind> = new Map();
12
- const importMaps: Map<string, Map<string, string>> = new Map(); // filename -> (symbolName -> resolvedPath)
13
- const typeCheckCache: Map<string, Map<string, boolean | undefined>> = new Map(); // filename -> (symbolName -> isStatic)
12
+ // filename -> (symbolName -> resolvedPath)
13
+ const importMaps: Map<string, Map<string, string>> = new Map();
14
+ // filename -> (symbolName -> isStatic)
15
+ const typeCheckCache: Map<string, Map<string, boolean | undefined>> = new Map();
16
+ // filePath -> (symbolName -> resolvedPath or null if not found)
17
+ const reExportCache: Map<string, Map<string, string | null>> = new Map();
18
+ // containingFile -> (importPath -> resolvedPath)
19
+ const moduleResolutionPathCache: Map<string, Map<string, string | undefined>> = new Map();
14
20
 
15
21
  // ScriptKind lookup table for O(1) extension detection
16
22
  const extensionToScriptKind: Map<string, ts.ScriptKind> = new Map([
@@ -96,6 +102,8 @@ export const initializeTypeInference = (file: BabelFile): void => {
96
102
 
97
103
  // Initialize Language Service on first use
98
104
  if (!languageService) {
105
+ //console.time('TypeScript Language Service: Initialization');
106
+
99
107
  // Auto-discover tsconfig
100
108
  const tsConfigPath = ts.findConfigFile(
101
109
  normalizedFilename,
@@ -168,6 +176,18 @@ export const initializeTypeInference = (file: BabelFile): void => {
168
176
  return fileContents.get(normalized) ?? ts.sys.readFile(fileName);
169
177
  },
170
178
  resolveModuleNames: (moduleNames, containingFile) => {
179
+ const normalized = normalizePath(containingFile);
180
+
181
+ // OPTIMIZATION: Only resolve imports for files we explicitly loaded
182
+ // Skip resolution for lib files, node_modules, or files we don't care about
183
+ // This prevents the Language Service from cascading through the entire dependency tree
184
+ if (!fileContents.has(normalized)) {
185
+ // Return undefined for all modules in files we didn't load
186
+ // This tells TypeScript to skip type-checking this file's imports
187
+ return moduleNames.map(() => undefined);
188
+ }
189
+
190
+ // For files we loaded, resolve their imports normally
171
191
  return moduleNames.map(moduleName => {
172
192
  const result = ts.resolveModuleName(
173
193
  moduleName,
@@ -183,6 +203,8 @@ export const initializeTypeInference = (file: BabelFile): void => {
183
203
  };
184
204
 
185
205
  languageService = ts.createLanguageService(host, ts.createDocumentRegistry());
206
+
207
+ //console.timeEnd('TypeScript Language Service: Initialization');
186
208
  }
187
209
 
188
210
  // Update or add file to Language Service
@@ -213,10 +235,25 @@ function findReExportSource(
213
235
 
214
236
  const normalizedPath = normalizePath(filePath);
215
237
 
238
+ // Check re-export cache first
239
+ const cached = reExportCache.get(normalizedPath);
240
+ if (cached?.has(symbolName)) {
241
+ const result = cached.get(symbolName);
242
+
243
+ return result === null ? undefined : result;
244
+ }
245
+
216
246
  // Use cached source file from Language Service instead of creating new one
217
247
  const sourceFile = languageService.getProgram()?.getSourceFile(normalizedPath);
218
- if (!sourceFile)
248
+ if (!sourceFile) {
249
+ // Cache the negative result
250
+ if (!cached)
251
+ reExportCache.set(normalizedPath, new Map([ [ symbolName, null ] ]));
252
+ else
253
+ cached.set(symbolName, null);
254
+
219
255
  return undefined;
256
+ }
220
257
 
221
258
  for (const statement of sourceFile.statements) {
222
259
  // Check: export { X } from './file' or export { X as Y } from './file'
@@ -243,21 +280,51 @@ function findReExportSource(
243
280
  }
244
281
 
245
282
  if (isReExported) {
246
- // Resolve the re-export source
247
- const resolution = ts.resolveModuleName(
248
- exportPath,
249
- normalizedPath,
250
- compilerOptions,
251
- ts.sys,
252
- moduleResolutionCache,
253
- );
254
-
255
- if (resolution.resolvedModule?.resolvedFileName)
256
- return normalizePath(resolution.resolvedModule.resolvedFileName);
283
+ // Check module resolution cache first
284
+ let pathCache = moduleResolutionPathCache.get(normalizedPath);
285
+ if (!pathCache) {
286
+ pathCache = new Map();
287
+ moduleResolutionPathCache.set(normalizedPath, pathCache);
288
+ }
289
+
290
+ let resolvedPath = pathCache.get(exportPath);
291
+ if (!resolvedPath) {
292
+ // Resolve the re-export source
293
+ const resolution = ts.resolveModuleName(
294
+ exportPath,
295
+ normalizedPath,
296
+ compilerOptions,
297
+ ts.sys,
298
+ moduleResolutionCache,
299
+ );
300
+
301
+ if (resolution.resolvedModule?.resolvedFileName) {
302
+ resolvedPath = normalizePath(resolution.resolvedModule.resolvedFileName);
303
+ pathCache.set(exportPath, resolvedPath);
304
+ }
305
+ }
306
+
307
+ if (resolvedPath) {
308
+ // Cache the result before returning
309
+ const cache = reExportCache.get(normalizedPath) || new Map();
310
+ if (!reExportCache.has(normalizedPath))
311
+ reExportCache.set(normalizedPath, cache);
312
+
313
+ cache.set(symbolName, resolvedPath);
314
+
315
+ return resolvedPath;
316
+ }
257
317
  }
258
318
  }
259
319
  }
260
320
 
321
+ // Cache negative result
322
+ const cache = reExportCache.get(normalizedPath) || new Map();
323
+ if (!reExportCache.has(normalizedPath))
324
+ reExportCache.set(normalizedPath, cache);
325
+
326
+ cache.set(symbolName, null);
327
+
261
328
  return undefined;
262
329
  }
263
330
 
@@ -475,4 +542,6 @@ export const cleanupTypeInference = (): void => {
475
542
  scriptKinds.clear();
476
543
  importMaps.clear();
477
544
  typeCheckCache.clear();
545
+ reExportCache.clear();
546
+ moduleResolutionPathCache.clear();
478
547
  };
@@ -62,6 +62,7 @@ export const litJsx = (options: LitJsxPluginOptions = {}): PluginOption => {
62
62
  order: 'pre',
63
63
  async handler(source, id) {
64
64
  try {
65
+ console.time(`lit-jsx transform: ${ id }`);
65
66
  const babelUserOptions = options.babel
66
67
  ? await resolveAwaitableFunction(options.babel, source, id)
67
68
  : {};
@@ -89,6 +90,8 @@ export const litJsx = (options: LitJsxPluginOptions = {}): PluginOption => {
89
90
  const opts = deepmerge(babelUserOptions, babelOptions);
90
91
  const result = (await babel.transformAsync(source, opts))!;
91
92
 
93
+ console.timeEnd(`lit-jsx transform: ${ id }`);
94
+
92
95
  return {
93
96
  code: result.code!,
94
97
  map: result.map,