@arcmantle/lit-jsx 1.0.32 → 1.0.34

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.
Files changed (84) hide show
  1. package/README.md +153 -105
  2. package/dist/compiler/attribute-processor.d.ts +9 -19
  3. package/dist/compiler/attribute-processor.d.ts.map +1 -1
  4. package/dist/compiler/attribute-processor.js +22 -39
  5. package/dist/compiler/attribute-processor.js.map +1 -1
  6. package/dist/compiler/babel-plugin.d.ts +1 -0
  7. package/dist/compiler/babel-plugin.d.ts.map +1 -1
  8. package/dist/compiler/babel-plugin.js +2 -1
  9. package/dist/compiler/babel-plugin.js.map +1 -1
  10. package/dist/compiler/compiler-utils.d.ts +9 -1
  11. package/dist/compiler/compiler-utils.d.ts.map +1 -1
  12. package/dist/compiler/compiler-utils.js +71 -60
  13. package/dist/compiler/compiler-utils.js.map +1 -1
  14. package/dist/compiler/config.d.ts +23 -28
  15. package/dist/compiler/config.d.ts.map +1 -1
  16. package/dist/compiler/config.js +28 -28
  17. package/dist/compiler/config.js.map +1 -1
  18. package/dist/compiler/oxc-walker.d.ts +4 -4
  19. package/dist/compiler/oxc-walker.d.ts.map +1 -1
  20. package/dist/compiler/oxc-walker.js +1 -1
  21. package/dist/compiler/oxc-walker.js.map +1 -1
  22. package/dist/compiler/preprocess.d.ts +1 -0
  23. package/dist/compiler/preprocess.d.ts.map +1 -1
  24. package/dist/compiler/preprocess.js +31 -0
  25. package/dist/compiler/preprocess.js.map +1 -1
  26. package/dist/compiler/transpiler.d.ts.map +1 -1
  27. package/dist/compiler/transpiler.js +31 -13
  28. package/dist/compiler/transpiler.js.map +1 -1
  29. package/dist/compiler/vite-plugin.d.ts +3 -1
  30. package/dist/compiler/vite-plugin.d.ts.map +1 -1
  31. package/dist/compiler/vite-plugin.js +1 -0
  32. package/dist/compiler/vite-plugin.js.map +1 -1
  33. package/dist/runtime/choose-component.d.ts +2 -2
  34. package/dist/runtime/choose-component.d.ts.map +1 -1
  35. package/dist/runtime/for-component.d.ts +3 -3
  36. package/dist/runtime/for-component.d.ts.map +1 -1
  37. package/dist/runtime/for-component.js.map +1 -1
  38. package/dist/runtime/lit-reexports.d.ts +11 -0
  39. package/dist/runtime/lit-reexports.d.ts.map +1 -0
  40. package/dist/runtime/lit-reexports.js +14 -0
  41. package/dist/runtime/lit-reexports.js.map +1 -0
  42. package/dist/runtime/show-component.d.ts +4 -4
  43. package/dist/runtime/show-component.d.ts.map +1 -1
  44. package/dist/runtime/type-helpers.d.ts +1 -1
  45. package/dist/runtime/type-helpers.d.ts.map +1 -1
  46. package/dist/shared/jsx-core.d.ts +83 -0
  47. package/dist/shared/jsx-core.d.ts.map +1 -0
  48. package/dist/shared/jsx-core.js +2 -0
  49. package/dist/shared/jsx-core.js.map +1 -0
  50. package/dist/shared/jsx-dom.d.ts +26 -0
  51. package/dist/shared/jsx-dom.d.ts.map +1 -0
  52. package/dist/shared/jsx-dom.js +2 -0
  53. package/dist/shared/jsx-dom.js.map +1 -0
  54. package/dist/shared/jsx-hooks.d.ts +69 -0
  55. package/dist/shared/jsx-hooks.d.ts.map +1 -0
  56. package/dist/shared/jsx-hooks.js +2 -0
  57. package/dist/shared/jsx-hooks.js.map +1 -0
  58. package/dist/shared/jsx-types.d.ts +3 -2140
  59. package/dist/shared/jsx-types.d.ts.map +1 -1
  60. package/dist/shared/jsx-types.js +3 -1
  61. package/dist/shared/jsx-types.js.map +1 -1
  62. package/dist/utils.d.ts +1 -0
  63. package/dist/utils.d.ts.map +1 -1
  64. package/dist/utils.js +3 -0
  65. package/dist/utils.js.map +1 -1
  66. package/package.json +17 -17
  67. package/src/compiler/attribute-processor.ts +33 -60
  68. package/src/compiler/babel-plugin.ts +3 -1
  69. package/src/compiler/compiler-utils.ts +91 -259
  70. package/src/compiler/config.ts +52 -43
  71. package/src/compiler/oxc-walker.ts +5 -5
  72. package/src/compiler/preprocess.ts +41 -0
  73. package/src/compiler/transpiler.ts +31 -12
  74. package/src/compiler/vite-plugin.ts +4 -1
  75. package/src/runtime/choose-component.ts +2 -2
  76. package/src/runtime/for-component.ts +3 -3
  77. package/src/runtime/lit-reexports.ts +16 -0
  78. package/src/runtime/show-component.ts +4 -4
  79. package/src/runtime/type-helpers.ts +1 -1
  80. package/src/shared/jsx-core.ts +123 -0
  81. package/src/shared/jsx-dom.ts +29 -0
  82. package/src/shared/jsx-hooks.ts +86 -0
  83. package/src/shared/jsx-types.ts +3 -2559
  84. package/src/utils.ts +15 -0
