@lwc/template-compiler 2.14.2 → 2.17.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.
Files changed (48) hide show
  1. package/README.md +33 -0
  2. package/dist/commonjs/codegen/codegen.js +42 -2
  3. package/dist/commonjs/codegen/codegen.js.map +1 -1
  4. package/dist/commonjs/codegen/formatters/module.js +7 -1
  5. package/dist/commonjs/codegen/formatters/module.js.map +1 -1
  6. package/dist/commonjs/codegen/helpers.js +57 -1
  7. package/dist/commonjs/codegen/helpers.js.map +1 -1
  8. package/dist/commonjs/codegen/index.js +29 -13
  9. package/dist/commonjs/codegen/index.js.map +1 -1
  10. package/dist/commonjs/codegen/static-element-serializer.js +100 -0
  11. package/dist/commonjs/codegen/static-element-serializer.js.map +1 -0
  12. package/dist/commonjs/config.js +36 -0
  13. package/dist/commonjs/config.js.map +1 -1
  14. package/dist/commonjs/index.js +1 -1
  15. package/dist/commonjs/index.js.map +1 -1
  16. package/dist/commonjs/parser/attribute.js +14 -13
  17. package/dist/commonjs/parser/attribute.js.map +1 -1
  18. package/dist/commonjs/parser/constants.js +1 -11
  19. package/dist/commonjs/parser/constants.js.map +1 -1
  20. package/dist/commonjs/parser/index.js +30 -28
  21. package/dist/commonjs/parser/index.js.map +1 -1
  22. package/dist/commonjs/shared/ast.js +4 -2
  23. package/dist/commonjs/shared/ast.js.map +1 -1
  24. package/dist/commonjs/shared/constants.js +14 -1
  25. package/dist/commonjs/shared/constants.js.map +1 -1
  26. package/dist/commonjs/shared/estree.js +17 -1
  27. package/dist/commonjs/shared/estree.js.map +1 -1
  28. package/dist/commonjs/shared/renderer-hooks.js +68 -0
  29. package/dist/commonjs/shared/renderer-hooks.js.map +1 -0
  30. package/dist/commonjs/shared/utils.js +11 -1
  31. package/dist/commonjs/shared/utils.js.map +1 -1
  32. package/dist/commonjs/state.js +9 -0
  33. package/dist/commonjs/state.js.map +1 -1
  34. package/dist/types/codegen/codegen.d.ts +14 -4
  35. package/dist/types/codegen/helpers.d.ts +3 -1
  36. package/dist/types/codegen/index.d.ts +2 -2
  37. package/dist/types/codegen/static-element-serializer.d.ts +2 -0
  38. package/dist/types/config.d.ts +10 -1
  39. package/dist/types/index.d.ts +1 -0
  40. package/dist/types/parser/constants.d.ts +0 -1
  41. package/dist/types/shared/ast.d.ts +2 -2
  42. package/dist/types/shared/constants.d.ts +4 -0
  43. package/dist/types/shared/estree.d.ts +2 -0
  44. package/dist/types/shared/renderer-hooks.d.ts +43 -0
  45. package/dist/types/shared/types.d.ts +2 -0
  46. package/dist/types/shared/utils.d.ts +6 -0
  47. package/dist/types/state.d.ts +18 -0
  48. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/shared/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/shared/ast.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPLATE_PARAMS = exports.TEMPLATE_FUNCTION_NAME = exports.TEMPLATE_MODULES_PARAMETER = exports.LWC_MODULE_NAME = exports.SECURE_REGISTER_TEMPLATE_METHOD_NAME = void 0;
3
+ exports.DASHED_TAGNAME_ELEMENT_SET = exports.TEMPLATE_PARAMS = exports.TEMPLATE_FUNCTION_NAME = exports.TEMPLATE_MODULES_PARAMETER = exports.LWC_MODULE_NAME = exports.RENDERER = exports.PARSE_SVG_FRAGMENT_METHOD_NAME = exports.PARSE_FRAGMENT_METHOD_NAME = exports.SECURE_REGISTER_TEMPLATE_METHOD_NAME = void 0;
4
4
  /*
5
5
  * Copyright (c) 2018, salesforce.com, inc.
6
6
  * All rights reserved.
@@ -8,6 +8,9 @@ exports.TEMPLATE_PARAMS = exports.TEMPLATE_FUNCTION_NAME = exports.TEMPLATE_MODU
8
8
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
9
9
  */
