vue-hook-optimizer 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/README.md
    CHANGED
    
    | 
         @@ -16,7 +16,6 @@ pnpm run play 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            Open the browser and visit `http://localhost:3000/`.
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
            
         
     | 
| 
       20 
19 
     | 
    
         | 
| 
       21 
20 
     | 
    
         
             
            ## How To Use
         
     | 
| 
       22 
21 
     | 
    
         | 
| 
         @@ -28,7 +27,7 @@ Open the browser and visit `http://localhost:3000/`. 
     | 
|
| 
       28 
27 
     | 
    
         | 
| 
       29 
28 
     | 
    
         
             
            The tool will analyze the code, and show the relations between the variables and the methods. This is a simple demo.
         
     | 
| 
       30 
29 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
            
         
     | 
| 
       32 
31 
     | 
    
         | 
| 
       33 
32 
     | 
    
         
             
            ## Motive
         
     | 
| 
       34 
33 
     | 
    
         | 
| 
         @@ -39,7 +38,7 @@ So I want to build a tool to help us analyze the code, and find the relations be 
     | 
|
| 
       39 
38 
     | 
    
         
             
            ## Development Plan
         
     | 
| 
       40 
39 
     | 
    
         | 
| 
       41 
40 
     | 
    
         
             
            - [ ] add ~~node type~~ (has added `var` and `fun` types) and more info
         
     | 
| 
       42 
     | 
    
         
            -
            - [ 
     | 
| 
      
 41 
     | 
    
         
            +
            - [x] provide some suggestions for optimization
         
     | 
| 
       43 
42 
     | 
    
         
             
            - [x] support `options api`
         
     | 
| 
       44 
43 
     | 
    
         
             
            - [x] [vscode extension](./packages/vscode)
         
     | 
| 
       45 
44 
     | 
    
         | 
    
        package/dist/index.d.mts
    CHANGED
    
    | 
         @@ -1,56 +1,38 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            export { parse } from '@vue/compiler-sfc';
         
     | 
| 
       2 
2 
     | 
    
         
             
            import * as vis_network from 'vis-network';
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
            type TypedNode = {
         
     | 
| 
      
 5 
     | 
    
         
            +
                label: string;
         
     | 
| 
      
 6 
     | 
    
         
            +
                type: NodeType;
         
     | 
| 
      
 7 
     | 
    
         
            +
            };
         
     | 
| 
       6 
8 
     | 
    
         
             
            declare enum NodeType {
         
     | 
| 
       7 
9 
     | 
    
         
             
                var = "var",
         
     | 
| 
       8 
10 
     | 
    
         
             
                fun = "fun"
         
     | 
| 
       9 
11 
     | 
    
         
             
            }
         
     | 
| 
       10 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
            declare function analyze$2(content: string): Set<string>;
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
            declare function analyze$1(content: string): {
         
     | 
| 
       12 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       15 
     | 
    
         
            -
                }>;
         
     | 
| 
       16 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       17 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       18 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       19 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       20 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       21 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       22 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 16 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 17 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       23 
18 
     | 
    
         
             
            };
         
     | 
| 
       24 
19 
     | 
    
         | 
| 
       25 
20 
     | 
    
         
             
            declare function analyze(content: string): {
         
     | 
| 
       26 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       29 
     | 
    
         
            -
                }>;
         
     | 
| 
       30 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       31 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       32 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       33 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       34 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       35 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       36 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 21 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 22 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       37 
23 
     | 
    
         
             
            };
         
     | 
| 
       38 
24 
     | 
    
         | 
| 
      
 25 
     | 
    
         
            +
            declare function gen(graph: {
         
     | 
| 
      
 26 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 27 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
      
 28 
     | 
    
         
            +
            }, usedNodes: Set<string>): string[];
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       39 
30 
     | 
    
         
             
            declare function getVisData(graph: {
         
     | 
| 
       40 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       43 
     | 
    
         
            -
                }>;
         
     | 
| 
       44 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       45 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       46 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       47 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       48 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       49 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       50 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 31 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 32 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       51 
33 
     | 
    
         
             
            }, usedNodes: Set<string>): {
         
     | 
| 
       52 
34 
     | 
    
         
             
                nodes: vis_network.Node[];
         
     | 
| 
       53 
35 
     | 
    
         
             
                edges: vis_network.Edge[];
         
     | 
| 
       54 
36 
     | 
    
         
             
            };
         
     | 
