knip 5.62.0 → 5.63.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 +22 -24
- package/dist/ConfigurationChief.d.ts +3 -0
- package/dist/ConfigurationChief.js +12 -4
- package/dist/IssueCollector.js +1 -1
- package/dist/ProjectPrincipal.d.ts +1 -0
- package/dist/ProjectPrincipal.js +9 -3
- package/dist/binaries/fallback.js +4 -2
- package/dist/cli.js +3 -2
- package/dist/compilers/index.d.ts +20 -0
- package/dist/graph/analyze.js +1 -1
- package/dist/graph/build.js +18 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/plugins/astro/index.d.ts +1 -0
- package/dist/plugins/astro/index.js +4 -0
- package/dist/plugins/index.d.ts +19 -1
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/lefthook/index.js +2 -0
- package/dist/plugins/node-modules-inspector/index.d.ts +12 -0
- package/dist/plugins/node-modules-inspector/index.js +17 -0
- package/dist/plugins/playwright/index.js +8 -1
- package/dist/plugins/playwright/types.d.ts +20 -14
- package/dist/plugins/preconstruct/index.js +2 -1
- package/dist/plugins/react-router/index.js +18 -8
- package/dist/plugins/rsbuild/index.js +11 -2
- package/dist/plugins/rsbuild/types.d.ts +8 -0
- package/dist/plugins/rslib/index.d.ts +10 -0
- package/dist/plugins/rslib/index.js +15 -0
- package/dist/plugins/rslib/types.d.ts +1 -0
- package/dist/plugins/rslib/types.js +1 -0
- package/dist/plugins/rspack/index.js +1 -1
- package/dist/plugins/typescript/index.d.ts +1 -1
- package/dist/reporters/symbols.js +3 -1
- package/dist/reporters/util/configuration-hints.d.ts +1 -1
- package/dist/reporters/util/configuration-hints.js +55 -19
- package/dist/reporters/util/util.d.ts +0 -2
- package/dist/reporters/util/util.js +2 -2
- package/dist/schema/configuration.d.ts +112 -0
- package/dist/schema/plugins.d.ts +46 -0
- package/dist/schema/plugins.js +2 -0
- package/dist/types/PluginNames.d.ts +2 -2
- package/dist/types/PluginNames.js +2 -0
- package/dist/types/entries.d.ts +3 -0
- package/dist/types/entries.js +1 -0
- package/dist/types/issues.d.ts +3 -1
- package/dist/types/package-json.d.ts +4 -0
- package/dist/types/tsconfig-json.d.ts +14 -0
- package/dist/types/tsconfig-json.js +1 -0
- package/dist/typescript/ast-helpers.js +1 -1
- package/dist/util/fs.d.ts +1 -1
- package/dist/util/glob-core.d.ts +1 -1
- package/dist/util/glob-core.js +8 -7
- package/dist/util/glob.d.ts +1 -0
- package/dist/util/glob.js +1 -1
- package/dist/util/is-identifier-referenced.js +17 -17
- package/dist/util/package-json.d.ts +2 -1
- package/dist/util/package-json.js +24 -12
- package/dist/util/parse-and-convert-gitignores.js +2 -0
- package/dist/util/reporter.js +3 -3
- package/dist/util/table.js +1 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +9 -14
- package/schema.json +8 -0
|
@@ -50,6 +50,7 @@ export const pluginNames = [
|
|
|
50
50
|
'netlify',
|
|
51
51
|
'next',
|
|
52
52
|
'node',
|
|
53
|
+
'node-modules-inspector',
|
|
53
54
|
'nodemon',
|
|
54
55
|
'npm-package-json-lint',
|
|
55
56
|
'nuxt',
|
|
@@ -73,6 +74,7 @@ export const pluginNames = [
|
|
|
73
74
|
'remix',
|
|
74
75
|
'rollup',
|
|
75
76
|
'rsbuild',
|
|
77
|
+
'rslib',
|
|
76
78
|
'rspack',
|
|
77
79
|
'semantic-release',
|
|
78
80
|
'sentry',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/issues.d.ts
CHANGED
|
@@ -69,16 +69,18 @@ export type ReporterOptions = {
|
|
|
69
69
|
options: string;
|
|
70
70
|
preprocessorOptions: string;
|
|
71
71
|
includedWorkspaces: Workspace[];
|
|
72
|
+
configFilePath?: string;
|
|
72
73
|
};
|
|
73
74
|
export type Reporter = (options: ReporterOptions) => void;
|
|
74
75
|
export type Preprocessor = (options: ReporterOptions) => ReporterOptions;
|
|
75
76
|
export type IssueSeverity = 'error' | 'warn' | 'off';
|
|
76
77
|
export type Rules = Record<IssueType, IssueSeverity>;
|
|
77
78
|
export type ConfigurationHints = Set<ConfigurationHint>;
|
|
78
|
-
export type ConfigurationHintType = 'ignoreBinaries' | 'ignoreDependencies' | 'ignoreUnresolved' | 'ignoreWorkspaces' | 'entry-redundant' | 'project-redundant' | 'entry-top-level' | 'project-top-level' | 'entry-empty' | 'project-empty' | 'workspace-unconfigured';
|
|
79
|
+
export type ConfigurationHintType = 'ignoreBinaries' | 'ignoreDependencies' | 'ignoreUnresolved' | 'ignoreWorkspaces' | 'entry-redundant' | 'project-redundant' | 'entry-top-level' | 'project-top-level' | 'entry-empty' | 'project-empty' | 'package-entry' | 'workspace-unconfigured';
|
|
79
80
|
export type ConfigurationHint = {
|
|
80
81
|
type: ConfigurationHintType;
|
|
81
82
|
identifier: string | RegExp;
|
|
83
|
+
filePath?: string;
|
|
82
84
|
workspaceName?: string;
|
|
83
85
|
size?: number;
|
|
84
86
|
};
|
|
@@ -9,6 +9,9 @@ type Exports = null | string | string[] | {
|
|
|
9
9
|
} | {
|
|
10
10
|
[key: string]: Exports;
|
|
11
11
|
};
|
|
12
|
+
type Imports = {
|
|
13
|
+
[key: `#${string}`]: Exports;
|
|
14
|
+
};
|
|
12
15
|
type PackageJsonPath<T> = T extends {
|
|
13
16
|
packageJsonPath: infer P;
|
|
14
17
|
} ? (P extends string ? P : never) : never;
|
|
@@ -29,6 +32,7 @@ export type PackageJson = {
|
|
|
29
32
|
packages?: string[];
|
|
30
33
|
};
|
|
31
34
|
exports?: Exports;
|
|
35
|
+
imports?: Imports;
|
|
32
36
|
scripts?: Scripts;
|
|
33
37
|
dependencies?: Dependencies;
|
|
34
38
|
devDependencies?: Dependencies;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TsConfigJson {
|
|
2
|
+
extends?: string | string[];
|
|
3
|
+
compilerOptions?: {
|
|
4
|
+
types?: string[];
|
|
5
|
+
jsxImportSource?: string;
|
|
6
|
+
plugins?: Array<string | {
|
|
7
|
+
name: string;
|
|
8
|
+
}>;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
references?: Array<{
|
|
12
|
+
path: string;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -177,7 +177,7 @@ export const isConsiderReferencedNS = (node) => ts.isPropertyAssignment(node.par
|
|
|
177
177
|
ts.isArrayLiteralExpression(node.parent) ||
|
|
178
178
|
ts.isExportAssignment(node.parent) ||
|
|
179
179
|
(ts.isVariableDeclaration(node.parent) && node.parent.initializer === node) ||
|
|
180
|
-
ts.isTypeQueryNode(node.parent);
|
|
180
|
+
ts.isTypeQueryNode(node.parent.parent);
|
|
181
181
|
const objectEnumerationMethods = new Set(['keys', 'entries', 'values', 'getOwnPropertyNames']);
|
|
182
182
|
export const isObjectEnumerationCallExpressionArgument = (node) => ts.isCallExpression(node.parent) &&
|
|
183
183
|
node.parent.arguments.includes(node) &&
|
package/dist/util/fs.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare const findFile: (workingDir: string, fileName: string) => string
|
|
|
4
4
|
export declare const loadFile: (filePath: string) => Promise<string>;
|
|
5
5
|
export declare const loadJSON: (filePath: string) => Promise<any>;
|
|
6
6
|
export declare const loadYAML: (filePath: string) => Promise<unknown>;
|
|
7
|
-
export declare const loadTOML: (filePath: string) => Promise<
|
|
7
|
+
export declare const loadTOML: (filePath: string) => Promise<import("smol-toml").TomlTable>;
|
|
8
8
|
export declare const parseJSON: (filePath: string, contents: string) => Promise<any>;
|
|
9
9
|
export declare const parseYAML: (contents: string) => unknown;
|
package/dist/util/glob-core.d.ts
CHANGED
|
@@ -14,6 +14,6 @@ export declare const findAndParseGitignores: (cwd: string) => Promise<{
|
|
|
14
14
|
ignores: Set<string>;
|
|
15
15
|
unignores: string[];
|
|
16
16
|
}>;
|
|
17
|
-
export declare function glob(
|
|
17
|
+
export declare function glob(_patterns: string[], options: GlobOptions): Promise<string[]>;
|
|
18
18
|
export declare function getGitIgnoredHandler(options: Options): Promise<(path: string) => boolean>;
|
|
19
19
|
export {};
|
package/dist/util/glob-core.js
CHANGED
|
@@ -5,7 +5,7 @@ import fg, {} from 'fast-glob';
|
|
|
5
5
|
import picomatch from 'picomatch';
|
|
6
6
|
import { GLOBAL_IGNORE_PATTERNS, ROOT_WORKSPACE_NAME } from '../constants.js';
|
|
7
7
|
import { timerify } from './Performance.js';
|
|
8
|
-
import { compact } from './array.js';
|
|
8
|
+
import { compact, partition } from './array.js';
|
|
9
9
|
import { debugLogObject } from './debug.js';
|
|
10
10
|
import { isDirectory, isFile } from './fs.js';
|
|
11
11
|
import { parseAndConvertGitignorePatterns } from './parse-and-convert-gitignores.js';
|
|
@@ -126,13 +126,14 @@ export const findAndParseGitignores = async (cwd) => {
|
|
|
126
126
|
return { gitignoreFiles, ignores, unignores };
|
|
127
127
|
};
|
|
128
128
|
const _parseFindGitignores = timerify(findAndParseGitignores);
|
|
129
|
-
export async function glob(
|
|
130
|
-
if (Array.isArray(
|
|
129
|
+
export async function glob(_patterns, options) {
|
|
130
|
+
if (Array.isArray(_patterns) && _patterns.length === 0)
|
|
131
131
|
return [];
|
|
132
132
|
const hasCache = cachedGlobIgnores.has(options.dir);
|
|
133
133
|
const willCache = !hasCache && options.gitignore && options.label;
|
|
134
134
|
const cachedIgnores = options.gitignore ? cachedGlobIgnores.get(options.dir) : undefined;
|
|
135
|
-
const _ignore =
|
|
135
|
+
const _ignore = [];
|
|
136
|
+
const [negatedPatterns, patterns] = partition(_patterns, pattern => pattern.startsWith('!'));
|
|
136
137
|
if (options.gitignore) {
|
|
137
138
|
if (willCache) {
|
|
138
139
|
let dir = options.dir;
|
|
@@ -151,16 +152,16 @@ export async function glob(patterns, options) {
|
|
|
151
152
|
else {
|
|
152
153
|
_ignore.push(...GLOBAL_IGNORE_PATTERNS);
|
|
153
154
|
}
|
|
154
|
-
const ignore = cachedIgnores || compact(_ignore);
|
|
155
155
|
if (willCache)
|
|
156
156
|
cachedGlobIgnores.set(options.dir, compact(_ignore));
|
|
157
|
-
const
|
|
157
|
+
const ignorePatterns = (cachedIgnores || _ignore).concat(negatedPatterns);
|
|
158
|
+
const { dir, label, ...fgOptions } = { ...options, ignore: ignorePatterns };
|
|
158
159
|
const paths = await fg.glob(patterns, fgOptions);
|
|
159
160
|
const name = relative(options.cwd, dir) || ROOT_WORKSPACE_NAME;
|
|
160
161
|
debugLogObject(name, label ? `Finding ${label}` : 'Finding paths', () => ({
|
|
161
162
|
patterns,
|
|
162
163
|
...fgOptions,
|
|
163
|
-
ignore: hasCache ? `// using cache from ${name}` :
|
|
164
|
+
ignore: hasCache ? `// using cache from ${name}` : ignorePatterns,
|
|
164
165
|
paths,
|
|
165
166
|
}));
|
|
166
167
|
return paths;
|
package/dist/util/glob.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ interface GlobOptions {
|
|
|
6
6
|
name?: boolean;
|
|
7
7
|
label?: string;
|
|
8
8
|
}
|
|
9
|
+
export declare const removeProductionSuffix: (pattern: string) => string;
|
|
9
10
|
export declare const prependDirToPattern: (dir: string, pattern: string) => string;
|
|
10
11
|
export declare const negate: (pattern: string) => string;
|
|
11
12
|
export declare const hasProductionSuffix: (pattern: string) => boolean;
|
package/dist/util/glob.js
CHANGED
|
@@ -9,7 +9,7 @@ const prependDirToPatterns = (cwd, dir, patterns) => {
|
|
|
9
9
|
const relativePath = relative(cwd, dir);
|
|
10
10
|
return compact([patterns].flat().map(p => removeProductionSuffix(prepend(p, relativePath)))).sort(negatedLast);
|
|
11
11
|
};
|
|
12
|
-
const removeProductionSuffix = (pattern) => pattern.replace(/!$/, '');
|
|
12
|
+
export const removeProductionSuffix = (pattern) => pattern.replace(/!$/, '');
|
|
13
13
|
const negatedLast = (pattern) => (pattern.startsWith('!') ? 1 : -1);
|
|
14
14
|
export const prependDirToPattern = (dir, pattern) => {
|
|
15
15
|
if (pattern.startsWith('!'))
|
|
@@ -86,23 +86,6 @@ export const getIsIdentifierReferencedHandler = (graph, entryPaths) => {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
const reExported = file.reExported.get(identifier) ?? file.reExported.get(IMPORT_STAR);
|
|
90
|
-
if (reExported) {
|
|
91
|
-
for (const byFilePath of reExported) {
|
|
92
|
-
if (!seen.has(byFilePath)) {
|
|
93
|
-
const child = createNode(byFilePath);
|
|
94
|
-
traceNode.children.add(child);
|
|
95
|
-
const result = isIdentifierReferenced(byFilePath, id, isIncludeEntryExports, child, seen);
|
|
96
|
-
if (result.reExportingEntryFile)
|
|
97
|
-
reExportingEntryFile = result.reExportingEntryFile;
|
|
98
|
-
if (result.isReferenced) {
|
|
99
|
-
isReferenced = true;
|
|
100
|
-
if (!isTrace)
|
|
101
|
-
return { isReferenced, reExportingEntryFile, traceNode };
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
89
|
const reExportedAs = file.reExportedAs.get(identifier);
|
|
107
90
|
if (reExportedAs) {
|
|
108
91
|
for (const [alias, byFilePaths] of reExportedAs) {
|
|
@@ -123,6 +106,23 @@ export const getIsIdentifierReferencedHandler = (graph, entryPaths) => {
|
|
|
123
106
|
}
|
|
124
107
|
}
|
|
125
108
|
}
|
|
109
|
+
const reExported = file.reExported.get(identifier) ?? file.reExported.get(IMPORT_STAR);
|
|
110
|
+
if (reExported) {
|
|
111
|
+
for (const byFilePath of reExported) {
|
|
112
|
+
if (!seen.has(byFilePath)) {
|
|
113
|
+
const child = createNode(byFilePath);
|
|
114
|
+
traceNode.children.add(child);
|
|
115
|
+
const result = isIdentifierReferenced(byFilePath, id, isIncludeEntryExports, child, seen);
|
|
116
|
+
if (result.reExportingEntryFile)
|
|
117
|
+
reExportingEntryFile = result.reExportingEntryFile;
|
|
118
|
+
if (result.isReferenced) {
|
|
119
|
+
isReferenced = true;
|
|
120
|
+
if (!isTrace)
|
|
121
|
+
return { isReferenced, reExportingEntryFile, traceNode };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
126
|
for (const [namespace, byFilePaths] of file.reExportedNs.entries()) {
|
|
127
127
|
for (const byFilePath of byFilePaths) {
|
|
128
128
|
if (!seen.has(byFilePath)) {
|
|
@@ -7,5 +7,6 @@ interface ExtendedPackageJson extends PackageJson {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const load: (filePath: string) => Promise<ExtendedPackageJson>;
|
|
9
9
|
export declare const save: (filePath: string, content: ExtendedPackageJson) => Promise<void>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const getEntrySpecifiersFromManifest: (manifest: PackageJson) => Set<string>;
|
|
11
|
+
export declare const getManifestImportDependencies: (manifest: PackageJson) => Set<string>;
|
|
11
12
|
export {};
|
|
@@ -45,7 +45,7 @@ export const save = async (filePath, content) => {
|
|
|
45
45
|
const fileContent = `${JSON.stringify(content, null, space)}\n`.replace(/\n/g, EOL);
|
|
46
46
|
await writeFile(filePath, fileContent);
|
|
47
47
|
};
|
|
48
|
-
export const
|
|
48
|
+
export const getEntrySpecifiersFromManifest = (manifest) => {
|
|
49
49
|
const { main, module, browser, bin, exports, types, typings } = manifest;
|
|
50
50
|
const entryPaths = new Set();
|
|
51
51
|
if (typeof main === 'string')
|
|
@@ -54,13 +54,15 @@ export const getEntryPathsFromManifest = (manifest) => {
|
|
|
54
54
|
entryPaths.add(module);
|
|
55
55
|
if (typeof browser === 'string')
|
|
56
56
|
entryPaths.add(browser);
|
|
57
|
-
if (bin)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
if (typeof bin === 'string')
|
|
58
|
+
entryPaths.add(bin);
|
|
59
|
+
if (bin && typeof bin === 'object')
|
|
60
|
+
for (const id of Object.values(bin))
|
|
61
|
+
entryPaths.add(id);
|
|
62
|
+
if (typeof types === 'string')
|
|
63
|
+
entryPaths.add(types);
|
|
64
|
+
if (typeof typings === 'string')
|
|
65
|
+
entryPaths.add(typings);
|
|
64
66
|
if (exports) {
|
|
65
67
|
for (const item of getEntriesFromExports(exports)) {
|
|
66
68
|
if (item === './*')
|
|
@@ -72,9 +74,19 @@ export const getEntryPathsFromManifest = (manifest) => {
|
|
|
72
74
|
entryPaths.add(expanded);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
|
-
if (typeof types === 'string')
|
|
76
|
-
entryPaths.add(types);
|
|
77
|
-
if (typeof typings === 'string')
|
|
78
|
-
entryPaths.add(typings);
|
|
79
77
|
return entryPaths;
|
|
80
78
|
};
|
|
79
|
+
export const getManifestImportDependencies = (manifest) => {
|
|
80
|
+
const dependencies = new Set();
|
|
81
|
+
if (!manifest.imports)
|
|
82
|
+
return dependencies;
|
|
83
|
+
for (const [entry, exportValue] of Object.entries(manifest.imports)) {
|
|
84
|
+
if (!entry.startsWith('#'))
|
|
85
|
+
continue;
|
|
86
|
+
for (const item of getEntriesFromExports(exportValue)) {
|
|
87
|
+
if (!item.startsWith('.') && !item.startsWith('!'))
|
|
88
|
+
dependencies.add(item);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return dependencies;
|
|
92
|
+
};
|
|
@@ -7,6 +7,8 @@ export const convertGitignoreToPicomatchIgnorePatterns = (pattern) => {
|
|
|
7
7
|
pattern = pattern.slice(0, -1);
|
|
8
8
|
if (pattern.startsWith('*/**/'))
|
|
9
9
|
pattern = pattern.slice(5);
|
|
10
|
+
if (pattern === '*' || pattern === '**')
|
|
11
|
+
return { negated, patterns: [pattern, pattern] };
|
|
10
12
|
if (pattern.startsWith('/'))
|
|
11
13
|
pattern = pattern.slice(1);
|
|
12
14
|
else if (!pattern.startsWith('**/'))
|
package/dist/util/reporter.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import internalReporters from '../reporters/index.js';
|
|
2
2
|
import { _load } from './loader.js';
|
|
3
|
-
import { isInternal, resolve } from './path.js';
|
|
3
|
+
import { isAbsolute, isInternal, resolve } from './path.js';
|
|
4
4
|
export const runPreprocessors = async (processors, data) => {
|
|
5
|
-
const preprocessors = await Promise.all(processors.map(proc => _load(isInternal(proc) ? resolve(proc) : proc)));
|
|
5
|
+
const preprocessors = await Promise.all(processors.map(proc => _load(isInternal(proc) && !isAbsolute(proc) ? resolve(proc) : proc)));
|
|
6
6
|
return preprocessors.length === 0
|
|
7
7
|
? Promise.resolve(data)
|
|
8
8
|
: runPreprocessors(preprocessors.slice(1), preprocessors[0](data));
|
|
@@ -11,7 +11,7 @@ export const runReporters = async (reporter, options) => {
|
|
|
11
11
|
const reporters = await Promise.all(reporter.map(async (reporter) => {
|
|
12
12
|
return reporter in internalReporters
|
|
13
13
|
? internalReporters[reporter]
|
|
14
|
-
: await _load(isInternal(reporter) ? resolve(reporter) : reporter);
|
|
14
|
+
: await _load(isInternal(reporter) && !isAbsolute(reporter) ? resolve(reporter) : reporter);
|
|
15
15
|
}));
|
|
16
16
|
for (const reporter of reporters)
|
|
17
17
|
await reporter(options);
|
package/dist/util/table.js
CHANGED
|
@@ -55,9 +55,7 @@ export class Table {
|
|
|
55
55
|
this.rows.unshift(headerRow);
|
|
56
56
|
}
|
|
57
57
|
const columnWidths = columns.reduce((acc, col) => {
|
|
58
|
-
acc[col] = Math.max(...this.rows.map(row => row[col]?.formatted
|
|
59
|
-
? stripVTControlCharacters(row[col].formatted).length
|
|
60
|
-
: String(row[col]?.value || '').length));
|
|
58
|
+
acc[col] = Math.max(...this.rows.map(row => stripVTControlCharacters(row[col]?.formatted ?? String(row[col].value || '')).length));
|
|
61
59
|
return acc;
|
|
62
60
|
}, {});
|
|
63
61
|
const separatorWidth = (columns.length - 1) * COLUMN_SEPARATOR.length;
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "5.
|
|
1
|
+
export declare const version = "5.63.0";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '5.
|
|
1
|
+
export const version = '5.63.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "knip",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.63.0",
|
|
4
4
|
"description": "Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects",
|
|
5
5
|
"homepage": "https://knip.dev",
|
|
6
6
|
"repository": {
|
|
@@ -22,10 +22,6 @@
|
|
|
22
22
|
{
|
|
23
23
|
"type": "opencollective",
|
|
24
24
|
"url": "https://opencollective.com/knip"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"type": "polar",
|
|
28
|
-
"url": "https://polar.sh/webpro-nl"
|
|
29
25
|
}
|
|
30
26
|
],
|
|
31
27
|
"main": "./dist/index.js",
|
|
@@ -63,14 +59,14 @@
|
|
|
63
59
|
"dependencies": {
|
|
64
60
|
"@nodelib/fs.walk": "^1.2.3",
|
|
65
61
|
"fast-glob": "^3.3.3",
|
|
66
|
-
"formatly": "^0.
|
|
67
|
-
"jiti": "^2.
|
|
62
|
+
"formatly": "^0.3.0",
|
|
63
|
+
"jiti": "^2.5.1",
|
|
68
64
|
"js-yaml": "^4.1.0",
|
|
69
65
|
"minimist": "^1.2.8",
|
|
70
|
-
"oxc-resolver": "^11.
|
|
66
|
+
"oxc-resolver": "^11.6.2",
|
|
71
67
|
"picocolors": "^1.1.1",
|
|
72
68
|
"picomatch": "^4.0.1",
|
|
73
|
-
"smol-toml": "^1.
|
|
69
|
+
"smol-toml": "^1.4.1",
|
|
74
70
|
"strip-json-comments": "5.0.2",
|
|
75
71
|
"zod": "^3.22.4",
|
|
76
72
|
"zod-validation-error": "^3.0.3"
|
|
@@ -82,17 +78,16 @@
|
|
|
82
78
|
"devDependencies": {
|
|
83
79
|
"@jest/types": "^29.6.3",
|
|
84
80
|
"@release-it/bumper": "^7.0.5",
|
|
85
|
-
"@types/bun": "1.2.
|
|
81
|
+
"@types/bun": "1.2.19",
|
|
86
82
|
"@types/js-yaml": "^4.0.9",
|
|
87
83
|
"@types/minimist": "^1.2.5",
|
|
88
84
|
"@types/picomatch": "3.0.1",
|
|
89
85
|
"@types/webpack": "^5.28.5",
|
|
90
|
-
"@wdio/types": "^9.
|
|
86
|
+
"@wdio/types": "^9.16.2",
|
|
91
87
|
"codeclimate-types": "^0.3.1",
|
|
92
88
|
"glob": "^11.0.2",
|
|
93
|
-
"release-it": "^19.0.
|
|
94
|
-
"tsx": "^4.
|
|
95
|
-
"type-fest": "^4.31.0",
|
|
89
|
+
"release-it": "^19.0.4",
|
|
90
|
+
"tsx": "^4.20.3",
|
|
96
91
|
"typescript": "^5.5.2"
|
|
97
92
|
},
|
|
98
93
|
"engines": {
|
package/schema.json
CHANGED
|
@@ -499,6 +499,10 @@
|
|
|
499
499
|
"title": "node plugin configuration (https://knip.dev/reference/plugins/node)",
|
|
500
500
|
"$ref": "#/definitions/plugin"
|
|
501
501
|
},
|
|
502
|
+
"node-modules-inspector": {
|
|
503
|
+
"title": "node-modules-inspector plugin configuration (https://knip.dev/reference/plugins/node-modules-inspector)",
|
|
504
|
+
"$ref": "#/definitions/plugin"
|
|
505
|
+
},
|
|
502
506
|
"node-test-runner": {
|
|
503
507
|
"title": "node-test-runner plugin configuration (https://knip.dev/reference/plugins/node-test-runner)",
|
|
504
508
|
"$ref": "#/definitions/plugin"
|
|
@@ -591,6 +595,10 @@
|
|
|
591
595
|
"title": "rsbuild plugin configuration (https://knip.dev/reference/plugins/rsbuild)",
|
|
592
596
|
"$ref": "#/definitions/plugin"
|
|
593
597
|
},
|
|
598
|
+
"rslib": {
|
|
599
|
+
"title": "rslib plugin configuration (https://knip.dev/reference/plugins/rslib)",
|
|
600
|
+
"$ref": "#/definitions/plugin"
|
|
601
|
+
},
|
|
594
602
|
"rspack": {
|
|
595
603
|
"title": "rspack plugin configuration (https://knip.dev/reference/plugins/rspack)",
|
|
596
604
|
"$ref": "#/definitions/plugin"
|