10
10
  exports.SECURE_REGISTER_TEMPLATE_METHOD_NAME = 'registerTemplate';
11
+ exports.PARSE_FRAGMENT_METHOD_NAME = 'parseFragment';
12
+ exports.PARSE_SVG_FRAGMENT_METHOD_NAME = 'parseSVGFragment';
13
+ exports.RENDERER = 'renderer';
11
14
  exports.LWC_MODULE_NAME = 'lwc';
12
15
  exports.TEMPLATE_MODULES_PARAMETER = 'modules';
13
16
  exports.TEMPLATE_FUNCTION_NAME = 'tmpl';
@@ -17,4 +20,14 @@ exports.TEMPLATE_PARAMS = {
17
20
  SLOT_SET: '$slotset',
18
21
  CONTEXT: '$ctx',
19
22
  };
23
+ exports.DASHED_TAGNAME_ELEMENT_SET = new Set([
24
+ 'annotation-xml',
25
+ 'color-profile',
26
+ 'font-face',
27
+ 'font-face-src',
28
+ 'font-face-uri',
29
+ 'font-face-format',
30
+ 'font-face-name',
31
+ 'missing-glyph',
32
+ ]);
20
33
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,oCAAoC,GAAG,kBAAkB,CAAC;AAC1D,QAAA,eAAe,GAAG,KAAK,CAAC;AACxB,QAAA,0BAA0B,GAAW,SAAS,CAAC;AAE/C,QAAA,sBAAsB,GAAW,MAAM,CAAC;AAExC,QAAA,eAAe,GAAgC;IACxD,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,MAAM;CAClB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,oCAAoC,GAAG,kBAAkB,CAAC;AAC1D,QAAA,0BAA0B,GAAG,eAAe,CAAC;AAC7C,QAAA,8BAA8B,GAAG,kBAAkB,CAAC;AACpD,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,eAAe,GAAG,KAAK,CAAC;AACxB,QAAA,0BAA0B,GAAW,SAAS,CAAC;AAE/C,QAAA,sBAAsB,GAAW,MAAM,CAAC;AAExC,QAAA,eAAe,GAAgC;IACxD,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,MAAM;CAClB,CAAC;AAEW,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAC;IAC9C,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;CAClB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.comment = exports.program = exports.exportDefaultDeclaration = exports.importSpecifier = exports.importDefaultSpecifier = exports.importDeclaration = exports.variableDeclaration = exports.variableDeclarator = exports.returnStatement = exports.blockStatement = exports.functionDeclaration = exports.functionExpression = exports.expressionStatement = exports.arrayExpression = exports.objectPattern = exports.objectExpression = exports.assignmentProperty = exports.property = exports.assignmentExpression = exports.logicalExpression = exports.binaryExpression = exports.unaryExpression = exports.conditionalExpression = exports.literal = exports.callExpression = exports.memberExpression = exports.isLiteral = exports.identifier = exports.isProperty = exports.isObjectExpression = exports.isArrayExpression = exports.isMemberExpression = exports.isIdentifier = void 0;
3
+ exports.comment = exports.program = exports.exportDefaultDeclaration = exports.importSpecifier = exports.importDefaultSpecifier = exports.importDeclaration = exports.variableDeclaration = exports.variableDeclarator = exports.returnStatement = exports.blockStatement = exports.functionDeclaration = exports.functionExpression = exports.templateLiteral = exports.taggedTemplateExpression = exports.expressionStatement = exports.arrayExpression = exports.objectPattern = exports.objectExpression = exports.assignmentProperty = exports.property = exports.assignmentExpression = exports.logicalExpression = exports.binaryExpression = exports.unaryExpression = exports.conditionalExpression = exports.literal = exports.callExpression = exports.memberExpression = exports.isLiteral = exports.identifier = exports.isProperty = exports.isObjectExpression = exports.isArrayExpression = exports.isMemberExpression = exports.isIdentifier = void 0;
4
4
  function isIdentifier(node) {
5
5
  return node.type === 'Identifier';
6
6
  }