| 
       55 
37 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
            export { analyze as analyzeOptions, analyze$1 as analyzeSetupScript, analyze$2 as analyzeTemplate, getVisData };
         
     | 
| 
      
 38 
     | 
    
         
            +
            export { NodeType, TypedNode, analyze as analyzeOptions, analyze$1 as analyzeSetupScript, analyze$2 as analyzeTemplate, gen, getVisData };
         
     | 
    
        package/dist/index.d.ts
    CHANGED
    
    | 
         @@ -1,56 +1,38 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            export { parse } from '@vue/compiler-sfc';
         
     | 
| 
       2 
2 
     | 
    
         
             
            import * as vis_network from 'vis-network';
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
            type TypedNode = {
         
     | 
| 
      
 5 
     | 
    
         
            +
                label: string;
         
     | 
| 
      
 6 
     | 
    
         
            +
                type: NodeType;
         
     | 
| 
      
 7 
     | 
    
         
            +
            };
         
     | 
| 
       6 
8 
     | 
    
         
             
            declare enum NodeType {
         
     | 
| 
       7 
9 
     | 
    
         
             
                var = "var",
         
     | 
| 
       8 
10 
     | 
    
         
             
                fun = "fun"
         
     | 
| 
       9 
11 
     | 
    
         
             
            }
         
     | 
| 
       10 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
            declare function analyze$2(content: string): Set<string>;
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
            declare function analyze$1(content: string): {
         
     | 
| 
       12 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       15 
     | 
    
         
            -
                }>;
         
     | 
| 
       16 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       17 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       18 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       19 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       20 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       21 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       22 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 16 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 17 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       23 
18 
     | 
    
         
             
            };
         
     | 
| 
       24 
19 
     | 
    
         | 
| 
       25 
20 
     | 
    
         
             
            declare function analyze(content: string): {
         
     | 
| 
       26 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       29 
     | 
    
         
            -
                }>;
         
     | 
| 
       30 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       31 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       32 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       33 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       34 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       35 
     | 
    
         
            -
                    type: NodeType;
         
     | 
| 
       36 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 21 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 22 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       37 
23 
     | 
    
         
             
            };
         
     | 
| 
       38 
24 
     | 
    
         | 
| 
      
 25 
     | 
    
         
            +
            declare function gen(graph: {
         
     | 
| 
      
 26 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 27 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
      
 28 
     | 
    
         
            +
            }, usedNodes: Set<string>): string[];
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       39 
30 
     | 
    
         
             
            declare function getVisData(graph: {
         
     | 
| 
       40 
     | 
    
         
            -
                nodes: Set< 
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       43 
     | 
    
         
            -
                }>;
         
     | 
| 
       44 
     | 
    
         
            -
                edges: Map<{
         
     | 
| 
       45 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       46 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       47 
     | 
    
         
            -
                }, Set<{
         
     | 
| 
       48 
     | 
    
         
            -
                    label: string;
         
     | 
| 
       49 
     | 
    
         
            -
                    type: string;
         
     | 
| 
       50 
     | 
    
         
            -
                }>>;
         
     | 
| 
      
 31 
     | 
    
         
            +
                nodes: Set<TypedNode>;
         
     | 
| 
      
 32 
     | 
    
         
            +
                edges: Map<TypedNode, Set<TypedNode>>;
         
     | 
| 
       51 
33 
     | 
    
         
             
            }, usedNodes: Set<string>): {
         
     | 
| 
       52 
34 
     | 
    
         
             
                nodes: vis_network.Node[];
         
     | 
| 
       53 
35 
     | 
    
         
             
                edges: vis_network.Edge[];
         
     | 
| 
       54 
36 
     | 
    
         
             
            };
         
     | 
| 
       55 
37 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
            export { analyze as analyzeOptions, analyze$1 as analyzeSetupScript, analyze$2 as analyzeTemplate, getVisData };
         
     | 
