marko 4.26.5 → 4.28.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +2510 -0
- package/README.md +1 -1
- package/bin/markoc.js +15 -15
- package/dist/compiler/CompileContext.js +1 -0
- package/dist/compiler/ast/CustomTag.js +2 -2
- package/dist/core-tags/components/TransformHelper/convertToComponent.js +1 -1
- package/dist/core-tags/components/TransformHelper/handleLegacyBind.js +0 -4
- package/dist/core-tags/core/await/renderer.js +0 -4
- package/dist/core-tags/migrate/all-tags/body-only-if.js +0 -1
- package/dist/core-tags/migrate/all-tags/control-flow-directives.js +0 -1
- package/dist/core-tags/migrate/all-tags/dynamic-attributes.js +1 -2
- package/dist/core-tags/migrate/all-tags/include-directive.js +0 -2
- package/dist/core-tags/migrate/all-tags/legacy-nested-tag.js +0 -2
- package/dist/core-tags/migrate/all-tags/marko-init.js +0 -2
- package/dist/core-tags/migrate/all-tags/modifier-key.js +0 -2
- package/dist/core-tags/migrate/all-tags/ref.js +1 -3
- package/dist/core-tags/migrate/all-tags/w-bind.js +0 -2
- package/dist/core-tags/migrate/all-tags/w-body.js +0 -2
- package/dist/core-tags/migrate/all-tags/w-config.js +0 -2
- package/dist/core-tags/migrate/all-tags/w-for.js +0 -3
- package/dist/core-tags/migrate/all-tags/w-id.js +1 -4
- package/dist/core-tags/migrate/all-tags/w-on.js +1 -4
- package/dist/core-tags/migrate/all-tags/w-preserve-attrs.js +0 -2
- package/dist/core-tags/migrate/all-tags/w-preserve.js +1 -3
- package/dist/core-tags/migrate/all-tags/widget-in-attrs.js +2 -11
- package/dist/core-tags/migrate/all-templates/non-standard-template-literals.js +0 -4
- package/dist/core-tags/migrate/all-templates/render-calls.js +0 -2
- package/dist/core-tags/migrate/assign-tag.js +0 -2
- package/dist/core-tags/migrate/async-fragment-tag.js +0 -2
- package/dist/core-tags/migrate/async-fragments-tag.js +0 -2
- package/dist/core-tags/migrate/await-tag.js +0 -7
- package/dist/core-tags/migrate/class-tag.js +0 -2
- package/dist/core-tags/migrate/component-globals-tag.js +0 -2
- package/dist/core-tags/migrate/for-tag.js +0 -2
- package/dist/core-tags/migrate/include-tag.js +0 -1
- package/dist/core-tags/migrate/invoke-tag.js +0 -2
- package/dist/core-tags/migrate/layout-placeholder-tag.js +0 -1
- package/dist/core-tags/migrate/layout-put-tag.js +0 -1
- package/dist/core-tags/migrate/layout-use-tag.js +0 -1
- package/dist/core-tags/migrate/macro-body-tag.js +0 -2
- package/dist/core-tags/migrate/macro-tag.js +0 -2
- package/dist/core-tags/migrate/unless-tag.js +0 -1
- package/dist/core-tags/migrate/var-tag.js +0 -2
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -10
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -4
- package/dist/node_modules/@internal/components-registry/index-browser.js +2 -0
- package/dist/runtime/RenderResult.js +0 -3
- package/dist/runtime/components/Component.js +0 -6
- package/dist/runtime/components/ComponentDef.js +0 -3
- package/dist/runtime/components/ServerComponent.js +0 -4
- package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -3
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -6
- package/dist/runtime/components/legacy/index.js +3 -1
- package/dist/runtime/helpers/dynamic-tag.js +3 -0
- package/dist/runtime/helpers/for-of.js +3 -1
- package/dist/runtime/helpers/interop-require.js +3 -0
- package/dist/runtime/html/helpers/attr.js +0 -4
- package/dist/runtime/html/helpers/attrs.js +0 -2
- package/dist/runtime/html/helpers/merge-attrs.js +0 -3
- package/dist/runtime/vdom/VElement.js +0 -3
- package/dist/runtime/vdom/helpers/attrs.js +0 -2
- package/dist/taglib/taglib-finder/index.js +1 -1
- package/dist/taglib/taglib-loader/Taglib.js +2 -1
- package/dist/taglib/taglib-loader/index.js +2 -2
- package/dist/taglib/taglib-loader/loadTagFromProps.js +15 -0
- package/dist/taglib/taglib-loader/loadTaglibFromFile.js +2 -2
- package/dist/taglib/taglib-loader/loadTaglibFromProps.js +12 -0
- package/docs/10-awesome-marko-features.md +1 -1
- package/docs/body-content.md +3 -3
- package/docs/class-components.md +6 -6
- package/docs/express.md +1 -1
- package/docs/fastify.md +4 -4
- package/docs/hapi.md +3 -3
- package/docs/http.md +1 -1
- package/docs/huncwot.md +1 -1
- package/docs/installing.md +2 -2
- package/docs/koa.md +2 -2
- package/docs/lasso.md +1 -1
- package/docs/marko-4-upgrade.md +1 -1
- package/docs/marko-v4.md +4 -4
- package/docs/marko-vs-react.md +2 -2
- package/docs/rendering.md +6 -6
- package/docs/server-side-rendering.md +3 -3
- package/docs/webpack.md +16 -16
- package/docs/why-is-marko-fast.md +3 -3
- package/package.json +1 -2
- package/src/compiler/Builder.js +13 -13
- package/src/compiler/CodeGenerator.js +2 -2
- package/src/compiler/CodeWriter.js +1 -1
- package/src/compiler/CompileContext.js +31 -30
- package/src/compiler/Compiler.js +3 -3
- package/src/compiler/HtmlJsParser.js +4 -4
- package/src/compiler/Migrator.js +2 -2
- package/src/compiler/Normalizer.js +5 -5
- package/src/compiler/Parser.js +11 -11
- package/src/compiler/Walker.js +1 -1
- package/src/compiler/ast/ArrayExpression.js +1 -1
- package/src/compiler/ast/BinaryExpression.js +1 -1
- package/src/compiler/ast/ConditionalExpression.js +1 -1
- package/src/compiler/ast/CustomTag.js +14 -14
- package/src/compiler/ast/Declaration.js +2 -2
- package/src/compiler/ast/DocumentType.js +2 -2
- package/src/compiler/ast/ForEach.js +1 -1
- package/src/compiler/ast/ForEachProp.js +1 -1
- package/src/compiler/ast/ForRange.js +1 -1
- package/src/compiler/ast/HtmlAttribute/html/generateCode.js +4 -4
- package/src/compiler/ast/HtmlAttribute/vdom/generateCode.js +2 -2
- package/src/compiler/ast/HtmlAttributeCollection.js +3 -3
- package/src/compiler/ast/HtmlComment.js +1 -1
- package/src/compiler/ast/HtmlElement/html/EndTag.js +1 -1
- package/src/compiler/ast/HtmlElement/html/StartTag.js +3 -3
- package/src/compiler/ast/HtmlElement/html/generateCode.js +5 -5
- package/src/compiler/ast/HtmlElement/index.js +1 -1
- package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
- package/src/compiler/ast/HtmlElement/vdom/generateCode.js +3 -3
- package/src/compiler/ast/If.js +1 -1
- package/src/compiler/ast/LogicalExpression.js +1 -1
- package/src/compiler/ast/MemberExpression.js +1 -1
- package/src/compiler/ast/NewExpression.js +1 -1
- package/src/compiler/ast/Node.js +4 -4
- package/src/compiler/ast/ObjectExpression.js +2 -2
- package/src/compiler/ast/Property.js +1 -1
- package/src/compiler/ast/SequenceExpression.js +1 -1
- package/src/compiler/ast/TemplateLiteral.js +1 -1
- package/src/compiler/ast/TemplateRoot.js +3 -3
- package/src/compiler/ast/Text/index.js +1 -1
- package/src/compiler/ast/UnaryExpression.js +1 -1
- package/src/compiler/ast/UpdateExpression.js +1 -1
- package/src/compiler/config.js +1 -1
- package/src/compiler/index.js +5 -5
- package/src/compiler/modules.js +2 -2
- package/src/compiler/util/UniqueVars.js +4 -4
- package/src/compiler/util/convertRawJavaScriptAst.js +1 -1
- package/src/compiler/util/javaScriptReservedWords.js +1 -1
- package/src/compiler/util/macros.js +1 -1
- package/src/compiler/util/mergeProps.js +3 -3
- package/src/compiler/util/parseJavaScriptArgs.js +1 -1
- package/src/compiler/util/parseJavaScriptParams.js +1 -1
- package/src/compiler/util/parseRawJavaScriptAst.js +1 -1
- package/src/compiler/util/removeComments.js +6 -6
- package/src/compiler/util/tokenizer.js +3 -3
- package/src/compiler/util/vdom/VDOMOptimizer.js +2 -2
- package/src/core-tags/cache/cached-fragment-tag.js +2 -2
- package/src/core-tags/cache/default-cache-manager.js +2 -2
- package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +3 -3
- package/src/core-tags/components/TransformHelper/assignComponentId.js +3 -3
- package/src/core-tags/components/TransformHelper/convertToComponent.js +7 -5
- package/src/core-tags/components/TransformHelper/getComponentFiles.js +1 -1
- package/src/core-tags/components/TransformHelper/handleComponentEvents.js +3 -3
- package/src/core-tags/components/TransformHelper/handleComponentPreserve.js +7 -7
- package/src/core-tags/components/TransformHelper/handleLegacyBind.js +2 -8
- package/src/core-tags/components/TransformHelper/handleRootNodes.js +14 -14
- package/src/core-tags/components/TransformHelper/handleScopedAttrs.js +1 -1
- package/src/core-tags/components/TransformHelper/index.js +1 -1
- package/src/core-tags/components/component-tag.js +1 -1
- package/src/core-tags/components/components-transformer.js +2 -2
- package/src/core-tags/components/util/generateRegisterComponentCode.js +2 -2
- package/src/core-tags/components/widget-types-tag.js +2 -2
- package/src/core-tags/core/await/AsyncValue.js +1 -1
- package/src/core-tags/core/await/renderer.js +3 -12
- package/src/core-tags/core/await/reorderer-renderer.js +1 -1
- package/src/core-tags/core/core-transformer.js +5 -5
- package/src/core-tags/core/html-comment-tag.js +1 -1
- package/src/core-tags/core/import-tag.js +1 -1
- package/src/core-tags/core/util/parseImport.js +8 -8
- package/src/core-tags/html/normalize-script-text.js +1 -1
- package/src/core-tags/migrate/all-tags/body-only-if.js +4 -5
- package/src/core-tags/migrate/all-tags/control-flow-directives.js +2 -5
- package/src/core-tags/migrate/all-tags/dynamic-attributes.js +1 -4
- package/src/core-tags/migrate/all-tags/include-directive.js +0 -4
- package/src/core-tags/migrate/all-tags/index.js +2 -2
- package/src/core-tags/migrate/all-tags/legacy-nested-tag.js +0 -5
- package/src/core-tags/migrate/all-tags/marko-init.js +2 -8
- package/src/core-tags/migrate/all-tags/modifier-key.js +1 -7
- package/src/core-tags/migrate/all-tags/params.js +1 -1
- package/src/core-tags/migrate/all-tags/ref.js +1 -5
- package/src/core-tags/migrate/all-tags/w-bind.js +8 -12
- package/src/core-tags/migrate/all-tags/w-body.js +3 -7
- package/src/core-tags/migrate/all-tags/w-config.js +1 -5
- package/src/core-tags/migrate/all-tags/w-for.js +1 -8
- package/src/core-tags/migrate/all-tags/w-id.js +1 -8
- package/src/core-tags/migrate/all-tags/w-on.js +2 -9
- package/src/core-tags/migrate/all-tags/w-preserve-attrs.js +1 -5
- package/src/core-tags/migrate/all-tags/w-preserve.js +3 -7
- package/src/core-tags/migrate/all-tags/widget-in-attrs.js +4 -17
- package/src/core-tags/migrate/all-templates/index.js +2 -2
- package/src/core-tags/migrate/all-templates/non-standard-template-literals.js +6 -12
- package/src/core-tags/migrate/all-templates/render-calls.js +4 -8
- package/src/core-tags/migrate/all-templates/widget-data-is-state.js +2 -2
- package/src/core-tags/migrate/all-templates/widget-get-template-data.js +2 -2
- package/src/core-tags/migrate/assign-tag.js +2 -6
- package/src/core-tags/migrate/async-fragment-tag.js +2 -6
- package/src/core-tags/migrate/async-fragments-tag.js +0 -4
- package/src/core-tags/migrate/await-tag.js +8 -23
- package/src/core-tags/migrate/class-tag.js +0 -4
- package/src/core-tags/migrate/component-globals-tag.js +0 -4
- package/src/core-tags/migrate/for-tag.js +12 -16
- package/src/core-tags/migrate/include-tag.js +2 -5
- package/src/core-tags/migrate/invoke-tag.js +2 -6
- package/src/core-tags/migrate/layout-placeholder-tag.js +0 -3
- package/src/core-tags/migrate/layout-put-tag.js +0 -3
- package/src/core-tags/migrate/layout-use-tag.js +0 -3
- package/src/core-tags/migrate/macro-body-tag.js +0 -5
- package/src/core-tags/migrate/macro-tag.js +5 -10
- package/src/core-tags/migrate/unless-tag.js +0 -3
- package/src/core-tags/migrate/util/addIdScopedAttr.js +1 -1
- package/src/core-tags/migrate/util/import-tag.js +6 -6
- package/src/core-tags/migrate/util/parseFor.js +20 -20
- package/src/core-tags/migrate/util/renderCallToDynamicTag.js +7 -7
- package/src/core-tags/migrate/var-tag.js +4 -8
- package/src/express.js +1 -1
- package/src/hot-reload.js +3 -3
- package/src/node-require/index.js +1 -1
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +2 -53
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -10
- package/src/node_modules/@internal/components-registry/index-browser.js +2 -0
- package/src/runtime/RenderResult.js +3 -16
- package/src/runtime/components/Component.js +2 -23
- package/src/runtime/components/ComponentDef.js +2 -8
- package/src/runtime/components/ComponentsContext.js +1 -1
- package/src/runtime/components/ServerComponent.js +0 -6
- package/src/runtime/components/State.js +2 -2
- package/src/runtime/components/attach-detach.js +1 -1
- package/src/runtime/components/dom-data.js +1 -1
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -16
- package/src/runtime/components/legacy/dependencies/index.js +10 -10
- package/src/runtime/components/legacy/index.js +5 -0
- package/src/runtime/components/legacy/renderer-legacy.js +1 -1
- package/src/runtime/components/update-manager.js +1 -1
- package/src/runtime/dom-insert.js +1 -1
- package/src/runtime/helpers/_weak-map.js +1 -1
- package/src/runtime/helpers/bind-component.js +1 -1
- package/src/runtime/helpers/dynamic-tag.js +3 -0
- package/src/runtime/helpers/for-of.js +1 -6
- package/src/runtime/helpers/interop-require.js +3 -0
- package/src/runtime/html/AsyncStream.js +5 -5
- package/src/runtime/html/BufferedWriter.js +1 -1
- package/src/runtime/html/StringWriter.js +1 -1
- package/src/runtime/html/helpers/attr.js +0 -9
- package/src/runtime/html/helpers/attrs.js +0 -6
- package/src/runtime/html/helpers/merge-attrs.js +0 -8
- package/src/runtime/html/index.js +1 -1
- package/src/runtime/renderable.js +1 -1
- package/src/runtime/vdom/AsyncVDOMBuilder.js +2 -2
- package/src/runtime/vdom/VComment.js +1 -1
- package/src/runtime/vdom/VComponent.js +1 -1
- package/src/runtime/vdom/VDocumentFragment.js +1 -1
- package/src/runtime/vdom/VElement.js +4 -11
- package/src/runtime/vdom/VFragment.js +1 -1
- package/src/runtime/vdom/VNode.js +1 -1
- package/src/runtime/vdom/VText.js +1 -1
- package/src/runtime/vdom/helpers/attrs.js +0 -7
- package/src/runtime/vdom/index.js +1 -1
- package/src/runtime/vdom/morphdom/fragment.js +1 -1
- package/src/runtime/vdom/morphdom/specialElHandlers.js +1 -1
- package/src/taglib/taglib-finder/index.js +6 -6
- package/src/taglib/taglib-loader/Tag.js +8 -8
- package/src/taglib/taglib-loader/Taglib.js +3 -2
- package/src/taglib/taglib-loader/index.js +2 -2
- package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
- package/src/taglib/taglib-loader/loadTagFromProps.js +29 -14
- package/src/taglib/taglib-loader/loadTaglibFromFile.js +2 -2
- package/src/taglib/taglib-loader/loadTaglibFromProps.js +27 -9
- package/src/taglib/taglib-loader/scanTagsDir.js +6 -6
- package/src/taglib/taglib-lookup/TaglibLookup.js +8 -8
package/src/compiler/Parser.js
CHANGED
@@ -10,7 +10,7 @@ var COMPILER_ATTRIBUTE_HANDLERS = {
|
|
10
10
|
},
|
11
11
|
"preserve-comments": function (attr, context) {
|
12
12
|
context.setPreserveComments(true);
|
13
|
-
}
|
13
|
+
},
|
14
14
|
};
|
15
15
|
|
16
16
|
function getSimplifiedValue(node) {
|
@@ -41,7 +41,7 @@ function getParserStateForTag(parser, el, tagDef) {
|
|
41
41
|
parser.context.addError({
|
42
42
|
message:
|
43
43
|
'Value for "marko-body" should be one of the following: "static-text", "parsed-text", "html"',
|
44
|
-
code: "ERR_INVALID_ATTR"
|
44
|
+
code: "ERR_INVALID_ATTR",
|
45
45
|
});
|
46
46
|
return;
|
47
47
|
}
|
@@ -100,7 +100,7 @@ class Parser {
|
|
100
100
|
this.context = context;
|
101
101
|
|
102
102
|
this.stack.push({
|
103
|
-
node: rootNode
|
103
|
+
node: rootNode,
|
104
104
|
});
|
105
105
|
|
106
106
|
this.parserImpl.parse(src, this, context.filename, mergedOptions);
|
@@ -177,7 +177,7 @@ class Parser {
|
|
177
177
|
'". Allowed: ' +
|
178
178
|
Object.keys(COMPILER_ATTRIBUTE_HANDLERS).join(", "),
|
179
179
|
pos: el.pos,
|
180
|
-
node: el
|
180
|
+
node: el,
|
181
181
|
});
|
182
182
|
return;
|
183
183
|
}
|
@@ -205,7 +205,7 @@ class Parser {
|
|
205
205
|
openTagOnly: el.openTagOnly === true,
|
206
206
|
selfClosed: el.selfClosed === true,
|
207
207
|
pos: el.pos,
|
208
|
-
attributes: parsedAttributes
|
208
|
+
attributes: parsedAttributes,
|
209
209
|
};
|
210
210
|
|
211
211
|
var node = builder.htmlElement(elDef);
|
@@ -213,7 +213,7 @@ class Parser {
|
|
213
213
|
node.tagDef = tagDef;
|
214
214
|
|
215
215
|
if (attributeParseErrors && attributeParseErrors.length) {
|
216
|
-
attributeParseErrors.forEach(e => {
|
216
|
+
attributeParseErrors.forEach((e) => {
|
217
217
|
context.addError(node, e);
|
218
218
|
});
|
219
219
|
}
|
@@ -224,7 +224,7 @@ class Parser {
|
|
224
224
|
}
|
225
225
|
|
226
226
|
if (el.shorthandClassNames) {
|
227
|
-
node.rawShorthandClassNames = el.shorthandClassNames.map(className => {
|
227
|
+
node.rawShorthandClassNames = el.shorthandClassNames.map((className) => {
|
228
228
|
let parsed = builder.parseExpression(className.value);
|
229
229
|
return getSimplifiedValue(parsed);
|
230
230
|
});
|
@@ -238,7 +238,7 @@ class Parser {
|
|
238
238
|
|
239
239
|
this.stack.push({
|
240
240
|
node: node,
|
241
|
-
tag: null
|
241
|
+
tag: null,
|
242
242
|
});
|
243
243
|
}
|
244
244
|
|
@@ -249,7 +249,7 @@ class Parser {
|
|
249
249
|
// <div class="foo"> -> "div class=foo"
|
250
250
|
var parsedAttributes = [];
|
251
251
|
|
252
|
-
attributes.forEach(attr => {
|
252
|
+
attributes.forEach((attr) => {
|
253
253
|
var attrName = attr.name;
|
254
254
|
var attrRawValue = attr.value;
|
255
255
|
var attrSpread;
|
@@ -296,7 +296,7 @@ class Parser {
|
|
296
296
|
var attrDef = {
|
297
297
|
name: attrName,
|
298
298
|
value: attrValue,
|
299
|
-
rawValue: attrRawValue
|
299
|
+
rawValue: attrRawValue,
|
300
300
|
};
|
301
301
|
|
302
302
|
if (attr.argument) {
|
@@ -369,7 +369,7 @@ class Parser {
|
|
369
369
|
message: event.message,
|
370
370
|
code: event.code,
|
371
371
|
pos: event.pos,
|
372
|
-
endPos: event.endPos
|
372
|
+
endPos: event.endPos,
|
373
373
|
});
|
374
374
|
}
|
375
375
|
|
package/src/compiler/Walker.js
CHANGED
@@ -11,7 +11,7 @@ const CUSTOM_TAG_KEY = Symbol("CustomTag");
|
|
11
11
|
function getNestedVariables(elNode, tagDef, codegen) {
|
12
12
|
let variableNames = [];
|
13
13
|
if (tagDef.forEachVariable) {
|
14
|
-
tagDef.forEachVariable(nestedVar => {
|
14
|
+
tagDef.forEachVariable((nestedVar) => {
|
15
15
|
let varName;
|
16
16
|
if (nestedVar.nameFromAttribute) {
|
17
17
|
let possibleNameAttributes =
|
@@ -67,7 +67,7 @@ function getNestedVariables(elNode, tagDef, codegen) {
|
|
67
67
|
}
|
68
68
|
|
69
69
|
if (elNode.params.length) {
|
70
|
-
elNode.params.forEach(variable => {
|
70
|
+
elNode.params.forEach((variable) => {
|
71
71
|
if (typeof variable === "string") {
|
72
72
|
variable = codegen.builder.identifier(variable);
|
73
73
|
}
|
@@ -83,7 +83,7 @@ function getAllowedAttributesString(tagName, context) {
|
|
83
83
|
|
84
84
|
let tagDef = context.taglibLookup.getTag(tagName);
|
85
85
|
if (tagDef) {
|
86
|
-
tagDef.forEachAttribute(attrDef => {
|
86
|
+
tagDef.forEachAttribute((attrDef) => {
|
87
87
|
attrNames.push(attrDef.name);
|
88
88
|
});
|
89
89
|
|
@@ -121,7 +121,7 @@ function checkIfNestedTagCanBeAddedDirectlyToInput(nestedTag, parentCustomTag) {
|
|
121
121
|
}
|
122
122
|
|
123
123
|
function processDirectlyNestedTags(node, codegen) {
|
124
|
-
node.forEachChild(child => {
|
124
|
+
node.forEachChild((child) => {
|
125
125
|
if (child.type === "CustomTag") {
|
126
126
|
let customTag = child;
|
127
127
|
|
@@ -367,7 +367,7 @@ class CustomTag extends HtmlElement {
|
|
367
367
|
}
|
368
368
|
attrProps = builder.objectExpression(explicitAttrs);
|
369
369
|
if (computedAttrs) {
|
370
|
-
computedAttrs.forEach(prop => attrProps.properties.push(prop));
|
370
|
+
computedAttrs.forEach((prop) => attrProps.properties.push(prop));
|
371
371
|
}
|
372
372
|
attrs.push(attrProps);
|
373
373
|
}
|
@@ -444,9 +444,9 @@ class CustomTag extends HtmlElement {
|
|
444
444
|
name: fullyQualifiedName,
|
445
445
|
attributes: {
|
446
446
|
"*": {
|
447
|
-
targetProperty: null
|
448
|
-
}
|
449
|
-
}
|
447
|
+
targetProperty: null,
|
448
|
+
},
|
449
|
+
},
|
450
450
|
},
|
451
451
|
context.filename
|
452
452
|
);
|
@@ -552,13 +552,13 @@ class CustomTag extends HtmlElement {
|
|
552
552
|
);
|
553
553
|
|
554
554
|
let loadTag = builder.functionCall(context.helper("loadTag"), [
|
555
|
-
templateVar
|
555
|
+
templateVar,
|
556
556
|
]);
|
557
557
|
let tagVar = codegen.addStaticVar(tagVarName, loadTag);
|
558
558
|
|
559
559
|
renderTagNode = this.generateRenderTagCode(codegen, tagVar, [
|
560
560
|
inputProps,
|
561
|
-
builder.identifierOut()
|
561
|
+
builder.identifierOut(),
|
562
562
|
]);
|
563
563
|
} else {
|
564
564
|
if (rendererRequirePath) {
|
@@ -602,18 +602,18 @@ class CustomTag extends HtmlElement {
|
|
602
602
|
argumentNode,
|
603
603
|
properties
|
604
604
|
? builder.objectExpression(
|
605
|
-
Object.keys(properties).map(propName => {
|
605
|
+
Object.keys(properties).map((propName) => {
|
606
606
|
return builder.property(
|
607
607
|
builder.literal(propName),
|
608
608
|
properties[propName]
|
609
609
|
);
|
610
610
|
})
|
611
611
|
)
|
612
|
-
: builder.literalNull()
|
612
|
+
: builder.literalNull(),
|
613
613
|
];
|
614
614
|
} else {
|
615
615
|
loadTag = builder.functionCall(context.helper("loadTag"), [
|
616
|
-
requireRendererFunctionCall // The first param is the renderer
|
616
|
+
requireRendererFunctionCall, // The first param is the renderer
|
617
617
|
]);
|
618
618
|
|
619
619
|
tagArgs = [inputProps, builder.identifierOut()];
|
@@ -797,7 +797,7 @@ class CustomTag extends HtmlElement {
|
|
797
797
|
let additionalAttrs = renderBody &&
|
798
798
|
!isDynamicTag && {
|
799
799
|
[(tagDef.bodyFunction && tagDef.bodyFunction.name) || "renderBody"]:
|
800
|
-
renderBody
|
800
|
+
renderBody,
|
801
801
|
};
|
802
802
|
let inputProps = this.buildInputProps(codegen, additionalAttrs);
|
803
803
|
let renderTagNode = this.generateRenderNode(
|
@@ -13,14 +13,14 @@ class Declaration extends Node {
|
|
13
13
|
return [
|
14
14
|
builder.htmlLiteral("<?"),
|
15
15
|
codegen.generateCode(builder.text(this.declaration)),
|
16
|
-
builder.htmlLiteral("?>")
|
16
|
+
builder.htmlLiteral("?>"),
|
17
17
|
];
|
18
18
|
}
|
19
19
|
|
20
20
|
toJSON() {
|
21
21
|
return {
|
22
22
|
type: this.type,
|
23
|
-
value: this.value
|
23
|
+
value: this.value,
|
24
24
|
};
|
25
25
|
}
|
26
26
|
}
|
@@ -13,7 +13,7 @@ class DocumentType extends Node {
|
|
13
13
|
return [
|
14
14
|
builder.htmlLiteral("<!"),
|
15
15
|
builder.html(codegen.generateCode(this.documentType)),
|
16
|
-
builder.htmlLiteral(">")
|
16
|
+
builder.htmlLiteral(">"),
|
17
17
|
];
|
18
18
|
}
|
19
19
|
|
@@ -24,7 +24,7 @@ class DocumentType extends Node {
|
|
24
24
|
toJSON() {
|
25
25
|
return {
|
26
26
|
type: this.type,
|
27
|
-
value: this.documentType
|
27
|
+
value: this.documentType,
|
28
28
|
};
|
29
29
|
}
|
30
30
|
}
|
@@ -19,19 +19,19 @@ function flattenAttrConcats(node) {
|
|
19
19
|
if (isString) {
|
20
20
|
return {
|
21
21
|
isString: true,
|
22
|
-
concats: left.concats.concat(right.concats)
|
22
|
+
concats: left.concats.concat(right.concats),
|
23
23
|
};
|
24
24
|
} else {
|
25
25
|
return {
|
26
26
|
isString: false,
|
27
|
-
concats: [node]
|
27
|
+
concats: [node],
|
28
28
|
};
|
29
29
|
}
|
30
30
|
}
|
31
31
|
|
32
32
|
return {
|
33
33
|
isString: isStringLiteral(node) || node.type === "AttributePlaceholder",
|
34
|
-
concats: [node]
|
34
|
+
concats: [node],
|
35
35
|
};
|
36
36
|
}
|
37
37
|
|
@@ -125,7 +125,7 @@ module.exports = function generateCode(node, codegen) {
|
|
125
125
|
return [
|
126
126
|
builder.htmlLiteral(" " + name + "("),
|
127
127
|
builder.htmlLiteral(argument),
|
128
|
-
builder.htmlLiteral(")")
|
128
|
+
builder.htmlLiteral(")"),
|
129
129
|
];
|
130
130
|
} else {
|
131
131
|
// Attribute with no value is a boolean attribute
|
@@ -25,11 +25,11 @@ module.exports = function generateCode(node, codegen, vdomUtil) {
|
|
25
25
|
} else {
|
26
26
|
if (name === "class") {
|
27
27
|
node.value = builder.functionCall(context.helper("classValue"), [
|
28
|
-
attrValue
|
28
|
+
attrValue,
|
29
29
|
]);
|
30
30
|
} else if (name === "style") {
|
31
31
|
node.value = builder.functionCall(context.helper("styleValue"), [
|
32
|
-
attrValue
|
32
|
+
attrValue,
|
33
33
|
]);
|
34
34
|
}
|
35
35
|
}
|
@@ -96,7 +96,7 @@ class HtmlAttributeCollection {
|
|
96
96
|
} else {
|
97
97
|
this.addAttribute({
|
98
98
|
name: name,
|
99
|
-
value: value
|
99
|
+
value: value,
|
100
100
|
});
|
101
101
|
}
|
102
102
|
}
|
@@ -119,7 +119,7 @@ class HtmlAttributeCollection {
|
|
119
119
|
|
120
120
|
if (attributes) {
|
121
121
|
if (Array.isArray(attributes)) {
|
122
|
-
attributes.forEach(attr => {
|
122
|
+
attributes.forEach((attr) => {
|
123
123
|
this.addAttribute(attr);
|
124
124
|
});
|
125
125
|
} else {
|
@@ -138,7 +138,7 @@ class HtmlAttributeCollection {
|
|
138
138
|
} else {
|
139
139
|
attrDef = {
|
140
140
|
name: attrName,
|
141
|
-
value: attrValue
|
141
|
+
value: attrValue,
|
142
142
|
};
|
143
143
|
}
|
144
144
|
|
@@ -29,7 +29,7 @@ class StartTag extends Node {
|
|
29
29
|
if (this.includeDataMarko) {
|
30
30
|
var dataMarkoArgs = [
|
31
31
|
builder.identifier("out"),
|
32
|
-
builder.identifier("__component")
|
32
|
+
builder.identifier("__component"),
|
33
33
|
];
|
34
34
|
|
35
35
|
var properties = this.properties;
|
@@ -39,7 +39,7 @@ class StartTag extends Node {
|
|
39
39
|
if (propKeys.length) {
|
40
40
|
dataMarkoArgs.push(
|
41
41
|
builder.objectExpression(
|
42
|
-
propKeys.map(propName => {
|
42
|
+
propKeys.map((propName) => {
|
43
43
|
return builder.property(
|
44
44
|
builder.literal(propName),
|
45
45
|
properties[propName]
|
@@ -68,7 +68,7 @@ class StartTag extends Node {
|
|
68
68
|
}
|
69
69
|
|
70
70
|
if (attributes) {
|
71
|
-
var hasSpread = attributes.find(attr => attr.spread);
|
71
|
+
var hasSpread = attributes.find((attr) => attr.spread);
|
72
72
|
if (!hasSpread) {
|
73
73
|
for (let i = 0; i < attributes.length; i++) {
|
74
74
|
let attr = attributes[i];
|
@@ -56,7 +56,7 @@ module.exports = function generateCode(node, codegen) {
|
|
56
56
|
context.meta.legacy ||
|
57
57
|
context.isFlagSet("legacyWidgetAttrsWithoutBind") ||
|
58
58
|
!context.isStatefulComponent ||
|
59
|
-
isPreserved(node)
|
59
|
+
isPreserved(node),
|
60
60
|
});
|
61
61
|
|
62
62
|
var endTag;
|
@@ -64,7 +64,7 @@ module.exports = function generateCode(node, codegen) {
|
|
64
64
|
|
65
65
|
if (!openTagOnly) {
|
66
66
|
endTag = new EndTag({
|
67
|
-
tagName: tagName
|
67
|
+
tagName: tagName,
|
68
68
|
});
|
69
69
|
}
|
70
70
|
|
@@ -81,7 +81,7 @@ module.exports = function generateCode(node, codegen) {
|
|
81
81
|
[
|
82
82
|
builder.concat(builder.literal("f_"), node.key),
|
83
83
|
builder.identifier("component"),
|
84
|
-
builder.literal(1)
|
84
|
+
builder.literal(1),
|
85
85
|
]
|
86
86
|
)
|
87
87
|
)
|
@@ -108,11 +108,11 @@ module.exports = function generateCode(node, codegen) {
|
|
108
108
|
codegen.context.helper("propsForPreviousNode"),
|
109
109
|
[
|
110
110
|
builder.objectExpression(
|
111
|
-
attributes.map(attr =>
|
111
|
+
attributes.map((attr) =>
|
112
112
|
builder.property(builder.identifier(attr.name), attr.value)
|
113
113
|
)
|
114
114
|
),
|
115
|
-
builder.identifier("out")
|
115
|
+
builder.identifier("out"),
|
116
116
|
]
|
117
117
|
);
|
118
118
|
}
|
@@ -49,7 +49,7 @@ module.exports = function (node, codegen) {
|
|
49
49
|
|
50
50
|
if (properties) {
|
51
51
|
Object.keys(properties).forEach(
|
52
|
-
key => (properties[key] = codegen.generateCode(properties[key]))
|
52
|
+
(key) => (properties[key] = codegen.generateCode(properties[key]))
|
53
53
|
);
|
54
54
|
}
|
55
55
|
|
@@ -100,7 +100,7 @@ module.exports = function (node, codegen) {
|
|
100
100
|
isHtmlOnly,
|
101
101
|
nextConstId,
|
102
102
|
runtimeFlags,
|
103
|
-
isAutoKeyed
|
103
|
+
isAutoKeyed,
|
104
104
|
});
|
105
105
|
|
106
106
|
if (isHtmlOnly) {
|
@@ -120,7 +120,7 @@ module.exports = function (node, codegen) {
|
|
120
120
|
),
|
121
121
|
[
|
122
122
|
builder.concat(builder.literal("f_"), node.key),
|
123
|
-
builder.identifier("component")
|
123
|
+
builder.identifier("component"),
|
124
124
|
]
|
125
125
|
)
|
126
126
|
)
|
package/src/compiler/ast/If.js
CHANGED
@@ -26,7 +26,7 @@ class If extends Node {
|
|
26
26
|
// correctly.
|
27
27
|
let previous = this;
|
28
28
|
let whitespaceNodes = [];
|
29
|
-
this.forEachNextSibling(curNode => {
|
29
|
+
this.forEachNextSibling((curNode) => {
|
30
30
|
if (curNode.type === "Else") {
|
31
31
|
curNode.detach();
|
32
32
|
if (whitespaceNodes.length) {
|
package/src/compiler/ast/Node.js
CHANGED
@@ -130,7 +130,7 @@ class Node {
|
|
130
130
|
|
131
131
|
appendChildren(nodes) {
|
132
132
|
ok(this.body, "Node does not support child nodes: " + this);
|
133
|
-
nodes.forEach(node => {
|
133
|
+
nodes.forEach((node) => {
|
134
134
|
this.body.appendChild(node);
|
135
135
|
});
|
136
136
|
}
|
@@ -288,7 +288,7 @@ class Node {
|
|
288
288
|
get bodyText() {
|
289
289
|
var bodyText = "";
|
290
290
|
|
291
|
-
this.forEachChild(child => {
|
291
|
+
this.forEachChild((child) => {
|
292
292
|
if (child.type === "Text") {
|
293
293
|
var childText = child.argument;
|
294
294
|
if (childText && childText.type === "Literal") {
|
@@ -361,7 +361,7 @@ class Node {
|
|
361
361
|
var currentTextLiteral = null;
|
362
362
|
var literalTextNodes = [];
|
363
363
|
|
364
|
-
body.forEach(curChild => {
|
364
|
+
body.forEach((curChild) => {
|
365
365
|
if (curChild.noOutput) {
|
366
366
|
// Skip over AST nodes that produce no HTML output
|
367
367
|
return;
|
@@ -426,7 +426,7 @@ class Node {
|
|
426
426
|
literalTextNodes.forEach(trim);
|
427
427
|
}
|
428
428
|
|
429
|
-
literalTextNodes.forEach(textNode => {
|
429
|
+
literalTextNodes.forEach((textNode) => {
|
430
430
|
if (textNode.argument.value === "") {
|
431
431
|
textNode.detach();
|
432
432
|
}
|
@@ -60,7 +60,7 @@ class ObjectExpression extends Node {
|
|
60
60
|
}
|
61
61
|
|
62
62
|
if (Array.isArray(props)) {
|
63
|
-
props.forEach(prop => {
|
63
|
+
props.forEach((prop) => {
|
64
64
|
this.addProperty(prop);
|
65
65
|
});
|
66
66
|
}
|
@@ -91,7 +91,7 @@ class ObjectExpression extends Node {
|
|
91
91
|
toJSON() {
|
92
92
|
return {
|
93
93
|
type: "ObjectExpression",
|
94
|
-
properties: this.properties
|
94
|
+
properties: this.properties,
|
95
95
|
};
|
96
96
|
}
|
97
97
|
|
@@ -56,7 +56,7 @@ class TemplateLiteral extends Node {
|
|
56
56
|
|
57
57
|
function escapeQuasi(quasi, quote) {
|
58
58
|
if (!quasi) return "";
|
59
|
-
return quasi.replace(/["`\\\n\r\u2028\u2029]|\${/g, match => {
|
59
|
+
return quasi.replace(/["`\\\n\r\u2028\u2029]|\${/g, (match) => {
|
60
60
|
switch (match) {
|
61
61
|
case quote:
|
62
62
|
case "${":
|
@@ -6,7 +6,7 @@ function createVarsArray(vars) {
|
|
6
6
|
var varInit = vars[varName];
|
7
7
|
return {
|
8
8
|
id: varName,
|
9
|
-
init: varInit
|
9
|
+
init: varInit,
|
10
10
|
};
|
11
11
|
});
|
12
12
|
}
|
@@ -115,7 +115,7 @@ class TemplateRoot extends Node {
|
|
115
115
|
context,
|
116
116
|
templateVar,
|
117
117
|
templateRendererMember,
|
118
|
-
renderFunctionVar
|
118
|
+
renderFunctionVar,
|
119
119
|
};
|
120
120
|
|
121
121
|
assignRenderCode = this.generateAssignRenderCode(eventArgs);
|
@@ -152,7 +152,7 @@ class TemplateRoot extends Node {
|
|
152
152
|
toJSON() {
|
153
153
|
return {
|
154
154
|
type: this.type,
|
155
|
-
body: this.body
|
155
|
+
body: this.body,
|
156
156
|
};
|
157
157
|
}
|
158
158
|
|