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 +26 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
@@ -160,6 +160,7 @@ function getComment(node) {
|
|
160
160
|
|
161
161
|
// src/analyze/setupScript.ts
|
162
162
|
var traverse2 = _traverse2.default?.default || _traverse2.default || _traverse2;
|
163
|
+
var ignoreFunctionsName = ["defineProps", "defineEmits", "withDefaults"];
|
163
164
|
function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
164
165
|
const spread = _spread || [];
|
165
166
|
const nodeCollection = new NodeCollection(_lineOffset);
|
@@ -176,7 +177,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
176
177
|
if (element?.type === "Identifier") {
|
177
178
|
const name = element.name;
|
178
179
|
const binding = path.scope.getBinding(name);
|
179
|
-
if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" &&
|
180
|
+
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))) {
|
180
181
|
graph.nodes.add(name);
|
181
182
|
nodeCollection.addNode(name, element, {
|
182
183
|
comment: getComment(path.node)
|
@@ -189,7 +190,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
189
190
|
if (element?.type === "RestElement" && element.argument.type === "Identifier") {
|
190
191
|
const name = element.argument.name;
|
191
192
|
const binding = path.scope.getBinding(name);
|
192
|
-
if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" &&
|
193
|
+
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))) {
|
193
194
|
graph.nodes.add(name);
|
194
195
|
nodeCollection.addNode(name, element.argument, {
|
195
196
|
comment: getComment(path.node)
|
@@ -206,7 +207,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
206
207
|
if (property.type === "ObjectProperty" && property.value.type === "Identifier") {
|
207
208
|
const name = property.value.name;
|
208
209
|
const binding = path.scope.getBinding(name);
|
209
|
-
if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" &&
|
210
|
+
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))) {
|
210
211
|
graph.nodes.add(name);
|
211
212
|
nodeCollection.addNode(name, property.value, {
|
212
213
|
comment: getComment(property)
|
@@ -219,7 +220,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
219
220
|
if (property.type === "RestElement" && property.argument.type === "Identifier") {
|
220
221
|
const name = property.argument.name;
|
221
222
|
const binding = path.scope.getBinding(name);
|
222
|
-
if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" &&
|
223
|
+
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))) {
|
223
224
|
graph.nodes.add(name);
|
224
225
|
nodeCollection.addNode(name, property.argument, {
|
225
226
|
comment: getComment(property)
|
@@ -234,7 +235,7 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
234
235
|
if (declaration.id?.type === "Identifier") {
|
235
236
|
const name = declaration.id.name;
|
236
237
|
const binding = path.scope.getBinding(name);
|
237
|
-
if (binding && (path.parent.type === "Program" || parentPath?.type === "ObjectMethod" && parentPath.body === path.parent) && !(declaration.init?.type === "CallExpression" && declaration.init?.callee.type === "Identifier" &&
|
238
|
+
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))) {
|
238
239
|
graph.nodes.add(name);
|
239
240
|
nodeCollection.addNode(name, declaration, {
|
240
241
|
comment: getComment(path.node)
|
@@ -470,7 +471,24 @@ function processSetup(ast, parentScope, parentPath, _spread, _lineOffset = 0) {
|
|
470
471
|
return;
|
471
472
|
}
|
472
473
|
const watchArgs = /* @__PURE__ */ new Set();
|
473
|
-
if (hookName === "
|
474
|
+
if (hookName === "provide") {
|
475
|
+
traverse2(path.node.expression, {
|
476
|
+
Identifier(path1) {
|
477
|
+
const binding = path1.scope.getBinding(path1.node.name);
|
478
|
+
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)) {
|
479
|
+
const _node = nodeCollection.getNode(path1.node.name);
|
480
|
+
if (_node?.info?.used) {
|
481
|
+
_node?.info?.used?.add(hookName);
|
482
|
+
} else if (_node) {
|
483
|
+
_node.info = {
|
484
|
+
..._node?.info,
|
485
|
+
used: /* @__PURE__ */ new Set([hookName])
|
486
|
+
};
|
487
|
+
}
|
488
|
+
}
|
489
|
+
}
|
490
|
+
}, path.scope, path);
|
491
|
+
} else if (hookName === "watch") {
|
474
492
|
if (path.node.expression.arguments[0].type === "Identifier") {
|
475
493
|
const binding = path.scope.getBinding(path.node.expression.arguments[0].name);
|
476
494
|
if (graph.nodes.has(path.node.expression.arguments[0].name) && (binding?.scope.block.type === "Program" || parentScope === binding?.scope)) {
|
@@ -568,7 +586,8 @@ var vueLifeCycleHooks = [
|
|
568
586
|
"deactivated",
|
569
587
|
"errorCaptured",
|
570
588
|
"renderTracked",
|
571
|
-
"renderTriggered"
|
589
|
+
"renderTriggered",
|
590
|
+
"provide"
|
572
591
|
];
|
573
592
|
function analyze3(content, lineOffset = 0, jsx = false) {
|
574
593
|
const ast = babelParse3(content, { sourceType: "module", plugins: [
|