vue-hook-optimizer 0.0.8 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -48,8 +48,8 @@ var require_virtual_types = __commonJS({
48
48
  exports.Statement = Statement;
49
49
  var Expression = ["Expression"];
50
50
  exports.Expression = Expression;
51
- var Scope2 = ["Scopable", "Pattern"];
52
- exports.Scope = Scope2;
51
+ var Scope3 = ["Scopable", "Pattern"];
52
+ exports.Scope = Scope3;
53
53
  var Referenced = null;
54
54
  exports.Referenced = Referenced;
55
55
  var BlockScoped = null;
@@ -18062,7 +18062,7 @@ var require_scope = __commonJS({
18062
18062
  }
18063
18063
  };
18064
18064
  var uid = 0;
18065
- var Scope2 = class _Scope {
18065
+ var Scope3 = class _Scope {
18066
18066
  constructor(path2) {
18067
18067
  this.uid = void 0;
18068
18068
  this.path = void 0;
@@ -18697,9 +18697,9 @@ var require_scope = __commonJS({
18697
18697
  } while (scope = scope.parent);
18698
18698
  }
18699
18699
  };
18700
- exports.default = Scope2;
18701
- Scope2.globals = Object.keys(_globals.builtin);
18702
- Scope2.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
18700
+ exports.default = Scope3;
18701
+ Scope3.globals = Object.keys(_globals.builtin);
18702
+ Scope3.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
18703
18703
  }
18704
18704
  });
18705
18705
 
@@ -29011,7 +29011,7 @@ var require_lib9 = __commonJS({
29011
29011
  var CLASS_ELEMENT_INSTANCE_GETTER2 = CLASS_ELEMENT_KIND_GETTER2;
29012
29012
  var CLASS_ELEMENT_INSTANCE_SETTER2 = CLASS_ELEMENT_KIND_SETTER2;
29013
29013
  var CLASS_ELEMENT_OTHER2 = 0;
29014
- var Scope2 = class {
29014
+ var Scope3 = class {
29015
29015
  constructor(flags) {
29016
29016
  this.var = /* @__PURE__ */ new Set();
29017
29017
  this.lexical = /* @__PURE__ */ new Set();
@@ -29067,7 +29067,7 @@ var require_lib9 = __commonJS({
29067
29067
  return this.treatFunctionsAsVarInScope(this.currentScope());
29068
29068
  }
29069
29069
  createScope(flags) {
29070
- return new Scope2(flags);
29070
+ return new Scope3(flags);
29071
29071
  }
29072
29072
  enter(flags) {
29073
29073
  this.scopeStack.push(this.createScope(flags));
@@ -29162,7 +29162,7 @@ var require_lib9 = __commonJS({
29162
29162
  }
29163
29163
  }
29164
29164
  };
29165
- var FlowScope2 = class extends Scope2 {
29165
+ var FlowScope2 = class extends Scope3 {
29166
29166
  constructor(...args) {
29167
29167
  super(...args);
29168
29168
  this.declareFunctions = /* @__PURE__ */ new Set();
@@ -34668,7 +34668,7 @@ var require_lib9 = __commonJS({
34668
34668
  }
34669
34669
  }
34670
34670
  };
34671
- var TypeScriptScope2 = class extends Scope2 {
34671
+ var TypeScriptScope2 = class extends Scope3 {
34672
34672
  constructor(...args) {
34673
34673
  super(...args);
34674
34674
  this.types = /* @__PURE__ */ new Set();
@@ -86277,13 +86277,7 @@ var traverse2 = (
86277
86277
  //@ts-ignore
86278
86278
  import_traverse2.default.default?.default || import_traverse2.default.default || import_traverse2.default
86279
86279
  );
86280
- function analyze2(content) {
86281
- const ast = parse_1$1(content, {
86282
- sourceType: "module",
86283
- plugins: [
86284
- "typescript"
86285
- ]
86286
- });
86280
+ function processSetup(ast, parentScope, parentPath) {
86287
86281
  const graph = {
86288
86282
  nodes: /* @__PURE__ */ new Set(),
86289
86283
  edges: /* @__PURE__ */ new Map()
@@ -86291,10 +86285,38 @@ function analyze2(content) {
86291
86285
  traverse2(ast, {
86292
86286
  VariableDeclaration(path2) {
86293
86287
  path2.node.declarations.forEach((declaration2) => {
86288
+ if (declaration2.id.type === "ArrayPattern") {
86289
+ declaration2.id.elements.forEach((element) => {
86290
+ if (element?.type === "Identifier") {
86291
+ const name = element.name;
86292
+ const binding2 = path2.scope.getBinding(name);
86293
+ if (binding2 && (path2.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path2.parent) && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
86294
+ graph.nodes.add(name);
86295
+ if (!graph.edges.get(name)) {
86296
+ graph.edges.set(name, /* @__PURE__ */ new Set());
86297
+ }
86298
+ }
86299
+ }
86300
+ });
86301
+ }
86302
+ if (declaration2.id.type === "ObjectPattern") {
86303
+ declaration2.id.properties.forEach((property) => {
86304
+ if (property.type === "ObjectProperty" && property.value.type === "Identifier") {
86305
+ const name = property.value.name;
86306
+ const binding2 = path2.scope.getBinding(name);
86307
+ if (binding2 && (path2.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path2.parent) && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
86308
+ graph.nodes.add(name);
86309
+ if (!graph.edges.get(name)) {
86310
+ graph.edges.set(name, /* @__PURE__ */ new Set());
86311
+ }
86312
+ }
86313
+ }
86314
+ });
86315
+ }
86294
86316
  if (declaration2.id?.type === "Identifier") {
86295
86317
  const name = declaration2.id.name;
86296
86318
  const binding2 = path2.scope.getBinding(name);
86297
- if (binding2 && path2.parent.type === "Program" && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
86319
+ if (binding2 && (path2.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path2.parent) && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
86298
86320
  graph.nodes.add(name);
86299
86321
  if (!graph.edges.get(name)) {
86300
86322
  graph.edges.set(name, /* @__PURE__ */ new Set());
@@ -86307,7 +86329,7 @@ function analyze2(content) {
86307
86329
  const name = path2.node.id?.name;
86308
86330
  if (name) {
86309
86331
  const binding2 = path2.scope.getBinding(name);
86310
- if (binding2 && path2.parent.type === "Program") {
86332
+ if (binding2 && (path2.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path2.parent)) {
86311
86333
  graph.nodes.add(name);
86312
86334
  if (!graph.edges.get(name)) {
86313
86335
  graph.edges.set(name, /* @__PURE__ */ new Set());
@@ -86315,7 +86337,7 @@ function analyze2(content) {
86315
86337
  }
86316
86338
  }
86317
86339
  }
86318
- });
86340
+ }, parentScope, parentPath);
86319
86341
  traverse2(ast, {
86320
86342
  FunctionDeclaration(path2) {
86321
86343
  const name = path2.node.id?.name;
@@ -86323,7 +86345,7 @@ function analyze2(content) {
86323
86345
  path2.traverse({
86324
86346
  Identifier(path1) {
86325
86347
  const binding2 = path1.scope.getBinding(path1.node.name);
86326
- if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
86348
+ if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
86327
86349
  graph.edges.get(name)?.add(path1.node.name);
86328
86350
  }
86329
86351
  }
@@ -86332,6 +86354,40 @@ function analyze2(content) {
86332
86354
  },
86333
86355
  VariableDeclarator(path2) {
86334
86356
  if (path2.node.init) {
86357
+ if (path2.node.id.type === "ArrayPattern") {
86358
+ path2.node.id.elements.forEach((element) => {
86359
+ if (element?.type === "Identifier") {
86360
+ const name = element.name;
86361
+ if (name && graph.nodes.has(name) && path2.node.init?.type === "CallExpression") {
86362
+ traverse2(path2.node.init, {
86363
+ Identifier(path1) {
86364
+ const binding2 = path1.scope.getBinding(path1.node.name);
86365
+ if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
86366
+ graph.edges.get(name)?.add(path1.node.name);
86367
+ }
86368
+ }
86369
+ }, path2.scope, path2);
86370
+ }
86371
+ }
86372
+ });
86373
+ }
86374
+ if (path2.node.id.type === "ObjectPattern") {
86375
+ path2.node.id.properties.forEach((property) => {
86376
+ if (property.type === "ObjectProperty" && property.value.type === "Identifier") {
86377
+ const name = property.value.name;
86378
+ if (name && graph.nodes.has(name) && path2.node.init) {
86379
+ traverse2(path2.node.init, {
86380
+ Identifier(path1) {
86381
+ const binding2 = path1.scope.getBinding(path1.node.name);
86382
+ if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
86383
+ graph.edges.get(name)?.add(path1.node.name);
86384
+ }
86385
+ }
86386
+ }, path2.scope, path2);
86387
+ }
86388
+ }
86389
+ });
86390
+ }
86335
86391
  if ([
86336
86392
  "CallExpression",
86337
86393
  "ArrowFunctionExpression",
@@ -86339,21 +86395,30 @@ function analyze2(content) {
86339
86395
  ].includes(path2.node.init.type) && path2.node.id.type === "Identifier") {
86340
86396
  const name = path2.node.id?.name;
86341
86397
  if (name && graph.nodes.has(name)) {
86342
- path2.traverse({
86398
+ traverse2(path2.node.init, {
86343
86399
  Identifier(path1) {
86344
86400
  const binding2 = path1.scope.getBinding(path1.node.name);
86345
- if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
86401
+ if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
86346
86402
  graph.edges.get(name)?.add(path1.node.name);
86347
86403
  }
86348
86404
  }
86349
- });
86405
+ }, path2.scope, path2);
86350
86406
  }
86351
86407
  }
86352
86408
  }
86353
86409
  }
86354
- });
86410
+ }, parentScope, parentPath);
86355
86411
  return graph;
86356
86412
  }
86413
+ function analyze2(content) {
86414
+ const ast = parse_1$1(content, {
86415
+ sourceType: "module",
86416
+ plugins: [
86417
+ "typescript"
86418
+ ]
86419
+ });
86420
+ return processSetup(ast);
86421
+ }
86357
86422
 
86358
86423
  // src/analyze/options.ts
86359
86424
  var import_traverse3 = __toESM(require_lib13());
@@ -86414,68 +86479,10 @@ function analyze3(content) {
86414
86479
  if (path2.node.declaration.type === "ObjectExpression" && path1.parent === path2.node.declaration || path2.node.declaration.type === "CallExpression" && path1.parent === path2.node.declaration.arguments[0]) {
86415
86480
  if (path1.node.key.type === "Identifier" && path1.node.key.name === "setup") {
86416
86481
  const setupNode = path1.node;
86417
- const tempNodes = /* @__PURE__ */ new Set();
86418
- const tempEdges = /* @__PURE__ */ new Map();
86419
- traverse3(setupNode, {
86420
- VariableDeclaration(path22) {
86421
- path22.node.declarations.forEach((declaration2) => {
86422
- if (declaration2.id?.type === "Identifier") {
86423
- const name = declaration2.id.name;
86424
- if (path22.parent == setupNode.body) {
86425
- tempNodes.add(name);
86426
- if (!tempEdges.get(name)) {
86427
- tempEdges.set(name, /* @__PURE__ */ new Set());
86428
- }
86429
- }
86430
- }
86431
- });
86432
- },
86433
- FunctionDeclaration(path22) {
86434
- const name = path22.node.id?.name;
86435
- if (name) {
86436
- if (path22.parent == setupNode.body) {
86437
- tempNodes.add(name);
86438
- if (!tempEdges.get(name)) {
86439
- tempEdges.set(name, /* @__PURE__ */ new Set());
86440
- }
86441
- }
86442
- }
86443
- }
86444
- }, path1.scope, path1);
86445
- traverse3(setupNode, {
86446
- FunctionDeclaration(path3) {
86447
- const name = path3.node.id?.name;
86448
- if (name && tempNodes.has(name)) {
86449
- path3.traverse({
86450
- Identifier(path4) {
86451
- if (tempNodes.has(path4.node.name) && path4.node.name !== name) {
86452
- tempEdges.get(name)?.add(path4.node.name);
86453
- }
86454
- }
86455
- });
86456
- }
86457
- },
86458
- VariableDeclarator(path3) {
86459
- if (path3.node.init) {
86460
- if ([
86461
- "CallExpression",
86462
- "ArrowFunctionExpression",
86463
- "FunctionDeclaration"
86464
- ].includes(path3.node.init.type) && path3.node.id.type === "Identifier") {
86465
- const name = path3.node.id?.name;
86466
- if (name && tempNodes.has(name)) {
86467
- path3.traverse({
86468
- Identifier(path4) {
86469
- if (tempNodes.has(path4.node.name) && path4.node.name !== name) {
86470
- tempEdges.get(name)?.add(path4.node.name);
86471
- }
86472
- }
86473
- });
86474
- }
86475
- }
86476
- }
86477
- }
86478
- }, path1.scope, path1);
86482
+ const {
86483
+ nodes: tempNodes,
86484
+ edges: tempEdges
86485
+ } = processSetup(setupNode, path1.scope, setupNode);
86479
86486
  traverse3(setupNode, {
86480
86487
  ReturnStatement(path22) {
86481
86488
  if (path22.node.argument?.type === "ObjectExpression") {