@lwc/template-compiler 2.45.2 → 2.45.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.cjs.js +5314 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/{types/index.d.ts → index.d.ts} +1 -0
- package/dist/index.js +5287 -0
- package/dist/index.js.map +1 -0
- package/package.json +33 -30
- package/dist/commonjs/codegen/codegen.js +0 -330
- package/dist/commonjs/codegen/codegen.js.map +0 -1
- package/dist/commonjs/codegen/expression.js +0 -176
- package/dist/commonjs/codegen/expression.js.map +0 -1
- package/dist/commonjs/codegen/formatters/module.js +0 -91
- package/dist/commonjs/codegen/formatters/module.js.map +0 -1
- package/dist/commonjs/codegen/helpers.js +0 -233
- package/dist/commonjs/codegen/helpers.js.map +0 -1
- package/dist/commonjs/codegen/index.js +0 -549
- package/dist/commonjs/codegen/index.js.map +0 -1
- package/dist/commonjs/codegen/optimize.js +0 -119
- package/dist/commonjs/codegen/optimize.js.map +0 -1
- package/dist/commonjs/codegen/static-element-serializer.js +0 -122
- package/dist/commonjs/codegen/static-element-serializer.js.map +0 -1
- package/dist/commonjs/config.js +0 -78
- package/dist/commonjs/config.js.map +0 -1
- package/dist/commonjs/index.js +0 -66
- package/dist/commonjs/index.js.map +0 -1
- package/dist/commonjs/parser/attribute.js +0 -237
- package/dist/commonjs/parser/attribute.js.map +0 -1
- package/dist/commonjs/parser/constants.js +0 -155
- package/dist/commonjs/parser/constants.js.map +0 -1
- package/dist/commonjs/parser/expression-complex/html.js +0 -222
- package/dist/commonjs/parser/expression-complex/html.js.map +0 -1
- package/dist/commonjs/parser/expression-complex/index.js +0 -26
- package/dist/commonjs/parser/expression-complex/index.js.map +0 -1
- package/dist/commonjs/parser/expression-complex/types.js +0 -9
- package/dist/commonjs/parser/expression-complex/types.js.map +0 -1
- package/dist/commonjs/parser/expression-complex/validate.js +0 -141
- package/dist/commonjs/parser/expression-complex/validate.js.map +0 -1
- package/dist/commonjs/parser/expression.js +0 -130
- package/dist/commonjs/parser/expression.js.map +0 -1
- package/dist/commonjs/parser/html.js +0 -112
- package/dist/commonjs/parser/html.js.map +0 -1
- package/dist/commonjs/parser/index.js +0 -1181
- package/dist/commonjs/parser/index.js.map +0 -1
- package/dist/commonjs/parser/parse5Errors.js +0 -77
- package/dist/commonjs/parser/parse5Errors.js.map +0 -1
- package/dist/commonjs/parser/parser.js +0 -309
- package/dist/commonjs/parser/parser.js.map +0 -1
- package/dist/commonjs/parser/utils/html-element-attributes.js +0 -411
- package/dist/commonjs/parser/utils/html-element-attributes.js.map +0 -1
- package/dist/commonjs/parser/utils/html-elements.js +0 -141
- package/dist/commonjs/parser/utils/html-elements.js.map +0 -1
- package/dist/commonjs/parser/utils/javascript.js +0 -25
- package/dist/commonjs/parser/utils/javascript.js.map +0 -1
- package/dist/commonjs/parser/utils/svg-elements.js +0 -42
- package/dist/commonjs/parser/utils/svg-elements.js.map +0 -1
- package/dist/commonjs/shared/ast.js +0 -496
- package/dist/commonjs/shared/ast.js.map +0 -1
- package/dist/commonjs/shared/constants.js +0 -33
- package/dist/commonjs/shared/constants.js.map +0 -1
- package/dist/commonjs/shared/estree.js +0 -325
- package/dist/commonjs/shared/estree.js.map +0 -1
- package/dist/commonjs/shared/naming.js +0 -32
- package/dist/commonjs/shared/naming.js.map +0 -1
- package/dist/commonjs/shared/parse5.js +0 -20
- package/dist/commonjs/shared/parse5.js.map +0 -1
- package/dist/commonjs/shared/renderer-hooks.js +0 -55
- package/dist/commonjs/shared/renderer-hooks.js.map +0 -1
- package/dist/commonjs/shared/types.js +0 -49
- package/dist/commonjs/shared/types.js.map +0 -1
- package/dist/commonjs/shared/utils.js +0 -45
- package/dist/commonjs/shared/utils.js.map +0 -1
- package/dist/commonjs/state.js +0 -24
- package/dist/commonjs/state.js.map +0 -1
- /package/dist/{types/codegen → codegen}/codegen.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/expression.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/formatters/module.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/helpers.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/index.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/optimize.d.ts +0 -0
- /package/dist/{types/codegen → codegen}/static-element-serializer.d.ts +0 -0
- /package/dist/{types/config.d.ts → config.d.ts} +0 -0
- /package/dist/{types/parser → parser}/attribute.d.ts +0 -0
- /package/dist/{types/parser → parser}/constants.d.ts +0 -0
- /package/dist/{types/parser → parser}/expression-complex/html.d.ts +0 -0
- /package/dist/{types/parser → parser}/expression-complex/index.d.ts +0 -0
- /package/dist/{types/parser → parser}/expression-complex/types.d.ts +0 -0
- /package/dist/{types/parser → parser}/expression-complex/validate.d.ts +0 -0
- /package/dist/{types/parser → parser}/expression.d.ts +0 -0
- /package/dist/{types/parser → parser}/html.d.ts +0 -0
- /package/dist/{types/parser → parser}/index.d.ts +0 -0
- /package/dist/{types/parser → parser}/parse5Errors.d.ts +0 -0
- /package/dist/{types/parser → parser}/parser.d.ts +0 -0
- /package/dist/{types/parser → parser}/utils/html-element-attributes.d.ts +0 -0
- /package/dist/{types/parser → parser}/utils/html-elements.d.ts +0 -0
- /package/dist/{types/parser → parser}/utils/javascript.d.ts +0 -0
- /package/dist/{types/parser → parser}/utils/svg-elements.d.ts +0 -0
- /package/dist/{types/shared → shared}/ast.d.ts +0 -0
- /package/dist/{types/shared → shared}/constants.d.ts +0 -0
- /package/dist/{types/shared → shared}/estree.d.ts +0 -0
- /package/dist/{types/shared → shared}/naming.d.ts +0 -0
- /package/dist/{types/shared → shared}/parse5.d.ts +0 -0
- /package/dist/{types/shared → shared}/renderer-hooks.d.ts +0 -0
- /package/dist/{types/shared → shared}/types.d.ts +0 -0
- /package/dist/{types/shared → shared}/utils.d.ts +0 -0
- /package/dist/{types/state.d.ts → state.d.ts} +0 -0
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getStaticNodes = exports.parseClassNames = exports.styleMapToStyleDeclsAST = exports.parseStyleText = exports.generateTemplateMetadata = exports.memorizeHandler = exports.hasIdAttribute = exports.shouldFlatten = exports.objectToAST = exports.getMemberExpressionRoot = exports.identifierFromComponentName = void 0;
|
|
27
|
-
/*
|
|
28
|
-
* Copyright (c) 2018, salesforce.com, inc.
|
|
29
|
-
* All rights reserved.
|
|
30
|
-
* SPDX-License-Identifier: MIT
|
|
31
|
-
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
|
|
32
|
-
*/
|
|
33
|
-
const shared_1 = require("@lwc/shared");
|
|
34
|
-
const t = __importStar(require("../shared/estree"));
|
|
35
|
-
const utils_1 = require("../shared/utils");
|
|
36
|
-
const types_1 = require("../shared/types");
|
|
37
|
-
const ast_1 = require("../shared/ast");
|
|
38
|
-
const constants_1 = require("../shared/constants");
|
|
39
|
-
const estree_1 = require("../shared/estree");
|
|
40
|
-
const attribute_1 = require("../parser/attribute");
|
|
41
|
-
const renderer_hooks_1 = require("../shared/renderer-hooks");
|
|
42
|
-
function identifierFromComponentName(name) {
|
|
43
|
-
return t.identifier(`_${(0, utils_1.toPropertyName)(name)}`);
|
|
44
|
-
}
|
|
45
|
-
exports.identifierFromComponentName = identifierFromComponentName;
|
|
46
|
-
function getMemberExpressionRoot(expression) {
|
|
47
|
-
let current = expression;
|
|
48
|
-
while (t.isMemberExpression(current)) {
|
|
49
|
-
current = current.object;
|
|
50
|
-
}
|
|
51
|
-
return current;
|
|
52
|
-
}
|
|
53
|
-
exports.getMemberExpressionRoot = getMemberExpressionRoot;
|
|
54
|
-
function objectToAST(obj, valueMapper) {
|
|
55
|
-
return t.objectExpression(Object.keys(obj).map((key) => t.property(t.literal(key), valueMapper(key))));
|
|
56
|
-
}
|
|
57
|
-
exports.objectToAST = objectToAST;
|
|
58
|
-
/**
|
|
59
|
-
* Returns true if the children should be flattened.
|
|
60
|
-
*
|
|
61
|
-
* This function searches through the children to determine if flattening needs to occur in the runtime.
|
|
62
|
-
* Children should be flattened if they contain an iterator, a dynamic directive or a slot inside a light dom element.
|
|
63
|
-
*/
|
|
64
|
-
function shouldFlatten(codeGen, children) {
|
|
65
|
-
return children.some((child) => {
|
|
66
|
-
return (
|
|
67
|
-
// ForBlock will generate a list of iterable vnodes
|
|
68
|
-
(0, ast_1.isForBlock)(child) ||
|
|
69
|
-
// light DOM slots
|
|
70
|
-
((0, ast_1.isSlot)(child) && codeGen.renderMode === types_1.LWCDirectiveRenderMode.light) ||
|
|
71
|
-
// If node is only a control flow node and does not map to a stand alone element.
|
|
72
|
-
// Search children to determine if it should be flattened.
|
|
73
|
-
((0, ast_1.isIf)(child) && shouldFlatten(codeGen, child.children)));
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
exports.shouldFlatten = shouldFlatten;
|
|
77
|
-
/**
|
|
78
|
-
* Returns true if the AST element or any of its descendants use an id attribute.
|
|
79
|
-
*/
|
|
80
|
-
function hasIdAttribute(node) {
|
|
81
|
-
if ((0, ast_1.isBaseElement)(node)) {
|
|
82
|
-
const hasIdAttr = [...node.attributes, ...node.properties].some(({ name }) => name === 'id');
|
|
83
|
-
if (hasIdAttr) {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if ((0, ast_1.isParentNode)(node)) {
|
|
88
|
-
return node.children.some((child) => hasIdAttribute(child));
|
|
89
|
-
}
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
exports.hasIdAttribute = hasIdAttribute;
|
|
93
|
-
function memorizeHandler(codeGen, componentHandler, handler) {
|
|
94
|
-
// #439 - The handler can only be memorized if it is bound to component instance
|
|
95
|
-
const id = getMemberExpressionRoot(componentHandler);
|
|
96
|
-
const shouldMemorizeHandler = !codeGen.isLocalIdentifier(id);
|
|
97
|
-
// Apply memorization if the handler is memorizable.
|
|
98
|
-
// $cmp.handlePress -> _m1 || ($ctx._m1 = b($cmp.handlePress))
|
|
99
|
-
if (shouldMemorizeHandler) {
|
|
100
|
-
const memorizedId = codeGen.getMemorizationId();
|
|
101
|
-
const memorization = t.assignmentExpression('=', t.memberExpression(t.identifier(constants_1.TEMPLATE_PARAMS.CONTEXT), memorizedId), handler);
|
|
102
|
-
handler = t.logicalExpression('||', memorizedId, memorization);
|
|
103
|
-
}
|
|
104
|
-
return handler;
|
|
105
|
-
}
|
|
106
|
-
exports.memorizeHandler = memorizeHandler;
|
|
107
|
-
function generateTemplateMetadata(codeGen) {
|
|
108
|
-
const metadataExpressions = [];
|
|
109
|
-
if (codeGen.slotNames.size) {
|
|
110
|
-
const slotsProperty = t.memberExpression(t.identifier(constants_1.TEMPLATE_FUNCTION_NAME), t.identifier('slots'));
|
|
111
|
-
const slotsArray = t.arrayExpression(Array.from(codeGen.slotNames)
|
|
112
|
-
.sort()
|
|
113
|
-
.map((slot) => t.literal(slot)));
|
|
114
|
-
const slotsMetadata = t.assignmentExpression('=', slotsProperty, slotsArray);
|
|
115
|
-
metadataExpressions.push(t.expressionStatement(slotsMetadata));
|
|
116
|
-
}
|
|
117
|
-
const stylesheetsMetadata = t.assignmentExpression('=', t.memberExpression(t.identifier(constants_1.TEMPLATE_FUNCTION_NAME), t.identifier('stylesheets')), t.arrayExpression([]));
|
|
118
|
-
metadataExpressions.push(t.expressionStatement(stylesheetsMetadata));
|
|
119
|
-
// ignore when shadow because we don't want to modify template unnecessarily
|
|
120
|
-
if (codeGen.renderMode === types_1.LWCDirectiveRenderMode.light) {
|
|
121
|
-
const renderModeMetadata = t.assignmentExpression('=', t.memberExpression(t.identifier(constants_1.TEMPLATE_FUNCTION_NAME), t.identifier('renderMode')), t.literal('light'));
|
|
122
|
-
metadataExpressions.push(t.expressionStatement(renderModeMetadata));
|
|
123
|
-
}
|
|
124
|
-
if (codeGen.hasRefs) {
|
|
125
|
-
const refsMetadata = t.assignmentExpression('=', t.memberExpression(t.identifier(constants_1.TEMPLATE_FUNCTION_NAME), t.identifier('hasRefs')), t.literal(true));
|
|
126
|
-
metadataExpressions.push(t.expressionStatement(refsMetadata));
|
|
127
|
-
}
|
|
128
|
-
return metadataExpressions;
|
|
129
|
-
}
|
|
130
|
-
exports.generateTemplateMetadata = generateTemplateMetadata;
|
|
131
|
-
const DECLARATION_DELIMITER = /;(?![^(]*\))/g;
|
|
132
|
-
const PROPERTY_DELIMITER = /:(.+)/;
|
|
133
|
-
// Borrowed from Vue template compiler.
|
|
134
|
-
// https://github.com/vuejs/vue/blob/531371b818b0e31a989a06df43789728f23dc4e8/src/platforms/web/util/style.js#L5-L16
|
|
135
|
-
function parseStyleText(cssText) {
|
|
136
|
-
const styleMap = {};
|
|
137
|
-
const declarations = cssText.split(DECLARATION_DELIMITER);
|
|
138
|
-
for (const declaration of declarations) {
|
|
139
|
-
if (declaration) {
|
|
140
|
-
const [prop, value] = declaration.split(PROPERTY_DELIMITER);
|
|
141
|
-
if (prop !== undefined && value !== undefined) {
|
|
142
|
-
styleMap[prop.trim()] = value.trim();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return styleMap;
|
|
147
|
-
}
|
|
148
|
-
exports.parseStyleText = parseStyleText;
|
|
149
|
-
// Given a map of CSS property keys to values, return an array AST like:
|
|
150
|
-
// ['color', 'blue', false] // { color: 'blue' }
|
|
151
|
-
// ['background', 'red', true] // { background: 'red !important' }
|
|
152
|
-
function styleMapToStyleDeclsAST(styleMap) {
|
|
153
|
-
const styles = Object.entries(styleMap).map(([key, value]) => {
|
|
154
|
-
const important = value.endsWith('!important');
|
|
155
|
-
if (important) {
|
|
156
|
-
// trim off the trailing "!important" (10 chars)
|
|
157
|
-
value = value.substring(0, value.length - 10).trim();
|
|
158
|
-
}
|
|
159
|
-
return [key, value, important];
|
|
160
|
-
});
|
|
161
|
-
return t.arrayExpression(styles.map((arr) => t.arrayExpression(arr.map((val) => t.literal(val)))));
|
|
162
|
-
}
|
|
163
|
-
exports.styleMapToStyleDeclsAST = styleMapToStyleDeclsAST;
|
|
164
|
-
const CLASSNAME_DELIMITER = /\s+/;
|
|
165
|
-
function parseClassNames(classNames) {
|
|
166
|
-
return classNames
|
|
167
|
-
.split(CLASSNAME_DELIMITER)
|
|
168
|
-
.map((className) => className.trim())
|
|
169
|
-
.filter((className) => className.length);
|
|
170
|
-
}
|
|
171
|
-
exports.parseClassNames = parseClassNames;
|
|
172
|
-
function isStaticNode(node) {
|
|
173
|
-
let result = true;
|
|
174
|
-
const { name: nodeName, namespace = '', attributes, directives, properties, listeners } = node;
|
|
175
|
-
if (namespace !== shared_1.HTML_NAMESPACE) {
|
|
176
|
-
// TODO [#3313]: re-enable static optimization for SVGs once scope token is always lowercase
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
result && (result = (0, ast_1.isElement)(node));
|
|
180
|
-
// it is an element.
|
|
181
|
-
result && (result = attributes.every(({ name, value }) => {
|
|
182
|
-
return ((0, estree_1.isLiteral)(value) &&
|
|
183
|
-
name !== 'slot' &&
|
|
184
|
-
// check for ScopedId
|
|
185
|
-
name !== 'id' &&
|
|
186
|
-
name !== 'spellcheck' && // spellcheck is specially handled by the vnodes.
|
|
187
|
-
!(0, attribute_1.isIdReferencingAttribute)(name) &&
|
|
188
|
-
// svg href needs sanitization.
|
|
189
|
-
!(0, attribute_1.isSvgUseHref)(nodeName, name, namespace) &&
|
|
190
|
-
// Check for ScopedFragId
|
|
191
|
-
!((0, attribute_1.isAllowedFragOnlyUrlsXHTML)(nodeName, name, namespace) &&
|
|
192
|
-
(0, attribute_1.isFragmentOnlyUrl)(value.value)));
|
|
193
|
-
})); // all attrs are static
|
|
194
|
-
result && (result = directives.length === 0); // do not have any directive
|
|
195
|
-
result && (result = properties.every((prop) => (0, estree_1.isLiteral)(prop.value))); // all properties are static
|
|
196
|
-
result && (result = listeners.length === 0); // do not have any event listener
|
|
197
|
-
return result;
|
|
198
|
-
}
|
|
199
|
-
function collectStaticNodes(node, staticNodes, state) {
|
|
200
|
-
let childrenAreStatic = true;
|
|
201
|
-
let nodeIsStatic;
|
|
202
|
-
if ((0, ast_1.isText)(node)) {
|
|
203
|
-
nodeIsStatic = (0, estree_1.isLiteral)(node.value);
|
|
204
|
-
}
|
|
205
|
-
else if ((0, ast_1.isComment)(node)) {
|
|
206
|
-
nodeIsStatic = true;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
// it is ElseBlock | ForBlock | If | BaseElement
|
|
210
|
-
node.children.forEach((childNode) => {
|
|
211
|
-
collectStaticNodes(childNode, staticNodes, state);
|
|
212
|
-
childrenAreStatic = childrenAreStatic && staticNodes.has(childNode);
|
|
213
|
-
});
|
|
214
|
-
// for IfBlock and ElseifBlock, traverse down the else branch
|
|
215
|
-
if ((0, ast_1.isConditionalParentBlock)(node) && node.else) {
|
|
216
|
-
collectStaticNodes(node.else, staticNodes, state);
|
|
217
|
-
}
|
|
218
|
-
nodeIsStatic =
|
|
219
|
-
(0, ast_1.isBaseElement)(node) && !(0, renderer_hooks_1.isCustomRendererHookRequired)(node, state) && isStaticNode(node);
|
|
220
|
-
}
|
|
221
|
-
if (nodeIsStatic && childrenAreStatic) {
|
|
222
|
-
staticNodes.add(node);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
function getStaticNodes(root, state) {
|
|
226
|
-
const staticNodes = new Set();
|
|
227
|
-
root.children.forEach((childNode) => {
|
|
228
|
-
collectStaticNodes(childNode, staticNodes, state);
|
|
229
|
-
});
|
|
230
|
-
return staticNodes;
|
|
231
|
-
}
|
|
232
|
-
exports.getStaticNodes = getStaticNodes;
|
|
233
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
|