dpdm 4.1.0 → 4.2.0
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 +28 -3
- package/lib/bin/dpdm.js +38 -11
- package/lib/bin/dpdm.js.map +1 -1
- package/lib/bin/dpdm.mjs +39 -12
- package/lib/bin/dpdm.mjs.map +1 -1
- package/lib/parser.js +3 -4
- package/lib/parser.js.map +1 -1
- package/lib/parser.mjs +3 -4
- package/lib/parser.mjs.map +1 -1
- package/lib/parser.spec.d.ts +5 -0
- package/lib/parser.spec.js +105 -0
- package/lib/parser.spec.js.map +1 -0
- package/lib/parser.spec.mjs +103 -0
- package/lib/parser.spec.mjs.map +1 -0
- package/lib/types.d.ts +1 -0
- package/lib/utils.d.ts +3 -0
- package/lib/utils.js +111 -4
- package/lib/utils.js.map +1 -1
- package/lib/utils.mjs +108 -4
- package/lib/utils.mjs.map +1 -1
- package/package.json +1 -1
- package/src/bin/dpdm.ts +51 -17
- package/src/parser.spec.ts +134 -0
- package/src/parser.ts +6 -7
- package/src/types.ts +1 -0
- package/src/utils.ts +129 -4
package/README.md
CHANGED
|
@@ -98,6 +98,18 @@
|
|
|
98
98
|
dpdm ./src/index.js --skip-imports 'src/a.js:.*' src/c.js:src/d.js
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
8. Analyze files from another working directory:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
dpdm --cwd ../other-project ./src/index.ts
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
9. Show dependencies and circular dependencies grouped by package:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
dpdm --group-by-package './packages/*/src/index.ts'
|
|
111
|
+
```
|
|
112
|
+
|
|
101
113
|
### Options
|
|
102
114
|
|
|
103
115
|
```bash
|
|
@@ -110,8 +122,9 @@ Positionals:
|
|
|
110
122
|
|
|
111
123
|
Options:
|
|
112
124
|
--version Show version number [boolean]
|
|
113
|
-
--context the context directory to shorten path, default is
|
|
114
|
-
|
|
125
|
+
--context the context directory to shorten path, default is cwd [string]
|
|
126
|
+
--cwd the working directory used to match files and resolve relative
|
|
127
|
+
paths, default is current directory [string]
|
|
115
128
|
--extensions, --ext comma separated extensions to resolve
|
|
116
129
|
[string] [default: ".ts,.tsx,.mjs,.js,.jsx,.json"]
|
|
117
130
|
--js comma separated extensions indicate the file is js like
|
|
@@ -140,6 +153,8 @@ Options:
|
|
|
140
153
|
[string] [choices: "tree", "circular"]
|
|
141
154
|
--skip-imports Skip import edges from circular checks. Values are regexp
|
|
142
155
|
ISSUER:DEPENDENCY pairs. [array]
|
|
156
|
+
--group-by-package print dependencies and circulars grouped by nearest package.json
|
|
157
|
+
[boolean]
|
|
143
158
|
-h, --help Show help [boolean]
|
|
144
159
|
```
|
|
145
160
|
|
|
@@ -178,6 +193,7 @@ parseDependencyTree('./index', {
|
|
|
178
193
|
* the parse options
|
|
179
194
|
*/
|
|
180
195
|
export interface ParseOptions {
|
|
196
|
+
cwd: string;
|
|
181
197
|
context: string;
|
|
182
198
|
extensions: string[];
|
|
183
199
|
js: string[];
|
|
@@ -208,7 +224,16 @@ parseDependencyTree('./index', {
|
|
|
208
224
|
export type DependencyTree = Record<string, Dependency[] | null>;
|
|
209
225
|
```
|
|
210
226
|
|
|
211
|
-
2. `
|
|
227
|
+
2. `groupDependencyTreeByPackage(tree, context)`: group dependencies by nearest package.json
|
|
228
|
+
|
|
229
|
+
```typescript jsx
|
|
230
|
+
export declare function groupDependencyTreeByPackage(
|
|
231
|
+
tree: DependencyTree,
|
|
232
|
+
context: string,
|
|
233
|
+
): DependencyTree;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
3. `parseCircular(tree)`: parse circulars in dependency tree
|
|
212
237
|
|
|
213
238
|
```typescript jsx
|
|
214
239
|
export declare function parseCircular(tree: DependencyTree): string[][];
|
package/lib/bin/dpdm.js
CHANGED
|
@@ -22,6 +22,9 @@ function normalizeCircularId(context, id) {
|
|
|
22
22
|
const fullPath = path_1.default.isAbsolute(id) ? id : path_1.default.resolve(context, id);
|
|
23
23
|
return path_1.default.relative(context, fullPath);
|
|
24
24
|
}
|
|
25
|
+
function resolveFromCwd(cwd, target) {
|
|
26
|
+
return path_1.default.resolve(cwd, target);
|
|
27
|
+
}
|
|
25
28
|
function parseSkipImports(skipImports, context) {
|
|
26
29
|
return skipImports.map((item) => {
|
|
27
30
|
const parts = item.split(':');
|
|
@@ -49,7 +52,11 @@ function main() {
|
|
|
49
52
|
})
|
|
50
53
|
.option('context', {
|
|
51
54
|
type: 'string',
|
|
52
|
-
desc: 'the context directory to shorten path, default is
|
|
55
|
+
desc: 'the context directory to shorten path, default is cwd',
|
|
56
|
+
})
|
|
57
|
+
.option('cwd', {
|
|
58
|
+
type: 'string',
|
|
59
|
+
desc: 'the working directory used to match files and resolve relative paths, default is current directory',
|
|
53
60
|
})
|
|
54
61
|
.option('extensions', {
|
|
55
62
|
alias: 'ext',
|
|
@@ -126,6 +133,11 @@ function main() {
|
|
|
126
133
|
type: 'string',
|
|
127
134
|
array: true,
|
|
128
135
|
desc: 'Skip import edges from circular checks. Values are regexp ISSUER:DEPENDENCY pairs.',
|
|
136
|
+
})
|
|
137
|
+
.option('group-by-package', {
|
|
138
|
+
type: 'boolean',
|
|
139
|
+
desc: 'print dependencies and circulars grouped by nearest package.json',
|
|
140
|
+
default: false,
|
|
129
141
|
})
|
|
130
142
|
.alias('h', 'help')
|
|
131
143
|
.wrap(Math.min(y.terminalWidth(), 100))
|
|
@@ -154,7 +166,8 @@ function main() {
|
|
|
154
166
|
let total = 0;
|
|
155
167
|
let ended = 0;
|
|
156
168
|
let current = '';
|
|
157
|
-
const
|
|
169
|
+
const cwd = path_1.default.resolve(argv.cwd || process.cwd());
|
|
170
|
+
const context = path_1.default.resolve(cwd, argv.context || '.');
|
|
158
171
|
const skippedImports = parseSkipImports((argv.skipImports || []).flatMap(splitSkipImportValue), context);
|
|
159
172
|
function onProgress(event, target) {
|
|
160
173
|
switch (event) {
|
|
@@ -172,6 +185,7 @@ function main() {
|
|
|
172
185
|
}
|
|
173
186
|
}
|
|
174
187
|
const options = {
|
|
188
|
+
cwd,
|
|
175
189
|
context,
|
|
176
190
|
extensions: argv.extensions.split(','),
|
|
177
191
|
js: argv.js.split(','),
|
|
@@ -188,21 +202,34 @@ function main() {
|
|
|
188
202
|
throw new Error(`No entry files were matched.`);
|
|
189
203
|
}
|
|
190
204
|
o.succeed(`[${ended}/${total}] Analyze done!`);
|
|
191
|
-
const entriesDeep = yield Promise.all(files.map((g) => G.glob(g)));
|
|
205
|
+
const entriesDeep = yield Promise.all(files.map((g) => G.glob(g, { cwd })));
|
|
192
206
|
const entries = yield Promise.all(Array()
|
|
193
207
|
.concat(...entriesDeep)
|
|
194
|
-
.map((name) =>
|
|
195
|
-
|
|
208
|
+
.map((name) => {
|
|
209
|
+
const fullName = resolveFromCwd(cwd, name);
|
|
210
|
+
return (0, utils_1.simpleResolver)(cwd, fullName, options.extensions).then((id) => path_1.default.relative(context, id || fullName));
|
|
211
|
+
}));
|
|
212
|
+
const displayedTree = argv.groupByPackage
|
|
213
|
+
? (0, utils_1.groupDependencyTreeByPackage)(tree, context)
|
|
214
|
+
: tree;
|
|
215
|
+
const displayedEntries = argv.groupByPackage
|
|
216
|
+
? (0, utils_1.groupEntriesByPackage)(entries, context)
|
|
217
|
+
: entries;
|
|
218
|
+
const circulars = (0, utils_1.parseCircular)(displayedTree, argv.skipDynamicImports === 'circular', skippedImports);
|
|
196
219
|
if (argv.output) {
|
|
197
|
-
yield fs_extra_1.default.outputJSON(argv.output, { entries, tree, circulars }, { spaces: 2 });
|
|
220
|
+
yield fs_extra_1.default.outputJSON(argv.output, { entries: displayedEntries, tree: displayedTree, circulars }, { spaces: 2 });
|
|
198
221
|
}
|
|
199
222
|
if (argv.tree) {
|
|
200
|
-
console.log(chalk_1.default.bold(
|
|
201
|
-
|
|
223
|
+
console.log(chalk_1.default.bold(argv.groupByPackage
|
|
224
|
+
? '• Package Dependencies Tree'
|
|
225
|
+
: '• Dependencies Tree'));
|
|
226
|
+
console.log((0, utils_1.prettyTree)(displayedTree, displayedEntries));
|
|
202
227
|
console.log('');
|
|
203
228
|
}
|
|
204
229
|
if (argv.circular) {
|
|
205
|
-
console.log(chalk_1.default.bold[circulars.length === 0 ? 'green' : 'red'](
|
|
230
|
+
console.log(chalk_1.default.bold[circulars.length === 0 ? 'green' : 'red'](argv.groupByPackage
|
|
231
|
+
? '• Package Circular Dependencies'
|
|
232
|
+
: '• Circular Dependencies'));
|
|
206
233
|
if (circulars.length === 0) {
|
|
207
234
|
console.log(chalk_1.default.bold.green(' ✅ Congratulations, no circular dependency was found in your project.'));
|
|
208
235
|
}
|
|
@@ -217,8 +244,8 @@ function main() {
|
|
|
217
244
|
console.log('');
|
|
218
245
|
}
|
|
219
246
|
if (argv.detectUnusedFilesFrom) {
|
|
220
|
-
const allFiles = yield G.glob(argv.detectUnusedFilesFrom);
|
|
221
|
-
const shortAllFiles = allFiles.map((v) => path_1.default.relative(context, v));
|
|
247
|
+
const allFiles = yield G.glob(argv.detectUnusedFilesFrom, { cwd });
|
|
248
|
+
const shortAllFiles = allFiles.map((v) => path_1.default.relative(context, resolveFromCwd(cwd, v)));
|
|
222
249
|
const unusedFiles = shortAllFiles.filter((v) => !(v in tree)).sort();
|
|
223
250
|
console.log(chalk_1.default.bold.cyan('• Unused files'));
|
|
224
251
|
if (unusedFiles.length === 0) {
|
package/lib/bin/dpdm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":";;AACA;;;GAGG;;;AAEH,0DAA0B;AAC1B,gEAA0B;AAC1B,gDAA0B;AAC1B,sDAAsB;AACtB,wDAAwB;AACxB,0DAA0B;AAC1B,sCAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
|
package/lib/bin/dpdm.mjs
CHANGED
|
@@ -11,7 +11,7 @@ import ora from 'ora';
|
|
|
11
11
|
import path from 'path';
|
|
12
12
|
import yargs from 'yargs';
|
|
13
13
|
import { parseDependencyTree } from '../parser';
|
|
14
|
-
import { defaultOptions, isEmpty, parseCircular, parseWarnings, prettyCircular, prettyTree, prettyWarning, simpleResolver, } from '../utils';
|
|
14
|
+
import { defaultOptions, groupDependencyTreeByPackage, groupEntriesByPackage, isEmpty, parseCircular, parseWarnings, prettyCircular, prettyTree, prettyWarning, simpleResolver, } from '../utils';
|
|
15
15
|
import { hideBin } from 'yargs/helpers';
|
|
16
16
|
function splitSkipImportValue(value) {
|
|
17
17
|
return value.split(',').filter(Boolean);
|
|
@@ -20,6 +20,9 @@ function normalizeCircularId(context, id) {
|
|
|
20
20
|
const fullPath = path.isAbsolute(id) ? id : path.resolve(context, id);
|
|
21
21
|
return path.relative(context, fullPath);
|
|
22
22
|
}
|
|
23
|
+
function resolveFromCwd(cwd, target) {
|
|
24
|
+
return path.resolve(cwd, target);
|
|
25
|
+
}
|
|
23
26
|
function parseSkipImports(skipImports, context) {
|
|
24
27
|
return skipImports.map((item) => {
|
|
25
28
|
const parts = item.split(':');
|
|
@@ -47,7 +50,11 @@ function main() {
|
|
|
47
50
|
})
|
|
48
51
|
.option('context', {
|
|
49
52
|
type: 'string',
|
|
50
|
-
desc: 'the context directory to shorten path, default is
|
|
53
|
+
desc: 'the context directory to shorten path, default is cwd',
|
|
54
|
+
})
|
|
55
|
+
.option('cwd', {
|
|
56
|
+
type: 'string',
|
|
57
|
+
desc: 'the working directory used to match files and resolve relative paths, default is current directory',
|
|
51
58
|
})
|
|
52
59
|
.option('extensions', {
|
|
53
60
|
alias: 'ext',
|
|
@@ -124,6 +131,11 @@ function main() {
|
|
|
124
131
|
type: 'string',
|
|
125
132
|
array: true,
|
|
126
133
|
desc: 'Skip import edges from circular checks. Values are regexp ISSUER:DEPENDENCY pairs.',
|
|
134
|
+
})
|
|
135
|
+
.option('group-by-package', {
|
|
136
|
+
type: 'boolean',
|
|
137
|
+
desc: 'print dependencies and circulars grouped by nearest package.json',
|
|
138
|
+
default: false,
|
|
127
139
|
})
|
|
128
140
|
.alias('h', 'help')
|
|
129
141
|
.wrap(Math.min(y.terminalWidth(), 100))
|
|
@@ -152,7 +164,8 @@ function main() {
|
|
|
152
164
|
let total = 0;
|
|
153
165
|
let ended = 0;
|
|
154
166
|
let current = '';
|
|
155
|
-
const
|
|
167
|
+
const cwd = path.resolve(argv.cwd || process.cwd());
|
|
168
|
+
const context = path.resolve(cwd, argv.context || '.');
|
|
156
169
|
const skippedImports = parseSkipImports((argv.skipImports || []).flatMap(splitSkipImportValue), context);
|
|
157
170
|
function onProgress(event, target) {
|
|
158
171
|
switch (event) {
|
|
@@ -170,6 +183,7 @@ function main() {
|
|
|
170
183
|
}
|
|
171
184
|
}
|
|
172
185
|
const options = {
|
|
186
|
+
cwd,
|
|
173
187
|
context,
|
|
174
188
|
extensions: argv.extensions.split(','),
|
|
175
189
|
js: argv.js.split(','),
|
|
@@ -186,21 +200,34 @@ function main() {
|
|
|
186
200
|
throw new Error(`No entry files were matched.`);
|
|
187
201
|
}
|
|
188
202
|
o.succeed(`[${ended}/${total}] Analyze done!`);
|
|
189
|
-
const entriesDeep = yield Promise.all(files.map((g) => G.glob(g)));
|
|
203
|
+
const entriesDeep = yield Promise.all(files.map((g) => G.glob(g, { cwd })));
|
|
190
204
|
const entries = yield Promise.all(Array()
|
|
191
205
|
.concat(...entriesDeep)
|
|
192
|
-
.map((name) =>
|
|
193
|
-
|
|
206
|
+
.map((name) => {
|
|
207
|
+
const fullName = resolveFromCwd(cwd, name);
|
|
208
|
+
return simpleResolver(cwd, fullName, options.extensions).then((id) => path.relative(context, id || fullName));
|
|
209
|
+
}));
|
|
210
|
+
const displayedTree = argv.groupByPackage
|
|
211
|
+
? groupDependencyTreeByPackage(tree, context)
|
|
212
|
+
: tree;
|
|
213
|
+
const displayedEntries = argv.groupByPackage
|
|
214
|
+
? groupEntriesByPackage(entries, context)
|
|
215
|
+
: entries;
|
|
216
|
+
const circulars = parseCircular(displayedTree, argv.skipDynamicImports === 'circular', skippedImports);
|
|
194
217
|
if (argv.output) {
|
|
195
|
-
yield fs.outputJSON(argv.output, { entries, tree, circulars }, { spaces: 2 });
|
|
218
|
+
yield fs.outputJSON(argv.output, { entries: displayedEntries, tree: displayedTree, circulars }, { spaces: 2 });
|
|
196
219
|
}
|
|
197
220
|
if (argv.tree) {
|
|
198
|
-
console.log(chalk.bold(
|
|
199
|
-
|
|
221
|
+
console.log(chalk.bold(argv.groupByPackage
|
|
222
|
+
? '• Package Dependencies Tree'
|
|
223
|
+
: '• Dependencies Tree'));
|
|
224
|
+
console.log(prettyTree(displayedTree, displayedEntries));
|
|
200
225
|
console.log('');
|
|
201
226
|
}
|
|
202
227
|
if (argv.circular) {
|
|
203
|
-
console.log(chalk.bold[circulars.length === 0 ? 'green' : 'red'](
|
|
228
|
+
console.log(chalk.bold[circulars.length === 0 ? 'green' : 'red'](argv.groupByPackage
|
|
229
|
+
? '• Package Circular Dependencies'
|
|
230
|
+
: '• Circular Dependencies'));
|
|
204
231
|
if (circulars.length === 0) {
|
|
205
232
|
console.log(chalk.bold.green(' ✅ Congratulations, no circular dependency was found in your project.'));
|
|
206
233
|
}
|
|
@@ -215,8 +242,8 @@ function main() {
|
|
|
215
242
|
console.log('');
|
|
216
243
|
}
|
|
217
244
|
if (argv.detectUnusedFilesFrom) {
|
|
218
|
-
const allFiles = yield G.glob(argv.detectUnusedFilesFrom);
|
|
219
|
-
const shortAllFiles = allFiles.map((v) => path.relative(context, v));
|
|
245
|
+
const allFiles = yield G.glob(argv.detectUnusedFilesFrom, { cwd });
|
|
246
|
+
const shortAllFiles = allFiles.map((v) => path.relative(context, resolveFromCwd(cwd, v)));
|
|
220
247
|
const unusedFiles = shortAllFiles.filter((v) => !(v in tree)).sort();
|
|
221
248
|
console.log(chalk.bold.cyan('• Unused files'));
|
|
222
249
|
if (unusedFiles.length === 0) {
|
package/lib/bin/dpdm.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":";AACA;;;GAGG;;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,EAAU;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAqB,EACrB,OAAe;IAEf,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAe,IAAI;;QACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC;aACjB,MAAM,EAAE;aACR,KAAK,CACJ,yBAAyB,EACzB,kCAAkC,EAClC,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC/B,WAAW,EAAE,yBAAyB;gBACtC,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC,CACF;aACA,MAAM,CAAC,SAAS,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
|
package/lib/parser.js
CHANGED
|
@@ -109,12 +109,11 @@ function parseDependencyTree(entries, options) {
|
|
|
109
109
|
if (!Array.isArray(entries)) {
|
|
110
110
|
entries = [entries];
|
|
111
111
|
}
|
|
112
|
-
const currentDirectory = process.cwd();
|
|
113
112
|
const output = {};
|
|
114
113
|
const fullOptions = (0, utils_1.normalizeOptions)(options);
|
|
115
114
|
let resolve = utils_1.simpleResolver;
|
|
116
|
-
if (
|
|
117
|
-
const compilerOptions = typescript_1.default.parseJsonConfigFileContent(typescript_1.default.readConfigFile(
|
|
115
|
+
if (fullOptions.tsconfig) {
|
|
116
|
+
const compilerOptions = typescript_1.default.parseJsonConfigFileContent(typescript_1.default.readConfigFile(fullOptions.tsconfig, typescript_1.default.sys.readFile).config, typescript_1.default.sys, path_1.default.dirname(fullOptions.tsconfig)).options;
|
|
118
117
|
const host = typescript_1.default.createCompilerHost(compilerOptions);
|
|
119
118
|
resolve = (context, request, extensions) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
120
119
|
const module = typescript_1.default.resolveModuleName(request, path_1.default.join(context, 'index.ts'), compilerOptions, host).resolvedModule;
|
|
@@ -130,7 +129,7 @@ function parseDependencyTree(entries, options) {
|
|
|
130
129
|
}
|
|
131
130
|
});
|
|
132
131
|
}
|
|
133
|
-
yield Promise.all(entries.map((entry) => G.glob(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(
|
|
132
|
+
yield Promise.all(entries.map((entry) => G.glob(entry, { cwd: fullOptions.cwd }).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(fullOptions.cwd, path_1.default.resolve(fullOptions.cwd, filename), fullOptions, output, resolve))))));
|
|
134
133
|
if (fullOptions.context) {
|
|
135
134
|
return (0, utils_1.shortenTree)(fullOptions.context, output);
|
|
136
135
|
}
|
package/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA8HH,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/lib/parser.mjs
CHANGED
|
@@ -106,12 +106,11 @@ export function parseDependencyTree(entries, options) {
|
|
|
106
106
|
if (!Array.isArray(entries)) {
|
|
107
107
|
entries = [entries];
|
|
108
108
|
}
|
|
109
|
-
const currentDirectory = process.cwd();
|
|
110
109
|
const output = {};
|
|
111
110
|
const fullOptions = normalizeOptions(options);
|
|
112
111
|
let resolve = simpleResolver;
|
|
113
|
-
if (
|
|
114
|
-
const compilerOptions = ts.parseJsonConfigFileContent(ts.readConfigFile(
|
|
112
|
+
if (fullOptions.tsconfig) {
|
|
113
|
+
const compilerOptions = ts.parseJsonConfigFileContent(ts.readConfigFile(fullOptions.tsconfig, ts.sys.readFile).config, ts.sys, path.dirname(fullOptions.tsconfig)).options;
|
|
115
114
|
const host = ts.createCompilerHost(compilerOptions);
|
|
116
115
|
resolve = (context, request, extensions) => __awaiter(this, void 0, void 0, function* () {
|
|
117
116
|
const module = ts.resolveModuleName(request, path.join(context, 'index.ts'), compilerOptions, host).resolvedModule;
|
|
@@ -127,7 +126,7 @@ export function parseDependencyTree(entries, options) {
|
|
|
127
126
|
}
|
|
128
127
|
});
|
|
129
128
|
}
|
|
130
|
-
yield Promise.all(entries.map((entry) => G.glob(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(
|
|
129
|
+
yield Promise.all(entries.map((entry) => G.glob(entry, { cwd: fullOptions.cwd }).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(fullOptions.cwd, path.resolve(fullOptions.cwd, filename), fullOptions, output, resolve))))));
|
|
131
130
|
if (fullOptions.context) {
|
|
132
131
|
return shortenTree(fullOptions.context, output);
|
|
133
132
|
}
|
package/lib/parser.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright 2019 acrazing <joking.young@gmail.com>. All rights reserved.
|
|
4
|
+
* @since 2026-05-09 14:35:00
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
9
|
+
const consts_1 = require("./consts");
|
|
10
|
+
const parser_1 = require("./parser");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
describe('parser', () => {
|
|
13
|
+
const fixture = path_1.default.join(__dirname, '../fixtures/parser/monorepo');
|
|
14
|
+
it('should parse relative entries from a custom cwd', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
const tree = yield (0, parser_1.parseDependencyTree)('packages/shared/src/index.ts', {
|
|
16
|
+
cwd: fixture,
|
|
17
|
+
});
|
|
18
|
+
expect(tree).toEqual({
|
|
19
|
+
'packages/shared/src/index.ts': [
|
|
20
|
+
{
|
|
21
|
+
issuer: 'packages/shared/src/index.ts',
|
|
22
|
+
request: './dep',
|
|
23
|
+
kind: consts_1.DependencyKind.StaticExport,
|
|
24
|
+
id: 'packages/shared/src/dep.ts',
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
'packages/shared/src/dep.ts': [],
|
|
28
|
+
});
|
|
29
|
+
}));
|
|
30
|
+
it('should parse an absolute entry file path', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
const tree = yield (0, parser_1.parseDependencyTree)(path_1.default.join(fixture, 'packages/shared/src/index.ts'), {
|
|
32
|
+
context: fixture,
|
|
33
|
+
});
|
|
34
|
+
expect(tree).toEqual({
|
|
35
|
+
'packages/shared/src/index.ts': [
|
|
36
|
+
{
|
|
37
|
+
issuer: 'packages/shared/src/index.ts',
|
|
38
|
+
request: './dep',
|
|
39
|
+
kind: consts_1.DependencyKind.StaticExport,
|
|
40
|
+
id: 'packages/shared/src/dep.ts',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
'packages/shared/src/dep.ts': [],
|
|
44
|
+
});
|
|
45
|
+
}));
|
|
46
|
+
it('should resolve aliases from an absolute tsconfig path', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
+
const tree = yield (0, parser_1.parseDependencyTree)(path_1.default.join(fixture, 'packages/alias-user/src/index.ts'), {
|
|
48
|
+
context: fixture,
|
|
49
|
+
tsconfig: path_1.default.join(fixture, 'tsconfig.json'),
|
|
50
|
+
});
|
|
51
|
+
expect(tree['packages/alias-user/src/index.ts']).toEqual([
|
|
52
|
+
{
|
|
53
|
+
issuer: 'packages/alias-user/src/index.ts',
|
|
54
|
+
request: '~/dep',
|
|
55
|
+
kind: consts_1.DependencyKind.StaticImport,
|
|
56
|
+
id: 'packages/shared/src/dep.ts',
|
|
57
|
+
},
|
|
58
|
+
]);
|
|
59
|
+
}));
|
|
60
|
+
it('should group dependencies and circulars by package', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
const tree = yield (0, parser_1.parseDependencyTree)(['packages/app/src/index.ts', 'packages/ui/src/index.ts'], { cwd: fixture });
|
|
62
|
+
const packageTree = (0, utils_1.groupDependencyTreeByPackage)(tree, fixture);
|
|
63
|
+
expect((0, utils_1.groupEntriesByPackage)([
|
|
64
|
+
'packages/app/src/index.ts',
|
|
65
|
+
'packages/ui/src/index.ts',
|
|
66
|
+
'packages/app/src/local.ts',
|
|
67
|
+
], fixture)).toEqual(['@repo/app', '@repo/ui']);
|
|
68
|
+
expect(packageTree).toEqual({
|
|
69
|
+
'@repo/app': [
|
|
70
|
+
{
|
|
71
|
+
issuer: '@repo/app',
|
|
72
|
+
request: '../../shared/src',
|
|
73
|
+
kind: consts_1.DependencyKind.StaticImport,
|
|
74
|
+
id: '@repo/shared',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
issuer: '@repo/app',
|
|
78
|
+
request: '../../ui/src',
|
|
79
|
+
kind: consts_1.DependencyKind.StaticImport,
|
|
80
|
+
id: '@repo/ui',
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
'@repo/ui': [
|
|
84
|
+
{
|
|
85
|
+
issuer: '@repo/ui',
|
|
86
|
+
request: '../../shared/src',
|
|
87
|
+
kind: consts_1.DependencyKind.StaticImport,
|
|
88
|
+
id: '@repo/shared',
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
'@repo/shared': [],
|
|
92
|
+
});
|
|
93
|
+
expect((0, utils_1.parseCircular)(packageTree)).toEqual([]);
|
|
94
|
+
}));
|
|
95
|
+
it('should detect package-level circular dependencies', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
+
const tree = yield (0, parser_1.parseDependencyTree)(['packages/cycle-a/src/index.ts', 'packages/cycle-b/src/index.ts'], {
|
|
97
|
+
cwd: fixture,
|
|
98
|
+
});
|
|
99
|
+
const packageTree = (0, utils_1.groupDependencyTreeByPackage)(tree, fixture);
|
|
100
|
+
const circulars = (0, utils_1.parseCircular)(packageTree);
|
|
101
|
+
expect(circulars).toHaveLength(1);
|
|
102
|
+
expect(circulars[0].sort()).toEqual(['@repo/cycle-a', '@repo/cycle-b']);
|
|
103
|
+
}));
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=parser.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.spec.js","sourceRoot":"","sources":["../src/parser.spec.ts"],"names":[],"mappings":"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"}
|