vue-hook-optimizer 0.0.9 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +3 -3
- package/dist/index.d.mts +38 -6
- package/dist/index.d.ts +38 -6
- package/dist/index.js +105 -94
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +105 -94
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -49,8 +49,8 @@ var require_virtual_types = __commonJS({
|
|
49
49
|
exports.Statement = Statement;
|
50
50
|
var Expression = ["Expression"];
|
51
51
|
exports.Expression = Expression;
|
52
|
-
var
|
53
|
-
exports.Scope =
|
52
|
+
var Scope3 = ["Scopable", "Pattern"];
|
53
|
+
exports.Scope = Scope3;
|
54
54
|
var Referenced = null;
|
55
55
|
exports.Referenced = Referenced;
|
56
56
|
var BlockScoped = null;
|
@@ -18063,7 +18063,7 @@ var require_scope = __commonJS({
|
|
18063
18063
|
}
|
18064
18064
|
};
|
18065
18065
|
var uid = 0;
|
18066
|
-
var
|
18066
|
+
var Scope3 = class _Scope {
|
18067
18067
|
constructor(path2) {
|
18068
18068
|
this.uid = void 0;
|
18069
18069
|
this.path = void 0;
|
@@ -18698,9 +18698,9 @@ var require_scope = __commonJS({
|
|
18698
18698
|
} while (scope = scope.parent);
|
18699
18699
|
}
|
18700
18700
|
};
|
18701
|
-
exports.default =
|
18702
|
-
|
18703
|
-
|
18701
|
+
exports.default = Scope3;
|
18702
|
+
Scope3.globals = Object.keys(_globals.builtin);
|
18703
|
+
Scope3.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
|
18704
18704
|
}
|
18705
18705
|
});
|
18706
18706
|
|
@@ -29012,7 +29012,7 @@ var require_lib9 = __commonJS({
|
|
29012
29012
|
var CLASS_ELEMENT_INSTANCE_GETTER2 = CLASS_ELEMENT_KIND_GETTER2;
|
29013
29013
|
var CLASS_ELEMENT_INSTANCE_SETTER2 = CLASS_ELEMENT_KIND_SETTER2;
|
29014
29014
|
var CLASS_ELEMENT_OTHER2 = 0;
|
29015
|
-
var
|
29015
|
+
var Scope3 = class {
|
29016
29016
|
constructor(flags) {
|
29017
29017
|
this.var = /* @__PURE__ */ new Set();
|
29018
29018
|
this.lexical = /* @__PURE__ */ new Set();
|
@@ -29068,7 +29068,7 @@ var require_lib9 = __commonJS({
|
|
29068
29068
|
return this.treatFunctionsAsVarInScope(this.currentScope());
|
29069
29069
|
}
|
29070
29070
|
createScope(flags) {
|
29071
|
-
return new
|
29071
|
+
return new Scope3(flags);
|
29072
29072
|
}
|
29073
29073
|
enter(flags) {
|
29074
29074
|
this.scopeStack.push(this.createScope(flags));
|
@@ -29163,7 +29163,7 @@ var require_lib9 = __commonJS({
|
|
29163
29163
|
}
|
29164
29164
|
}
|
29165
29165
|
};
|
29166
|
-
var FlowScope2 = class extends
|
29166
|
+
var FlowScope2 = class extends Scope3 {
|
29167
29167
|
constructor(...args) {
|
29168
29168
|
super(...args);
|
29169
29169
|
this.declareFunctions = /* @__PURE__ */ new Set();
|
@@ -34669,7 +34669,7 @@ var require_lib9 = __commonJS({
|
|
34669
34669
|
}
|
34670
34670
|
}
|
34671
34671
|
};
|
34672
|
-
var TypeScriptScope2 = class extends
|
34672
|
+
var TypeScriptScope2 = class extends Scope3 {
|
34673
34673
|
constructor(...args) {
|
34674
34674
|
super(...args);
|
34675
34675
|
this.types = /* @__PURE__ */ new Set();
|
@@ -86263,17 +86263,58 @@ function analyze(content) {
|
|
86263
86263
|
|
86264
86264
|
// src/analyze/setupScript.ts
|
86265
86265
|
var import_traverse2 = __toESM(require_lib13());
|
86266
|
+
|
86267
|
+
// src/analyze/utils.ts
|
86268
|
+
var NodeCollection = class {
|
86269
|
+
nodes = /* @__PURE__ */ new Map();
|
86270
|
+
addNode(label, node2, isComputed = false) {
|
86271
|
+
if (this.nodes.has(label)) {
|
86272
|
+
return;
|
86273
|
+
}
|
86274
|
+
if (!isComputed && (node2.type === "VariableDeclarator" && [
|
86275
|
+
"ArrowFunctionExpression",
|
86276
|
+
"FunctionDeclaration"
|
86277
|
+
].includes(node2.init?.type || "") || node2.type === "FunctionDeclaration" || node2.type === "ObjectMethod")) {
|
86278
|
+
this.nodes.set(label, {
|
86279
|
+
label,
|
86280
|
+
type: "fun" /* fun */
|
86281
|
+
});
|
86282
|
+
} else {
|
86283
|
+
this.nodes.set(label, {
|
86284
|
+
label,
|
86285
|
+
type: "var" /* var */
|
86286
|
+
});
|
86287
|
+
}
|
86288
|
+
}
|
86289
|
+
addTypedNode(label, type) {
|
86290
|
+
this.nodes.set(label, {
|
86291
|
+
label,
|
86292
|
+
type
|
86293
|
+
});
|
86294
|
+
}
|
86295
|
+
map(graph) {
|
86296
|
+
const nodes = new Set(Array.from(graph.nodes).map((node2) => {
|
86297
|
+
return this.nodes.get(node2);
|
86298
|
+
}));
|
86299
|
+
const edges = new Map(Array.from(graph.edges).map(([from2, to]) => {
|
86300
|
+
return [this.nodes.get(from2), new Set(Array.from(to).map((node2) => {
|
86301
|
+
return this.nodes.get(node2);
|
86302
|
+
}))];
|
86303
|
+
}));
|
86304
|
+
return {
|
86305
|
+
nodes,
|
86306
|
+
edges
|
86307
|
+
};
|
86308
|
+
}
|
86309
|
+
};
|
86310
|
+
|
86311
|
+
// src/analyze/setupScript.ts
|
86266
86312
|
var traverse2 = (
|
86267
86313
|
//@ts-ignore
|
86268
86314
|
import_traverse2.default.default?.default || import_traverse2.default.default || import_traverse2.default
|
86269
86315
|
);
|
86270
|
-
function
|
86271
|
-
const
|
86272
|
-
sourceType: "module",
|
86273
|
-
plugins: [
|
86274
|
-
"typescript"
|
86275
|
-
]
|
86276
|
-
});
|
86316
|
+
function processSetup(ast, parentScope, parentPath) {
|
86317
|
+
const nodeCollection = new NodeCollection();
|
86277
86318
|
const graph = {
|
86278
86319
|
nodes: /* @__PURE__ */ new Set(),
|
86279
86320
|
edges: /* @__PURE__ */ new Map()
|
@@ -86286,8 +86327,9 @@ function analyze2(content) {
|
|
86286
86327
|
if (element?.type === "Identifier") {
|
86287
86328
|
const name = element.name;
|
86288
86329
|
const binding2 = path2.scope.getBinding(name);
|
86289
|
-
if (binding2 && path2.parent.type === "Program" && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
|
86330
|
+
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))) {
|
86290
86331
|
graph.nodes.add(name);
|
86332
|
+
nodeCollection.addNode(name, declaration2);
|
86291
86333
|
if (!graph.edges.get(name)) {
|
86292
86334
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86293
86335
|
}
|
@@ -86300,8 +86342,9 @@ function analyze2(content) {
|
|
86300
86342
|
if (property.type === "ObjectProperty" && property.value.type === "Identifier") {
|
86301
86343
|
const name = property.value.name;
|
86302
86344
|
const binding2 = path2.scope.getBinding(name);
|
86303
|
-
if (binding2 && path2.parent.type === "Program" && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
|
86345
|
+
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))) {
|
86304
86346
|
graph.nodes.add(name);
|
86347
|
+
nodeCollection.addNode(name, declaration2);
|
86305
86348
|
if (!graph.edges.get(name)) {
|
86306
86349
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86307
86350
|
}
|
@@ -86312,8 +86355,9 @@ function analyze2(content) {
|
|
86312
86355
|
if (declaration2.id?.type === "Identifier") {
|
86313
86356
|
const name = declaration2.id.name;
|
86314
86357
|
const binding2 = path2.scope.getBinding(name);
|
86315
|
-
if (binding2 && path2.parent.type === "Program" && !(declaration2.init?.type === "CallExpression" && declaration2.init?.callee.type === "Identifier" && ["defineProps", "defineEmits"].includes(declaration2.init?.callee.name))) {
|
86358
|
+
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))) {
|
86316
86359
|
graph.nodes.add(name);
|
86360
|
+
nodeCollection.addNode(name, declaration2);
|
86317
86361
|
if (!graph.edges.get(name)) {
|
86318
86362
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86319
86363
|
}
|
@@ -86325,15 +86369,16 @@ function analyze2(content) {
|
|
86325
86369
|
const name = path2.node.id?.name;
|
86326
86370
|
if (name) {
|
86327
86371
|
const binding2 = path2.scope.getBinding(name);
|
86328
|
-
if (binding2 && path2.parent.type === "Program") {
|
86372
|
+
if (binding2 && (path2.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path2.parent)) {
|
86329
86373
|
graph.nodes.add(name);
|
86374
|
+
nodeCollection.addNode(name, path2.node);
|
86330
86375
|
if (!graph.edges.get(name)) {
|
86331
86376
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86332
86377
|
}
|
86333
86378
|
}
|
86334
86379
|
}
|
86335
86380
|
}
|
86336
|
-
});
|
86381
|
+
}, parentScope, parentPath);
|
86337
86382
|
traverse2(ast, {
|
86338
86383
|
FunctionDeclaration(path2) {
|
86339
86384
|
const name = path2.node.id?.name;
|
@@ -86341,7 +86386,7 @@ function analyze2(content) {
|
|
86341
86386
|
path2.traverse({
|
86342
86387
|
Identifier(path1) {
|
86343
86388
|
const binding2 = path1.scope.getBinding(path1.node.name);
|
86344
|
-
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
|
86389
|
+
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
|
86345
86390
|
graph.edges.get(name)?.add(path1.node.name);
|
86346
86391
|
}
|
86347
86392
|
}
|
@@ -86358,7 +86403,7 @@ function analyze2(content) {
|
|
86358
86403
|
traverse2(path2.node.init, {
|
86359
86404
|
Identifier(path1) {
|
86360
86405
|
const binding2 = path1.scope.getBinding(path1.node.name);
|
86361
|
-
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
|
86406
|
+
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
|
86362
86407
|
graph.edges.get(name)?.add(path1.node.name);
|
86363
86408
|
}
|
86364
86409
|
}
|
@@ -86375,7 +86420,7 @@ function analyze2(content) {
|
|
86375
86420
|
traverse2(path2.node.init, {
|
86376
86421
|
Identifier(path1) {
|
86377
86422
|
const binding2 = path1.scope.getBinding(path1.node.name);
|
86378
|
-
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
|
86423
|
+
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
|
86379
86424
|
graph.edges.get(name)?.add(path1.node.name);
|
86380
86425
|
}
|
86381
86426
|
}
|
@@ -86394,7 +86439,7 @@ function analyze2(content) {
|
|
86394
86439
|
traverse2(path2.node.init, {
|
86395
86440
|
Identifier(path1) {
|
86396
86441
|
const binding2 = path1.scope.getBinding(path1.node.name);
|
86397
|
-
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && binding2?.scope.block.type === "Program") {
|
86442
|
+
if (graph.nodes.has(path1.node.name) && path1.node.name !== name && (binding2?.scope.block.type === "Program" || parentScope === binding2?.scope)) {
|
86398
86443
|
graph.edges.get(name)?.add(path1.node.name);
|
86399
86444
|
}
|
86400
86445
|
}
|
@@ -86403,8 +86448,21 @@ function analyze2(content) {
|
|
86403
86448
|
}
|
86404
86449
|
}
|
86405
86450
|
}
|
86451
|
+
}, parentScope, parentPath);
|
86452
|
+
return {
|
86453
|
+
graph,
|
86454
|
+
nodeCollection
|
86455
|
+
};
|
86456
|
+
}
|
86457
|
+
function analyze2(content) {
|
86458
|
+
const ast = parse_1$1(content, {
|
86459
|
+
sourceType: "module",
|
86460
|
+
plugins: [
|
86461
|
+
"typescript"
|
86462
|
+
]
|
86406
86463
|
});
|
86407
|
-
|
86464
|
+
const { graph, nodeCollection } = processSetup(ast);
|
86465
|
+
return nodeCollection.map(graph);
|
86408
86466
|
}
|
86409
86467
|
|
86410
86468
|
// src/analyze/options.ts
|
@@ -86420,6 +86478,7 @@ function analyze3(content) {
|
|
86420
86478
|
"typescript"
|
86421
86479
|
]
|
86422
86480
|
});
|
86481
|
+
const nodeCollection = new NodeCollection();
|
86423
86482
|
const graph = {
|
86424
86483
|
nodes: /* @__PURE__ */ new Set(),
|
86425
86484
|
edges: /* @__PURE__ */ new Map()
|
@@ -86436,6 +86495,7 @@ function analyze3(content) {
|
|
86436
86495
|
if (prop.key.type === "Identifier") {
|
86437
86496
|
const name = prop.key.name;
|
86438
86497
|
graph.nodes.add(name);
|
86498
|
+
nodeCollection.addNode(name, prop, true);
|
86439
86499
|
if (!graph.edges.get(name)) {
|
86440
86500
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86441
86501
|
}
|
@@ -86452,6 +86512,7 @@ function analyze3(content) {
|
|
86452
86512
|
if (prop.key.type === "Identifier") {
|
86453
86513
|
const name = prop.key.name;
|
86454
86514
|
graph.nodes.add(name);
|
86515
|
+
nodeCollection.addNode(name, prop);
|
86455
86516
|
if (!graph.edges.get(name)) {
|
86456
86517
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86457
86518
|
}
|
@@ -86466,68 +86527,13 @@ function analyze3(content) {
|
|
86466
86527
|
if (path2.node.declaration.type === "ObjectExpression" && path1.parent === path2.node.declaration || path2.node.declaration.type === "CallExpression" && path1.parent === path2.node.declaration.arguments[0]) {
|
86467
86528
|
if (path1.node.key.type === "Identifier" && path1.node.key.name === "setup") {
|
86468
86529
|
const setupNode = path1.node;
|
86469
|
-
const
|
86470
|
-
|
86471
|
-
|
86472
|
-
|
86473
|
-
path22.node.declarations.forEach((declaration2) => {
|
86474
|
-
if (declaration2.id?.type === "Identifier") {
|
86475
|
-
const name = declaration2.id.name;
|
86476
|
-
if (path22.parent == setupNode.body) {
|
86477
|
-
tempNodes.add(name);
|
86478
|
-
if (!tempEdges.get(name)) {
|
86479
|
-
tempEdges.set(name, /* @__PURE__ */ new Set());
|
86480
|
-
}
|
86481
|
-
}
|
86482
|
-
}
|
86483
|
-
});
|
86484
|
-
},
|
86485
|
-
FunctionDeclaration(path22) {
|
86486
|
-
const name = path22.node.id?.name;
|
86487
|
-
if (name) {
|
86488
|
-
if (path22.parent == setupNode.body) {
|
86489
|
-
tempNodes.add(name);
|
86490
|
-
if (!tempEdges.get(name)) {
|
86491
|
-
tempEdges.set(name, /* @__PURE__ */ new Set());
|
86492
|
-
}
|
86493
|
-
}
|
86494
|
-
}
|
86495
|
-
}
|
86496
|
-
}, path1.scope, path1);
|
86497
|
-
traverse3(setupNode, {
|
86498
|
-
FunctionDeclaration(path3) {
|
86499
|
-
const name = path3.node.id?.name;
|
86500
|
-
if (name && tempNodes.has(name)) {
|
86501
|
-
path3.traverse({
|
86502
|
-
Identifier(path4) {
|
86503
|
-
if (tempNodes.has(path4.node.name) && path4.node.name !== name) {
|
86504
|
-
tempEdges.get(name)?.add(path4.node.name);
|
86505
|
-
}
|
86506
|
-
}
|
86507
|
-
});
|
86508
|
-
}
|
86530
|
+
const {
|
86531
|
+
graph: {
|
86532
|
+
nodes: tempNodes,
|
86533
|
+
edges: tempEdges
|
86509
86534
|
},
|
86510
|
-
|
86511
|
-
|
86512
|
-
if ([
|
86513
|
-
"CallExpression",
|
86514
|
-
"ArrowFunctionExpression",
|
86515
|
-
"FunctionDeclaration"
|
86516
|
-
].includes(path3.node.init.type) && path3.node.id.type === "Identifier") {
|
86517
|
-
const name = path3.node.id?.name;
|
86518
|
-
if (name && tempNodes.has(name)) {
|
86519
|
-
path3.traverse({
|
86520
|
-
Identifier(path4) {
|
86521
|
-
if (tempNodes.has(path4.node.name) && path4.node.name !== name) {
|
86522
|
-
tempEdges.get(name)?.add(path4.node.name);
|
86523
|
-
}
|
86524
|
-
}
|
86525
|
-
});
|
86526
|
-
}
|
86527
|
-
}
|
86528
|
-
}
|
86529
|
-
}
|
86530
|
-
}, path1.scope, path1);
|
86535
|
+
nodeCollection: tempNodeCollection
|
86536
|
+
} = processSetup(setupNode, path1.scope, setupNode);
|
86531
86537
|
traverse3(setupNode, {
|
86532
86538
|
ReturnStatement(path22) {
|
86533
86539
|
if (path22.node.argument?.type === "ObjectExpression") {
|
@@ -86540,6 +86546,7 @@ function analyze3(content) {
|
|
86540
86546
|
const valName = path3.node.value.type === "Identifier" ? path3.node.value.name : "";
|
86541
86547
|
if (valName && tempNodes.has(valName)) {
|
86542
86548
|
graph.nodes.add(name);
|
86549
|
+
nodeCollection.addTypedNode(name, tempNodeCollection.nodes.get(valName).type);
|
86543
86550
|
if (!graph.edges.get(name)) {
|
86544
86551
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86545
86552
|
tempEdges.get(valName)?.forEach((edge) => {
|
@@ -86568,6 +86575,7 @@ function analyze3(content) {
|
|
86568
86575
|
if (prop.key.type === "Identifier") {
|
86569
86576
|
const name = prop.key.name;
|
86570
86577
|
graph.nodes.add(name);
|
86578
|
+
nodeCollection.addNode(name, prop);
|
86571
86579
|
if (!graph.edges.get(name)) {
|
86572
86580
|
graph.edges.set(name, /* @__PURE__ */ new Set());
|
86573
86581
|
}
|
@@ -86646,7 +86654,7 @@ function analyze3(content) {
|
|
86646
86654
|
}
|
86647
86655
|
}
|
86648
86656
|
});
|
86649
|
-
return graph;
|
86657
|
+
return nodeCollection.map(graph);
|
86650
86658
|
}
|
86651
86659
|
|
86652
86660
|
// src/vis.ts
|
@@ -86655,16 +86663,19 @@ function getVisData(graph, usedNodes) {
|
|
86655
86663
|
const edges = [];
|
86656
86664
|
graph.nodes.forEach((node2) => {
|
86657
86665
|
nodes.push({
|
86658
|
-
id: node2,
|
86659
|
-
label: node2,
|
86660
|
-
|
86666
|
+
id: node2.label,
|
86667
|
+
label: node2.label,
|
86668
|
+
shape: node2.type === "var" ? "dot" : "diamond",
|
86669
|
+
group: usedNodes.has(node2.label) ? "used" : "normal"
|
86661
86670
|
});
|
86662
86671
|
});
|
86663
86672
|
graph.edges.forEach((edge, key) => {
|
86664
86673
|
edge.forEach((to) => {
|
86674
|
+
if (!to)
|
86675
|
+
return;
|
86665
86676
|
edges.push({
|
86666
|
-
from: key,
|
86667
|
-
to,
|
86677
|
+
from: key.label,
|
86678
|
+
to: to.label,
|
86668
86679
|
arrows: {
|
86669
86680
|
to: {
|
86670
86681
|
enabled: true,
|