babel-plugin-wallace 0.14.1 → 0.15.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 (43) hide show
  1. package/dist/config.d.ts +3 -0
  2. package/dist/config.js +12 -3
  3. package/dist/config.js.map +1 -1
  4. package/dist/consolidation/ComponentDefinitionData.d.ts +9 -4
  5. package/dist/consolidation/ComponentDefinitionData.js +15 -13
  6. package/dist/consolidation/ComponentDefinitionData.js.map +1 -1
  7. package/dist/consolidation/processNodes.js +62 -58
  8. package/dist/consolidation/processNodes.js.map +1 -1
  9. package/dist/consolidation/types.d.ts +3 -3
  10. package/dist/consolidation/utils.d.ts +1 -2
  11. package/dist/consolidation/utils.js +0 -9
  12. package/dist/consolidation/utils.js.map +1 -1
  13. package/dist/constants.d.ts +12 -9
  14. package/dist/constants.js +11 -8
  15. package/dist/constants.js.map +1 -1
  16. package/dist/contexts/handlers.js +1 -1
  17. package/dist/contexts/handlers.js.map +1 -1
  18. package/dist/directives.js +1 -19
  19. package/dist/directives.js.map +1 -1
  20. package/dist/errors.d.ts +1 -4
  21. package/dist/errors.js +3 -6
  22. package/dist/errors.js.map +1 -1
  23. package/dist/index.d.ts +2 -3
  24. package/dist/index.js +2 -40
  25. package/dist/index.js.map +1 -1
  26. package/dist/models/component.d.ts +3 -1
  27. package/dist/models/component.js +19 -5
  28. package/dist/models/component.js.map +1 -1
  29. package/dist/models/node.d.ts +13 -7
  30. package/dist/models/node.js +23 -22
  31. package/dist/models/node.js.map +1 -1
  32. package/dist/visitors/attribute.d.ts +2 -1
  33. package/dist/visitors/attribute.js +4 -1
  34. package/dist/visitors/attribute.js.map +1 -1
  35. package/dist/visitors/library.d.ts +26 -24
  36. package/dist/visitors/library.js +52 -47
  37. package/dist/visitors/library.js.map +1 -1
  38. package/dist/visitors/main.d.ts +3 -0
  39. package/dist/visitors/main.js +39 -0
  40. package/dist/visitors/main.js.map +1 -0
  41. package/dist/writers/defineComponent.js +14 -7
  42. package/dist/writers/defineComponent.js.map +1 -1
  43. package/package.json +2 -2
@@ -4,8 +4,9 @@ import { Component, TagNode } from "../models";
4
4
  interface State {
5
5
  extractedNode: TagNode;
6
6
  component: Component;
7
+ allowAttributes: boolean;
7
8
  }
8
9
  export declare const attributeVisitors: {
9
- JSXAttribute(path: NodePath<JSXAttribute>, { extractedNode, component }: State): void;
10
+ JSXAttribute(path: NodePath<JSXAttribute>, { extractedNode, component, allowAttributes }: State): void;
10
11
  };
11
12
  export {};
@@ -49,7 +49,7 @@ function extractValue(path) {
49
49
  }
50
50
  }
