knip 0.0.0-angular.0 → 0.0.0-graph.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 +21 -1
- package/dist/ConfigurationChief.d.ts +12 -4
- package/dist/ConfigurationChief.js +52 -23
- package/dist/ConfigurationValidator.d.ts +13 -0
- package/dist/ConfigurationValidator.js +1 -1
- package/dist/DependencyDeputy.d.ts +7 -5
- package/dist/DependencyDeputy.js +26 -13
- package/dist/PrincipalFactory.d.ts +3 -0
- package/dist/PrincipalFactory.js +10 -6
- package/dist/ProjectPrincipal.js +10 -5
- package/dist/WorkspaceWorker.d.ts +6 -4
- package/dist/WorkspaceWorker.js +7 -4
- package/dist/binaries/resolvers/index.d.ts +1 -0
- package/dist/binaries/resolvers/index.js +1 -0
- package/dist/binaries/resolvers/nx.d.ts +2 -0
- package/dist/binaries/resolvers/nx.js +9 -0
- package/dist/cli.js +2 -1
- package/dist/constants.js +1 -0
- package/dist/index.js +71 -59
- package/dist/manifest/index.d.ts +3 -2
- package/dist/manifest/index.js +11 -6
- package/dist/plugins/drizzle/index.d.ts +6 -0
- package/dist/plugins/drizzle/index.js +16 -0
- package/dist/plugins/drizzle/types.d.ts +3 -0
- package/dist/plugins/drizzle/types.js +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/jest/index.js +4 -1
- package/dist/plugins/next/index.js +12 -4
- package/dist/plugins/playwright-ct/index.d.ts +5 -0
- package/dist/plugins/playwright-ct/index.js +5 -0
- package/dist/plugins/storybook/index.js +1 -1
- package/dist/plugins/typescript/index.js +3 -7
- package/dist/plugins/vitest/index.js +13 -1
- package/dist/plugins/vitest/types.d.ts +1 -0
- package/dist/reporters/compact.js +1 -1
- package/dist/reporters/json.js +1 -1
- package/dist/types/config.d.ts +3 -2
- package/dist/types/config.js +1 -1
- package/dist/types/exports.d.ts +1 -1
- package/dist/types/issues.d.ts +1 -0
- package/dist/types/workspace.d.ts +1 -1
- package/dist/typescript/ast-helpers.d.ts +2 -2
- package/dist/typescript/ast-helpers.js +11 -3
- package/dist/typescript/getImportsAndExports.js +7 -6
- package/dist/typescript/resolveModuleNames.js +19 -1
- package/dist/typescript/visitors/imports/index.js +2 -2
- package/dist/typescript/visitors/imports/{requireResolveCall.js → propertyAccessCall.js} +2 -2
- package/dist/util/cli-arguments.d.ts +2 -1
- package/dist/util/cli-arguments.js +2 -0
- package/dist/util/modules.d.ts +1 -0
- package/dist/util/modules.js +1 -0
- package/dist/util/plugin.d.ts +6 -0
- package/dist/util/plugin.js +13 -0
- package/dist/util/tsconfig-loader.d.ts +4 -1
- package/dist/util/tsconfig-loader.js +4 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +17 -16
- package/schema.json +8 -0
- /package/dist/typescript/visitors/imports/{requireResolveCall.d.ts → propertyAccessCall.d.ts} +0 -0
|
@@ -25,10 +25,10 @@ export function isRequireCall(callExpression) {
|
|
|
25
25
|
}
|
|
26
26
|
return args.length === 1;
|
|
27
27
|
}
|
|
28
|
-
export function
|
|
28
|
+
export function isPropertyAccessCall(node, identifier) {
|
|
29
29
|
return (ts.isCallExpression(node) &&
|
|
30
30
|
ts.isPropertyAccessExpression(node.expression) &&
|
|
31
|
-
node.expression.getText() ===
|
|
31
|
+
node.expression.getText() === identifier);
|
|
32
32
|
}
|
|
33
33
|
export function getAccessExpressionName(node) {
|
|
34
34
|
return 'argumentExpression' in node ? stripQuotes(node.argumentExpression.getText()) : node.name.getText();
|
|
@@ -98,4 +98,12 @@ export const isInModuleBlock = (node) => {
|
|
|
98
98
|
}
|
|
99
99
|
return false;
|
|
100
100
|
};
|
|
101
|
-
export const getJSDocTags = (node) =>
|
|
101
|
+
export const getJSDocTags = (node) => {
|
|
102
|
+
const tags = new Set();
|
|
103
|
+
for (const tagNode of ts.getJSDocTags(node)) {
|
|
104
|
+
const match = tagNode.getText()?.match(/@\S+/);
|
|
105
|
+
if (match)
|
|
106
|
+
tags.add(match[0]);
|
|
107
|
+
}
|
|
108
|
+
return tags;
|
|
109
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isBuiltin } from 'node:module';
|
|
2
2
|
import ts from 'typescript';
|
|
3
3
|
import { getOrSet } from '../util/map.js';
|
|
4
|
-
import { isMaybePackageName } from '../util/modules.js';
|
|
4
|
+
import { isMaybePackageName, sanitizeSpecifier } from '../util/modules.js';
|
|
5
5
|
import { isInNodeModules } from '../util/path.js';
|
|
6
6
|
import { isDeclarationFileExtension, isAccessExpression, getAccessExpressionName, getJSDocTags, } from './ast-helpers.js';
|
|
7
7
|
import getExportVisitors from './visitors/exports/index.js';
|
|
@@ -58,13 +58,14 @@ export const getImportsAndExports = (sourceFile, options) => {
|
|
|
58
58
|
if (!isInNodeModules(filePath)) {
|
|
59
59
|
addInternalImport({ identifier, specifier, symbol, filePath, isReExport });
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
const sanitizedSpecifier = sanitizeSpecifier(specifier);
|
|
62
|
+
if (!isMaybePackageName(sanitizedSpecifier))
|
|
62
63
|
return;
|
|
63
64
|
if (isDeclarationFileExtension(module.resolvedModule.extension)) {
|
|
64
|
-
externalImports.add(
|
|
65
|
+
externalImports.add(sanitizedSpecifier);
|
|
65
66
|
}
|
|
66
67
|
else {
|
|
67
|
-
externalImports.add(module.resolvedModule.packageId?.name ??
|
|
68
|
+
externalImports.add(module.resolvedModule.packageId?.name ?? sanitizedSpecifier);
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
else {
|
|
@@ -93,13 +94,13 @@ export const getImportsAndExports = (sourceFile, options) => {
|
|
|
93
94
|
if (exports.has(identifier)) {
|
|
94
95
|
const item = exports.get(identifier);
|
|
95
96
|
const crew = [...item.members, ...members];
|
|
96
|
-
const tags = [...item.jsDocTags, ...jsDocTags];
|
|
97
|
+
const tags = new Set([...item.jsDocTags, ...jsDocTags]);
|
|
97
98
|
exports.set(identifier, { ...item, node, type, pos, members: crew, jsDocTags: tags });
|
|
98
99
|
}
|
|
99
100
|
else {
|
|
100
101
|
exports.set(identifier, { node, type, pos, members, jsDocTags });
|
|
101
102
|
}
|
|
102
|
-
if (!jsDocTags.
|
|
103
|
+
if (!jsDocTags.has('@alias')) {
|
|
103
104
|
if (ts.isExportAssignment(node))
|
|
104
105
|
maybeAddAliasedExport(node.expression, 'default');
|
|
105
106
|
if (ts.isVariableDeclaration(node))
|
|
@@ -1,11 +1,29 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
1
2
|
import ts from 'typescript';
|
|
3
|
+
import { sanitizeSpecifier } from '../util/modules.js';
|
|
4
|
+
import { dirname, extname, isInternal, join } from '../util/path.js';
|
|
2
5
|
import { ensureRealFilePath, isVirtualFilePath } from './utils.js';
|
|
3
6
|
export function createCustomModuleResolver(customSys, compilerOptions, virtualFileExtensions) {
|
|
4
7
|
function resolveModuleNames(moduleNames, containingFile) {
|
|
5
8
|
return moduleNames.map(moduleName => resolveModuleName(moduleName, containingFile));
|
|
6
9
|
}
|
|
7
10
|
function resolveModuleName(name, containingFile) {
|
|
8
|
-
const
|
|
11
|
+
const sanitizedSpecifier = sanitizeSpecifier(name);
|
|
12
|
+
const tsResolvedModule = ts.resolveModuleName(sanitizedSpecifier, containingFile, compilerOptions, ts.sys).resolvedModule;
|
|
13
|
+
if (!tsResolvedModule) {
|
|
14
|
+
const extension = extname(sanitizedSpecifier);
|
|
15
|
+
if (extension && isInternal(sanitizedSpecifier) && !virtualFileExtensions.includes(extension)) {
|
|
16
|
+
const resolvedFileName = join(dirname(containingFile), sanitizedSpecifier);
|
|
17
|
+
if (existsSync(resolvedFileName)) {
|
|
18
|
+
return {
|
|
19
|
+
resolvedFileName,
|
|
20
|
+
extension,
|
|
21
|
+
isExternalLibraryImport: false,
|
|
22
|
+
resolvedUsingTsExtension: false,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
9
27
|
if (virtualFileExtensions.length === 0)
|
|
10
28
|
return tsResolvedModule;
|
|
11
29
|
if (tsResolvedModule && !isVirtualFilePath(tsResolvedModule.resolvedFileName, virtualFileExtensions)) {
|
|
@@ -3,16 +3,16 @@ import importCall from './importCall.js';
|
|
|
3
3
|
import importDeclaration from './importDeclaration.js';
|
|
4
4
|
import importEqualsDeclaration from './importEqualsDeclaration.js';
|
|
5
5
|
import jsDocType from './jsDocType.js';
|
|
6
|
+
import propertyAccessCall from './propertyAccessCall.js';
|
|
6
7
|
import reExportDeclaration from './reExportDeclaration.js';
|
|
7
8
|
import requireCall from './requireCall.js';
|
|
8
|
-
import requireResolveCall from './requireResolveCall.js';
|
|
9
9
|
const visitors = [
|
|
10
10
|
importCall,
|
|
11
11
|
importDeclaration,
|
|
12
12
|
importEqualsDeclaration,
|
|
13
13
|
jsDocType,
|
|
14
|
+
propertyAccessCall,
|
|
14
15
|
reExportDeclaration,
|
|
15
16
|
requireCall,
|
|
16
|
-
requireResolveCall,
|
|
17
17
|
];
|
|
18
18
|
export default (sourceFile) => visitors.map(v => v(sourceFile));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import {
|
|
2
|
+
import { isPropertyAccessCall } from '../../ast-helpers.js';
|
|
3
3
|
import { importVisitor as visit } from '../index.js';
|
|
4
4
|
export default visit(() => true, node => {
|
|
5
|
-
if (
|
|
5
|
+
if (isPropertyAccessCall(node, 'require.resolve')) {
|
|
6
6
|
if (node.arguments[0] && ts.isStringLiteralLike(node.arguments[0])) {
|
|
7
7
|
const specifier = node.arguments[0].text;
|
|
8
8
|
if (specifier)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const helpText = "\u2702\uFE0F Find unused files, dependencies and exports in your JavaScript and TypeScript projects\n\nUsage: knip [options]\n\nOptions:\n -c, --config [file] Configuration file path (default: [.]knip.json[c], knip.js, knip.ts or package.json#knip)\n -t, --tsConfig [file] TypeScript configuration path (default: tsconfig.json)\n --production Analyze only production source files (e.g. no tests, devDependencies, exported types)\n --strict Consider only direct dependencies of workspace (not devDependencies, not other workspaces)\n --ignore-internal Ignore exports with tag @internal (JSDoc/TSDoc)\n -W, --workspace [dir] Analyze a single workspace (default: analyze all configured workspaces)\n --no-gitignore Don't use .gitignore\n --include Report only provided issue type(s), can be comma-separated or repeated (1)\n --exclude Exclude provided issue type(s) from report, can be comma-separated or repeated (1)\n --dependencies Shortcut for --include dependencies,unlisted,unresolved\n --exports Shortcut for --include exports,nsExports,classMembers,types,nsTypes,enumMembers,duplicates\n --include-entry-exports Include entry files when reporting unused exports\n -n, --no-progress Don't show dynamic progress updates (automatically enabled in CI environments)\n --preprocessor Preprocess the results before providing it to the reporter(s), can be repeated\n --reporter Select reporter: symbols, compact, codeowners, json, can be repeated (default: symbols)\n --reporter-options Pass extra options to the reporter (as JSON string, see example)\n --no-config-hints Suppress configuration hints\n --no-exit-code Always exit with code zero (0)\n --max-issues Maximum number of issues before non-zero exit code (default: 0)\n -d, --debug Show debug output\n --debug-file-filter Filter for files in debug output (regex as string)\n --performance Measure count and running time of expensive functions and display stats table\n -h, --help Print this help text\n -V, --version Print version\n\n(1) Issue types: files, dependencies, unlisted, unresolved, exports, nsExports, classMembers, types, nsTypes, enumMembers, duplicates\n\nExamples:\n\n$ knip\n$ knip --production\n$ knip --workspace packages/client --include files,dependencies\n$ knip -c ./config/knip.json --reporter compact\n$ knip --reporter codeowners --reporter-options '{\"path\":\".github/CODEOWNERS\"}'\n$ knip --debug --debug-file-filter '(specific|particular)-module'\n\nMore documentation and bug reports: https://github.com/webpro/knip";
|
|
1
|
+
export declare const helpText = "\u2702\uFE0F Find unused files, dependencies and exports in your JavaScript and TypeScript projects\n\nUsage: knip [options]\n\nOptions:\n -c, --config [file] Configuration file path (default: [.]knip.json[c], knip.js, knip.ts or package.json#knip)\n -t, --tsConfig [file] TypeScript configuration path (default: tsconfig.json)\n --production Analyze only production source files (e.g. no tests, devDependencies, exported types)\n --strict Consider only direct dependencies of workspace (not devDependencies, not other workspaces)\n --ignore-internal Ignore exports with tag @internal (JSDoc/TSDoc)\n -W, --workspace [dir] Analyze a single workspace (default: analyze all configured workspaces)\n --no-gitignore Don't use .gitignore\n --include Report only provided issue type(s), can be comma-separated or repeated (1)\n --exclude Exclude provided issue type(s) from report, can be comma-separated or repeated (1)\n --dependencies Shortcut for --include dependencies,unlisted,unresolved\n --exports Shortcut for --include exports,nsExports,classMembers,types,nsTypes,enumMembers,duplicates\n --include-entry-exports Include entry files when reporting unused exports\n -n, --no-progress Don't show dynamic progress updates (automatically enabled in CI environments)\n --preprocessor Preprocess the results before providing it to the reporter(s), can be repeated\n --preprocessor-options Pass extra options to the preprocessor (as JSON string, see --reporter-options example)\n --reporter Select reporter: symbols, compact, codeowners, json, can be repeated (default: symbols)\n --reporter-options Pass extra options to the reporter (as JSON string, see example)\n --no-config-hints Suppress configuration hints\n --no-exit-code Always exit with code zero (0)\n --max-issues Maximum number of issues before non-zero exit code (default: 0)\n -d, --debug Show debug output\n --debug-file-filter Filter for files in debug output (regex as string)\n --performance Measure count and running time of expensive functions and display stats table\n -h, --help Print this help text\n -V, --version Print version\n\n(1) Issue types: files, dependencies, unlisted, unresolved, exports, nsExports, classMembers, types, nsTypes, enumMembers, duplicates\n\nExamples:\n\n$ knip\n$ knip --production\n$ knip --workspace packages/client --include files,dependencies\n$ knip -c ./config/knip.json --reporter compact\n$ knip --reporter codeowners --reporter-options '{\"path\":\".github/CODEOWNERS\"}'\n$ knip --debug --debug-file-filter '(specific|particular)-module'\n\nMore documentation and bug reports: https://github.com/webpro/knip";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
config: string | undefined;
|
|
4
4
|
debug: boolean | undefined;
|
|
@@ -18,6 +18,7 @@ declare const _default: {
|
|
|
18
18
|
performance: boolean | undefined;
|
|
19
19
|
production: boolean | undefined;
|
|
20
20
|
preprocessor: string[] | undefined;
|
|
21
|
+
'preprocessor-options': string | undefined;
|
|
21
22
|
reporter: string[] | undefined;
|
|
22
23
|
'reporter-options': string | undefined;
|
|
23
24
|
strict: boolean | undefined;
|
|
@@ -18,6 +18,7 @@ Options:
|
|
|
18
18
|
--include-entry-exports Include entry files when reporting unused exports
|
|
19
19
|
-n, --no-progress Don't show dynamic progress updates (automatically enabled in CI environments)
|
|
20
20
|
--preprocessor Preprocess the results before providing it to the reporter(s), can be repeated
|
|
21
|
+
--preprocessor-options Pass extra options to the preprocessor (as JSON string, see --reporter-options example)
|
|
21
22
|
--reporter Select reporter: symbols, compact, codeowners, json, can be repeated (default: symbols)
|
|
22
23
|
--reporter-options Pass extra options to the reporter (as JSON string, see example)
|
|
23
24
|
--no-config-hints Suppress configuration hints
|
|
@@ -63,6 +64,7 @@ try {
|
|
|
63
64
|
performance: { type: 'boolean' },
|
|
64
65
|
production: { type: 'boolean' },
|
|
65
66
|
preprocessor: { type: 'string', multiple: true },
|
|
67
|
+
'preprocessor-options': { type: 'string' },
|
|
66
68
|
reporter: { type: 'string', multiple: true },
|
|
67
69
|
'reporter-options': { type: 'string' },
|
|
68
70
|
strict: { type: 'boolean' },
|
package/dist/util/modules.d.ts
CHANGED
|
@@ -6,3 +6,4 @@ export declare const isDefinitelyTyped: (packageName: string) => boolean;
|
|
|
6
6
|
export declare const getDefinitelyTypedFor: (packageName: string) => string;
|
|
7
7
|
export declare const getPackageFromDefinitelyTyped: (typedDependency: string) => string;
|
|
8
8
|
export declare const getEntryPathFromManifest: (cwd: string, dir: string, manifest: PackageJson) => Promise<string[]>;
|
|
9
|
+
export declare const sanitizeSpecifier: (specifier: string) => string;
|
package/dist/util/modules.js
CHANGED
package/dist/util/plugin.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export { _load as load } from './loader.js';
|
|
2
|
+
import type { RawPluginConfiguration } from 'src/types/config.js';
|
|
2
3
|
export declare const toCamelCase: (name: string) => string;
|
|
3
4
|
export declare const hasDependency: (dependencies: Set<string>, values: (string | RegExp)[]) => boolean;
|
|
5
|
+
export declare const normalizePluginConfig: (pluginConfig: RawPluginConfiguration) => false | {
|
|
6
|
+
config: string[] | null;
|
|
7
|
+
entry: string[] | null;
|
|
8
|
+
project: string[] | null;
|
|
9
|
+
};
|
package/dist/util/plugin.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { _load as load } from './loader.js';
|
|
2
|
+
import { arrayify } from './array.js';
|
|
2
3
|
export const toCamelCase = (name) => name.toLowerCase().replace(/(-[a-z])/g, group => group.toUpperCase().replace('-', ''));
|
|
3
4
|
export const hasDependency = (dependencies, values) => values.some(value => {
|
|
4
5
|
if (typeof value === 'string') {
|
|
@@ -12,3 +13,15 @@ export const hasDependency = (dependencies, values) => values.some(value => {
|
|
|
12
13
|
}
|
|
13
14
|
return false;
|
|
14
15
|
});
|
|
16
|
+
export const normalizePluginConfig = (pluginConfig) => {
|
|
17
|
+
if (pluginConfig === false) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const isObject = typeof pluginConfig !== 'string' && !Array.isArray(pluginConfig);
|
|
22
|
+
const config = isObject ? arrayify(pluginConfig.config) : pluginConfig ? arrayify(pluginConfig) : null;
|
|
23
|
+
const entry = isObject && 'entry' in pluginConfig ? arrayify(pluginConfig.entry) : null;
|
|
24
|
+
const project = isObject && 'project' in pluginConfig ? arrayify(pluginConfig.project) : entry;
|
|
25
|
+
return { config, entry, project };
|
|
26
|
+
}
|
|
27
|
+
};
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
export declare const loadTSConfig: (tsConfigFilePath: string) => Promise<
|
|
2
|
+
export declare const loadTSConfig: (tsConfigFilePath: string) => Promise<{
|
|
3
|
+
compilerOptions: ts.CompilerOptions;
|
|
4
|
+
definitionPaths: string[];
|
|
5
|
+
}>;
|
|
@@ -5,7 +5,9 @@ export const loadTSConfig = async (tsConfigFilePath) => {
|
|
|
5
5
|
if (isFile(tsConfigFilePath)) {
|
|
6
6
|
const config = ts.readConfigFile(tsConfigFilePath, ts.sys.readFile);
|
|
7
7
|
const parsedConfig = ts.parseJsonConfigFileContent(config.config, ts.sys, dirname(tsConfigFilePath));
|
|
8
|
-
|
|
8
|
+
const compilerOptions = parsedConfig.options ?? {};
|
|
9
|
+
const definitionPaths = parsedConfig.fileNames.filter(filePath => filePath.endsWith('.d.ts'));
|
|
10
|
+
return { compilerOptions, definitionPaths };
|
|
9
11
|
}
|
|
10
|
-
return {};
|
|
12
|
+
return { compilerOptions: {}, definitionPaths: [] };
|
|
11
13
|
};
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "2.30.0";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '
|
|
1
|
+
export const version = '2.30.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "knip",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-graph.0",
|
|
4
4
|
"description": "Find unused files, dependencies and exports in your TypeScript and JavaScript projects",
|
|
5
5
|
"homepage": "https://github.com/webpro/knip",
|
|
6
6
|
"repository": "github:webpro/knip",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@ericcornelissen/bash-parser": "^0.5.2",
|
|
46
46
|
"@npmcli/map-workspaces": "^3.0.4",
|
|
47
|
+
"@pnpm/workspace.pkgs-graph": "2.0.6",
|
|
47
48
|
"@snyk/github-codeowners": "^1.1.0",
|
|
48
49
|
"chalk": "^5.2.0",
|
|
49
50
|
"easy-table": "^1.2.0",
|
|
@@ -65,27 +66,27 @@
|
|
|
65
66
|
"@npmcli/package-json": "5.0.0",
|
|
66
67
|
"@release-it/bumper": "5.1.0",
|
|
67
68
|
"@swc/cli": "0.1.62",
|
|
68
|
-
"@swc/core": "1.3.
|
|
69
|
-
"@types/eslint": "8.44.
|
|
70
|
-
"@types/js-yaml": "4.0.
|
|
71
|
-
"@types/micromatch": "4.0.
|
|
72
|
-
"@types/minimist": "1.2.
|
|
73
|
-
"@types/node": "20.
|
|
74
|
-
"@types/npmcli__map-workspaces": "3.0.
|
|
75
|
-
"@types/webpack": "5.28.
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "6.7.
|
|
77
|
-
"@typescript-eslint/parser": "6.7.
|
|
69
|
+
"@swc/core": "1.3.90",
|
|
70
|
+
"@types/eslint": "8.44.3",
|
|
71
|
+
"@types/js-yaml": "4.0.6",
|
|
72
|
+
"@types/micromatch": "4.0.3",
|
|
73
|
+
"@types/minimist": "1.2.3",
|
|
74
|
+
"@types/node": "20.7.1",
|
|
75
|
+
"@types/npmcli__map-workspaces": "3.0.2",
|
|
76
|
+
"@types/webpack": "5.28.3",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "6.7.3",
|
|
78
|
+
"@typescript-eslint/parser": "6.7.3",
|
|
78
79
|
"c8": "8.0.1",
|
|
79
|
-
"eslint": "8.
|
|
80
|
-
"eslint-import-resolver-typescript": "3.6.
|
|
80
|
+
"eslint": "8.50.0",
|
|
81
|
+
"eslint-import-resolver-typescript": "3.6.1",
|
|
81
82
|
"eslint-plugin-import": "2.28.1",
|
|
82
83
|
"eslint-plugin-n": "16.1.0",
|
|
83
84
|
"prettier": "3.0.3",
|
|
84
|
-
"release-it": "16.1
|
|
85
|
+
"release-it": "16.2.1",
|
|
85
86
|
"remark-cli": "11.0.0",
|
|
86
87
|
"remark-preset-webpro": "0.0.3",
|
|
87
|
-
"tsx": "3.
|
|
88
|
-
"type-fest": "4.3.
|
|
88
|
+
"tsx": "3.13.0",
|
|
89
|
+
"type-fest": "4.3.2"
|
|
89
90
|
},
|
|
90
91
|
"engines": {
|
|
91
92
|
"node": ">=16.17.0 <17 || >=18.6.0"
|
package/schema.json
CHANGED
|
@@ -256,6 +256,10 @@
|
|
|
256
256
|
"title": "Cypress plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/cypress/README.md)",
|
|
257
257
|
"$ref": "#/definitions/plugin"
|
|
258
258
|
},
|
|
259
|
+
"drizzle": {
|
|
260
|
+
"title": "Drizzle plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/drizzle/README.md)",
|
|
261
|
+
"$ref": "#/definitions/plugin"
|
|
262
|
+
},
|
|
259
263
|
"eslint": {
|
|
260
264
|
"title": "ESLint plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/eslint/README.md)",
|
|
261
265
|
"$ref": "#/definitions/plugin"
|
|
@@ -312,6 +316,10 @@
|
|
|
312
316
|
"title": "Playwright plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/playwright/README.md)",
|
|
313
317
|
"$ref": "#/definitions/plugin"
|
|
314
318
|
},
|
|
319
|
+
"playwright-ct": {
|
|
320
|
+
"title": "Playwright for components plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/playwright-ct/README.md)",
|
|
321
|
+
"$ref": "#/definitions/plugin"
|
|
322
|
+
},
|
|
315
323
|
"postcss": {
|
|
316
324
|
"title": "PostCSS plugin configuration (https://github.com/webpro/knip/blob/main/src/plugins/postcss/README.md)",
|
|
317
325
|
"$ref": "#/definitions/plugin"
|
/package/dist/typescript/visitors/imports/{requireResolveCall.d.ts → propertyAccessCall.d.ts}
RENAMED
|
File without changes
|