vue-hook-optimizer 0.0.12 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -3
- package/dist/index.d.mts +18 -36
- package/dist/index.d.ts +18 -36
- package/dist/index.js +154 -54
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +152 -54
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -19803,12 +19803,12 @@ var require_gen_mapping_umd = __commonJS({
|
|
19803
19803
|
};
|
19804
19804
|
exports2.fromMap = (input2) => {
|
19805
19805
|
const map2 = new traceMapping.TraceMap(input2);
|
19806
|
-
const
|
19807
|
-
putAll(
|
19808
|
-
putAll(
|
19809
|
-
|
19810
|
-
|
19811
|
-
return
|
19806
|
+
const gen2 = new GenMapping({ file: map2.file, sourceRoot: map2.sourceRoot });
|
19807
|
+
putAll(gen2._names, map2.names);
|
19808
|
+
putAll(gen2._sources, map2.sources);
|
19809
|
+
gen2._sourcesContent = map2.sourcesContent || map2.sources.map(() => null);
|
19810
|
+
gen2._mappings = traceMapping.decodedMappings(map2);
|
19811
|
+
return gen2;
|
19812
19812
|
};
|
19813
19813
|
addSegmentInternal = (skipable, map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
|
19814
19814
|
const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map2;
|
@@ -25139,8 +25139,8 @@ var require_lib6 = __commonJS({
|
|
25139
25139
|
};
|
25140
25140
|
exports.CodeGenerator = CodeGenerator;
|
25141
25141
|
function generate2(ast, opts, code) {
|
25142
|
-
const
|
25143
|
-
return
|
25142
|
+
const gen2 = new Generator(ast, opts, code);
|
25143
|
+
return gen2.generate();
|
25144
25144
|
}
|
25145
25145
|
}
|
25146
25146
|
});
|
@@ -46320,6 +46320,55 @@ var require_lib13 = __commonJS({
|
|
46320
46320
|
}
|
46321
46321
|
});
|
46322
46322
|
|
46323
|
+
// src/analyze/utils.ts
|
46324
|
+
var NodeType = /* @__PURE__ */ ((NodeType3) => {
|
46325
|
+
NodeType3["var"] = "var";
|
46326
|
+
NodeType3["fun"] = "fun";
|
46327
|
+
return NodeType3;
|
46328
|
+
})(NodeType || {});
|
46329
|
+
var NodeCollection = class {
|
46330
|
+
nodes = /* @__PURE__ */ new Map();
|
46331
|
+
addNode(label, node2, options = { isComputed: false }) {
|
46332
|
+
if (this.nodes.has(label)) {
|
46333
|
+
return;
|
46334
|
+
}
|
46335
|
+
if (!options.isComputed && (node2.type === "VariableDeclarator" && [
|
46336
|
+
"ArrowFunctionExpression",
|
46337
|
+
"FunctionDeclaration"
|
46338
|
+
].includes(node2.init?.type || "") || node2.type === "FunctionDeclaration" || node2.type === "ObjectMethod")) {
|
46339
|
+
this.nodes.set(label, {
|
46340
|
+
label,
|
46341
|
+
type: "fun" /* fun */
|
46342
|
+
});
|
46343
|
+
} else {
|
46344
|
+
this.nodes.set(label, {
|
46345
|
+
label,
|
46346
|
+
type: "var" /* var */
|
46347
|
+
});
|
46348
|
+
}
|
46349
|
+
}
|
46350
|
+
addTypedNode(label, node2) {
|
46351
|
+
this.nodes.set(label, {
|
46352
|
+
label,
|
46353
|
+
type: node2.type
|
46354
|
+
});
|
46355
|
+
}
|
46356
|
+
map(graph) {
|
46357
|
+
const nodes = new Set(Array.from(graph.nodes).map((node2) => {
|
46358
|
+
return this.nodes.get(node2);
|
46359
|
+
}).filter((node2) => !!node2));
|
46360
|
+
const edges = new Map(Array.from(graph.edges).map(([from2, to]) => {
|
46361
|
+
return [this.nodes.get(from2), new Set(Array.from(to).map((node2) => {
|
46362
|
+
return this.nodes.get(node2);
|
46363
|
+
}).filter((node2) => !!node2))];
|
46364
|
+
}));
|
46365
|
+
return {
|
46366
|
+
nodes,
|
46367
|
+
edges
|
46368
|
+
};
|
46369
|
+
}
|
46370
|
+
};
|
46371
|
+
|
46323
46372
|
// node_modules/.pnpm/@vue+compiler-sfc@3.3.4/node_modules/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js
|
46324
46373
|
function makeMap(str2, expectsLowerCase) {
|
46325
46374
|
const map2 = /* @__PURE__ */ Object.create(null);
|
@@ -86263,52 +86312,6 @@ function analyze(content) {
|
|
86263
86312
|
|
86264
86313
|
// src/analyze/setupScript.ts
|
86265
86314
|
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, options = { isComputed: false }) {
|
86271
|
-
if (this.nodes.has(label)) {
|
86272
|
-
return;
|
86273
|
-
}
|
86274
|
-
if (!options.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, node2) {
|
86290
|
-
this.nodes.set(label, {
|
86291
|
-
label,
|
86292
|
-
type: node2.type
|
86293
|
-
});
|
86294
|
-
}
|
86295
|
-
map(graph) {
|
86296
|
-
const nodes = new Set(Array.from(graph.nodes).map((node2) => {
|
86297
|
-
return this.nodes.get(node2);
|
86298
|
-
}).filter((node2) => !!node2));
|
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
|
-
}).filter((node2) => !!node2))];
|
86303
|
-
}));
|
86304
|
-
return {
|
86305
|
-
nodes,
|
86306
|
-
edges
|
86307
|
-
};
|
86308
|
-
}
|
86309
|
-
};
|
86310
|
-
|
86311
|
-
// src/analyze/setupScript.ts
|
86312
86315
|
var traverse2 = (
|
86313
86316
|
//@ts-ignore
|
86314
86317
|
import_traverse2.default.default?.default || import_traverse2.default.default || import_traverse2.default
|
@@ -86798,6 +86801,99 @@ function analyze3(content) {
|
|
86798
86801
|
return nodeCollection.map(graph);
|
86799
86802
|
}
|
86800
86803
|
|
86804
|
+
// src/suggest/split.ts
|
86805
|
+
function dfs(graph, node2, targets, visited, component) {
|
86806
|
+
component.add(node2);
|
86807
|
+
visited.add(node2);
|
86808
|
+
targets.forEach((target) => {
|
86809
|
+
if (!visited.has(target)) {
|
86810
|
+
dfs(graph, target, graph.get(target) || /* @__PURE__ */ new Set(), visited, component);
|
86811
|
+
}
|
86812
|
+
});
|
86813
|
+
}
|
86814
|
+
function haveIntersection(setA, setB) {
|
86815
|
+
for (let item of setA) {
|
86816
|
+
if (setB.has(item)) {
|
86817
|
+
return true;
|
86818
|
+
}
|
86819
|
+
}
|
86820
|
+
return false;
|
86821
|
+
}
|
86822
|
+
function mergeSets(arr) {
|
86823
|
+
let result2 = [...arr];
|
86824
|
+
for (let i = 0; i < result2.length; i++) {
|
86825
|
+
for (let j = i + 1; j < result2.length; j++) {
|
86826
|
+
if (haveIntersection(result2[i], result2[j])) {
|
86827
|
+
const newSet = /* @__PURE__ */ new Set([...result2[i], ...result2[j]]);
|
86828
|
+
result2.splice(j, 1);
|
86829
|
+
result2.splice(i, 1);
|
86830
|
+
result2 = [...result2, newSet];
|
86831
|
+
return mergeSets(result2);
|
86832
|
+
}
|
86833
|
+
}
|
86834
|
+
}
|
86835
|
+
return result2;
|
86836
|
+
}
|
86837
|
+
function splitGraph(graph) {
|
86838
|
+
const components = [];
|
86839
|
+
const sorted = Array.from(graph).sort((a, b) => b[1].size - a[1].size);
|
86840
|
+
new Map(sorted).forEach((targets, node2) => {
|
86841
|
+
const visited = /* @__PURE__ */ new Set();
|
86842
|
+
if (!visited.has(node2)) {
|
86843
|
+
let component = /* @__PURE__ */ new Set();
|
86844
|
+
dfs(graph, node2, targets, visited, component);
|
86845
|
+
components.push(component);
|
86846
|
+
}
|
86847
|
+
});
|
86848
|
+
return mergeSets(components).map((component) => {
|
86849
|
+
const subGraph = /* @__PURE__ */ new Map();
|
86850
|
+
component.forEach((node2) => {
|
86851
|
+
const targets = graph.get(node2);
|
86852
|
+
if (targets) {
|
86853
|
+
subGraph.set(node2, targets);
|
86854
|
+
}
|
86855
|
+
});
|
86856
|
+
return subGraph;
|
86857
|
+
});
|
86858
|
+
}
|
86859
|
+
|
86860
|
+
// src/suggest/filter.ts
|
86861
|
+
function noIndegreeFilter(graph) {
|
86862
|
+
const nodes = Array.from(graph.keys());
|
86863
|
+
const indegree = /* @__PURE__ */ new Map();
|
86864
|
+
nodes.forEach((node2) => {
|
86865
|
+
indegree.set(node2, 0);
|
86866
|
+
});
|
86867
|
+
graph.forEach((targets, node2) => {
|
86868
|
+
targets.forEach((target) => {
|
86869
|
+
indegree.set(target, (indegree.get(target) || 0) + 1);
|
86870
|
+
});
|
86871
|
+
});
|
86872
|
+
return nodes.filter((node2) => indegree.get(node2) === 0);
|
86873
|
+
}
|
86874
|
+
|
86875
|
+
// src/suggest/index.ts
|
86876
|
+
function gen(graph, usedNodes) {
|
86877
|
+
const suggests = [];
|
86878
|
+
const splitedGraph = splitGraph(graph.edges);
|
86879
|
+
splitedGraph.forEach((g) => {
|
86880
|
+
const nodes = Array.from(g.keys());
|
86881
|
+
if (splitedGraph.length > 1) {
|
86882
|
+
suggests.push(`Node${nodes.length > 1 ? "s" : ""} [${nodes.length > 10 ? nodes.slice(0, 10).map((node2) => node2.label).join(",") + "...(" + nodes.length + ")" : nodes.map((node2) => node2.label).join(",")}] ${nodes.length > 1 ? "are" : "is"} isolated${nodes.length > 2 ? ", perhaps you can refactor them to an isolated file." : "."}`);
|
86883
|
+
}
|
86884
|
+
if (nodes.every((node2) => !usedNodes.has(node2.label))) {
|
86885
|
+
suggests.push(`Node${nodes.length > 1 ? "s" : ""} [${nodes.length > 10 ? nodes.slice(0, 10).map((node2) => node2.label).join(",") + "..." : nodes.map((node2) => node2.label).join(",")}] ${nodes.length > 1 ? "are" : "is"} not used, perhaps you can remove ${nodes.length > 1 ? "them" : "it"}.`);
|
86886
|
+
}
|
86887
|
+
});
|
86888
|
+
const noIndegreeNodes = noIndegreeFilter(graph.edges);
|
86889
|
+
noIndegreeNodes.forEach((node2) => {
|
86890
|
+
if (!usedNodes.has(node2.label)) {
|
86891
|
+
suggests.push(`Node [${node2.label}] is not used, perhaps you can remove it.`);
|
86892
|
+
}
|
86893
|
+
});
|
86894
|
+
return suggests;
|
86895
|
+
}
|
86896
|
+
|
86801
86897
|
// src/vis.ts
|
86802
86898
|
function getVisData(graph, usedNodes) {
|
86803
86899
|
const nodes = [];
|
@@ -86832,9 +86928,11 @@ function getVisData(graph, usedNodes) {
|
|
86832
86928
|
};
|
86833
86929
|
}
|
86834
86930
|
export {
|
86931
|
+
NodeType,
|
86835
86932
|
analyze3 as analyzeOptions,
|
86836
86933
|
analyze2 as analyzeSetupScript,
|
86837
86934
|
analyze as analyzeTemplate,
|
86935
|
+
gen,
|
86838
86936
|
getVisData,
|
86839
86937
|
parse$7 as parse
|
86840
86938
|
};
|