@marko/translator-default 6.0.23 → 6.0.24

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.
@@ -27,7 +27,10 @@ function analyzeAttributeTags(rootTag) {
27
27
 
28
28
  while (i < visit.length) {
29
29
  const tag = visit[i++];
30
- for (const child of tag.get("attributeTags")) {
30
+ const attrTags = tag.node.body.attributeTags ?
31
+ tag.get("body").get("body") :
32
+ tag.get("attributeTags");
33
+ for (const child of attrTags) {
31
34
  if ((0, _babelUtils.isAttributeTag)(child)) {
32
35
  (0, _babelUtils.assertNoArgs)(child);
33
36
  const tagDef = (0, _babelUtils.getTagDef)(child) || {};
@@ -89,17 +92,7 @@ function analyzeAttributeTags(rootTag) {
89
92
  parentTags.push(child);
90
93
  visit.push(child);
91
94
  } else if ((0, _babelUtils.isTransparentTag)(child)) {
92
- switch (getContentType(child)) {
93
- case ContentType.mixed:
94
- throw child.buildCodeFrameError(
95
- "Cannot mix @tags with other content when under a control flow."
96
- );
97
- case ContentType.attribute:
98
- visit.push(child);
99
- break;
100
- case ContentType.render:
101
- break;
102
- }
95
+ visit.push(child);
103
96
  }
104
97
  }
105
98
  }
@@ -147,45 +140,6 @@ function getAttrTagObject(tag) {
147
140
  return attrs;
148
141
  }
149
142
 
150
- function getContentType(tag) {
151
- const { node } = tag;
152
- const cached = contentTypeCache.get(node);
153
- if (cached !== undefined) return cached;
154
-
155
- const body = tag.get("body").get("body");
156
- let hasAttributeTag = false;
157
- let hasRenderBody = false;
158
-
159
- for (const child of body) {
160
- if ((0, _babelUtils.isAttributeTag)(child)) {
161
- hasAttributeTag = true;
162
- } else if ((0, _babelUtils.isTransparentTag)(child)) {
163
- switch (getContentType(child)) {
164
- case ContentType.mixed:
165
- contentTypeCache.set(node, ContentType.mixed);
166
- return ContentType.mixed;
167
- case ContentType.attribute:
168
- hasAttributeTag = true;
169
- break;
170
- case ContentType.render:
171
- hasRenderBody = true;
172
- break;
173
- }
174
- } else if (!child.isMarkoScriptlet() && !child.isMarkoComment()) {
175
- hasRenderBody = true;
176
- }
177
-
178
- if (hasAttributeTag && hasRenderBody) {
179
- contentTypeCache.set(node, ContentType.mixed);
180
- return ContentType.mixed;
181
- }
182
- }
183
-
184
- const result = hasAttributeTag ? ContentType.attribute : ContentType.render;
185
- contentTypeCache.set(node, result);
186
- return result;
187
- }
188
-
189
143
  function removeDashes(str) {
190
144
  return str.replace(/-([a-z])/g, matchToUpperCase);
191
145
  }
package/dist/tag/index.js CHANGED
@@ -50,8 +50,8 @@ var _nativeTag = _interopRequireDefault(require("./native-tag"));function _getRe
50
50
  if (!(0, _babelUtils.isAttributeTag)(path)) {
51
51
  if (
52
52
  !tagDef &&
53
- path.node.attributeTags.length &&
54
- path.hub.file.markoOpts.ignoreUnrecognizedTags &&
53
+ path.hub.file.markoOpts.ignoreUnrecognizedTags && (
54
+ path.node.attributeTags.length || path.node.body.attributeTags) &&
55
55
  !(0, _babelUtils.isDynamicTag)(path))
56
56
  {
57
57
  moveIgnoredAttrTags(path);
@@ -261,9 +261,13 @@ function isMarkoFile(request) {
261
261
  }
262
262
 
263
263
  function moveIgnoredAttrTags(parentTag) {
264
- if (!parentTag.node.attributeTags.length) return;
264
+ const attrTags = parentTag.node.body.attributeTags ?
265
+ parentTag.get("body").get("body") :
266
+ parentTag.get("attributeTags");
265
267
 
266
- for (const attrTag of parentTag.get("attributeTags")) {
268
+ if (!attrTags.length) return;
269
+
270
+ for (const attrTag of attrTags) {
267
271
  if (attrTag.isMarkoTag()) {
268
272
  if ((0, _babelUtils.isAttributeTag)(attrTag)) {
269
273
  attrTag.set(
@@ -15,10 +15,6 @@ function exit(path) {
15
15
  );
16
16
  }
17
17
 
18
- ifStatement.alternate = _compiler.types.blockStatement(
19
- path.node.attributeTags.length ?
20
- path.node.attributeTags :
21
- path.node.body.body
22
- );
18
+ ifStatement.alternate = _compiler.types.blockStatement(path.node.body.body);
23
19
  path.remove();
24
20
  }
@@ -12,11 +12,7 @@ function buildIfStatement(path, args) {
12
12
 
13
13
  const ifStatement = _compiler.types.ifStatement(
14
14
  args.length === 1 ? args[0] : _compiler.types.sequenceExpression(args),
15
- _compiler.types.blockStatement(
16
- path.node.attributeTags.length ?
17
- path.node.attributeTags :
18
- path.node.body.body
19
- )
15
+ _compiler.types.blockStatement(path.node.body.body)
20
16
  );
21
17
 
22
18
  let nextPath = path.getNextSibling();
@@ -7,7 +7,7 @@ function exit(path) {
7
7
  attributes,
8
8
  body: { params }
9
9
  } = node;
10
- const body = node.attributeTags.length ? node.attributeTags : node.body.body;
10
+ const body = node.body.body;
11
11
  const namePath = path.get("name");
12
12
  const ofAttr = findName(attributes, "of");
13
13
  const inAttr = findName(attributes, "in");
@@ -24,11 +24,7 @@ function exit(path) {
24
24
  (0, _withPreviousLocation.default)(
25
25
  _compiler.types.whileStatement(
26
26
  (0, _babelUtils.getArgOrSequence)(path),
27
- _compiler.types.blockStatement(
28
- path.node.attributeTags.length ?
29
- path.node.attributeTags :
30
- path.node.body.body
31
- )
27
+ _compiler.types.blockStatement(path.node.body.body)
32
28
  ),
33
29
  path.node
34
30
  )
@@ -72,6 +72,7 @@ const analyzeStaticVisitor = {
72
72
  let isStatic =
73
73
  (0, _babelUtils.isNativeTag)(path) &&
74
74
  !path.node.attributeTags.length &&
75
+ !path.node.body.attributeTags &&
75
76
  !path.node.body.params.length &&
76
77
  !path.node.arguments &&
77
78
  !(0, _keyManager.hasUserKey)(path);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/translator-default",
3
- "version": "6.0.23",
3
+ "version": "6.0.24",
4
4
  "description": "Translates Marko templates to the default Marko runtime.",
5
5
  "keywords": [
6
6
  "babel",
@@ -29,13 +29,13 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@babel/runtime": "^7.26.0",
32
- "@marko/babel-utils": "^6.5.10",
32
+ "@marko/babel-utils": "^6.5.12",
33
33
  "magic-string": "^0.30.12",
34
34
  "self-closing-tags": "^1.0.1"
35
35
  },
36
36
  "devDependencies": {
37
- "@marko/compiler": "^5.37.23",
38
- "marko": "^5.35.32"
37
+ "@marko/compiler": "^5.37.24",
38
+ "marko": "^5.35.33"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@marko/compiler": "^5.16.1",