@@ -170,6 +170,22 @@ function expressionStatement(expression, config) {
170
170
  };
171
171
  }
172
172
  exports.expressionStatement = expressionStatement;
173
+ function taggedTemplateExpression(tag, quasi) {
174
+ return {
175
+ type: 'TaggedTemplateExpression',
176
+ tag,
177
+ quasi,
178
+ };
179
+ }
180
+ exports.taggedTemplateExpression = taggedTemplateExpression;
181
+ function templateLiteral(quasis, expressions) {
182
+ return {
183
+ type: 'TemplateLiteral',
184
+ quasis,
185
+ expressions,
186
+ };
187
+ }
188
+ exports.templateLiteral = templateLiteral;
173
189
  function functionExpression(id, params, body, config) {
174
190
  return {
175
191
  type: 'FunctionExpression',
@@ -1 +1 @@
1
- {"version":3,"file":"estree.js","sourceRoot":"","sources":["../../../src/shared/estree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"estree.js","sourceRoot":"","sources":["../../../src/shared/estree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCustomRendererHookRequired = exports.LWC_DIRECTIVES = void 0;
4
+ /*
5
+ * Copyright (c) 2018, salesforce.com, inc.
6
+ * All rights reserved.
7
+ * SPDX-License-Identifier: MIT
8
+ * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
9
+ */
10
+ const errors_1 = require("@lwc/errors");
11
+ /**
12
+ * Mapping of Directive.name to string literals used in template
13
+ */
14
+ exports.LWC_DIRECTIVES = {
15
+ Dom: 'lwc:dom',
16
+ Dynamic: 'lwc:dynamic',
17
+ InnerHTML: 'lwc:inner-html',
18
+ Key: 'key',
19
+ };
20
+ function checkElement(element, state) {
21
+ const { attributes, directives } = element;
22
+ if (directives.length) {
23
+ let directiveMatched = false;
24
+ // If any directives require custom renderer
25
+ directiveMatched = directives.some((dir) => {
26
+ return state.crDirectives.has(exports.LWC_DIRECTIVES[dir.name]);
27
+ });
28
+ if (directiveMatched) {
29
+ // Directives that require custom renderer are not allowed on custom elements
30
+ // Custom element cannot be allowed to have a custom renderer hook
31
+ // The renderer is cascaded down from the owner(custom element) to all its child nodes who
32
+ // do not have a renderer specified.
33
+ (0, errors_1.invariant)(element.type !== 'Component', errors_1.TemplateErrors.DIRECTIVE_DISALLOWED_ON_CUSTOM_ELEMENT, [element.name, state.config.customRendererConfig.directives.join(', ')]);
34
+ return true;
35
+ }
36
+ }
37
+ const elementConfig = state.crElmToConfigMap[element.name];
38
+ // If element requires custom renderer
39
+ if (elementConfig) {
40
+ const { namespace, attributes: attrConfig } = elementConfig;
41
+ // if element config has namespace, then namespace has to be a match
42
+ if (namespace && element.namespace !== namespace) {
43
+ return false;
44
+ }
45
+ // If no attributes are specified, then consider the element requires custom renderer
46
+ if (attrConfig.size === 0 ||
47
+ attributes.some((attribute) => attrConfig.has(attribute.name))) {
48
+ return true;
49
+ }
50
+ }
51
+ return false;
52
+ }
53
+ function isCustomRendererHookRequired(element, state) {
54
+ let addCustomRenderer = false;
55
+ if (state.config.customRendererConfig) {
56
+ const cachedResult = state.crCheckedElements.get(element);
57
+ if (cachedResult !== undefined) {
58
+ return cachedResult;
59
+ }
60
+ else {
61
+ addCustomRenderer = checkElement(element, state);
62
+ state.crCheckedElements.set(element, addCustomRenderer);
63
+ }
64
+ }
65
+ return addCustomRenderer;
66
+ }
67
+ exports.isCustomRendererHookRequired = isCustomRendererHookRequired;
68
+ //# sourceMappingURL=renderer-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-hooks.js","sourceRoot":"","sources":["../../../src/shared/renderer-hooks.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,wCAAwD;AA0CxD;;GAEG;AACU,QAAA,cAAc,GAA6C;IACpE,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,gBAAgB;IAC3B,GAAG,EAAE,KAAK;CACb,CAAC;AAEF,SAAS,YAAY,CAAC,OAAoB,EAAE,KAAY;IACpD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,EAAE;QACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,4CAA4C;QAC5C,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,EAAE;YAClB,6EAA6E;YAC7E,kEAAkE;YAClE,0FAA0F;YAC1F,oCAAoC;YACpC,IAAA,kBAAS,EACL,OAAO,CAAC,IAAI,KAAK,WAAW,EAC5B,uBAAc,CAAC,sCAAsC,EACrD,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC3E,CAAC;YACF,OAAO,IAAI,CAAC;SACf;KACJ;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sCAAsC;IACtC,IAAI,aAAa,EAAE;QACf,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QAC5D,oEAAoE;QACpE,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9C,OAAO,KAAK,CAAC;SAChB;QACD,qFAAqF;QACrF,IACI,UAAU,CAAC,IAAI,KAAK,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAChE;YACE,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,4BAA4B,CAAC,OAAoB,EAAE,KAAY;IAC3E,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,OAAO,YAAY,CAAC;SACvB;aAAM;YACH,iBAAiB,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC3D;KACJ;IACD,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAZD,oEAYC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toPropertyName = void 0;
3
+ exports.isCustomElementTag = exports.toPropertyName = void 0;
4
+ const constants_1 = require("./constants");
4
5
  /*
5
6
  * Copyright (c) 2018, salesforce.com, inc.
6
7
  * All rights reserved.
@@ -23,4 +24,13 @@ function toPropertyName(attr) {
23
24
  return prop;
24
25
  }
25
26
  exports.toPropertyName = toPropertyName;
27
+ /**
28
+ * Test if given tag name is a custom element.
29
+ * @param tagName element tag name to test
30
+ * @returns true if given tag name represents a custom element, false otherwise.
31
+ */
32
+ function isCustomElementTag(tagName) {
33
+ return tagName.includes('-') && !constants_1.DASHED_TAGNAME_ELEMENT_SET.has(tagName);
34
+ }
35
+ exports.isCustomElementTag = isCustomElementTag;
26
36
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/shared/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,GAAG,EAAE;YACd,mBAAmB,GAAG,IAAI,CAAC;SAC9B;aAAM;YACH,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,mBAAmB,GAAG,KAAK,CAAC;SAC/B;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAhBD,wCAgBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/shared/utils.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,GAAG,EAAE;YACd,mBAAmB,GAAG,IAAI,CAAC;SAC9B;aAAM;YACH,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,mBAAmB,GAAG,KAAK,CAAC;SAC/B;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAhBD,wCAgBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,sCAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC;AAFD,gDAEC"}
@@ -8,7 +8,16 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  class State {
10
10
  constructor(config) {
11
+ var _a;
11
12
  this.config = config;
13
+ this.crElmToConfigMap = config.customRendererConfig
14
+ ? Object.fromEntries(config.customRendererConfig.elements.map((element) => {
15
+ const { tagName, attributes, namespace } = element;
16
+ return [tagName, { namespace, attributes: new Set(attributes) }];
17
+ }))
18
+ : {};
19
+ this.crDirectives = new Set((_a = config.customRendererConfig) === null || _a === void 0 ? void 0 : _a.directives);
20
+ this.crCheckedElements = new Map();
12
21
  }
13
22
  }
14
23
  exports.default = State;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAIH,MAAqB,KAAK;IAGtB,YAAY,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAND,wBAMC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAKH,MAAqB,KAAK;IAmBtB,YAAY,MAAwB;;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB;YAC/C,CAAC,CAAC,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;gBACnD,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC,CAAC,CACL;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,MAAA,MAAM,CAAC,oBAAoB,0CAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7D,CAAC;CACJ;AAhCD,wBAgCC"}
@@ -1,6 +1,6 @@
1
- import { NormalizedConfig } from '../config';
2
1
  import * as t from '../shared/estree';
3
- import { Expression, Literal, LWCDirectiveRenderMode, Root } from '../shared/types';
2
+ import { ChildNode, Element, Expression, Literal, LWCDirectiveRenderMode, Root } from '../shared/types';
3
+ import State from '../state';
4
4
  export default class CodeGen {
5
5
  /** The AST root. */
6
6
  readonly root: Root;
@@ -24,6 +24,15 @@ export default class CodeGen {
24
24
  * A known identifier exists if it exists in the scope chain.
25
25
  */
26
26
  private scope;
27
+ readonly staticNodes: Set<ChildNode>;
28
+ readonly hoistedNodes: Array<{
29
+ identifier: t.Identifier;
30
+ expr: t.Expression;
31
+ }>;
32
+ /**
33
+ * State maintains information about the current compilation configs.
34
+ */
35
+ readonly state: State;
27
36
  currentId: number;
28
37
  currentKey: number;
29
38
  innerHtmlInstances: number;
@@ -34,9 +43,9 @@ export default class CodeGen {
34
43
  slotNames: Set<string>;
35
44
  memorizedIds: t.Identifier[];
36
45
  referencedComponents: Set<string>;
37
- constructor({ root, config, scopeFragmentId, }: {
46
+ constructor({ root, state, scopeFragmentId, }: {
38
47
  root: Root;
39
- config: NormalizedConfig;
48
+ state: State;
40
49
  scopeFragmentId: boolean;
41
50
  });
42
51
  generateKey(): number;
@@ -80,4 +89,5 @@ export default class CodeGen {
80
89
  * - {value[index]} --> {$cmp.value[$cmp.index]}
81
90
  */
82
91
  bindExpression(expression: Expression | Literal): t.Expression;
92
+ genHoistedElement(element: Element, slotParentName?: string): t.Expression;
83
93
  }
@@ -1,5 +1,6 @@
1
1
  import * as t from '../shared/estree';
2
- import { ChildNode, Node } from '../shared/types';
2
+ import { ChildNode, Node, Root } from '../shared/types';
3
+ import State from '../state';
3
4
  import CodeGen from './codegen';
4
5
  export declare function identifierFromComponentName(name: string): t.Identifier;
5
6
  export declare function getMemberExpressionRoot(expression: t.MemberExpression): t.Identifier;
@@ -25,3 +26,4 @@ export declare function styleMapToStyleDeclsAST(styleMap: {
25
26
  [name: string]: string;
26
27
  }): t.ArrayExpression;
27
28
  export declare function parseClassNames(classNames: string): string[];
29
+ export declare function getStaticNodes(root: Root, state: State): Set<ChildNode>;
@@ -1,3 +1,3 @@
1
- import { NormalizedConfig } from '../config';
2
1
  import { Root } from '../shared/types';
3
- export default function (root: Root, config: NormalizedConfig): string;
2
+ import State from '../state';
3
+ export default function (root: Root, state: State): string;
@@ -0,0 +1,2 @@
1
+ import { Element } from '../shared/types';
2
+ export declare function serializeStaticElement(element: Element, preserveComments: boolean): string;
@@ -1,4 +1,9 @@
1
+ import { CustomRendererConfig } from './shared/renderer-hooks';
1
2
  export interface Config {
3
+ /**
4
+ * Specification to use to determine which nodes in the template require custom renderer hooks.
5
+ */
6
+ customRendererConfig?: CustomRendererConfig;
2
7
  /**
3
8
  * Enable computed member expression in the template. eg:
4
9
  * <template>
@@ -14,6 +19,10 @@ export interface Config {
14
19
  * When true, HTML comments in the template will be preserved.
15
20
  */
16
21
  preserveHtmlComments?: boolean;
22
+ /**
23
+ * When false, the template compiler will not generate optimized code for static content.
24
+ */
25
+ enableStaticContentOptimization?: boolean;
17
26
  }
18
- export declare type NormalizedConfig = Required<Config>;
27
+ export declare type NormalizedConfig = Required<Omit<Config, 'customRendererConfig'>> & Partial<Pick<Config, 'customRendererConfig'>>;
19
28
  export declare function normalizeConfig(config: Config): NormalizedConfig;
@@ -1,6 +1,7 @@
1
1
  import { Config } from './config';
2
2
  import { TemplateCompileResult, TemplateParseResult } from './shared/types';
3
3
  export * from './shared/types';
4
+ export { CustomRendererConfig, CustomRendererElementConfig } from './shared/renderer-hooks';
4
5
  export { Config } from './config';
5
6
  export declare function parse(source: string, config?: Config): TemplateParseResult;
6
7
  export default function compile(source: string, config: Config): TemplateCompileResult;
@@ -20,7 +20,6 @@ export declare const DATA_RE: RegExp;
20
20
  export declare const SUPPORTED_SVG_TAGS: Set<string>;
21
21
  export declare const DISALLOWED_MATHML_TAGS: Set<string>;
22
22
  export declare const VOID_ELEMENT_SET: Set<string>;
23
- export declare const DASHED_TAGNAME_ELEMENT_SET: Set<string>;
24
23
  export declare const ATTRS_PROPS_TRANFORMS: {
25
24
  [name: string]: string;
26
25
  };
@@ -4,8 +4,8 @@ export declare function root(parse5ElmLocation: parse5.ElementLocation): Root;
4
4
  export declare function element(parse5Elm: parse5.Element, parse5ElmLocation: parse5.ElementLocation): Element;
5
5
  export declare function component(parse5Elm: parse5.Element, parse5ElmLocation: parse5.ElementLocation): Component;
6
6
  export declare function slot(slotName: string, parse5ElmLocation: parse5.ElementLocation): Slot;
7
- export declare function text(value: Literal | Expression, parse5Location: parse5.Location): Text;
8
- export declare function comment(value: string, parse5Location: parse5.Location): Comment;
7
+ export declare function text(raw: string, value: Literal | Expression, parse5Location: parse5.Location): Text;
8
+ export declare function comment(raw: string, value: string, parse5Location: parse5.Location): Comment;
9
9
  export declare function elementSourceLocation(parse5ElmLocation: parse5.ElementLocation): ElementSourceLocation;
10
10
  export declare function sourceLocation(location: parse5.Location): SourceLocation;
11
11
  export declare function literal<T extends string | boolean>(value: T): Literal<T>;
@@ -1,7 +1,11 @@
1
1
  export declare const SECURE_REGISTER_TEMPLATE_METHOD_NAME = "registerTemplate";
2
+ export declare const PARSE_FRAGMENT_METHOD_NAME = "parseFragment";
3
+ export declare const PARSE_SVG_FRAGMENT_METHOD_NAME = "parseSVGFragment";
4
+ export declare const RENDERER = "renderer";
2
5
  export declare const LWC_MODULE_NAME = "lwc";
3
6
  export declare const TEMPLATE_MODULES_PARAMETER: string;
4
7
  export declare const TEMPLATE_FUNCTION_NAME: string;
5
8
  export declare const TEMPLATE_PARAMS: {
6
9
  [label: string]: string;
7
10
  };
11
+ export declare const DASHED_TAGNAME_ELEMENT_SET: Set<string>;
@@ -20,6 +20,8 @@ export declare function objectExpression(properties: t.ObjectExpression['propert
20
20
  export declare function objectPattern(properties: t.ObjectPattern['properties'], config?: Partial<t.ObjectPattern>): t.ObjectPattern;
21
21
  export declare function arrayExpression(elements: t.ArrayExpression['elements'], config?: Partial<t.ArrayExpression>): t.ArrayExpression;
22
22
  export declare function expressionStatement(expression: t.ExpressionStatement['expression'], config?: Partial<t.ExpressionStatement>): t.ExpressionStatement;
23
+ export declare function taggedTemplateExpression(tag: Expression, quasi: t.TemplateLiteral): t.TaggedTemplateExpression;
24
+ export declare function templateLiteral(quasis: t.TemplateElement[], expressions: t.Expression[]): t.TemplateLiteral;
23
25
  export declare function functionExpression(id: null | t.Identifier, params: t.FunctionExpression['params'], body: t.FunctionExpression['body'], config?: Partial<t.FunctionExpression>): t.FunctionExpression;
24
26
  export declare function functionDeclaration(id: null | t.Identifier, params: t.FunctionDeclaration['params'], body: t.FunctionDeclaration['body'], config?: Partial<t.FunctionDeclaration>): t.FunctionDeclaration;
25
27
  export declare function blockStatement(body: t.BlockStatement['body'], config?: Partial<t.BlockStatement>): t.BlockStatement;
@@ -0,0 +1,43 @@
1
+ import State from '../state';
2
+ import { BaseElement, ElementDirective } from './types';
3
+ /**
4
+ * Config representing criteria for an element match.
5
+ * All conditions specified must be satisfied to be considered a match.
6
+ */
7
+ export interface CustomRendererElementConfig {
8
+ /**
9
+ * Tag name to use to match an element.
10
+ */
11
+ tagName: string;
12
+ /**
13
+ * Optional namespace to match an element.
14
+ */
15
+ namespace?: string;
16
+ /**
17
+ * Specify attributes that need to be matched.
18
+ * This field is optional.
19
+ * If undefined or empty, attribute matching is skipped.
20
+ */
21
+ attributes?: string[];
22
+ }
23
+ /**
24
+ * Config to specify which elements and directives require a customizable renderer.
25
+ * An element is qualified if it matches the CustomRendererElementConfig OR the directives.
26
+ */
27
+ export interface CustomRendererConfig {
28
+ /**
29
+ * Element matching criteria. Element much satisfy all conditions of the CustomRendererElementConfig
30
+ */
31
+ elements: CustomRendererElementConfig[];
32
+ /**
33
+ * List of lwc directives that qualify an element. An element must use at least 1
34
+ * directive to be considered a match.
35
+ * If empty, elements matching is not done based on directives.
36
+ */
37
+ directives: string[];
38
+ }
39
+ /**
40
+ * Mapping of Directive.name to string literals used in template
41
+ */
42
+ export declare const LWC_DIRECTIVES: Record<ElementDirective['name'], string>;
43
+ export declare function isCustomRendererHookRequired(element: BaseElement, state: State): boolean;
@@ -94,10 +94,12 @@ export declare type RootDirective = RenderModeDirective | PreserveCommentsDirect
94
94
  export interface Text extends BaseNode {
95
95
  type: 'Text';
96
96
  value: Literal | Expression;
97
+ raw: string;
97
98
  }
98
99
  export interface Comment extends BaseNode {
99
100
  type: 'Comment';
100
101
  value: string;
102
+ raw: string;
101
103
  }
102
104
  export interface BaseParentNode extends BaseNode {
103
105
  children: ChildNode[];
@@ -1 +1,7 @@
1
1
  export declare function toPropertyName(attr: string): string;
2
+ /**
3
+ * Test if given tag name is a custom element.
4
+ * @param tagName element tag name to test
5
+ * @returns true if given tag name represents a custom element, false otherwise.
6
+ */
7
+ export declare function isCustomElementTag(tagName: string): boolean;
@@ -1,5 +1,23 @@
1
1
  import { NormalizedConfig } from './config';
2
+ import { BaseElement } from './shared/types';
2
3
  export default class State {
3
4
  config: NormalizedConfig;
5
+ /**
6
+ * Look up custom renderer config by tag name.
7
+ */
8
+ crElmToConfigMap: {
9
+ [tagName: string]: {
10
+ namespace: string | undefined;
11
+ attributes: Set<string>;
12
+ };
13
+ };
14
+ /**
15
+ * Look up for directives that require custom renderer
16
+ */
17
+ crDirectives: Set<string>;
18
+ /**
19
+ * Cache the result of elements that have already been checked if they require custom renderer
20
+ */
21
+ crCheckedElements: Map<BaseElement, boolean>;
4
22
  constructor(config: NormalizedConfig);
5
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lwc/template-compiler",
3
- "version": "2.14.2",
3
+ "version": "2.17.0",
4
4
  "description": "Template compiler package",
5
5
  "homepage": "https://lwc.dev/",
6
6
  "repository": {
@@ -26,8 +26,8 @@
26
26
  },
27
27
  "//": "Currently can't upgrade estree-walker to v3.0.0 because it dropped CommonJS support: https://git.io/JXguS",
28
28
  "dependencies": {
29
- "@lwc/errors": "2.14.2",
30
- "@lwc/shared": "2.14.2",
29
+ "@lwc/errors": "2.17.0",
30
+ "@lwc/shared": "2.17.0",
31
31
  "acorn": "~8.7.1",
32
32
  "astring": "~1.8.3",
33
33
  "estree-walker": "~2.0.2",