51
51
  exports.attributeVisitors = {
52
- JSXAttribute(path, { extractedNode, component }) {
52
+ JSXAttribute(path, { extractedNode, component, allowAttributes }) {
53
53
  if (extractedNode.path.node !== path.parentPath.parentPath.node) {
54
54
  // We exit here as otherwise we'd traverse attributes of nested JSXElements too.
55
55
  return;
@@ -69,6 +69,9 @@ exports.attributeVisitors = {
69
69
  handler.apply(extractedNode, extractedValue, qualifier, base);
70
70
  }
71
71
  else {
72
+ if (!allowAttributes) {
73
+ (0, errors_1.error)(path, errors_1.ERROR_MESSAGES.NESTED_COMPONENT_WITH_ATTRIBUTES);
74
+ }
72
75
  const attName = qualifier ? `${base}:${qualifier}` : base;
73
76
  switch (extractedValue.type) {
74
77
  case "expression":
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../src/visitors/attribute.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,33 @@
1
1
  import type { NodePath } from "@babel/core";
2
- import type { AssignmentExpression, FunctionDeclaration, Identifier, IfStatement, MemberExpression, VariableDeclarator } from "@babel/types";
3
- /**
4
- * Very simple visitor which replaces the entire if statement with its consequent or
5
- * alternate.
6
- *
7
- * The test must be in this exact format:
8
- *
9
- * if (wallaceConfig.flags.allowStubs) {}
10
- *
11
- */
2
+ import type { IfStatement, VariableDeclarator } from "@babel/types";
12
3
  export declare const flagVisitor: {
4
+ /**
5
+ * Conditionally removes statement/expressions/identifiers etc...
6
+ * based on leading comments:
7
+ *
8
+ * #INCLUDE-IF: allowCtrl
9
+ * #EXCLUDE-IF: allowCtrl
10
+ *
11
+ * WARNING: NOT RELIABLE! It sometimes knocks out subsequent nodes, so only use on
12
+ * ende nodes.
13
+ */
14
+ enter(path: NodePath): void;
15
+ /**
16
+ * Replaces the entire if statement with its consequent or alternate:
17
+ *
18
+ * The test must be in this exact format:
19
+ *
20
+ * if (wallaceConfig.flags.allowStubs) {
21
+ * // code to keep
22
+ * } else {
23
+ * // code to remove (optional)
24
+ * }
25
+ *
26
+ * You can't do anything more complex in the test or the conditions.
27
+ * There are places where this can't be used, in which case use a comment.
28
+ */
13
29
  IfStatement(path: NodePath<IfStatement>): void;
14
30
  };
15
- /**
16
- * This set of visitors removes references to `ctrl`.
17
- */
18
- export declare const removeCtrl: {
19
- AssignmentExpression(path: NodePath<AssignmentExpression>): void;
20
- MemberExpression(path: NodePath<MemberExpression>): void;
21
- Identifier(path: NodePath<Identifier>): void;
22
- };
23
31
  /**
24
32
  * This flattens the `update` and `_u` methods into one, which are
25
33
  * only separate to allow parts, as this inproves performance when
@@ -28,9 +36,3 @@ export declare const removeCtrl: {
28
36
  export declare const flattenUpdate: {
29
37
  VariableDeclarator(path: NodePath<VariableDeclarator>): void;
30
38
  };
31
- /**
32
- * Removes the last two parameters from repeaters, which aren't used.
33
- */
34
- export declare const removeRepeaterDetacherParams: {
35
- FunctionDeclaration(path: NodePath<FunctionDeclaration>): void;
36
- };
@@ -1,20 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeRepeaterDetacherParams = exports.flattenUpdate = exports.removeCtrl = exports.flagVisitor = void 0;
4
- /* These visitors should only run on the wallace/lib source files. */
3
+ exports.flattenUpdate = exports.flagVisitor = void 0;
4
+ /**
5
+ * These visitors should only run on the wallace source files and tests.
6
+ * */
5
7
  const t = require("@babel/types");
8
+ const errors_1 = require("../errors");
6
9
  const config_1 = require("../config");
7
10
  const constants_1 = require("../constants");
8
- /**
9
- * Very simple visitor which replaces the entire if statement with its consequent or
10
- * alternate.
11
- *
12
- * The test must be in this exact format:
13
- *
14
- * if (wallaceConfig.flags.allowStubs) {}
15
- *
16
- */
17
11
  exports.flagVisitor = {
12
+ /**
13
+ * Conditionally removes statement/expressions/identifiers etc...
14
+ * based on leading comments:
15
+ *
16
+ * #INCLUDE-IF: allowCtrl
17
+ * #EXCLUDE-IF: allowCtrl
18
+ *
19
+ * WARNING: NOT RELIABLE! It sometimes knocks out subsequent nodes, so only use on
20
+ * ende nodes.
21
+ */
22
+ enter(path) {
23
+ const leadingComments = path.node.leadingComments;
24
+ if (!leadingComments || leadingComments.length === 0)
25
+ return;
26
+ path.node.leadingComments.forEach(comment => {
27
+ const value = comment.value, include = value.includes("#INCLUDE-IF:"), exclude = value.includes("#EXCLUDE-IF:");
28
+ if (include || exclude) {
29
+ const flag = getFlagFromComment(path, value);
30
+ const flagEnabled = config_1.wallaceConfig.flags[flag];
31
+ if ((flagEnabled && exclude) || (!flagEnabled && include)) {
32
+ path.remove();
33
+ }
34
+ }
35
+ });
36
+ },
37
+ /**
38
+ * Replaces the entire if statement with its consequent or alternate:
39
+ *
40
+ * The test must be in this exact format:
41
+ *
42
+ * if (wallaceConfig.flags.allowStubs) {
43
+ * // code to keep
44
+ * } else {
45
+ * // code to remove (optional)
46
+ * }
47
+ *
48
+ * You can't do anything more complex in the test or the conditions.
49
+ * There are places where this can't be used, in which case use a comment.
50
+ */
18
51
  IfStatement(path) {
19
52
  const test = path.node.test;
20
53
  if (t.isMemberExpression(test)) {
@@ -39,30 +72,6 @@ exports.flagVisitor = {
39
72
  }
40
73
  }
41
74
  };
42
- /**
43
- * This set of visitors removes references to `ctrl`.
44
- */
45
- exports.removeCtrl = {
46
- AssignmentExpression(path) {
47
- // @ts-ignore
48
- if (path.node.right.name === "ctrl") {
49
- path.remove();
50
- }
51
- },
52
- MemberExpression(path) {
53
- // @ts-ignore
54
- const name = path.node.property.name;
55
- if (name === "ctrl") {
56
- path.remove();
57
- }
58
- },
59
- Identifier(path) {
60
- const name = path.node.name;
61
- if (name === "ctrl") {
62
- path.remove();
63
- }
64
- }
65
- };
66
75
  /**
67
76
  * This flattens the `update` and `_u` methods into one, which are
68
77
  * only separate to allow parts, as this inproves performance when
@@ -93,17 +102,13 @@ exports.flattenUpdate = {
93
102
  }
94
103
  }
95
104
  };
96
- /**
97
- * Removes the last two parameters from repeaters, which aren't used.
98
- */
99
- exports.removeRepeaterDetacherParams = {
100
- FunctionDeclaration(path) {
101
- var _a, _b;
102
- // @ts-ignore
103
- if ((_b = (_a = path.node.id) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.endsWith("Repeater")) {
104
- path.node.params.pop();
105
- path.node.params.pop();
106
- }
105
+ function getFlagFromComment(path, comment) {
106
+ const chunks = comment.split(":");
107
+ if (chunks.length !== 2) {
108
+ (0, errors_1.error)(path, "Badly formed compiler comment");
107
109
  }
108
- };
110
+ const flag = chunks[1].trim();
111
+ config_1.wallaceConfig.ensureFlagIsValid(flag);
112
+ return flag;
113
+ }
109
114
  //# sourceMappingURL=library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/visitors/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/visitors/library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PluginObj } from "@babel/core";
2
+ import type { Babel } from "../babel-types";
3
+ export declare function wallacePlugin({ types: t }: Babel): PluginObj;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wallacePlugin = wallacePlugin;
4
+ const config_1 = require("../config");
5
+ const module_1 = require("../models/module");
6
+ const program_1 = require("./program");
7
+ const library_1 = require("./library");
8
+ // The general pattern involves visting high-level nodes where we instantiate models
9
+ // which are passed to traverse calls with sets of visitors for low-level nodes,
10
+ // which do some of their own transformations and call helper methods to add state.
11
+ // The higher level nodes may then use the helpers with their collected state after
12
+ // the nested traversal.
13
+ //
14
+ // This avoids the use of global state which would be necessary if visitors were
15
+ // all in the same set.
16
+ function wallacePlugin({ types: t }) {
17
+ return {
18
+ visitor: {
19
+ Program: {
20
+ enter(path, pluginPass) {
21
+ config_1.wallaceConfig.applyOptions(pluginPass.opts);
22
+ const module = new module_1.Module(path);
23
+ //@ts-ignore
24
+ const filename = path.hub.file.opts.filename;
25
+ if (filename &&
26
+ (filename.includes("/wallace/lib/") || filename.includes("/wallace/tests/"))) {
27
+ path.traverse(library_1.flagVisitor, { module });
28
+ if (!config_1.wallaceConfig.flags.allowParts) {
29
+ path.traverse(library_1.flattenUpdate, { module });
30
+ }
31
+ }
32
+ path.traverse(program_1.programVisitors, { module });
33
+ module.addMissingImports();
34
+ }
35
+ }
36
+ }
37
+ };
38
+ }
39
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/visitors/main.ts"],"names":[],"mappings":";;AAiBA,sCAwBC;AAtCD,sCAA0C;AAC1C,6CAA0C;AAC1C,uCAA4C;AAC5C,uCAAuD;AAEvD,oFAAoF;AACpF,gFAAgF;AAChF,mFAAmF;AACnF,mFAAmF;AACnF,wBAAwB;AACxB,EAAE;AACF,gFAAgF;AAChF,uBAAuB;AAEvB,SAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAS;IAC/C,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,CAAC,IAAuB,EAAE,UAAsB;oBACnD,sBAAa,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,YAAY;oBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAkB,CAAC;oBACvD,IACE,QAAQ;wBACR,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAC5E,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,qBAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;wBACvC,IAAI,CAAC,sBAAa,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;4BACpC,IAAI,CAAC,QAAQ,CAAC,uBAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC3C,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,yBAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC3C,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -36,11 +36,12 @@ function buildWatchesArg(componentDefinition) {
36
36
  c: buildObjectExpression(watch.callbacks)
37
37
  };
38
38
  if (watch.shieldInfo) {
39
- const visibilityToggle = {
40
- q: t.numericLiteral(watch.shieldInfo.key),
41
- s: t.numericLiteral(watch.shieldInfo.skipCount || 0),
42
- r: t.numericLiteral(watch.shieldInfo.reverse ? 1 : 0)
43
- };
39
+ const visibilityToggle = {};
40
+ if (watch.shieldInfo.lookupIndex !== undefined) {
41
+ visibilityToggle.q = t.numericLiteral(watch.shieldInfo.lookupIndex);
42
+ visibilityToggle.s = t.numericLiteral(watch.shieldInfo.skipCount || 0);
43
+ visibilityToggle.r = t.numericLiteral(watch.shieldInfo.reverse ? 1 : 0);
44
+ }
44
45
  if (watch.shieldInfo.detacher) {
45
46
  const detacher = watch.shieldInfo.detacher;
46
47
  visibilityToggle["d"] = t.newExpression(t.identifier(constants_1.IMPORTABLES.detacher), [
@@ -79,8 +80,8 @@ function buildConstructor(componentDefinition) {
79
80
  if (componentDefinition.parts.length > 0) {
80
81
  chainedConstExpressions.push(assignAndDeclare(constants_1.COMPONENT_PROPERTIES.part, emptyObject()));
81
82
  }
82
- componentDefinition.detachers.forEach((detacher, i) => {
83
- chainedConstExpressions.push(t.variableDeclarator(t.identifier(componentDefinition.getDetacherId(i)), detacher));
83
+ componentDefinition.additionalDeclarations.forEach(({ id, expression }) => {
84
+ chainedConstExpressions.push(t.variableDeclarator(id, expression));
84
85
  });
85
86
  const expressions = [
86
87
  assignThis(constants_1.COMPONENT_PROPERTIES.props, emptyObject()),
@@ -102,6 +103,9 @@ function buildConstructor(componentDefinition) {
102
103
  ...expressions.map(expr => t.expressionStatement(expr))
103
104
  ]));
104
105
  }
106
+ function buildDismountKeys(componentDefinition) {
107
+ return t.arrayExpression(componentDefinition.dismountKeys.map(key => t.numericLiteral(key)));
108
+ }
105
109
  function buildDefineComponentCall(component) {
106
110
  const componentDefinition = (0, consolidation_1.consolidateComponent)(component);
107
111
  const args = [
@@ -110,6 +114,9 @@ function buildDefineComponentCall(component) {
110
114
  buildLookupsArg(componentDefinition),
111
115
  buildConstructor(componentDefinition)
112
116
  ];
117
+ if (config_1.wallaceConfig.flags.allowDismount) {
118
+ args.push(buildDismountKeys(componentDefinition));
119
+ }
113
120
  if (componentDefinition.baseComponent) {
114
121
  args.push(componentDefinition.baseComponent);
115
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defineComponent.js","sourceRoot":"","sources":["../../src/writers/defineComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineComponent.js","sourceRoot":"","sources":["../../src/writers/defineComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-wallace",
3
- "version": "0.14.1",
3
+ "version": "0.15.0",
4
4
  "author": "Andrew Buchan",
5
5
  "description": "The babel plugin for wallace",
6
6
  "homepage": "https://wallace.js.org",
@@ -24,5 +24,5 @@
24
24
  "source-map-support": "^0.5.21",
25
25
  "typescript": "^5.6.3"
26
26
  },
27
- "gitHead": "c60384d682e38095780dd260004299e9c4038583"
27
+ "gitHead": "87a69fe8a8f3b8dd20e66eb0d125998658272931"
28
28
  }