dpdm 3.11.0 → 3.13.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 CHANGED
@@ -76,46 +76,63 @@
76
76
  dpdm -T ./src/index.ts
77
77
  ```
78
78
 
79
+ 5. Find unused files by `index.js` in `src` directory:
80
+
81
+ ```bash
82
+ dpdm --no-tree --no-warning --no-circular --detect-unused-files-from 'src/**/*.*' 'index.js'
83
+ ```
84
+
85
+ 6. Skip dynamic imports:
86
+
87
+ ```bash
88
+ # The value circular will only ignore the dynamic imports
89
+ # when parse circular references.
90
+ # You can set it as tree to ignore the dynamic imports
91
+ # when parse source files.
92
+ dpdm --skip-dynamic-imports circular index.js
93
+ ```
94
+
79
95
  ### Options
80
96
 
81
97
  ```bash
82
- $ dpdm --help
83
98
  dpdm [options] <files...>
84
99
 
85
100
  Analyze the files' dependencies.
86
101
 
87
102
  Positionals:
88
- files The file paths or globs [string]
103
+ files The file paths or globs [string]
89
104
 
90
105
  Options:
91
- --version Show version number [boolean]
92
- --context the context directory to shorten path, default is current
93
- directory [string]
94
- --extensions, --ext comma separated extensions to resolve
95
- [string] [default: ".ts,.tsx,.mjs,.js,.jsx,.json"]
96
- --js comma separated extensions indicate the file is js like
97
- [string] [default: ".ts,.tsx,.mjs,.js,.jsx"]
98
- --include included filenames regexp in string, default includes all files
99
- [string] [default: ".*"]
100
- --exclude excluded filenames regexp in string, set as empty string to
101
- include all files [string] [default: "node_modules"]
102
- -o, --output output json to file [string]
103
- --tree print tree to stdout [boolean] [default: true]
104
- --circular print circular to stdout [boolean] [default: true]
105
- --warning print warning to stdout [boolean] [default: true]
106
- --tsconfig the tsconfig path, which is used for resolve path alias,
107
- default is tsconfig.json if it exists in context directory
108
- [string]
109
- -T, --transform transform typescript modules to javascript before analyze, it
110
- allows you to omit types dependency in typescript
111
- [boolean] [default: false]
112
- --exit-code exit with specified code, the value format is CASE:CODE,
113
- `circular` is the only supported CASE, CODE should be a integer
114
- between 0 and 128. For example: `dpdm --exit-code circular:1`
115
- the program will exit with code 1 if circular dependency found.
116
- [string]
117
- --progress show progress bar [boolean] [default: true]
118
- -h, --help Show help [boolean]
106
+ --version Show version number [boolean]
107
+ --context the context directory to shorten path, default is current
108
+ directory [string]
109
+ --extensions, --ext comma separated extensions to resolve
110
+ [string] [default: ".ts,.tsx,.mjs,.js,.jsx,.json"]
111
+ --js comma separated extensions indicate the file is js like
112
+ [string] [default: ".ts,.tsx,.mjs,.js,.jsx"]
113
+ --include included filenames regexp in string, default includes all files
114
+ [string] [default: ".*"]
115
+ --exclude excluded filenames regexp in string, set as empty string to
116
+ include all files [string] [default: "node_modules"]
117
+ -o, --output output json to file [string]
118
+ --tree print tree to stdout [boolean] [default: true]
119
+ --circular print circular to stdout [boolean] [default: true]
120
+ --warning print warning to stdout [boolean] [default: true]
121
+ --tsconfig the tsconfig path, which is used for resolve path alias, default
122
+ is tsconfig.json if it exists in context directory [string]
123
+ -T, --transform transform typescript modules to javascript before analyze, it
124
+ allows you to omit types dependency in typescript
125
+ [boolean] [default: false]
126
+ --exit-code exit with specified code, the value format is CASE:CODE,
127
+ `circular` is the only supported CASE, CODE should be a integer
128
+ between 0 and 128. For example: `dpdm --exit-code circular:1` the
129
+ program will exit with code 1 if circular dependency found.
130
+ [string]
131
+ --progress show progress bar [boolean] [default: true]
132
+ --detect-unused-files-from this file is a glob, used for finding unused files. [string]
133
+ --skip-dynamic-imports Skip parse import(...) statement.
134
+ [string] [choices: "tree", "circular"]
135
+ -h, --help Show help [boolean]
119
136
  ```
120
137
 
121
138
  ### Example output
package/lib/bin/dpdm.js CHANGED
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  const tslib_1 = require("tslib");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
10
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
+ const glob_1 = tslib_1.__importDefault(require("glob"));
11
12
  const ora_1 = tslib_1.__importDefault(require("ora"));
12
13
  const path_1 = tslib_1.__importDefault(require("path"));
13
14
  const yargs_1 = tslib_1.__importDefault(require("yargs"));
@@ -90,6 +91,15 @@ function main() {
90
91
  type: 'boolean',
91
92
  desc: 'show progress bar',
92
93
  default: process.stdout.isTTY && !process.env.CI,
94
+ })
95
+ .option('detect-unused-files-from', {
96
+ type: 'string',
97
+ desc: 'this file is a glob, used for finding unused files.',
98
+ })
99
+ .option('skip-dynamic-imports', {
100
+ type: 'string',
101
+ choices: ['tree', 'circular'],
102
+ desc: 'Skip parse import(...) statement.',
93
103
  })
94
104
  .alias('h', 'help')
95
105
  .wrap(Math.min(yargs_1.default.terminalWidth(), 100)).argv;
@@ -141,16 +151,17 @@ function main() {
141
151
  exclude: new RegExp(argv.exclude || '$.'),
142
152
  tsconfig: argv.tsconfig,
143
153
  transform: argv.transform,
154
+ skipDynamicImports: argv.skipDynamicImports === 'tree',
144
155
  onProgress,
145
156
  };
146
157
  (0, parser_1.parseDependencyTree)(files, options)
147
158
  .then((tree) => tslib_1.__awaiter(this, void 0, void 0, function* () {
148
159
  o.succeed(`[${ended}/${total}] Analyze done!`);
149
- const entriesDeep = yield Promise.all(files.map((g) => (0, utils_1.glob)(g)));
160
+ const entriesDeep = yield Promise.all(files.map((g) => glob_1.default.glob(g)));
150
161
  const entries = yield Promise.all(Array()
151
162
  .concat(...entriesDeep)
152
163
  .map((name) => (0, utils_1.simpleResolver)(options.context, path_1.default.join(options.context, name), options.extensions).then((id) => (id ? path_1.default.relative(options.context, id) : name))));
153
- const circulars = (0, utils_1.parseCircular)(tree);
164
+ const circulars = (0, utils_1.parseCircular)(tree, argv.skipDynamicImports === 'circular');
154
165
  if (argv.output) {
155
166
  yield fs_extra_1.default.outputJSON(argv.output, { entries, tree, circulars }, { spaces: 2 });
156
167
  }
@@ -174,6 +185,25 @@ function main() {
174
185
  console.log((0, utils_1.prettyWarning)((0, utils_1.parseWarnings)(tree)));
175
186
  console.log('');
176
187
  }
188
+ if (argv.detectUnusedFilesFrom) {
189
+ const allFiles = yield glob_1.default.glob(argv.detectUnusedFilesFrom);
190
+ const shortAllFiles = allFiles.map((v) => path_1.default.relative(context, v));
191
+ const unusedFiles = shortAllFiles.filter((v) => !(v in tree)).sort();
192
+ console.log(chalk_1.default.bold.cyan('• Unused files'));
193
+ if (unusedFiles.length === 0) {
194
+ console.log(chalk_1.default.bold.green(' ✅ Congratulations, no unused file was found in your project. (total: ' +
195
+ allFiles.length +
196
+ ', used: ' +
197
+ Object.keys(tree).length +
198
+ ')'));
199
+ }
200
+ else {
201
+ const len = unusedFiles.length.toString().length;
202
+ unusedFiles.forEach((f, i) => {
203
+ console.log('%s) %s', i.toString().padStart(len, '0'), f);
204
+ });
205
+ }
206
+ }
177
207
  for (const [label, code] of exitCodes) {
178
208
  switch (label) {
179
209
  case 'circular':
@@ -1 +1 @@
1
- {"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
package/lib/bin/dpdm.mjs CHANGED
@@ -6,11 +6,12 @@
6
6
  import { __awaiter } from "tslib";
7
7
  import chalk from 'chalk';
8
8
  import fs from 'fs-extra';
9
+ import G from 'glob';
9
10
  import ora from 'ora';
10
11
  import path from 'path';
11
12
  import yargs from 'yargs';
12
13
  import { parseDependencyTree } from '../parser';
13
- import { defaultOptions, glob, parseCircular, parseWarnings, prettyCircular, prettyTree, prettyWarning, simpleResolver, } from '../utils';
14
+ import { defaultOptions, parseCircular, parseWarnings, prettyCircular, prettyTree, prettyWarning, simpleResolver, } from '../utils';
14
15
  function main() {
15
16
  return __awaiter(this, void 0, void 0, function* () {
16
17
  const argv = yield yargs
@@ -88,6 +89,15 @@ function main() {
88
89
  type: 'boolean',
89
90
  desc: 'show progress bar',
90
91
  default: process.stdout.isTTY && !process.env.CI,
92
+ })
93
+ .option('detect-unused-files-from', {
94
+ type: 'string',
95
+ desc: 'this file is a glob, used for finding unused files.',
96
+ })
97
+ .option('skip-dynamic-imports', {
98
+ type: 'string',
99
+ choices: ['tree', 'circular'],
100
+ desc: 'Skip parse import(...) statement.',
91
101
  })
92
102
  .alias('h', 'help')
93
103
  .wrap(Math.min(yargs.terminalWidth(), 100)).argv;
@@ -139,16 +149,17 @@ function main() {
139
149
  exclude: new RegExp(argv.exclude || '$.'),
140
150
  tsconfig: argv.tsconfig,
141
151
  transform: argv.transform,
152
+ skipDynamicImports: argv.skipDynamicImports === 'tree',
142
153
  onProgress,
143
154
  };
144
155
  parseDependencyTree(files, options)
145
156
  .then((tree) => __awaiter(this, void 0, void 0, function* () {
146
157
  o.succeed(`[${ended}/${total}] Analyze done!`);
147
- const entriesDeep = yield Promise.all(files.map((g) => glob(g)));
158
+ const entriesDeep = yield Promise.all(files.map((g) => G.glob(g)));
148
159
  const entries = yield Promise.all(Array()
149
160
  .concat(...entriesDeep)
150
161
  .map((name) => simpleResolver(options.context, path.join(options.context, name), options.extensions).then((id) => (id ? path.relative(options.context, id) : name))));
151
- const circulars = parseCircular(tree);
162
+ const circulars = parseCircular(tree, argv.skipDynamicImports === 'circular');
152
163
  if (argv.output) {
153
164
  yield fs.outputJSON(argv.output, { entries, tree, circulars }, { spaces: 2 });
154
165
  }
@@ -172,6 +183,25 @@ function main() {
172
183
  console.log(prettyWarning(parseWarnings(tree)));
173
184
  console.log('');
174
185
  }
186
+ if (argv.detectUnusedFilesFrom) {
187
+ const allFiles = yield G.glob(argv.detectUnusedFilesFrom);
188
+ const shortAllFiles = allFiles.map((v) => path.relative(context, v));
189
+ const unusedFiles = shortAllFiles.filter((v) => !(v in tree)).sort();
190
+ console.log(chalk.bold.cyan('• Unused files'));
191
+ if (unusedFiles.length === 0) {
192
+ console.log(chalk.bold.green(' ✅ Congratulations, no unused file was found in your project. (total: ' +
193
+ allFiles.length +
194
+ ', used: ' +
195
+ Object.keys(tree).length +
196
+ ')'));
197
+ }
198
+ else {
199
+ const len = unusedFiles.length.toString().length;
200
+ unusedFiles.forEach((f, i) => {
201
+ console.log('%s) %s', i.toString().padStart(len, '0'), f);
202
+ });
203
+ }
204
+ }
175
205
  for (const [label, code] of exitCodes) {
176
206
  switch (label) {
177
207
  case 'circular':
@@ -1 +1 @@
1
- {"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dpdm.js","sourceRoot":"","sources":["../../src/bin/dpdm.ts"],"names":[],"mappings":"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"}
package/lib/parser.js CHANGED
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.parseDependencyTree = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
10
+ const glob_1 = tslib_1.__importDefault(require("glob"));
10
11
  const path_1 = tslib_1.__importDefault(require("path"));
11
12
  const typescript_1 = tslib_1.__importDefault(require("typescript"));
12
13
  const consts_1 = require("./consts");
@@ -45,7 +46,8 @@ function parseTreeRecursive(context, request, options, output, resolve) {
45
46
  else if (typescript_1.default.isCallExpression(node) &&
46
47
  node.expression.kind === typescript_1.default.SyntaxKind.ImportKeyword &&
47
48
  node.arguments.length === 1 &&
48
- typescript_1.default.isStringLiteral(node.arguments[0])) {
49
+ typescript_1.default.isStringLiteral(node.arguments[0]) &&
50
+ !options.skipDynamicImports) {
49
51
  newRequest = node.arguments[0].text;
50
52
  kind = consts_1.DependencyKind.DynamicImport;
51
53
  }
@@ -128,7 +130,7 @@ function parseDependencyTree(entries, options) {
128
130
  }
129
131
  });
130
132
  }
131
- yield Promise.all(entries.map((entry) => (0, utils_1.glob)(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(currentDirectory, path_1.default.join(currentDirectory, filename), fullOptions, output, resolve))))));
133
+ yield Promise.all(entries.map((entry) => glob_1.default.glob(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(currentDirectory, path_1.default.join(currentDirectory, filename), fullOptions, output, resolve))))));
132
134
  if (fullOptions.context) {
133
135
  return (0, utils_1.shortenTree)(fullOptions.context, output);
134
136
  }
package/lib/parser.js.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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"}
package/lib/parser.mjs CHANGED
@@ -4,10 +4,11 @@
4
4
  */
5
5
  import { __awaiter } from "tslib";
6
6
  import fs from 'fs-extra';
7
+ import G from 'glob';
7
8
  import path from 'path';
8
9
  import ts from 'typescript';
9
10
  import { DependencyKind } from './consts';
10
- import { glob, normalizeOptions, shortenTree, simpleResolver, } from './utils';
11
+ import { normalizeOptions, shortenTree, simpleResolver, } from './utils';
11
12
  const typescriptTransformOptions = {
12
13
  target: ts.ScriptTarget.ESNext,
13
14
  module: ts.ModuleKind.ESNext,
@@ -42,7 +43,8 @@ function parseTreeRecursive(context, request, options, output, resolve) {
42
43
  else if (ts.isCallExpression(node) &&
43
44
  node.expression.kind === ts.SyntaxKind.ImportKeyword &&
44
45
  node.arguments.length === 1 &&
45
- ts.isStringLiteral(node.arguments[0])) {
46
+ ts.isStringLiteral(node.arguments[0]) &&
47
+ !options.skipDynamicImports) {
46
48
  newRequest = node.arguments[0].text;
47
49
  kind = DependencyKind.DynamicImport;
48
50
  }
@@ -125,7 +127,7 @@ export function parseDependencyTree(entries, options) {
125
127
  }
126
128
  });
127
129
  }
128
- yield Promise.all(entries.map((entry) => glob(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(currentDirectory, path.join(currentDirectory, filename), fullOptions, output, resolve))))));
130
+ yield Promise.all(entries.map((entry) => G.glob(entry).then((matches) => Promise.all(matches.map((filename) => parseTreeRecursive(currentDirectory, path.join(currentDirectory, filename), fullOptions, output, resolve))))));
129
131
  if (fullOptions.context) {
130
132
  return shortenTree(fullOptions.context, output);
131
133
  }
@@ -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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"}
package/lib/types.d.ts CHANGED
@@ -12,6 +12,7 @@ export interface ParseOptions {
12
12
  tsconfig: string | undefined;
13
13
  onProgress: (event: 'start' | 'end', target: string) => void;
14
14
  transform: boolean;
15
+ skipDynamicImports: boolean;
15
16
  }
16
17
  export interface Dependency {
17
18
  issuer: string;
package/lib/utils.d.ts CHANGED
@@ -2,16 +2,14 @@
2
2
  * Copyright 2019 acrazing <joking.young@gmail.com>. All rights reserved.
3
3
  * @since 2019-07-17 18:45:32
4
4
  */
5
- import G from 'glob';
6
5
  import { DependencyTree, ParseOptions } from './types';
7
- export declare const glob: typeof G.__promisify__;
8
6
  export declare const defaultOptions: ParseOptions;
9
7
  export declare function normalizeOptions(options: Partial<ParseOptions>): ParseOptions;
10
8
  export declare function appendSuffix(request: string, extensions: string[]): Promise<string | null>;
11
9
  export type Resolver = (context: string, request: string, extensions: string[]) => Promise<string | null>;
12
10
  export declare const simpleResolver: Resolver;
13
11
  export declare function shortenTree(context: string, tree: DependencyTree): DependencyTree;
14
- export declare function parseCircular(tree: DependencyTree): string[][];
12
+ export declare function parseCircular(tree: DependencyTree, skipDynamicImports?: boolean): string[][];
15
13
  export declare function parseDependents(tree: DependencyTree): Record<string, string[]>;
16
14
  export declare function parseWarnings(tree: DependencyTree, dependents?: Record<string, string[]>): string[];
17
15
  export declare function prettyTree(tree: DependencyTree, entries: string[], prefix?: string): string;
package/lib/utils.js CHANGED
@@ -4,16 +4,14 @@
4
4
  * @since 2019-07-17 18:45:32
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.prettyWarning = exports.prettyCircular = exports.prettyTree = exports.parseWarnings = exports.parseDependents = exports.parseCircular = exports.shortenTree = exports.simpleResolver = exports.appendSuffix = exports.normalizeOptions = exports.defaultOptions = exports.glob = void 0;
7
+ exports.prettyWarning = exports.prettyCircular = exports.prettyTree = exports.parseWarnings = exports.parseDependents = exports.parseCircular = exports.shortenTree = exports.simpleResolver = exports.appendSuffix = exports.normalizeOptions = exports.defaultOptions = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
10
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
11
- const glob_1 = tslib_1.__importDefault(require("glob"));
12
11
  const module_1 = require("module");
13
12
  const path_1 = tslib_1.__importDefault(require("path"));
14
- const util_1 = tslib_1.__importDefault(require("util"));
13
+ const consts_1 = require("./consts");
15
14
  const allBuiltins = new Set(module_1.builtinModules);
16
- exports.glob = util_1.default.promisify(glob_1.default);
17
15
  exports.defaultOptions = {
18
16
  context: process.cwd(),
19
17
  extensions: ['', '.ts', '.tsx', '.mjs', '.js', '.jsx', '.json'],
@@ -22,6 +20,7 @@ exports.defaultOptions = {
22
20
  exclude: /node_modules/,
23
21
  tsconfig: void 0,
24
22
  transform: false,
23
+ skipDynamicImports: false,
25
24
  onProgress: () => void 0,
26
25
  };
27
26
  function normalizeOptions(options) {
@@ -110,7 +109,7 @@ function shortenTree(context, tree) {
110
109
  return output;
111
110
  }
112
111
  exports.shortenTree = shortenTree;
113
- function parseCircular(tree) {
112
+ function parseCircular(tree, skipDynamicImports = false) {
114
113
  const circulars = [];
115
114
  tree = Object.assign({}, tree);
116
115
  function visit(id, used) {
@@ -124,7 +123,10 @@ function parseCircular(tree) {
124
123
  delete tree[id];
125
124
  deps &&
126
125
  deps.forEach((dep) => {
127
- dep.id && visit(dep.id, used.slice());
126
+ if (dep.id &&
127
+ (!skipDynamicImports || dep.kind !== consts_1.DependencyKind.DynamicImport)) {
128
+ visit(dep.id, used.slice());
129
+ }
128
130
  });
129
131
  }
130
132
  }
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/lib/utils.mjs CHANGED
@@ -5,12 +5,10 @@
5
5
  import { __awaiter } from "tslib";
6
6
  import chalk from 'chalk';
7
7
  import fs from 'fs-extra';
8
- import G from 'glob';
9
8
  import { builtinModules } from 'module';
10
9
  import path from 'path';
11
- import util from 'util';
10
+ import { DependencyKind } from './consts';
12
11
  const allBuiltins = new Set(builtinModules);
13
- export const glob = util.promisify(G);
14
12
  export const defaultOptions = {
15
13
  context: process.cwd(),
16
14
  extensions: ['', '.ts', '.tsx', '.mjs', '.js', '.jsx', '.json'],
@@ -19,6 +17,7 @@ export const defaultOptions = {
19
17
  exclude: /node_modules/,
20
18
  tsconfig: void 0,
21
19
  transform: false,
20
+ skipDynamicImports: false,
22
21
  onProgress: () => void 0,
23
22
  };
24
23
  export function normalizeOptions(options) {
@@ -103,7 +102,7 @@ export function shortenTree(context, tree) {
103
102
  }
104
103
  return output;
105
104
  }
106
- export function parseCircular(tree) {
105
+ export function parseCircular(tree, skipDynamicImports = false) {
107
106
  const circulars = [];
108
107
  tree = Object.assign({}, tree);
109
108
  function visit(id, used) {
@@ -117,7 +116,10 @@ export function parseCircular(tree) {
117
116
  delete tree[id];
118
117
  deps &&
119
118
  deps.forEach((dep) => {
120
- dep.id && visit(dep.id, used.slice());
119
+ if (dep.id &&
120
+ (!skipDynamicImports || dep.kind !== DependencyKind.DynamicImport)) {
121
+ visit(dep.id, used.slice());
122
+ }
121
123
  });
122
124
  }
123
125
  }
package/lib/utils.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dpdm",
3
- "version": "3.11.0",
3
+ "version": "3.13.0",
4
4
  "description": "Analyze circular dependencies in your JavaScript/TypeScript projects.",
5
5
  "keywords": [
6
6
  "circular",
@@ -42,6 +42,7 @@
42
42
  "prepublishOnly": "run-s test build",
43
43
  "start": "npm run clean && npm run build:esm -- --watch",
44
44
  "test": "jest",
45
+ "demo": "ts-node -T ./src/bin/dpdm.ts ./example/index.js",
45
46
  "prepare": "husky install"
46
47
  },
47
48
  "repository": {
@@ -50,27 +51,25 @@
50
51
  },
51
52
  "license": "MIT",
52
53
  "devDependencies": {
53
- "@types/jest": "^29.2.5",
54
+ "@types/jest": "^29.5.0",
54
55
  "husky": "^8.0.3",
55
- "jest": "^29.3.1",
56
+ "jest": "^29.5.0",
56
57
  "npm-run-all": "^4.1.5",
57
- "prettier": "^2.8.3",
58
+ "prettier": "^2.8.6",
58
59
  "pretty-quick": "^3.1.3",
59
- "rollup": "^3.10.0",
60
60
  "ts-jest": "^29.0.5",
61
61
  "ts-node": "^10.9.1"
62
62
  },
63
63
  "dependencies": {
64
64
  "@types/fs-extra": "^11.0.1",
65
- "@types/glob": "^8.0.0",
66
- "@types/yargs": "^17.0.19",
65
+ "@types/yargs": "^17.0.23",
67
66
  "chalk": "^4.1.2",
68
- "fs-extra": "^11.1.0",
69
- "glob": "^8.1.0",
67
+ "fs-extra": "^11.1.1",
68
+ "glob": "^9.3.1",
70
69
  "ora": "^5.4.1",
71
- "tslib": "^2.4.1",
72
- "typescript": "^4.9.4",
73
- "yargs": "^17.6.2"
70
+ "tslib": "^2.5.0",
71
+ "typescript": "^5.0.2",
72
+ "yargs": "^17.7.1"
74
73
  },
75
74
  "prettier": {
76
75
  "printWidth": 80,
package/src/bin/dpdm.ts CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  import chalk from 'chalk';
8
8
  import fs from 'fs-extra';
9
+ import G from 'glob';
9
10
  import ora from 'ora';
10
11
  import path from 'path';
11
12
  import yargs from 'yargs';
@@ -13,7 +14,6 @@ import { parseDependencyTree } from '../parser';
13
14
  import { ParseOptions } from '../types';
14
15
  import {
15
16
  defaultOptions,
16
- glob,
17
17
  parseCircular,
18
18
  parseWarnings,
19
19
  prettyCircular,
@@ -104,6 +104,15 @@ async function main() {
104
104
  desc: 'show progress bar',
105
105
  default: process.stdout.isTTY && !process.env.CI,
106
106
  })
107
+ .option('detect-unused-files-from', {
108
+ type: 'string',
109
+ desc: 'this file is a glob, used for finding unused files.',
110
+ })
111
+ .option('skip-dynamic-imports', {
112
+ type: 'string',
113
+ choices: ['tree', 'circular'],
114
+ desc: 'Skip parse import(...) statement.',
115
+ })
107
116
  .alias('h', 'help')
108
117
  .wrap(Math.min(yargs.terminalWidth(), 100)).argv;
109
118
 
@@ -162,13 +171,14 @@ async function main() {
162
171
  exclude: new RegExp(argv.exclude || '$.'),
163
172
  tsconfig: argv.tsconfig,
164
173
  transform: argv.transform,
174
+ skipDynamicImports: argv.skipDynamicImports === 'tree',
165
175
  onProgress,
166
176
  };
167
177
 
168
178
  parseDependencyTree(files, options)
169
179
  .then(async (tree) => {
170
180
  o.succeed(`[${ended}/${total}] Analyze done!`);
171
- const entriesDeep = await Promise.all(files.map((g) => glob(g)));
181
+ const entriesDeep = await Promise.all(files.map((g) => G.glob(g)));
172
182
  const entries = await Promise.all(
173
183
  Array<string>()
174
184
  .concat(...entriesDeep)
@@ -180,7 +190,10 @@ async function main() {
180
190
  ).then((id) => (id ? path.relative(options.context!, id) : name)),
181
191
  ),
182
192
  );
183
- const circulars = parseCircular(tree);
193
+ const circulars = parseCircular(
194
+ tree,
195
+ argv.skipDynamicImports === 'circular',
196
+ );
184
197
  if (argv.output) {
185
198
  await fs.outputJSON(
186
199
  argv.output,
@@ -211,6 +224,28 @@ async function main() {
211
224
  console.log(prettyWarning(parseWarnings(tree)));
212
225
  console.log('');
213
226
  }
227
+ if (argv.detectUnusedFilesFrom) {
228
+ const allFiles = await G.glob(argv.detectUnusedFilesFrom);
229
+ const shortAllFiles = allFiles.map((v) => path.relative(context, v));
230
+ const unusedFiles = shortAllFiles.filter((v) => !(v in tree)).sort();
231
+ console.log(chalk.bold.cyan('• Unused files'));
232
+ if (unusedFiles.length === 0) {
233
+ console.log(
234
+ chalk.bold.green(
235
+ ' ✅ Congratulations, no unused file was found in your project. (total: ' +
236
+ allFiles.length +
237
+ ', used: ' +
238
+ Object.keys(tree).length +
239
+ ')',
240
+ ),
241
+ );
242
+ } else {
243
+ const len = unusedFiles.length.toString().length;
244
+ unusedFiles.forEach((f, i) => {
245
+ console.log('%s) %s', i.toString().padStart(len, '0'), f);
246
+ });
247
+ }
248
+ }
214
249
  for (const [label, code] of exitCodes) {
215
250
  switch (label) {
216
251
  case 'circular':
package/src/parser.ts CHANGED
@@ -4,12 +4,12 @@
4
4
  */
5
5
 
6
6
  import fs from 'fs-extra';
7
+ import G from 'glob';
7
8
  import path from 'path';
8
9
  import ts from 'typescript';
9
10
  import { DependencyKind } from './consts';
10
11
  import { Dependency, DependencyTree, ParseOptions } from './types';
11
12
  import {
12
- glob,
13
13
  normalizeOptions,
14
14
  Resolver,
15
15
  shortenTree,
@@ -57,7 +57,8 @@ async function parseTreeRecursive(
57
57
  ts.isCallExpression(node) &&
58
58
  node.expression.kind === ts.SyntaxKind.ImportKeyword &&
59
59
  node.arguments.length === 1 &&
60
- ts.isStringLiteral(node.arguments[0])
60
+ ts.isStringLiteral(node.arguments[0]) &&
61
+ !options.skipDynamicImports
61
62
  ) {
62
63
  newRequest = (node.arguments[0] as ts.StringLiteral).text;
63
64
  kind = DependencyKind.DynamicImport;
@@ -169,7 +170,7 @@ export async function parseDependencyTree(
169
170
  }
170
171
  await Promise.all(
171
172
  entries.map((entry) =>
172
- glob(entry).then((matches) =>
173
+ G.glob(entry).then((matches) =>
173
174
  Promise.all(
174
175
  matches.map((filename) =>
175
176
  parseTreeRecursive(
package/src/types.ts CHANGED
@@ -14,6 +14,7 @@ export interface ParseOptions {
14
14
  tsconfig: string | undefined;
15
15
  onProgress: (event: 'start' | 'end', target: string) => void;
16
16
  transform: boolean;
17
+ skipDynamicImports: boolean;
17
18
  }
18
19
 
19
20
  export interface Dependency {
package/src/utils.ts CHANGED
@@ -5,16 +5,13 @@
5
5
 
6
6
  import chalk from 'chalk';
7
7
  import fs from 'fs-extra';
8
- import G from 'glob';
9
8
  import { builtinModules } from 'module';
10
9
  import path from 'path';
11
- import util from 'util';
10
+ import { DependencyKind } from './consts';
12
11
  import { Dependency, DependencyTree, ParseOptions } from './types';
13
12
 
14
13
  const allBuiltins = new Set(builtinModules);
15
14
 
16
- export const glob = util.promisify(G);
17
-
18
15
  export const defaultOptions: ParseOptions = {
19
16
  context: process.cwd(),
20
17
  extensions: ['', '.ts', '.tsx', '.mjs', '.js', '.jsx', '.json'],
@@ -23,6 +20,7 @@ export const defaultOptions: ParseOptions = {
23
20
  exclude: /node_modules/,
24
21
  tsconfig: void 0,
25
22
  transform: false,
23
+ skipDynamicImports: false,
26
24
  onProgress: () => void 0,
27
25
  };
28
26
 
@@ -129,7 +127,10 @@ export function shortenTree(
129
127
  return output;
130
128
  }
131
129
 
132
- export function parseCircular(tree: DependencyTree): string[][] {
130
+ export function parseCircular(
131
+ tree: DependencyTree,
132
+ skipDynamicImports: boolean = false,
133
+ ): string[][] {
133
134
  const circulars: string[][] = [];
134
135
 
135
136
  tree = { ...tree };
@@ -144,7 +145,12 @@ export function parseCircular(tree: DependencyTree): string[][] {
144
145
  delete tree[id];
145
146
  deps &&
146
147
  deps.forEach((dep) => {
147
- dep.id && visit(dep.id, used.slice());
148
+ if (
149
+ dep.id &&
150
+ (!skipDynamicImports || dep.kind !== DependencyKind.DynamicImport)
151
+ ) {
152
+ visit(dep.id, used.slice());
153
+ }
148
154
  });
149
155
  }
150
156
  }