knip 0.5.0 → 0.6.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/dist/index.js CHANGED
@@ -78,6 +78,8 @@ const main = async (options) => {
78
78
  productionFiles,
79
79
  projectFiles,
80
80
  dependencies: Object.keys(manifest.dependencies ?? {}),
81
+ peerDependencies: Object.keys(manifest.peerDependencies ?? {}),
82
+ optionalDependencies: Object.keys(manifest.optionalDependencies ?? {}),
81
83
  devDependencies: Object.keys(manifest.devDependencies ?? {}),
82
84
  isDev: typeof resolvedConfig.dev === 'boolean' ? resolvedConfig.dev : isDev,
83
85
  tsConfigPaths,
package/dist/types.d.ts CHANGED
@@ -62,6 +62,8 @@ export declare type Configuration = {
62
62
  productionFiles: SourceFile[];
63
63
  entryFiles: SourceFile[];
64
64
  dependencies: string[];
65
+ peerDependencies: string[];
66
+ optionalDependencies: string[];
65
67
  devDependencies: string[];
66
68
  isDev: boolean;
67
69
  tsConfigPaths: string[];
@@ -9,7 +9,8 @@ const is_builtin_module_1 = __importDefault(require("is-builtin-module"));
9
9
  const micromatch_1 = __importDefault(require("micromatch"));
10
10
  const compact = (collection) => Array.from(new Set(collection)).filter((value) => Boolean(value));
11
11
  const getDependencyAnalyzer = (configuration) => {
12
- const { dependencies, devDependencies, tsConfigPaths } = configuration;
12
+ const { dependencies, devDependencies, peerDependencies, optionalDependencies, tsConfigPaths } = configuration;
13
+ const productionDependencies = [...dependencies, ...peerDependencies, ...optionalDependencies];
13
14
  const referencedDependencies = new Set();
14
15
  const getUnresolvedDependencies = (sourceFile) => {
15
16
  const unresolvedDependencies = new Set();
@@ -29,16 +30,16 @@ const getDependencyAnalyzer = (configuration) => {
29
30
  return;
30
31
  const parts = moduleSpecifier.split('/').slice(0, 2);
31
32
  const packageName = moduleSpecifier.startsWith('@') ? parts.join('/') : parts[0];
32
- if (!dependencies.includes(packageName) && !devDependencies.includes(packageName)) {
33
+ if (!productionDependencies.includes(packageName) && !devDependencies.includes(packageName)) {
33
34
  unresolvedDependencies.add({ filePath: sourceFile.getFilePath(), symbol: moduleSpecifier });
34
35
  }
35
- if (dependencies.includes(packageName) || devDependencies.includes(packageName)) {
36
+ if (productionDependencies.includes(packageName) || devDependencies.includes(packageName)) {
36
37
  referencedDependencies.add(packageName);
37
38
  }
38
39
  });
39
40
  return unresolvedDependencies;
40
41
  };
41
- const getUnusedDependencies = () => dependencies.filter(dependency => !referencedDependencies.has(dependency));
42
+ const getUnusedDependencies = () => productionDependencies.filter(dependency => !referencedDependencies.has(dependency));
42
43
  const getUnusedDevDependencies = () => devDependencies.filter(dependency => !referencedDependencies.has(dependency));
43
44
  return { getUnresolvedDependencies, getUnusedDependencies, getUnusedDevDependencies };
44
45
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knip",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Find unused files, dependencies and exports in your TypeScript and JavaScript project",
5
5
  "keywords": [
6
6
  "find",