@@ -1,7 +1,10 @@
1
1
  import * as t from '@babel/types';
2
2
  import { PartType } from 'lit-html/directive.js';
3
- import { ATTR_BIND_OBJ_NAME, ATTR_NAMES, ATTR_VALUES, ERROR_MESSAGES, VARIABLES, } from './config.js';
3
+ import { ATTR_BIND_OBJ_NAME, ATTR_NAMES, ATTR_VALUES, CE_ATTR_IDENTIFIER, ERROR_MESSAGES, VARIABLES, } from './config.js';
4
4
  export class AttributeValidators {
5
+ static isCustomElementIdentifier(attr) {
6
+ return attr.name.name.toString() === CE_ATTR_IDENTIFIER;
7
+ }
5
8
  static isCallBinding(attr) {
6
9
  if (!this.isExpression(attr))
7
10
  return false;
@@ -18,29 +21,6 @@ export class AttributeValidators {
18
21
  return false;
19
22
  return true;
20
23
  }
21
- static isArrowBinding(attr) {
22
- if (!this.isExpression(attr))
23
- return false;
24
- const expression = attr.value.expression;
25
- if (!t.isArrowFunctionExpression(expression))
26
- return false;
27
- // If the arrow function has no parameters, we can skip it.
28
- if (expression.params.length === 0)
29
- return false;
30
- // If the arrow function has more than one parameter, we can skip it.
31
- if (expression.params.length > 1)
32
- return false;
33
- // If the param is not an identifier, we can skip it.
34
- const param = expression.params[0];
35
- if (!t.isIdentifier(param))
36
- return false;
37
- // If the body of the arrow function is not an expression, we can skip it.
38
- if (!t.isExpression(expression.body))
39
- return false;
40
- // We check if it is a valid bind parameter.
41
- return param.name === ATTR_VALUES.PROP
42
- || param.name === ATTR_VALUES.BOOL;
43
- }
44
24
  static isDirective(attr) {
45
25
  return this.isExpression(attr) && attr.name.name.toString() === ATTR_NAMES.DIRECTIVE;
46
26
  }
@@ -76,6 +56,8 @@ class AttributeProcessor {
76
56
  processAttribute(attr, context) {
77
57
  if (AttributeValidators.isSpread(attr))
78
58
  this.spread(attr, context);
59
+ else if (AttributeValidators.isCustomElementIdentifier(attr))
60
+ this.customElementIdentifier(attr, context);
79
61
  else if (AttributeValidators.isNonExpression(attr))
80
62
  this.nonExpression(attr, context);
81
63
  else if (AttributeValidators.isBoolean(attr))
@@ -84,8 +66,6 @@ class AttributeProcessor {
84
66
  // Order is based on a guess as to which expression is more common.
85
67
  else if (AttributeValidators.isEvent(attr))
86
68
  this.event(attr, context);
87
- else if (AttributeValidators.isArrowBinding(attr))
88
- this.arrowBinding(attr, context);
89
69
  else if (AttributeValidators.isCallBinding(attr))
90
70
  this.callBinding(attr, context);
91
71
  else if (AttributeValidators.isClassListBinding(attr))
@@ -114,12 +94,6 @@ class AttributeProcessor {
114
94
  isBool = expression.callee.property.name === ATTR_VALUES.BOOL;
115
95
  expressionBody = expression.arguments[0];
116
96
  }
117
- else if (t.isArrowFunctionExpression(expression)) {
118
- const param = expression.params[0];
119
- isProp = param.name === ATTR_VALUES.PROP;
120
- isBool = param.name === ATTR_VALUES.BOOL;
121
- expressionBody = expression.body;
122
- }
123
97
  else {
124
98
  throw new Error(ERROR_MESSAGES.INVALID_DIRECTIVE_VALUE);
125
99
  }
@@ -172,7 +146,7 @@ class AttributeProcessor {
172
146
  return expression;
173
147
  }
174
148
  createEvent(attr, context) {
175
- return [attr.name.name.toString().slice(3), attr.value.expression];
149
+ return [attr.name.name.toString().slice(ATTR_NAMES.EVENT_PREFIX.length), attr.value.expression];
176
150
  }
177
151
  createExpression(attr, context) {
178
152
  return [attr.name.name.toString(), attr.value.expression];
@@ -199,10 +173,10 @@ class AttributeProcessor {
199
173
  }
200
174
  }
201
175
  export class TemplateAttributeProcessor extends AttributeProcessor {
202
- callBinding(attr, context) {
203
- this.valueBinding(attr, context);
176
+ customElementIdentifier(attr, context) {
177
+ context.builder.addText('');
204
178
  }
205
- arrowBinding(attr, context) {
179
+ callBinding(attr, context) {
206
180
  this.valueBinding(attr, context);
207
181
  }
208
182
  directive(attr, context) {
@@ -263,10 +237,10 @@ export class TemplateAttributeProcessor extends AttributeProcessor {
263
237
  }
264
238
  }
265
239
  export class CompiledAttributeProcessor extends AttributeProcessor {
266
- callBinding(attr, context) {
267
- this.valueBinding(attr, context);
240
+ customElementIdentifier(attr, context) {
241
+ context.builder.addText('');
268
242
  }
269
- arrowBinding(attr, context) {
243
+ callBinding(attr, context) {
270
244
  this.valueBinding(attr, context);
271
245
  }
272
246
  directive(attr, context) {
@@ -377,4 +351,13 @@ export class CreateCompiledPart {
377
351
  }
378
352
  ;
379
353
  }
354
+ export const hasCustomElementIdentifier = (attributes) => {
355
+ for (const attr of attributes.values()) {
356
+ if (AttributeValidators.isSpread(attr))
357
+ continue;
358
+ if (AttributeValidators.isCustomElementIdentifier(attr))
359
+ return true;
360
+ }
361
+ return false;
362
+ };
380
363
  //# sourceMappingURL=attribute-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-processor.js","sourceRoot":"","sources":["../../src/compiler/attribute-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute-processor.js","sourceRoot":"","sources":["../../src/compiler/attribute-processor.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import type { PluginOptions, PluginTarget } from '@babel/core';
2
2
  /** Compiles jsx to a combination of standard and compiled lit-html */
3
3
  export declare const litJsxBabelPlugin: (options: {
4
4
  useCompiledTemplates?: boolean;
5
+ useImportDiscovery?: boolean;
5
6
  }) => [PluginTarget, PluginOptions];
6
7
  //# sourceMappingURL=babel-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/babel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3E,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,GAAI,SAAS;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,CAAC,YAAY,EAAE,aAAa,CAkB/B,CAAC"}
1
+ {"version":3,"file":"babel-plugin.d.ts","sourceRoot":"","sources":["../../src/compiler/babel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3E,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,GAAI,SAAS;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAI,OAAO,CAAC;CAC/B,KAAG,CAAC,YAAY,EAAE,aAAa,CAmB/B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import SyntaxJSX from '@babel/plugin-syntax-jsx';
2
2
  import { initializePluginOptions } from './config.js';
3
- import { preprocess } from './preprocess.js';
3
+ import { postprocess, preprocess } from './preprocess.js';
4
4
  import { transformJSXElement } from './transform-jsx.js';
5
5
  /** Compiles jsx to a combination of standard and compiled lit-html */
6
6
  export const litJsxBabelPlugin = (options) => {
@@ -13,6 +13,7 @@ export const litJsxBabelPlugin = (options) => {
13
13
  JSXFragment: transformJSXElement,
14
14
  Program: {
15
15
  enter: preprocess,
16
+ exit: postprocess,
16
17
  },
17
18
  },
18
19
  pre(file) {
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin.js","sourceRoot":"","sources":["../../src/compiler/babel-plugin.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAEjC,EAAiC,EAAE;IACnC,OAAO;QACN;YACC,IAAI,EAAM,mBAAmB;YAC7B,QAAQ,EAAE,SAAS,CAAC,OAAO;YAC3B,OAAO,EAAG;gBACT,UAAU,EAAG,mBAAmB;gBAChC,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAM;oBACZ,KAAK,EAAE,UAAU;iBACjB;aACD;YACD,GAAG,CAAC,IAAI;gBACP,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACoB;QACtB,OAAO;KACP,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"babel-plugin.js","sourceRoot":"","sources":["../../src/compiler/babel-plugin.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAGjC,EAAiC,EAAE;IACnC,OAAO;QACN;YACC,IAAI,EAAM,mBAAmB;YAC7B,QAAQ,EAAE,SAAS,CAAC,OAAO;YAC3B,OAAO,EAAG;gBACT,UAAU,EAAG,mBAAmB;gBAChC,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAM;oBACZ,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAG,WAAW;iBAClB;aACD;YACD,GAAG,CAAC,IAAI;gBACP,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACoB;QACtB,OAAO;KACP,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Binding, NodePath } from '@babel/traverse';
2
2
  import * as t from '@babel/types';
3
- import type { ProcessorContext } from './attribute-processor.js';
3
+ import { type ProcessorContext } from './attribute-processor.js';
4
4
  import { VARIABLES } from './config.js';
5
5
  export type Values<T> = T[keyof T];
6
6
  export declare const isComponent: (tagName: string) => boolean;
@@ -37,7 +37,13 @@ export declare class Ensure {
37
37
  static componentTagDeclaration(path: NodePath, tagName: string, variableName: string, createDeclaration: () => t.VariableDeclarator): t.Identifier;
38
38
  static componentLiteral(tagName: string, variableName: string, path: NodePath, program: t.Program): t.Identifier;
39
39
  }
40
+ interface ImportConfig {
41
+ source: string;
42
+ name: string;
43
+ local: string;
44
+ }
40
45
  export declare class EnsureImport {
46
+ protected static ensureImport(config: ImportConfig, program: t.Program, path: NodePath): void;
41
47
  static html(program: t.Program, path: NodePath): void;
42
48
  static htmlStatic(program: t.Program, path: NodePath): void;
43
49
  static svg(program: t.Program, path: NodePath): void;
@@ -83,4 +89,6 @@ export declare const ensureImports: (context: ProcessorContext) => void;
83
89
  export type TemplateType = Values<Pick<typeof VARIABLES, 'HTML' | 'SVG' | 'MATHML'>>;
84
90
  export declare const getTemplateType: (path: NodePath<t.JSXElement | t.JSXFragment>) => TemplateType;
85
91
  export declare const getTemplateTag: (tagName: string) => Values<Pick<typeof VARIABLES, "HTML" | "SVG" | "MATHML">>;
92
+ export declare const normalizeText: (text: string) => string;
93
+ export {};
86
94
  //# sourceMappingURL=compiler-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-utils.d.ts","sourceRoot":"","sources":["../../src/compiler/compiler-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler-utils.d.ts","sourceRoot":"","sources":["../../src/compiler/compiler-utils.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import { parseSync } from '@babel/core';
3
3
  import * as t from '@babel/types';
4
4
  import { isMathmlTag } from '../shared/mathml-tags.js';
5
5
  import { isSvgTag } from '../shared/svg-tags.js';
6
+ import { hasCustomElementIdentifier } from './attribute-processor.js';
6
7
  import { traverse } from './babel-traverse.js';
7
- import { babelPlugins, ERROR_MESSAGES, SOURCES, VARIABLES } from './config.js';
8
+ import { babelPlugins, ERROR_MESSAGES, options, SOURCES, VARIABLES } from './config.js';
8
9
  import { isDynamicOrCustomElement } from './import-discovery.js';
9
10
  export const isComponent = (tagName) => {
10
11
  return (tagName[0] && tagName[0].toLowerCase() !== tagName[0])
@@ -293,101 +294,89 @@ export class Ensure {
293
294
  return this.componentTagDeclaration(path, tagName, variableName, () => t.variableDeclarator(t.identifier(variableName), t.callExpression(t.memberExpression(t.identifier(VARIABLES.LITERAL_MAP), t.identifier('get')), [t.identifier(tagName)])));
294
295
  }
295
296
  }
297
+ const IMPORT_CONFIGS = {
298
+ html: { source: SOURCES.HTML, name: VARIABLES.HTML, local: VARIABLES.HTML_LOCAL },
299
+ htmlStatic: { source: SOURCES.HTML_STATIC, name: VARIABLES.HTML_STATIC, local: VARIABLES.HTML_STATIC_LOCAL },
300
+ svg: { source: SOURCES.SVG, name: VARIABLES.SVG, local: VARIABLES.SVG_LOCAL },
301
+ svgStatic: { source: SOURCES.SVG_STATIC, name: VARIABLES.SVG_STATIC, local: VARIABLES.SVG_STATIC_LOCAL },
302
+ mathml: { source: SOURCES.MATHML, name: VARIABLES.MATHML, local: VARIABLES.MATHML_LOCAL },
303
+ mathmlStatic: { source: SOURCES.MATHML_STATIC, name: VARIABLES.MATHML_STATIC, local: VARIABLES.MATHML_STATIC_LOCAL },
304
+ unsafeStatic: { source: SOURCES.UNSAFE_STATIC, name: VARIABLES.UNSAFE_STATIC, local: VARIABLES.UNSAFE_STATIC_LOCAL },
305
+ createRef: { source: SOURCES.REF, name: VARIABLES.REF, local: VARIABLES.REF_LOCAL },
306
+ styleMap: { source: SOURCES.STYLE_MAP, name: VARIABLES.STYLE_MAP, local: VARIABLES.STYLE_MAP_LOCAL },
307
+ classMap: { source: SOURCES.CLASS_MAP, name: VARIABLES.CLASS_MAP, local: VARIABLES.CLASS_MAP_LOCAL },
308
+ rest: { source: SOURCES.REST, name: VARIABLES.REST, local: VARIABLES.REST },
309
+ literalMap: { source: SOURCES.LITERAL_MAP, name: VARIABLES.LITERAL_MAP, local: VARIABLES.LITERAL_MAP },
310
+ booleanPart: { source: SOURCES.JSX_LIT, name: VARIABLES.BOOLEAN_PART, local: VARIABLES.BOOLEAN_PART },
311
+ attributePart: { source: SOURCES.JSX_LIT, name: VARIABLES.ATTRIBUTE_PART, local: VARIABLES.ATTRIBUTE_PART },
312
+ propertyPart: { source: SOURCES.JSX_LIT, name: VARIABLES.PROPERTY_PART, local: VARIABLES.PROPERTY_PART },
313
+ elementPart: { source: SOURCES.JSX_LIT, name: VARIABLES.ELEMENT_PART, local: VARIABLES.ELEMENT_PART },
314
+ eventPart: { source: SOURCES.JSX_LIT, name: VARIABLES.EVENT_PART, local: VARIABLES.EVENT_PART },
315
+ childPart: { source: SOURCES.JSX_LIT, name: VARIABLES.CHILD_PART, local: VARIABLES.CHILD_PART },
316
+ tTemplateUtil: { source: SOURCES.JSX_LIT, name: VARIABLES.T_TEMPLATE_UTIL, local: VARIABLES.T_TEMPLATE_UTIL },
317
+ };
296
318
  export class EnsureImport {
319
+ static ensureImport(config, program, path) {
320
+ Ensure.import((source) => source === config.source, (name) => name === config.name, () => t.importDeclaration([
321
+ t.importSpecifier(t.identifier(config.local), t.identifier(config.name)),
322
+ ], t.stringLiteral(config.source)), program, path);
323
+ }
297
324
  static html(program, path) {
298
- Ensure.import((source) => source === SOURCES.HTML || source === SOURCES.HTML_ALT, (name) => name === VARIABLES.HTML, () => t.importDeclaration([
299
- t.importSpecifier(t.identifier(VARIABLES.HTML_LOCAL), t.identifier(VARIABLES.HTML)),
300
- ], t.stringLiteral(SOURCES.HTML)), program, path);
325
+ this.ensureImport(IMPORT_CONFIGS.html, program, path);
301
326
  }
302
327
  static htmlStatic(program, path) {
303
- Ensure.import((source) => source === SOURCES.HTML_STATIC || source === SOURCES.HTML_STATIC_ALT, (name) => name === VARIABLES.HTML, () => t.importDeclaration([
304
- t.importSpecifier(t.identifier(VARIABLES.HTML_STATIC_LOCAL), t.identifier(VARIABLES.HTML_STATIC)),
305
- ], t.stringLiteral(SOURCES.HTML_STATIC)), program, path);
328
+ this.ensureImport(IMPORT_CONFIGS.htmlStatic, program, path);
306
329
  }
307
330
  static svg(program, path) {
308
- Ensure.import((source) => source === SOURCES.SVG || source === SOURCES.SVG_ALT, (name) => name === VARIABLES.SVG, () => t.importDeclaration([
309
- t.importSpecifier(t.identifier(VARIABLES.SVG_LOCAL), t.identifier(VARIABLES.SVG)),
310
- ], t.stringLiteral(SOURCES.SVG)), program, path);
331
+ this.ensureImport(IMPORT_CONFIGS.svg, program, path);
311
332
  }
312
333
  static svgStatic(program, path) {
313
- Ensure.import((source) => source === SOURCES.SVG_STATIC || source === SOURCES.SVG_STATIC_ALT, (name) => name === VARIABLES.SVG, () => t.importDeclaration([
314
- t.importSpecifier(t.identifier(VARIABLES.SVG_STATIC_LOCAL), t.identifier(VARIABLES.SVG_STATIC)),
315
- ], t.stringLiteral(SOURCES.SVG_STATIC)), program, path);
334
+ this.ensureImport(IMPORT_CONFIGS.svgStatic, program, path);
316
335
  }
317
336
  static mathml(program, path) {
318
- Ensure.import((source) => source === SOURCES.MATHML || source === SOURCES.MATHML_ALT, (name) => name === VARIABLES.MATHML, () => t.importDeclaration([
319
- t.importSpecifier(t.identifier(VARIABLES.MATHML_LOCAL), t.identifier(VARIABLES.MATHML)),
320
- ], t.stringLiteral(SOURCES.MATHML)), program, path);
337
+ this.ensureImport(IMPORT_CONFIGS.mathml, program, path);
321
338
  }
322
339
  static mathmlStatic(program, path) {
323
- Ensure.import((source) => source === SOURCES.MATHML_STATIC || source === SOURCES.MATHML_STATIC_ALT, (name) => name === VARIABLES.MATHML, () => t.importDeclaration([
324
- t.importSpecifier(t.identifier(VARIABLES.MATHML_STATIC_LOCAL), t.identifier(VARIABLES.MATHML_STATIC)),
325
- ], t.stringLiteral(SOURCES.MATHML_STATIC)), program, path);
340
+ this.ensureImport(IMPORT_CONFIGS.mathmlStatic, program, path);
326
341
  }
327
342
  static unsafeStatic(program, path) {
328
- Ensure.import((source) => source === SOURCES.UNSAFE_STATIC || source === SOURCES.UNSAFE_STATIC_ALT, (name) => name === VARIABLES.UNSAFE_STATIC, () => t.importDeclaration([
329
- t.importSpecifier(t.identifier(VARIABLES.UNSAFE_STATIC_LOCAL), t.identifier(VARIABLES.UNSAFE_STATIC)),
330
- ], t.stringLiteral(SOURCES.UNSAFE_STATIC)), program, path);
343
+ this.ensureImport(IMPORT_CONFIGS.unsafeStatic, program, path);
331
344
  }
332
345
  static createRef(program, path) {
333
- Ensure.import((source) => source === SOURCES.REF_ALT || source === SOURCES.REF, (name) => name === VARIABLES.REF, () => t.importDeclaration([
334
- t.importSpecifier(t.identifier(VARIABLES.REF_LOCAL), t.identifier(VARIABLES.REF)),
335
- ], t.stringLiteral(SOURCES.REF)), program, path);
346
+ this.ensureImport(IMPORT_CONFIGS.createRef, program, path);
336
347
  }
337
348
  static styleMap(program, path) {
338
- Ensure.import((source) => source === SOURCES.STYLE_MAP_ALT || source === SOURCES.STYLE_MAP, (name) => name === VARIABLES.STYLE_MAP, () => t.importDeclaration([
339
- t.importSpecifier(t.identifier(VARIABLES.STYLE_MAP_LOCAL), t.identifier(VARIABLES.STYLE_MAP)),
340
- ], t.stringLiteral(SOURCES.STYLE_MAP)), program, path);
349
+ this.ensureImport(IMPORT_CONFIGS.styleMap, program, path);
341
350
  }
342
351
  static classMap(program, path) {
343
- Ensure.import((source) => source === SOURCES.CLASS_MAP_ALT || source === SOURCES.CLASS_MAP, (name) => name === VARIABLES.CLASS_MAP, () => t.importDeclaration([
344
- t.importSpecifier(t.identifier(VARIABLES.CLASS_MAP_LOCAL), t.identifier(VARIABLES.CLASS_MAP)),
345
- ], t.stringLiteral(SOURCES.CLASS_MAP)), program, path);
352
+ this.ensureImport(IMPORT_CONFIGS.classMap, program, path);
346
353
  }
347
354
  static rest(program, path) {
348
- Ensure.import((source) => source === SOURCES.REST, (name) => name === VARIABLES.REST, () => t.importDeclaration([
349
- t.importSpecifier(t.identifier(VARIABLES.REST), t.identifier(VARIABLES.REST)),
350
- ], t.stringLiteral(SOURCES.REST)), program, path);
355
+ this.ensureImport(IMPORT_CONFIGS.rest, program, path);
351
356
  }
352
357
  static literalMap(program, path) {
353
- Ensure.import((source) => source === SOURCES.LITERAL_MAP, (name) => name === VARIABLES.LITERAL_MAP, () => t.importDeclaration([
354
- t.importSpecifier(t.identifier(VARIABLES.LITERAL_MAP), t.identifier(VARIABLES.LITERAL_MAP)),
355
- ], t.stringLiteral(SOURCES.LITERAL_MAP)), program, path);
358
+ this.ensureImport(IMPORT_CONFIGS.literalMap, program, path);
356
359
  }
357
360
  static taggedTemplateUtil(program, path) {
358
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.TAGGED_TEMPLATE_UTIL, () => t.importDeclaration([
359
- t.importSpecifier(t.identifier(VARIABLES.TAGGED_TEMPLATE_UTIL), t.identifier(VARIABLES.TAGGED_TEMPLATE_UTIL)),
360
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
361
+ this.ensureImport(IMPORT_CONFIGS.tTemplateUtil, program, path);
361
362
  }
362
363
  static booleanPart(program, path) {
363
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.BOOLEAN_PART, () => t.importDeclaration([
364
- t.importSpecifier(t.identifier(VARIABLES.BOOLEAN_PART), t.identifier(VARIABLES.BOOLEAN_PART)),
365
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
364
+ this.ensureImport(IMPORT_CONFIGS.booleanPart, program, path);
366
365
  }
367
366
  static attributePart(program, path) {
368
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.ATTRIBUTE_PART, () => t.importDeclaration([
369
- t.importSpecifier(t.identifier(VARIABLES.ATTRIBUTE_PART), t.identifier(VARIABLES.ATTRIBUTE_PART)),
370
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
367
+ this.ensureImport(IMPORT_CONFIGS.attributePart, program, path);
371
368
  }
372
369
  static propertyPart(program, path) {
373
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.PROPERTY_PART, () => t.importDeclaration([
374
- t.importSpecifier(t.identifier(VARIABLES.PROPERTY_PART), t.identifier(VARIABLES.PROPERTY_PART)),
375
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
370
+ this.ensureImport(IMPORT_CONFIGS.propertyPart, program, path);
376
371
  }
377
372
  static elementPart(program, path) {
378
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.ELEMENT_PART, () => t.importDeclaration([
379
- t.importSpecifier(t.identifier(VARIABLES.ELEMENT_PART), t.identifier(VARIABLES.ELEMENT_PART)),
380
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
373
+ this.ensureImport(IMPORT_CONFIGS.elementPart, program, path);
381
374
  }
382
375
  static eventPart(program, path) {
383
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.EVENT_PART, () => t.importDeclaration([
384
- t.importSpecifier(t.identifier(VARIABLES.EVENT_PART), t.identifier(VARIABLES.EVENT_PART)),
385
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
376
+ this.ensureImport(IMPORT_CONFIGS.eventPart, program, path);
386
377
  }
387
378
  static childPart(program, path) {
388
- Ensure.import((source) => source === SOURCES.JSX_LIT, (name) => name === VARIABLES.CHILD_PART, () => t.importDeclaration([
389
- t.importSpecifier(t.identifier(VARIABLES.CHILD_PART), t.identifier(VARIABLES.CHILD_PART)),
390
- ], t.stringLiteral(SOURCES.JSX_LIT)), program, path);
379
+ this.ensureImport(IMPORT_CONFIGS.childPart, program, path);
391
380
  }
392
381
  }
393
382
  export const isValidJSXElement = (path) => {
@@ -418,8 +407,12 @@ export const isJSXCustomElementComponent = (path) => {
418
407
  const tagName = getJSXElementName(node);
419
408
  if (!isComponent(tagName))
420
409
  return false;
421
- if (isDynamicOrCustomElement(path.get('openingElement')))
410
+ if (hasCustomElementIdentifier(node.openingElement.attributes))
422
411
  return true;
412
+ if (options.useImportDiscovery) {
413
+ if (isDynamicOrCustomElement(path.get('openingElement')))
414
+ return true;
415
+ }
423
416
  return false;
424
417
  };
425
418
  export const isJSXFunctionElementComponent = (path) => {
@@ -429,8 +422,12 @@ export const isJSXFunctionElementComponent = (path) => {
429
422
  const tagName = getJSXElementName(node);
430
423
  if (!isComponent(tagName))
431
424
  return false;
432
- if (isDynamicOrCustomElement(path.get('openingElement')))
425
+ if (hasCustomElementIdentifier(node.openingElement.attributes))
433
426
  return false;
427
+ if (options.useImportDiscovery) {
428
+ if (isDynamicOrCustomElement(path.get('openingElement')))
429
+ return false;
430
+ }
434
431
  return true;
435
432
  };
436
433
  export const isJSXElementPath = (path) => t.isJSXElement(path.node);
@@ -447,6 +444,15 @@ export const isJSXElementStatic = (path) => {
447
444
  if (isJSXCustomElementComponent(path))
448
445
  return true;
449
446
  for (const childPath of path.get('children')) {
447
+ // If it has an expression container as a child, with an unknown value inside.
448
+ // treat it as a static element, as we cannot safely compile it.
449
+ if (t.isJSXExpressionContainer(childPath.node)) {
450
+ // Check if the expression value is a JSXElement or JSXFragment
451
+ if (!t.isJSXElement(childPath.node.expression)
452
+ && !t.isJSXFragment(childPath.node.expression))
453
+ return true;
454
+ }
455
+ // If it's not a jsx element and not a jsx fragment, continue skip this.
450
456
  if (!isJSXElementPath(childPath) && !isJSXFragmentPath(childPath))
451
457
  continue;
452
458
  if (isJSXElementStatic(childPath))
@@ -482,4 +488,9 @@ export const getTemplateTag = (tagName) => {
482
488
  return VARIABLES.MATHML;
483
489
  return VARIABLES.HTML;
484
490
  };
491
+ export const normalizeText = (text) => {
492
+ return text
493
+ .replace(/[\r\n\t]/g, '')
494
+ .replace(/ {2,}/g, ' ');
495
+ };
485
496
  //# sourceMappingURL=compiler-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-utils.js","sourceRoot":"","sources":["../../src/compiler/compiler-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler-utils.js","sourceRoot":"","sources":["../../src/compiler/compiler-utils.ts"],"names":[],"mappings":"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"}