| 
      
 38 
     | 
    
         
            +
            export { NodeType, TypedNode, analyze as analyzeOptions, analyze$1 as analyzeSetupScript, analyze$2 as analyzeTemplate, gen, getVisData };
         
     | 
    
        package/dist/index.js
    CHANGED
    
    | 
         @@ -19802,12 +19802,12 @@ var require_gen_mapping_umd = __commonJS({ 
     | 
|
| 
       19802 
19802 
     | 
    
         
             
                    };
         
     | 
| 
       19803 
19803 
     | 
    
         
             
                    exports2.fromMap = (input2) => {
         
     | 
| 
       19804 
19804 
     | 
    
         
             
                      const map2 = new traceMapping.TraceMap(input2);
         
     | 
| 
       19805 
     | 
    
         
            -
                      const  
     | 
| 
       19806 
     | 
    
         
            -
                      putAll( 
     | 
| 
       19807 
     | 
    
         
            -
                      putAll( 
     | 
| 
       19808 
     | 
    
         
            -
                       
     | 
| 
       19809 
     | 
    
         
            -
                       
     | 
| 
       19810 
     | 
    
         
            -
                      return  
     | 
| 
      
 19805 
     | 
    
         
            +
                      const gen2 = new GenMapping({ file: map2.file, sourceRoot: map2.sourceRoot });
         
     | 
| 
      
 19806 
     | 
    
         
            +
                      putAll(gen2._names, map2.names);
         
     | 
| 
      
 19807 
     | 
    
         
            +
                      putAll(gen2._sources, map2.sources);
         
     | 
| 
      
 19808 
     | 
    
         
            +
                      gen2._sourcesContent = map2.sourcesContent || map2.sources.map(() => null);
         
     | 
| 
      
 19809 
     | 
    
         
            +
                      gen2._mappings = traceMapping.decodedMappings(map2);
         
     | 
| 
      
 19810 
     | 
    
         
            +
                      return gen2;
         
     | 
| 
       19811 
19811 
     | 
    
         
             
                    };
         
     | 
| 
       19812 
19812 
     | 
    
         
             
                    addSegmentInternal = (skipable, map2, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
         
     | 
| 
       19813 
19813 
     | 
    
         
             
                      const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names } = map2;
         
     | 
| 
         @@ -25138,8 +25138,8 @@ var require_lib6 = __commonJS({ 
     | 
|
| 
       25138 
25138 
     | 
    
         
             
                };
         
     | 
| 
       25139 
25139 
     | 
    
         
             
                exports.CodeGenerator = CodeGenerator;
         
     | 
| 
       25140 
25140 
     | 
    
         
             
                function generate2(ast, opts, code) {
         
     | 
| 
       25141 
     | 
    
         
            -
                  const  
     | 
| 
       25142 
     | 
    
         
            -
                  return  
     | 
| 
      
 25141 
     | 
    
         
            +
                  const gen2 = new Generator(ast, opts, code);
         
     | 
| 
      
 25142 
     | 
    
         
            +
                  return gen2.generate();
         
     | 
| 
       25143 
25143 
     | 
    
         
             
                }
         
     | 
| 
       25144 
25144 
     | 
    
         
             
              }
         
     | 
| 
       25145 
25145 
     | 
    
         
             
            });
         
     | 
| 
         @@ -46322,14 +46322,65 @@ var require_lib13 = __commonJS({ 
     | 
|
| 
       46322 
46322 
     | 
    
         
             
            // src/index.ts
         
     | 
| 
       46323 
46323 
     | 
    
         
             
            var src_exports = {};
         
     | 
| 
       46324 
46324 
     | 
    
         
             
            __export(src_exports, {
         
     | 
| 
      
 46325 
     | 
    
         
            +
              NodeType: () => NodeType,
         
     | 
| 
       46325 
46326 
     | 
    
         
             
              analyzeOptions: () => analyze3,
         
     | 
| 
       46326 
46327 
     | 
    
         
             
              analyzeSetupScript: () => analyze2,
         
     | 
| 
       46327 
46328 
     | 
    
         
             
              analyzeTemplate: () => analyze,
         
     | 
| 
      
 46329 
     | 
    
         
            +
              gen: () => gen,
         
     | 
| 
       46328 
46330 
     | 
    
         
             
              getVisData: () => getVisData,
         
     | 
| 
       46329 
46331 
     | 
    
         
             
              parse: () => parse$7
         
     | 
| 
       46330 
46332 
     | 
    
         
             
            });
         
     | 
| 
       46331 
46333 
     | 
    
         
             
            module.exports = __toCommonJS(src_exports);
         
     | 
| 
       46332 
46334 
     | 
    
         | 
| 
      
 46335 
     | 
    
         
            +
            // src/analyze/utils.ts
         
     | 
| 
      
 46336 
     | 
    
         
            +
            var NodeType = /* @__PURE__ */ ((NodeType3) => {
         
     | 
| 
      
 46337 
     | 
    
         
            +
              NodeType3["var"] = "var";
         
     | 
| 
      
 46338 
     | 
    
         
            +
              NodeType3["fun"] = "fun";
         
     | 
| 
      
 46339 
     | 
    
         
            +
              return NodeType3;
         
     | 
| 
      
 46340 
     | 
    
         
            +
            })(NodeType || {});
         
     | 
| 
      
 46341 
     | 
    
         
            +
            var NodeCollection = class {
         
     | 
| 
      
 46342 
     | 
    
         
            +
              nodes = /* @__PURE__ */ new Map();
         
     | 
| 
      
 46343 
     | 
    
         
            +
              addNode(label, node2, options = { isComputed: false }) {
         
     | 
| 
      
 46344 
     | 
    
         
            +
                if (this.nodes.has(label)) {
         
     | 
| 
      
 46345 
     | 
    
         
            +
                  return;
         
     | 
| 
      
 46346 
     | 
    
         
            +
                }
         
     | 
| 
      
 46347 
     | 
    
         
            +
                if (!options.isComputed && (node2.type === "VariableDeclarator" && [
         
     | 
| 
      
 46348 
     | 
    
         
            +
                  "ArrowFunctionExpression",
         
     | 
| 
      
 46349 
     | 
    
         
            +
                  "FunctionDeclaration"
         
     | 
| 
      
 46350 
     | 
    
         
            +
                ].includes(node2.init?.type || "") || node2.type === "FunctionDeclaration" || node2.type === "ObjectMethod")) {
         
     | 
| 
      
 46351 
     | 
    
         
            +
                  this.nodes.set(label, {
         
     | 
| 
      
 46352 
     | 
    
         
            +
                    label,
         
     | 
| 
      
 46353 
     | 
    
         
            +
                    type: "fun" /* fun */
         
     | 
| 
      
 46354 
     | 
    
         
            +
                  });
         
     | 
| 
      
 46355 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 46356 
     | 
    
         
            +
                  this.nodes.set(label, {
         
     | 
| 
      
 46357 
     | 
    
         
            +
                    label,
         
     | 
| 
      
 46358 
     | 
    
         
            +
                    type: "var" /* var */
         
     | 
| 
      
 46359 
     | 
    
         
            +
                  });
         
     | 
| 
      
 46360 
     | 
    
         
            +
                }
         
     | 
| 
      
 46361 
     | 
    
         
            +
              }
         
     | 
| 
      
 46362 
     | 
    
         
            +
              addTypedNode(label, node2) {
         
     | 
| 
      
 46363 
     | 
    
         
            +
                this.nodes.set(label, {
         
     | 
| 
      
 46364 
     | 
    
         
            +
                  label,
         
     | 
| 
      
 46365 
     | 
    
         
            +
                  type: node2.type
         
     | 
| 
      
 46366 
     | 
    
         
            +
                });
         
     | 
| 
      
 46367 
     | 
    
         
            +
              }
         
     | 
| 
      
 46368 
     | 
    
         
            +
              map(graph) {
         
     | 
| 
      
 46369 
     | 
    
         
            +
                const nodes = new Set(Array.from(graph.nodes).map((node2) => {
         
     | 
| 
      
 46370 
     | 
    
         
            +
                  return this.nodes.get(node2);
         
     | 
| 
      
 46371 
     | 
    
         
            +
                }).filter((node2) => !!node2));
         
     | 
| 
      
 46372 
     | 
    
         
            +
                const edges = new Map(Array.from(graph.edges).map(([from2, to]) => {
         
     | 
| 
      
 46373 
     | 
    
         
            +
                  return [this.nodes.get(from2), new Set(Array.from(to).map((node2) => {
         
     | 
| 
      
 46374 
     | 
    
         
            +
                    return this.nodes.get(node2);
         
     | 
| 
      
 46375 
     | 
    
         
            +
                  }).filter((node2) => !!node2))];
         
     | 
| 
      
 46376 
     | 
    
         
            +
                }));
         
     | 
| 
      
 46377 
     | 
    
         
            +
                return {
         
     | 
| 
      
 46378 
     | 
    
         
            +
                  nodes,
         
     | 
| 
      
 46379 
     | 
    
         
            +
                  edges
         
     | 
| 
      
 46380 
     | 
    
         
            +
                };
         
     | 
| 
      
 46381 
     | 
    
         
            +
              }
         
     | 
| 
      
 46382 
     | 
    
         
            +
            };
         
     | 
| 
      
 46383 
     | 
    
         
            +
             
     | 
| 
       46333 
46384 
     | 
    
         
             
            // node_modules/.pnpm/@vue+compiler-sfc@3.3.4/node_modules/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js
         
     | 
| 
       46334 
46385 
     | 
    
         
             
            function makeMap(str2, expectsLowerCase) {
         
     | 
| 
       46335 
46386 
     | 
    
         
             
              const map2 = /* @__PURE__ */ Object.create(null);
         
     | 
| 
         @@ -86273,52 +86324,6 @@ function analyze(content) { 
     | 
|
| 
       86273 
86324 
     | 
    
         | 
| 
       86274 
86325 
     | 
    
         
             
            // src/analyze/setupScript.ts
         
     | 
| 
       86275 
86326 
     | 
    
         
             
            var import_traverse2 = __toESM(require_lib13());
         
     | 
| 
       86276 
     | 
    
         
            -
             
     | 
| 
       86277 
     | 
    
         
            -
            // src/analyze/utils.ts
         
     | 
| 
       86278 
     | 
    
         
            -
            var NodeCollection = class {
         
     | 
| 
       86279 
     | 
    
         
            -
              nodes = /* @__PURE__ */ new Map();
         
     | 
| 
       86280 
     | 
    
         
            -
              addNode(label, node2, options = { isComputed: false }) {
         
     | 
| 
       86281 
     | 
    
         
            -
                if (this.nodes.has(label)) {
         
     | 
| 
       86282 
     | 
    
         
            -
                  return;
         
     | 
| 
       86283 
     | 
    
         
            -
                }
         
     | 
| 
       86284 
     | 
    
         
            -
                if (!options.isComputed && (node2.type === "VariableDeclarator" && [
         
     | 
| 
       86285 
     | 
    
         
            -
                  "ArrowFunctionExpression",
         
     | 
| 
       86286 
     | 
    
         
            -
                  "FunctionDeclaration"
         
     | 
| 
       86287 
     | 
    
         
            -
                ].includes(node2.init?.type || "") || node2.type === "FunctionDeclaration" || node2.type === "ObjectMethod")) {
         
     | 
| 
       86288 
     | 
    
         
            -
                  this.nodes.set(label, {
         
     | 
| 
       86289 
     | 
    
         
            -
                    label,
         
     | 
| 
       86290 
     | 
    
         
            -
                    type: "fun" /* fun */
         
     | 
| 
       86291 
     | 
    
         
            -
                  });
         
     | 
| 
       86292 
     | 
    
         
            -
                } else {
         
     | 
| 
       86293 
     | 
    
         
            -
                  this.nodes.set(label, {
         
     | 
| 
       86294 
     | 
    
         
            -
                    label,
         
     | 
| 
       86295 
     | 
    
         
            -
                    type: "var" /* var */
         
     | 
| 
       86296 
     | 
    
         
            -
                  });
         
     | 
| 
       86297 
     | 
    
         
            -
                }
         
     | 
| 
       86298 
     | 
    
         
            -
              }
         
     | 
| 
       86299 
     | 
    
         
            -
              addTypedNode(label, node2) {
         
     | 
| 
       86300 
     | 
    
         
            -
                this.nodes.set(label, {
         
     | 
| 
       86301 
     | 
    
         
            -
                  label,
         
     | 
| 
       86302 
     | 
    
         
            -
                  type: node2.type
         
     | 
| 
       86303 
     | 
    
         
            -
                });
         
     | 
| 
       86304 
     | 
    
         
            -
              }
         
     | 
| 
       86305 
     | 
    
         
            -
              map(graph) {
         
     | 
| 
       86306 
     | 
    
         
            -
                const nodes = new Set(Array.from(graph.nodes).map((node2) => {
         
     | 
| 
       86307 
     | 
    
         
            -
                  return this.nodes.get(node2);
         
     | 
| 
       86308 
     | 
    
         
            -
                }).filter((node2) => !!node2));
         
     | 
| 
       86309 
     | 
    
         
            -
                const edges = new Map(Array.from(graph.edges).map(([from2, to]) => {
         
     | 
| 
       86310 
     | 
    
         
            -
                  return [this.nodes.get(from2), new Set(Array.from(to).map((node2) => {
         
     | 
| 
       86311 
     | 
    
         
            -
                    return this.nodes.get(node2);
         
     | 
| 
       86312 
     | 
    
         
            -
                  }).filter((node2) => !!node2))];
         
     | 
| 
       86313 
     | 
    
         
            -
                }));
         
     | 
| 
       86314 
     | 
    
         
            -
                return {
         
     | 
| 
       86315 
     | 
    
         
            -
                  nodes,
         
     | 
| 
       86316 
     | 
    
         
            -
                  edges
         
     | 
| 
       86317 
     | 
    
         
            -
                };
         
     | 
| 
       86318 
     | 
    
         
            -
              }
         
     | 
| 
       86319 
     | 
    
         
            -
            };
         
     | 
| 
       86320 
     | 
    
         
            -
             
     | 
| 
       86321 
     | 
    
         
            -
            // src/analyze/setupScript.ts
         
     | 
| 
       86322 
86327 
     | 
    
         
             
            var traverse2 = (
         
     | 
| 
       86323 
86328 
     | 
    
         
             
              //@ts-ignore
         
     | 
| 
       86324 
86329 
     | 
    
         
             
              import_traverse2.default.default?.default || import_traverse2.default.default || import_traverse2.default
         
     | 
| 
         @@ -86808,6 +86813,99 @@ function analyze3(content) { 
     | 
|
| 
       86808 
86813 
     | 
    
         
             
              return nodeCollection.map(graph);
         
     | 
| 
       86809 
86814 
     | 
    
         
             
            }
         
     | 
| 
       86810 
86815 
     | 
    
         | 
| 
      
 86816 
     | 
    
         
            +
            // src/suggest/split.ts
         
     | 
| 
      
 86817 
     | 
    
         
            +
            function dfs(graph, node2, targets, visited, component) {
         
     | 
| 
      
 86818 
     | 
    
         
            +
              component.add(node2);
         
     | 
| 
      
 86819 
     | 
    
         
            +
              visited.add(node2);
         
     | 
| 
      
 86820 
     | 
    
         
            +
              targets.forEach((target) => {
         
     | 
| 
      
 86821 
     | 
    
         
            +
                if (!visited.has(target)) {
         
     | 
| 
      
 86822 
     | 
    
         
            +
                  dfs(graph, target, graph.get(target) || /* @__PURE__ */ new Set(), visited, component);
         
     | 
| 
      
 86823 
     | 
    
         
            +
                }
         
     | 
| 
      
 86824 
     | 
    
         
            +
              });
         
     | 
| 
      
 86825 
     | 
    
         
            +
            }
         
     | 
| 
      
 86826 
     | 
    
         
            +
            function haveIntersection(setA, setB) {
         
     | 
| 
      
 86827 
     | 
    
         
            +
              for (let item of setA) {
         
     | 
| 
      
 86828 
     | 
    
         
            +
                if (setB.has(item)) {
         
     | 
| 
      
 86829 
     | 
    
         
            +
                  return true;
         
     | 
| 
      
 86830 
     | 
    
         
            +
                }
         
     | 
| 
      
 86831 
     | 
    
         
            +
              }
         
     | 
| 
      
 86832 
     | 
    
         
            +
              return false;
         
     | 
| 
      
 86833 
     | 
    
         
            +
            }
         
     | 
| 
      
 86834 
     | 
    
         
            +
            function mergeSets(arr) {
         
     | 
| 
      
 86835 
     | 
    
         
            +
              let result2 = [...arr];
         
     | 
| 
      
 86836 
     | 
    
         
            +
              for (let i = 0; i < result2.length; i++) {
         
     | 
| 
      
 86837 
     | 
    
         
            +
                for (let j = i + 1; j < result2.length; j++) {
         
     | 
| 
      
 86838 
     | 
    
         
            +
                  if (haveIntersection(result2[i], result2[j])) {
         
     | 
| 
      
 86839 
     | 
    
         
            +
                    const newSet = /* @__PURE__ */ new Set([...result2[i], ...result2[j]]);
         
     | 
| 
      
 86840 
     | 
    
         
            +
                    result2.splice(j, 1);
         
     | 
| 
      
 86841 
     | 
    
         
            +
                    result2.splice(i, 1);
         
     | 
| 
      
 86842 
     | 
    
         
            +
                    result2 = [...result2, newSet];
         
     | 
| 
      
 86843 
     | 
    
         
            +
                    return mergeSets(result2);
         
     | 
| 
      
 86844 
     | 
    
         
            +
                  }
         
     | 
| 
      
 86845 
     | 
    
         
            +
                }
         
     | 
| 
      
 86846 
     | 
    
         
            +
              }
         
     | 
| 
      
 86847 
     | 
    
         
            +
              return result2;
         
     | 
| 
      
 86848 
     | 
    
         
            +
            }
         
     | 
| 
      
 86849 
     | 
    
         
            +
            function splitGraph(graph) {
         
     | 
| 
      
 86850 
     | 
    
         
            +
              const components = [];
         
     | 
| 
      
 86851 
     | 
    
         
            +
              const sorted = Array.from(graph).sort((a, b) => b[1].size - a[1].size);
         
     | 
| 
      
 86852 
     | 
    
         
            +
              new Map(sorted).forEach((targets, node2) => {
         
     | 
| 
      
 86853 
     | 
    
         
            +
                const visited = /* @__PURE__ */ new Set();
         
     | 
| 
      
 86854 
     | 
    
         
            +
                if (!visited.has(node2)) {
         
     | 
| 
      
 86855 
     | 
    
         
            +
                  let component = /* @__PURE__ */ new Set();
         
     | 
| 
      
 86856 
     | 
    
         
            +
                  dfs(graph, node2, targets, visited, component);
         
     | 
| 
      
 86857 
     | 
    
         
            +
                  components.push(component);
         
     | 
| 
      
 86858 
     | 
    
         
            +
                }
         
     | 
| 
      
 86859 
     | 
    
         
            +
              });
         
     | 
| 
      
 86860 
     | 
    
         
            +
              return mergeSets(components).map((component) => {
         
     | 
| 
      
 86861 
     | 
    
         
            +
                const subGraph = /* @__PURE__ */ new Map();
         
     | 
| 
      
 86862 
     | 
    
         
            +
                component.forEach((node2) => {
         
     | 
| 
      
 86863 
     | 
    
         
            +
                  const targets = graph.get(node2);
         
     | 
| 
      
 86864 
     | 
    
         
            +
                  if (targets) {
         
     | 
| 
      
 86865 
     | 
    
         
            +
                    subGraph.set(node2, targets);
         
     | 
| 
      
 86866 
     | 
    
         
            +
                  }
         
     | 
| 
      
 86867 
     | 
    
         
            +
                });
         
     | 
| 
      
 86868 
     | 
    
         
            +
                return subGraph;
         
     | 
| 
      
 86869 
     | 
    
         
            +
              });
         
     | 
| 
      
 86870 
     | 
    
         
            +
            }
         
     | 
| 
      
 86871 
     | 
    
         
            +
             
     | 
| 
      
 86872 
     | 
    
         
            +
            // src/suggest/filter.ts
         
     | 
| 
      
 86873 
     | 
    
         
            +
            function noIndegreeFilter(graph) {
         
     | 
| 
      
 86874 
     | 
    
         
            +
              const nodes = Array.from(graph.keys());
         
     | 
| 
      
 86875 
     | 
    
         
            +
              const indegree = /* @__PURE__ */ new Map();
         
     | 
| 
      
 86876 
     | 
    
         
            +
              nodes.forEach((node2) => {
         
     | 
| 
      
 86877 
     | 
    
         
            +
                indegree.set(node2, 0);
         
     | 
| 
      
 86878 
     | 
    
         
            +
              });
         
     | 
| 
      
 86879 
     | 
    
         
            +
              graph.forEach((targets, node2) => {
         
     | 
| 
      
 86880 
     | 
    
         
            +
                targets.forEach((target) => {
         
     | 
| 
      
 86881 
     | 
    
         
            +
                  indegree.set(target, (indegree.get(target) || 0) + 1);
         
     | 
| 
      
 86882 
     | 
    
         
            +
                });
         
     | 
| 
      
 86883 
     | 
    
         
            +
              });
         
     | 
| 
      
 86884 
     | 
    
         
            +
              return nodes.filter((node2) => indegree.get(node2) === 0);
         
     | 
| 
      
 86885 
     | 
    
         
            +
            }
         
     | 
| 
      
 86886 
     | 
    
         
            +
             
     | 
| 
      
 86887 
     | 
    
         
            +
            // src/suggest/index.ts
         
     | 
| 
      
 86888 
     | 
    
         
            +
            function gen(graph, usedNodes) {
         
     | 
| 
      
 86889 
     | 
    
         
            +
              const suggests = [];
         
     | 
| 
      
 86890 
     | 
    
         
            +
              const splitedGraph = splitGraph(graph.edges);
         
     | 
| 
      
 86891 
     | 
    
         
            +
              splitedGraph.forEach((g) => {
         
     | 
| 
      
 86892 
     | 
    
         
            +
                const nodes = Array.from(g.keys());
         
     | 
| 
      
 86893 
     | 
    
         
            +
                if (splitedGraph.length > 1) {
         
     | 
| 
      
 86894 
     | 
    
         
            +
                  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." : "."}`);
         
     | 
| 
      
 86895 
     | 
    
         
            +
                }
         
     | 
| 
      
 86896 
     | 
    
         
            +
                if (nodes.every((node2) => !usedNodes.has(node2.label))) {
         
     | 
| 
      
 86897 
     | 
    
         
            +
                  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"}.`);
         
     | 
| 
      
 86898 
     | 
    
         
            +
                }
         
     | 
| 
      
 86899 
     | 
    
         
            +
              });
         
     | 
| 
      
 86900 
     | 
    
         
            +
              const noIndegreeNodes = noIndegreeFilter(graph.edges);
         
     | 
| 
      
 86901 
     | 
    
         
            +
              noIndegreeNodes.forEach((node2) => {
         
     | 
| 
      
 86902 
     | 
    
         
            +
                if (!usedNodes.has(node2.label)) {
         
     | 
| 
      
 86903 
     | 
    
         
            +
                  suggests.push(`Node [${node2.label}] is not used, perhaps you can remove it.`);
         
     | 
| 
      
 86904 
     | 
    
         
            +
                }
         
     | 
| 
      
 86905 
     | 
    
         
            +
              });
         
     | 
| 
      
 86906 
     | 
    
         
            +
              return suggests;
         
     | 
| 
      
 86907 
     | 
    
         
            +
            }
         
     | 
| 
      
 86908 
     | 
    
         
            +
             
     | 
| 
       86811 
86909 
     | 
    
         
             
            // src/vis.ts
         
     | 
| 
       86812 
86910 
     | 
    
         
             
            function getVisData(graph, usedNodes) {
         
     | 
| 
       86813 
86911 
     | 
    
         
             
              const nodes = [];
         
     | 
| 
         @@ -86843,9 +86941,11 @@ function getVisData(graph, usedNodes) { 
     | 
|
| 
       86843 
86941 
     | 
    
         
             
            }
         
     | 
| 
       86844 
86942 
     | 
    
         
             
            // Annotate the CommonJS export names for ESM import in node:
         
     | 
| 
       86845 
86943 
     | 
    
         
             
            0 && (module.exports = {
         
     | 
| 
      
 86944 
     | 
    
         
            +
              NodeType,
         
     | 
| 
       86846 
86945 
     | 
    
         
             
              analyzeOptions,
         
     | 
| 
       86847 
86946 
     | 
    
         
             
              analyzeSetupScript,
         
     | 
| 
       86848 
86947 
     | 
    
         
             
              analyzeTemplate,
         
     | 
| 
      
 86948 
     | 
    
         
            +
              gen,
         
     | 
| 
       86849 
86949 
     | 
    
         
             
              getVisData,
         
     | 
| 
       86850 
86950 
     | 
    
         
             
              parse
         
     | 
| 
       86851 
86951 
     | 
    
         
             
            });
         
     |