vue-hook-optimizer 0.0.53 → 0.0.55

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -202,6 +202,7 @@ function getComment(node) {
202
202
 
203
203
  // src/analyze/setupScript.ts
204
204
  var traverse2 = import_traverse2.default.default?.default || import_traverse2.default.default || import_traverse2.default;
205
+ var ignoreFunctionsName = ["defineProps", "defineEmits", "withDefaults"];
205
206
  function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
206
207
  const spread = _spread || [];
207
208
  const nodeCollection = new NodeCollection(_lineOffset);
@@ -218,7 +219,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
218
219
  if (element?.type === "Identifier") {
219
220
  const name = element.name;
220
221
  const binding = path.scope.getBinding(name);
221
- if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration.init?.callee.name))) {
222
+ if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ignoreFunctionsName.includes(declaration.init?.callee.name))) {
222
223
  graph.nodes.add(name);
223
224
  nodeCollection.addNode(name, element, {
224
225
  comment: getComment(path.node)
@@ -231,7 +232,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
231
232
  if (element?.type === "RestElement" && element.argument.type === "Identifier") {
232
233
  const name = element.argument.name;
233
234
  const binding = path.scope.getBinding(name);
234
- if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration.init?.callee.name))) {
235
+ if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ignoreFunctionsName.includes(declaration.init?.callee.name))) {
235
236
  graph.nodes.add(name);
236
237
  nodeCollection.addNode(name, element.argument, {
237
238
  comment: getComment(path.node)
@@ -248,7 +249,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
248
249
  if (property.type === "ObjectProperty" && property.value.type === "Identifier") {
249
250
  const name = property.value.name;
250
251
  const binding = path.scope.getBinding(name);
251
- if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration.init?.callee.name))) {
252
+ if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ignoreFunctionsName.includes(declaration.init?.callee.name))) {
252
253
  graph.nodes.add(name);
253
254
  nodeCollection.addNode(name, property.value, {
254
255
  comment: getComment(property)
@@ -261,7 +262,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
261
262
  if (property.type === "RestElement" && property.argument.type === "Identifier") {
262
263
  const name = property.argument.name;
263
264
  const binding = path.scope.getBinding(name);
264
- if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration.init?.callee.name))) {
265
+ if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ignoreFunctionsName.includes(declaration.init?.callee.name))) {
265
266
  graph.nodes.add(name);
266
267
  nodeCollection.addNode(name, property.argument, {
267
268
  comment: getComment(property)
@@ -276,7 +277,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
276
277
  if (declaration.id?.type === "Identifier") {
277
278
  const name = declaration.id.name;
278
279
  const binding = path.scope.getBinding(name);
279
- if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration.init?.callee.name))) {
280
+ if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" && ignoreFunctionsName.includes(declaration.init?.callee.name))) {
280
281
  graph.nodes.add(name);
281
282
  nodeCollection.addNode(name, declaration, {
282
283
  comment: getComment(path.node)
@@ -512,7 +513,24 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
512
513
  return;
513
514
  }
514
515
  const watchArgs = /* @__PURE__ */ new Set();
515
- if (hookName === "watch") {
516
+ if (hookName === "provide") {
517
+ traverse2(path.node.expression, {
518
+ Identifier(path1) {
519
+ const binding = path1.scope.getBinding(path1.node.name);
520
+ if (graph.nodes.has(path1.node.name) && (path1.parent.type !== "MemberExpression" && path1.parent.type !== "OptionalMemberExpression" || path1.parent.object === path1.node) && (binding?.scope.block.type === "Program" || parentScope === binding?.scope)) {
521
+ const _node = nodeCollection.getNode(path1.node.name);
522
+ if (_node?.info?.used) {
523
+ _node?.info?.used?.add(hookName);
524
+ } else if (_node) {
525
+ _node.info = {
526
+ ..._node?.info,
527
+ used: /* @__PURE__ */ new Set([hookName])
528
+ };
529
+ }
530
+ }
531
+ }
532
+ }, path.scope, path);
533
+ } else if (hookName === "watch") {
516
534
  if (path.node.expression.arguments[0].type === "Identifier") {
517
535
  const binding = path.scope.getBinding(path.node.expression.arguments[0].name);
518
536
  if (graph.nodes.has(path.node.expression.arguments[0].name) && (binding?.scope.block.type === "Program" || parentScope === binding?.scope)) {
@@ -610,7 +628,8 @@ var vueLifeCycleHooks = [
610
628
  "deactivated",
611
629
  "errorCaptured",
612
630
  "renderTracked",
613
- "renderTriggered"
631
+ "renderTriggered",
632
+ "provide"
614
633
  ];
615
634
  function analyze3(content, lineOffset = 0, jsx = false) {
616
635
  const ast = (0, import_compiler_sfc3.babelParse)(content, { sourceType: "module", plugins: [