@rsdoctor/graph 1.5.9 → 1.5.11
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/dist/graph/chunk-graph/asset.d.cts +15 -0
- package/dist/graph/chunk-graph/chunk.d.cts +32 -0
- package/dist/graph/chunk-graph/entrypoint.d.cts +15 -0
- package/dist/graph/chunk-graph/graph.d.cts +22 -0
- package/dist/graph/chunk-graph/index.d.cts +4 -0
- package/dist/graph/index.d.cts +3 -0
- package/dist/graph/module-graph/dependency.d.cts +25 -0
- package/dist/graph/module-graph/graph.d.cts +44 -0
- package/dist/graph/module-graph/index.d.cts +7 -0
- package/dist/graph/module-graph/module.d.cts +87 -0
- package/dist/graph/module-graph/statement.d.cts +11 -0
- package/dist/graph/module-graph/tree-shaking/export.d.cts +19 -0
- package/dist/graph/module-graph/tree-shaking/index.d.cts +5 -0
- package/dist/graph/module-graph/tree-shaking/module.d.cts +23 -0
- package/dist/graph/module-graph/tree-shaking/sideEffect.d.cts +21 -0
- package/dist/graph/module-graph/tree-shaking/types.d.cts +5 -0
- package/dist/graph/module-graph/tree-shaking/variable.d.cts +15 -0
- package/dist/graph/module-graph/types.d.cts +12 -0
- package/dist/graph/module-graph/utils.d.cts +26 -0
- package/dist/graph/package-graph/dependency.d.cts +13 -0
- package/dist/graph/package-graph/graph.d.cts +25 -0
- package/dist/graph/package-graph/index.d.cts +4 -0
- package/dist/graph/package-graph/package.d.cts +24 -0
- package/dist/graph/package-graph/types.d.cts +6 -0
- package/dist/graph/package-graph/utils.d.cts +3 -0
- package/dist/index.cjs +17 -17
- package/dist/index.d.cts +3 -0
- package/dist/transform/chunks/assetsContent.d.cts +4 -0
- package/dist/transform/chunks/assetsModules.d.cts +22 -0
- package/dist/transform/chunks/chunkTransform.d.cts +5 -0
- package/dist/transform/chunks/index.d.cts +3 -0
- package/dist/transform/index.d.cts +4 -0
- package/dist/transform/module-graph/compatible.d.cts +8 -0
- package/dist/transform/module-graph/index.d.cts +3 -0
- package/dist/transform/module-graph/transform.d.cts +7 -0
- package/dist/transform/module-graph/utils.d.cts +13 -0
- package/dist/transform/trans-utils/index.d.cts +1 -0
- package/dist/transform/trans-utils/transStats.d.cts +10 -0
- package/dist/transform/webpack/compatible.d.cts +16 -0
- package/dist/types/index.d.cts +1 -0
- package/dist/types/transform.d.cts +6 -0
- package/package.json +11 -6
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Asset implements SDK.AssetInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
id: number;
|
|
5
|
+
path: string;
|
|
6
|
+
size: number;
|
|
7
|
+
content: string;
|
|
8
|
+
chunks: SDK.ChunkInstance[];
|
|
9
|
+
gzipSize: number | undefined;
|
|
10
|
+
constructor(path: string, size: number, chunks: SDK.ChunkInstance[], content: string);
|
|
11
|
+
toData(types: SDK.ToDataType): SDK.AssetData;
|
|
12
|
+
setChunks(chunks: SDK.ChunkInstance[]): void;
|
|
13
|
+
setId(id: number): void;
|
|
14
|
+
setGzipSize(content: string): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Chunk implements SDK.ChunkInstance {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly size: number;
|
|
6
|
+
readonly initial: boolean;
|
|
7
|
+
readonly entry: boolean;
|
|
8
|
+
private _assets;
|
|
9
|
+
private _modules;
|
|
10
|
+
private _dependencies;
|
|
11
|
+
private _imported;
|
|
12
|
+
private _parsedSize;
|
|
13
|
+
constructor(id: string, name: string, size: number, initial: boolean, entry: boolean);
|
|
14
|
+
isEntry(): boolean;
|
|
15
|
+
isChunkEntryModule(module: SDK.ModuleInstance): boolean;
|
|
16
|
+
hasModule(module: SDK.ModuleInstance): boolean;
|
|
17
|
+
addModule(module: SDK.ModuleInstance): void;
|
|
18
|
+
addAsset(asset: SDK.AssetInstance): void;
|
|
19
|
+
addModules(modules: SDK.ModuleInstance[]): void;
|
|
20
|
+
addDependency(dep: SDK.ChunkInstance): void;
|
|
21
|
+
addImported(imported: SDK.ChunkInstance): void;
|
|
22
|
+
getAssets(): SDK.AssetInstance[];
|
|
23
|
+
getModules(): SDK.ModuleInstance[];
|
|
24
|
+
getDependencies(): SDK.ChunkInstance[];
|
|
25
|
+
getImported(): SDK.ChunkInstance[];
|
|
26
|
+
setParsedSize(parsedSize: number): void;
|
|
27
|
+
toData(): SDK.ChunkData;
|
|
28
|
+
setDependencies(dependencies: SDK.ChunkInstance[]): void;
|
|
29
|
+
setImported(imported: SDK.ChunkInstance[]): void;
|
|
30
|
+
setModules(modules: SDK.ModuleInstance[]): void;
|
|
31
|
+
setAssets(assets: SDK.AssetInstance[]): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class EntryPoint implements SDK.EntryPointInstance {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
static init(): void;
|
|
5
|
+
constructor(name: string);
|
|
6
|
+
id: number;
|
|
7
|
+
private _chunks;
|
|
8
|
+
private _assets;
|
|
9
|
+
addChunk(chunk: SDK.ChunkInstance): void;
|
|
10
|
+
addAsset(asset: SDK.AssetInstance): void;
|
|
11
|
+
toData(): SDK.EntryPointData;
|
|
12
|
+
setChunks(chunks: SDK.ChunkInstance[]): void;
|
|
13
|
+
setAssets(assets: SDK.AssetInstance[]): void;
|
|
14
|
+
setId(id: number): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class ChunkGraph implements SDK.ChunkGraphInstance {
|
|
3
|
+
private _assetMap;
|
|
4
|
+
private _assetPathMap;
|
|
5
|
+
private _chunkMap;
|
|
6
|
+
private _entrypointMap;
|
|
7
|
+
getAssets(): SDK.AssetInstance[];
|
|
8
|
+
getChunks(): SDK.ChunkInstance[];
|
|
9
|
+
addAsset(...assets: SDK.AssetInstance[]): void;
|
|
10
|
+
addChunk(...chunks: SDK.ChunkInstance[]): void;
|
|
11
|
+
getChunkById(id: string): SDK.ChunkInstance | undefined;
|
|
12
|
+
getAssetByPath(path: string): SDK.AssetInstance | undefined;
|
|
13
|
+
getAssetById(id: number): SDK.AssetInstance | undefined;
|
|
14
|
+
getEntryPoints(): SDK.EntryPointInstance[];
|
|
15
|
+
getEntryPointById(id: number): SDK.EntryPointInstance | undefined;
|
|
16
|
+
addEntryPoint(...entrypoints: SDK.EntryPointInstance[]): void;
|
|
17
|
+
/** output the chunk graph data */
|
|
18
|
+
toData(type: SDK.ToDataType): SDK.ChunkGraphData;
|
|
19
|
+
setChunks(chunks: SDK.ChunkInstance[]): void;
|
|
20
|
+
setEntrypoints(entrypoints: SDK.EntryPointInstance[]): void;
|
|
21
|
+
setAssets(assets: SDK.AssetInstance[]): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Dependency implements SDK.DependencyInstance {
|
|
3
|
+
static kind: typeof SDK.DependencyKind;
|
|
4
|
+
static init(): void;
|
|
5
|
+
id: number;
|
|
6
|
+
readonly request: string;
|
|
7
|
+
readonly module: SDK.ModuleInstance;
|
|
8
|
+
readonly kind: SDK.DependencyKind;
|
|
9
|
+
typeString?: string;
|
|
10
|
+
readonly statements: SDK.StatementInstance[];
|
|
11
|
+
private _originDependency;
|
|
12
|
+
meta: SDK.DependencyBuildMeta;
|
|
13
|
+
constructor(request: string, module: SDK.ModuleInstance, dependency: SDK.ModuleInstance, kind: SDK.DependencyKind, statements?: SDK.StatementInstance[]);
|
|
14
|
+
get resolvedRequest(): string;
|
|
15
|
+
get dependency(): SDK.ModuleInstance;
|
|
16
|
+
get originDependency(): SDK.ModuleInstance;
|
|
17
|
+
get kindString(): keyof typeof SDK.DependencyKind;
|
|
18
|
+
get resolveConcatenationModule(): boolean;
|
|
19
|
+
isSameWithoutStatements(dep: Dependency): boolean;
|
|
20
|
+
addStatement(statement: SDK.StatementInstance): void;
|
|
21
|
+
hasStatement(statement: SDK.StatementInstance): boolean;
|
|
22
|
+
setBuildMeta(data: SDK.DependencyBuildMeta): void;
|
|
23
|
+
toData(): SDK.DependencyData;
|
|
24
|
+
setId(id: number): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class ModuleGraph implements SDK.ModuleGraphInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
static fromData(data: Partial<SDK.ModuleGraphData>): ModuleGraph;
|
|
5
|
+
private _dependenciesIdMap;
|
|
6
|
+
private _connectionsOnlyImports;
|
|
7
|
+
private _moduleWebpackIdMap;
|
|
8
|
+
private _moduleIdMap;
|
|
9
|
+
private _moduleGraphModules;
|
|
10
|
+
private _exportIdMap;
|
|
11
|
+
private _sideEffectIdMap;
|
|
12
|
+
private _varIdMap;
|
|
13
|
+
private _layers;
|
|
14
|
+
clear(): void;
|
|
15
|
+
size(): number;
|
|
16
|
+
fromInstance(data: SDK.ModuleGraphInstance): void;
|
|
17
|
+
getSubGraphByModule(module: SDK.ModuleInstance): SDK.ModuleInstance[];
|
|
18
|
+
getModules(): SDK.ModuleInstance[];
|
|
19
|
+
getDependencies(): SDK.DependencyInstance[];
|
|
20
|
+
getEntryModules(): SDK.ModuleInstance[];
|
|
21
|
+
getModuleById(id: number): SDK.ModuleInstance | undefined;
|
|
22
|
+
getDependencyById(id: number): SDK.DependencyInstance | undefined;
|
|
23
|
+
getModuleByWebpackId(id: string): SDK.ModuleInstance | undefined;
|
|
24
|
+
getModuleByFile(file: string, layer?: string): SDK.ModuleInstance[];
|
|
25
|
+
addModule(...modules: SDK.ModuleInstance[]): void;
|
|
26
|
+
addDependency(...deps: SDK.DependencyInstance[]): void;
|
|
27
|
+
removeModule(module: SDK.ModuleInstance): void;
|
|
28
|
+
removeDependency(dep: SDK.DependencyInstance): void;
|
|
29
|
+
addModuleGraphModule(mgm: SDK.ModuleGraphModuleInstance): void;
|
|
30
|
+
getModuleGraphModule(module: SDK.ModuleInstance): SDK.ModuleGraphModuleInstance;
|
|
31
|
+
getModuleGraphModules(): SDK.ModuleGraphModuleInstance[];
|
|
32
|
+
addExportInfo(data: SDK.ExportInstance): void;
|
|
33
|
+
addSideEffect(data: SDK.SideEffectInstance): void;
|
|
34
|
+
addVariable(data: SDK.VariableInstance): void;
|
|
35
|
+
addLayer(layer: string): void;
|
|
36
|
+
getLayers(): Map<string, number>;
|
|
37
|
+
toData(configs?: SDK.ModuleGraphToDataArgs): SDK.ModuleGraphData;
|
|
38
|
+
toTreeShakingData(): SDK.TreeShakingData;
|
|
39
|
+
toCodeData(type?: SDK.ToDataType): SDK.ModuleCodeData;
|
|
40
|
+
setModules(modules: SDK.ModuleInstance[]): void;
|
|
41
|
+
setDependencies(dependencies: SDK.DependencyInstance[]): void;
|
|
42
|
+
setConnectionsOnlyImports(items: SDK.ConnectionsOnlyImportData[]): void;
|
|
43
|
+
getConnectionsOnlyImports(): SDK.ConnectionsOnlyImportData[];
|
|
44
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { SDK, Plugin } from '@rsdoctor/types';
|
|
2
|
+
import type { SourceMapConsumer } from 'source-map';
|
|
3
|
+
import type { Program } from 'estree';
|
|
4
|
+
import { Dependency } from './dependency';
|
|
5
|
+
import { Statement } from './statement';
|
|
6
|
+
export declare class Module implements SDK.ModuleInstance {
|
|
7
|
+
static kind: typeof SDK.ModuleKind;
|
|
8
|
+
issuerPath: SDK.ModuleInstance['issuerPath'];
|
|
9
|
+
static init(): void;
|
|
10
|
+
id: number;
|
|
11
|
+
renderId: string | undefined;
|
|
12
|
+
bailoutReason: string[];
|
|
13
|
+
/** Side effect location data from the bundler */
|
|
14
|
+
sideEffectLocations: SDK.SideEffectLocationData[];
|
|
15
|
+
/** Side effect code snippets */
|
|
16
|
+
private sideEffectCodes;
|
|
17
|
+
readonly webpackId: string;
|
|
18
|
+
readonly path: string;
|
|
19
|
+
readonly isEntry: boolean;
|
|
20
|
+
readonly kind: SDK.ModuleKind;
|
|
21
|
+
readonly layer?: string;
|
|
22
|
+
private source;
|
|
23
|
+
private size;
|
|
24
|
+
private sourceMap;
|
|
25
|
+
private program;
|
|
26
|
+
private chunks;
|
|
27
|
+
private dependencies;
|
|
28
|
+
private imported;
|
|
29
|
+
private modules;
|
|
30
|
+
private concatenationModules;
|
|
31
|
+
private _isPreferSource?;
|
|
32
|
+
meta: SDK.ModuleBuildMeta;
|
|
33
|
+
constructor(webpackId: string, path: string, isEntry?: boolean, kind?: SDK.ModuleKind, renderId?: string | undefined, layer?: string);
|
|
34
|
+
get rootModule(): SDK.ModuleInstance | undefined;
|
|
35
|
+
get isPreferSource(): boolean;
|
|
36
|
+
addBailoutReason(reason: string): void;
|
|
37
|
+
getBailoutReason(): string[];
|
|
38
|
+
addSideEffectLocation(location: SDK.SideEffectLocationData): void;
|
|
39
|
+
getSideEffectLocations(): SDK.SideEffectLocationData[];
|
|
40
|
+
addSideEffectCode(codeData: SDK.SideEffectCodeData): void;
|
|
41
|
+
getSideEffectCodes(): SDK.SideEffectCodeData[];
|
|
42
|
+
getChunks(): SDK.ChunkInstance[];
|
|
43
|
+
addChunk(chunk: SDK.ChunkInstance): void;
|
|
44
|
+
removeChunk(chunk: SDK.ChunkInstance): void;
|
|
45
|
+
getDependencies(): SDK.DependencyInstance[];
|
|
46
|
+
getDependencyByRequest(request: string): SDK.DependencyInstance | undefined;
|
|
47
|
+
getDependencyByModule(module: SDK.ModuleInstance): SDK.DependencyInstance | undefined;
|
|
48
|
+
addDependency(request: string, module: SDK.ModuleInstance, kind: SDK.DependencyKind, statements?: SDK.StatementInstance[]): Dependency | undefined;
|
|
49
|
+
removeDependency(dep: SDK.DependencyInstance): void;
|
|
50
|
+
removeDependencyByModule(module: SDK.ModuleInstance): void;
|
|
51
|
+
getImported(): SDK.ModuleInstance[];
|
|
52
|
+
addImported(module: SDK.ModuleInstance): void;
|
|
53
|
+
removeImported(module: SDK.ModuleInstance): void;
|
|
54
|
+
setProgram(program: Program): void;
|
|
55
|
+
getProgram(): Program | undefined;
|
|
56
|
+
setSource(input: Partial<SDK.ModuleSource>): void;
|
|
57
|
+
getSource(type?: SDK.ToDataType): {
|
|
58
|
+
source: string;
|
|
59
|
+
transformed: string;
|
|
60
|
+
parsedSource: string;
|
|
61
|
+
};
|
|
62
|
+
setSourceMap(sourceMap: SourceMapConsumer): void;
|
|
63
|
+
getSourceMap(): SourceMapConsumer | undefined;
|
|
64
|
+
setSize(input: Partial<SDK.ModuleSize>): void;
|
|
65
|
+
getSize(): {
|
|
66
|
+
sourceSize: number;
|
|
67
|
+
transformedSize: number;
|
|
68
|
+
parsedSize: number;
|
|
69
|
+
gzipSize: number;
|
|
70
|
+
};
|
|
71
|
+
getStatement(transformed: SDK.SourceRange): Statement;
|
|
72
|
+
getSourceRange(transformed: SDK.SourceRange): SDK.SourceRange | undefined;
|
|
73
|
+
addNormalModule(module: SDK.ModuleInstance): void;
|
|
74
|
+
getNormalModules(): SDK.ModuleInstance[];
|
|
75
|
+
addConcatenationModule(module: SDK.ModuleInstance): void;
|
|
76
|
+
addIssuerPath(issuerPath: Plugin.StatsModule['issuerPath']): void;
|
|
77
|
+
getIssuerPath(): Plugin.StatsModule['issuerPath'];
|
|
78
|
+
getConcatenationModules(): SDK.ModuleInstance[];
|
|
79
|
+
toData(contextPath?: string, isBrief?: boolean): SDK.ModuleData;
|
|
80
|
+
setId(id: number): void;
|
|
81
|
+
setRenderId(renderId: string): void;
|
|
82
|
+
setChunks(chunks: SDK.ChunkInstance[]): void;
|
|
83
|
+
setDependencies(dependencies: SDK.DependencyInstance[]): void;
|
|
84
|
+
setImported(imported: SDK.ModuleInstance[]): void;
|
|
85
|
+
setModules(modules: SDK.ModuleInstance[]): void;
|
|
86
|
+
setConcatenationModules(modules: SDK.ModuleInstance[]): void;
|
|
87
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Statement implements SDK.StatementInstance {
|
|
3
|
+
static getDefaultStatement(module: SDK.ModuleInstance): Statement;
|
|
4
|
+
readonly position: SDK.StatementPosition;
|
|
5
|
+
readonly module: SDK.ModuleInstance;
|
|
6
|
+
constructor(module: SDK.ModuleInstance, position: SDK.StatementPosition);
|
|
7
|
+
isSame(statement: SDK.StatementInstance): boolean;
|
|
8
|
+
getSourcePosition(): SDK.SourceRange | undefined;
|
|
9
|
+
getLineCode(): string | undefined;
|
|
10
|
+
toData(): SDK.StatementData;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class ExportInfo implements SDK.ExportInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
identifier?: SDK.StatementInstance;
|
|
7
|
+
private from?;
|
|
8
|
+
private _variable?;
|
|
9
|
+
private _sideEffects;
|
|
10
|
+
constructor(name: string, identifier?: SDK.StatementInstance, variable?: SDK.VariableInstance);
|
|
11
|
+
get isReExport(): boolean;
|
|
12
|
+
set variable(data: SDK.VariableInstance | undefined);
|
|
13
|
+
get variable(): SDK.VariableInstance | undefined;
|
|
14
|
+
addSideEffect(info: SDK.SideEffectInstance): void;
|
|
15
|
+
getSideEffects(): SDK.SideEffectInstance[];
|
|
16
|
+
setFromExport(from: SDK.ExportInstance): void;
|
|
17
|
+
getRecursiveExport(depth?: number): ExportInfo;
|
|
18
|
+
toData(): SDK.ExportData;
|
|
19
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class ModuleGraphModule implements SDK.ModuleGraphModuleInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
readonly module: SDK.ModuleInstance;
|
|
5
|
+
private exports;
|
|
6
|
+
private sideEffects;
|
|
7
|
+
private variables;
|
|
8
|
+
private _dynamic?;
|
|
9
|
+
private _graph;
|
|
10
|
+
constructor(module: SDK.ModuleInstance, graph: SDK.ModuleGraphInstance, dynamic?: boolean);
|
|
11
|
+
get dynamic(): boolean;
|
|
12
|
+
addExportInfo(data: SDK.ExportInstance): void;
|
|
13
|
+
addSideEffect(data: SDK.SideEffectInstance): void;
|
|
14
|
+
addVariable(data: SDK.VariableInstance): void;
|
|
15
|
+
getExports(): SDK.ExportInstance[];
|
|
16
|
+
getSideEffects(name?: string): SDK.SideEffectInstance[];
|
|
17
|
+
getOwnExports(): SDK.ExportInstance[];
|
|
18
|
+
getExport(name: string): SDK.ExportInstance | undefined;
|
|
19
|
+
getReExports(): SDK.ExportInstance[];
|
|
20
|
+
getOwnExport(name: string): SDK.ExportInstance | undefined;
|
|
21
|
+
getReExport(name: string): SDK.ExportInstance | undefined;
|
|
22
|
+
toData(): SDK.ModuleGraphModuleData;
|
|
23
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class SideEffect implements SDK.SideEffectInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
/** Name import tags */
|
|
5
|
+
static NamespaceSymbol: symbol;
|
|
6
|
+
readonly id: number;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly originName?: string;
|
|
9
|
+
readonly module: SDK.ModuleInstance;
|
|
10
|
+
readonly identifier: SDK.StatementInstance;
|
|
11
|
+
readonly isNameSpace: boolean;
|
|
12
|
+
readonly fromDependency?: SDK.DependencyInstance;
|
|
13
|
+
private _exports;
|
|
14
|
+
private _variable?;
|
|
15
|
+
constructor(name: string, module: SDK.ModuleInstance, identifier: SDK.StatementInstance, fromRequest?: string, originName?: string | symbol);
|
|
16
|
+
get variable(): SDK.VariableInstance | undefined;
|
|
17
|
+
get exports(): SDK.ExportInstance[];
|
|
18
|
+
setModuleExport(mgm: SDK.ModuleGraphModuleInstance): void;
|
|
19
|
+
setExportInfo(info: SDK.ExportInstance): void;
|
|
20
|
+
toData(): SDK.SideEffectData;
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Variable implements SDK.VariableInstance {
|
|
3
|
+
static init(): void;
|
|
4
|
+
readonly id: number;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly module: SDK.ModuleInstance;
|
|
7
|
+
readonly usedInfo: string;
|
|
8
|
+
readonly identifier: SDK.StatementInstance;
|
|
9
|
+
private _exported?;
|
|
10
|
+
constructor(name: string, module: SDK.ModuleInstance, usedInfo: string, identifier: SDK.StatementInstance);
|
|
11
|
+
get isUsed(): boolean;
|
|
12
|
+
setExportInfo(info: SDK.ExportInstance): void;
|
|
13
|
+
getExportInfo(): SDK.ExportInstance | undefined;
|
|
14
|
+
toData(): SDK.VariableData;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SDK } from '@rsdoctor/types';
|
|
2
|
+
export type ModuleBuildMeta = SDK.ModuleBuildMeta;
|
|
3
|
+
export type ModuleSize = SDK.ModuleSize;
|
|
4
|
+
export type ModuleSource = SDK.ModuleSource;
|
|
5
|
+
export type DependencyBuildMeta = SDK.DependencyBuildMeta;
|
|
6
|
+
export type SourcePosition = SDK.SourcePosition;
|
|
7
|
+
export type SourceRange = SDK.SourceRange;
|
|
8
|
+
export type StatementPosition = SDK.StatementPosition;
|
|
9
|
+
export type ModuleData = SDK.ModuleData;
|
|
10
|
+
export type DependencyData = SDK.DependencyData;
|
|
11
|
+
export type StatementData = SDK.StatementData;
|
|
12
|
+
export type ModuleGraphData = SDK.ModuleGraphData;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare function isSamePosition(po1: SDK.SourcePosition, po2: SDK.SourcePosition): boolean;
|
|
3
|
+
export declare function isSameRange(po1: SDK.SourceRange, po2: SDK.SourceRange): boolean;
|
|
4
|
+
export declare function getModuleName(name?: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Parse location string from Rspack side effect location
|
|
7
|
+
* Supports formats:
|
|
8
|
+
* - "line:column" -> { startLine, startColumn }
|
|
9
|
+
* - "startLine:startColumn-endLine:endColumn" -> full range (e.g. 3:1-7:2)
|
|
10
|
+
* - "line:startColumn-endColumn" -> single-line range (e.g. 11:72-285)
|
|
11
|
+
* - "startLine-endLine:endColumn" -> start column omitted (e.g. 1-7:2)
|
|
12
|
+
* - "startLine-endLine" -> line range only
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseLocation(location: string): {
|
|
15
|
+
startLine: number;
|
|
16
|
+
startColumn: number;
|
|
17
|
+
endLine?: number;
|
|
18
|
+
endColumn?: number;
|
|
19
|
+
} | null;
|
|
20
|
+
/**
|
|
21
|
+
* Extract code snippet from source based on location
|
|
22
|
+
* @param source The source code string
|
|
23
|
+
* @param location Parsed location object
|
|
24
|
+
* @returns Extracted code snippet
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractCodeFromLocation(source: string, location: ReturnType<typeof parseLocation>): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class PackageDependency implements SDK.PackageDependencyInstance {
|
|
3
|
+
id: number;
|
|
4
|
+
dependency: SDK.PackageInstance;
|
|
5
|
+
package: SDK.PackageInstance;
|
|
6
|
+
refDependency: SDK.DependencyInstance;
|
|
7
|
+
constructor(pack: SDK.PackageInstance, dep: SDK.PackageInstance, refDependency: SDK.DependencyInstance);
|
|
8
|
+
get name(): string;
|
|
9
|
+
get version(): string;
|
|
10
|
+
get root(): string;
|
|
11
|
+
isSame(dep: SDK.PackageDependencyInstance): boolean;
|
|
12
|
+
toData(): SDK.PackageDependencyData;
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
import { Package } from './package';
|
|
3
|
+
export { readPackageJson } from './utils';
|
|
4
|
+
export declare class PackageGraph implements SDK.PackageGraphInstance {
|
|
5
|
+
static fromModuleGraph(graph: SDK.ModuleGraphInstance, root: string, getPackageFile?: SDK.GetPackageFile): PackageGraph;
|
|
6
|
+
private _root;
|
|
7
|
+
private _dependencies;
|
|
8
|
+
private _packages;
|
|
9
|
+
private _pkgNameMap;
|
|
10
|
+
private _pkgFileMap;
|
|
11
|
+
constructor(root: string);
|
|
12
|
+
getPackages(): SDK.PackageInstance[];
|
|
13
|
+
getPackageByModule(module: SDK.ModuleInstance, readFile?: SDK.GetPackageFile): SDK.PackageInstance | Package | undefined;
|
|
14
|
+
getPackageByFile(file: string): SDK.PackageInstance | undefined;
|
|
15
|
+
getPackageContainFile(file: string): SDK.PackageInstance | undefined;
|
|
16
|
+
getPackagesByName(name: string): SDK.PackageInstance[];
|
|
17
|
+
getPackageByData(data: SDK.PackageBasicData): SDK.PackageInstance | undefined;
|
|
18
|
+
addPackage(pkg: SDK.PackageInstance): void;
|
|
19
|
+
setDuplicates(module: SDK.ModuleInstance, pkg: SDK.PackageInstance): void;
|
|
20
|
+
getDependenciesFromPackage(pkg: SDK.PackageInstance): SDK.PackageDependencyInstance[];
|
|
21
|
+
addDependency(dep: SDK.PackageDependencyInstance): void;
|
|
22
|
+
getDependenciesFromOrigin(): SDK.PackageDependencyInstance[];
|
|
23
|
+
getDuplicatePackages(): SDK.PackageInstance[][];
|
|
24
|
+
toData(): SDK.PackageGraphData;
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SDK } from '@rsdoctor/types';
|
|
2
|
+
export declare class Package implements SDK.PackageInstance {
|
|
3
|
+
id: number;
|
|
4
|
+
root: string;
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
duplicates: SDK.CrossChunksPackageType[];
|
|
8
|
+
private _modules;
|
|
9
|
+
private _dependencies;
|
|
10
|
+
private _imported;
|
|
11
|
+
constructor(name: string, root: string, version: string);
|
|
12
|
+
setDuplicates(data: SDK.CrossChunksPackageType): void;
|
|
13
|
+
getModules(): SDK.ModuleInstance[];
|
|
14
|
+
getDependencies(): SDK.PackageDependencyInstance[];
|
|
15
|
+
getImported(): SDK.PackageInstance[];
|
|
16
|
+
addModule(module: SDK.ModuleInstance): void;
|
|
17
|
+
addDependency(dep: SDK.PackageDependencyInstance): void;
|
|
18
|
+
getDependenciesChain(graph: SDK.PackageGraphInstance): SDK.PackageDependencyInstance[];
|
|
19
|
+
addImported(pkg: SDK.PackageInstance): void;
|
|
20
|
+
contain(file: string): boolean;
|
|
21
|
+
isSame(pkg: SDK.PackageInstance): boolean;
|
|
22
|
+
getSize(): SDK.ModuleSize;
|
|
23
|
+
toData(): SDK.PackageData;
|
|
24
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SDK } from '@rsdoctor/types';
|
|
2
|
+
export type PackageData = SDK.PackageData;
|
|
3
|
+
export type PackageJSONData = SDK.PackageJSONData;
|
|
4
|
+
export type PackageBasicData = SDK.PackageBasicData;
|
|
5
|
+
export type PackageDependencyData = SDK.PackageDependencyData;
|
|
6
|
+
export type GetPackageFile = SDK.GetPackageFile;
|
package/dist/index.cjs
CHANGED
|
@@ -20,31 +20,31 @@ __webpack_require__.n = (module)=>{
|
|
|
20
20
|
};
|
|
21
21
|
var __webpack_exports__ = {};
|
|
22
22
|
__webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
|
|
23
|
-
isSamePosition: ()=>isSamePosition,
|
|
24
|
-
Dependency: ()=>Dependency,
|
|
25
|
-
ModuleGraphTrans: ()=>transform_module_graph_namespaceObject,
|
|
26
23
|
Asset: ()=>Asset,
|
|
27
|
-
|
|
24
|
+
Chunk: ()=>Chunk,
|
|
25
|
+
ChunkGraph: ()=>ChunkGraph,
|
|
26
|
+
Chunks: ()=>chunks_namespaceObject,
|
|
27
|
+
Dependency: ()=>Dependency,
|
|
28
|
+
EntryPoint: ()=>EntryPoint,
|
|
28
29
|
ExportInfo: ()=>ExportInfo,
|
|
30
|
+
Module: ()=>Module,
|
|
31
|
+
ModuleGraph: ()=>ModuleGraph,
|
|
29
32
|
ModuleGraphModule: ()=>ModuleGraphModule,
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
ModuleGraphTrans: ()=>transform_module_graph_namespaceObject,
|
|
34
|
+
Package: ()=>Package,
|
|
32
35
|
PackageDependency: ()=>PackageDependency,
|
|
33
|
-
|
|
34
|
-
EntryPoint: ()=>EntryPoint,
|
|
35
|
-
ChunkGraph: ()=>ChunkGraph,
|
|
36
|
+
PackageGraph: ()=>PackageGraph,
|
|
36
37
|
SideEffect: ()=>SideEffect,
|
|
37
|
-
|
|
38
|
-
Package: ()=>Package,
|
|
38
|
+
Statement: ()=>Statement,
|
|
39
39
|
TransUtils: ()=>trans_utils_namespaceObject,
|
|
40
|
+
Variable: ()=>Variable,
|
|
40
41
|
Webpack: ()=>webpack_compatible_namespaceObject,
|
|
41
|
-
Chunks: ()=>chunks_namespaceObject,
|
|
42
|
-
parseLocation: ()=>parseLocation,
|
|
43
42
|
extractCodeFromLocation: ()=>extractCodeFromLocation,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
getModuleName: ()=>getModuleName,
|
|
44
|
+
isSamePosition: ()=>isSamePosition,
|
|
45
|
+
isSameRange: ()=>isSameRange,
|
|
46
|
+
parseLocation: ()=>parseLocation,
|
|
47
|
+
readPackageJson: ()=>readPackageJson
|
|
48
48
|
});
|
|
49
49
|
var chunks_namespaceObject = {};
|
|
50
50
|
__webpack_require__.r(chunks_namespaceObject), __webpack_require__.d(chunks_namespaceObject, {
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
import { ParseBundle } from '../../types/transform';
|
|
3
|
+
export type ParsedModuleSizeData = {
|
|
4
|
+
[x: string]: {
|
|
5
|
+
size: number;
|
|
6
|
+
sizeConvert: string;
|
|
7
|
+
content: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* The following code is modified based on
|
|
12
|
+
* https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/8a3d3f0f40010f2b41ccd28519eda5a44e13da3e/src/analyzer.js#L20
|
|
13
|
+
*
|
|
14
|
+
* MIT Licensed
|
|
15
|
+
* Author th0r
|
|
16
|
+
* Copyright JS Foundation and other contributors.
|
|
17
|
+
* https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/44bd8d0f9aa3b098e271af220096ea70cc44bc9e/LICENSE
|
|
18
|
+
*/
|
|
19
|
+
export declare function getAssetsModulesData(moduleGraph: SDK.ModuleGraphInstance, chunkGraph: SDK.ChunkGraphInstance, bundleDir: string, opts: {
|
|
20
|
+
parseBundle?: ParseBundle;
|
|
21
|
+
}, sourceMapSets?: Map<string, string>, assetsWithoutSourceMap?: Set<string>): Promise<void>;
|
|
22
|
+
export declare function transformAssetsModulesData(parsedModulesData: ParsedModuleSizeData, moduleGraph: SDK.ModuleGraphInstance): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Plugin, SDK } from '@rsdoctor/types';
|
|
2
|
+
/**
|
|
3
|
+
* Reverse decode the location (loc) information.
|
|
4
|
+
* // TODO:
|
|
5
|
+
* @link https://github.com/webpack/webpack/blob/main/lib/formatLocation.js#L30-L66
|
|
6
|
+
*/
|
|
7
|
+
export declare function getPositionByStatsLocation(loc: string): SDK.SourceRange | undefined;
|
|
8
|
+
export declare function isWebpack5orRspack(compilation: Plugin.BaseCompilation): Boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SDK, Plugin } from '@rsdoctor/types';
|
|
2
|
+
import { ModuleGraph } from '../../graph';
|
|
3
|
+
export declare function getModulesFromArray(modules: Plugin.StatsModule[], collectedModules: Plugin.StatsModule[]): void;
|
|
4
|
+
/**
|
|
5
|
+
* this function can run in browser & node.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getModuleGraphByStats({ modules, chunks }: Plugin.StatsCompilation, root: string, chunkGraph: SDK.ChunkGraphInstance): ModuleGraph;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SDK } from '@rsdoctor/types';
|
|
2
|
+
interface DependencyData {
|
|
3
|
+
type?: string;
|
|
4
|
+
}
|
|
5
|
+
/** Determine whether it is the import statement itself */
|
|
6
|
+
export declare function isImportDependency({ type }: DependencyData): boolean;
|
|
7
|
+
export declare function getImportKind(dep: DependencyData): SDK.DependencyKind;
|
|
8
|
+
/**
|
|
9
|
+
* Remove the css module without connection
|
|
10
|
+
* - This will happen when the user uses the mini-css plug-in.
|
|
11
|
+
*/
|
|
12
|
+
export declare function removeNoImportStyle(graph: SDK.ModuleGraphInstance): void;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './transStats';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Plugin, SDK } from '@rsdoctor/types';
|
|
2
|
+
/**
|
|
3
|
+
* @description Convert stats to chunkGraph and moduleGraph, online tools for rsdoctor's website.
|
|
4
|
+
* @param json
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function transStats(json: Plugin.StatsCompilation): Promise<{
|
|
8
|
+
chunkGraph: SDK.ChunkGraphInstance;
|
|
9
|
+
moduleGraph: import("../..").ModuleGraph;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Compilation, Dependency, ExternalModule, Module, ModuleGraph, NormalModule } from 'webpack';
|
|
2
|
+
import { SDK, Plugin } from '@rsdoctor/types';
|
|
3
|
+
export declare function isNormalModule(mod: Module): mod is NormalModule;
|
|
4
|
+
export declare function getWebpackModuleId(mod: Module): string;
|
|
5
|
+
export declare function getWebpackModulePath(mod: NormalModule): string;
|
|
6
|
+
export declare function getWebpackDependencyRequest(dep: Dependency, module?: NormalModule): string;
|
|
7
|
+
export declare function getResolveRequest(dep: Dependency, graph: ModuleGraph): string;
|
|
8
|
+
export declare function isExternalModule(mod: Module): mod is ExternalModule;
|
|
9
|
+
export declare function getModuleSource(mod: NormalModule): string;
|
|
10
|
+
export declare function getEntryModule(entryMap: Map<string, Plugin.EntryPoint>): NormalModule[];
|
|
11
|
+
export declare function getDependencyPosition(dep: Dependency, module: SDK.ModuleInstance, getSource?: boolean): SDK.StatementInstance | undefined;
|
|
12
|
+
export declare function getExportDependency(info: Plugin.ExportInfo, module: NormalModule): Dependency | undefined;
|
|
13
|
+
export declare function getSdkDependencyByWebpackDependency(dep: Dependency, module: NormalModule, graph: SDK.ModuleGraphInstance): SDK.DependencyInstance | undefined;
|
|
14
|
+
export declare function getExportStatement(info: Plugin.ExportInfo, normalModule: NormalModule, graph: SDK.ModuleGraphInstance): SDK.StatementInstance | undefined;
|
|
15
|
+
export declare function getLastExportInfo(info: Plugin.ExportInfo, webpackGraph: ModuleGraph): Plugin.ExportInfo | undefined;
|
|
16
|
+
export declare function getAllModules(compilation: Compilation): NormalModule[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './transform';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdoctor/graph",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.11",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/web-infra-dev/rsdoctor",
|
|
@@ -15,9 +15,14 @@
|
|
|
15
15
|
],
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
"import": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"default": "./dist/index.js"
|
|
21
|
+
},
|
|
22
|
+
"require": {
|
|
23
|
+
"types": "./dist/index.d.cts",
|
|
24
|
+
"default": "./dist/index.cjs"
|
|
25
|
+
}
|
|
21
26
|
}
|
|
22
27
|
},
|
|
23
28
|
"type": "module",
|
|
@@ -25,8 +30,8 @@
|
|
|
25
30
|
"es-toolkit": "^1.45.1",
|
|
26
31
|
"path-browserify": "1.0.1",
|
|
27
32
|
"source-map": "^0.7.6",
|
|
28
|
-
"@rsdoctor/types": "1.5.
|
|
29
|
-
"@rsdoctor/utils": "1.5.
|
|
33
|
+
"@rsdoctor/types": "1.5.11",
|
|
34
|
+
"@rsdoctor/utils": "1.5.11"
|
|
30
35
|
},
|
|
31
36
|
"devDependencies": {
|
|
32
37
|
"@types/body-parser": "1.19.6",
|