knip 6.25.0 → 6.27.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/ConfigurationChief.d.ts +108 -0
- package/dist/DependencyDeputy.d.ts +1 -1
- package/dist/DependencyDeputy.js +2 -2
- package/dist/ProjectPrincipal.d.ts +3 -3
- package/dist/ProjectPrincipal.js +4 -4
- package/dist/binaries/fallback.js +5 -1
- package/dist/binaries/resolvers/bun.js +13 -5
- package/dist/binaries/resolvers/npm.js +4 -2
- package/dist/binaries/resolvers/pnpm.js +11 -1
- package/dist/binaries/resolvers/yarn.js +10 -4
- package/dist/binaries/util.d.ts +4 -0
- package/dist/binaries/util.js +14 -0
- package/dist/compilers/index.d.ts +180 -0
- package/dist/compilers/less.js +1 -1
- package/dist/compilers/scss.js +1 -1
- package/dist/compilers/stylus.js +1 -1
- package/dist/constants.js +19 -0
- package/dist/graph/analyze.js +1 -1
- package/dist/graph/build.js +24 -7
- package/dist/plugins/_vue/auto-import.d.ts +12 -0
- package/dist/plugins/_vue/auto-import.js +332 -0
- package/dist/plugins/_vue/types.d.ts +45 -0
- package/dist/plugins/_vue/types.js +1 -0
- package/dist/plugins/astro/index.js +2 -37
- package/dist/plugins/astro/resolveFromAST.d.ts +4 -4
- package/dist/plugins/astro/resolveFromAST.js +34 -7
- package/dist/plugins/electron-vite/index.d.ts +3 -0
- package/dist/plugins/electron-vite/index.js +51 -0
- package/dist/plugins/electron-vite/types.d.ts +23 -0
- package/dist/plugins/electron-vite/types.js +1 -0
- package/dist/plugins/esbuild/index.d.ts +3 -0
- package/dist/plugins/esbuild/index.js +17 -0
- package/dist/plugins/eslint/resolveFromAST.js +18 -21
- package/dist/plugins/index.d.ts +18 -0
- package/dist/plugins/index.js +36 -0
- package/dist/plugins/laravel-vite-plugin/index.d.ts +3 -0
- package/dist/plugins/laravel-vite-plugin/index.js +14 -0
- package/dist/plugins/laravel-vite-plugin/resolveFromAST.d.ts +2 -0
- package/dist/plugins/laravel-vite-plugin/resolveFromAST.js +27 -0
- package/dist/plugins/next/index.js +2 -2
- package/dist/plugins/next-mdx/index.js +2 -8
- package/dist/plugins/next-mdx/resolveFromAST.d.ts +3 -2
- package/dist/plugins/next-mdx/resolveFromAST.js +17 -21
- package/dist/plugins/nuxt/index.js +5 -68
- package/dist/plugins/nuxt/types.d.ts +0 -34
- package/dist/plugins/nuxtjs-i18n/index.d.ts +3 -0
- package/dist/plugins/nuxtjs-i18n/index.js +12 -0
- package/dist/plugins/oclif/index.js +10 -5
- package/dist/plugins/orval/index.js +1 -3
- package/dist/plugins/orval/resolveFromAST.d.ts +2 -2
- package/dist/plugins/orval/resolveFromAST.js +4 -7
- package/dist/plugins/oxlint/index.js +23 -2
- package/dist/plugins/pnpm/index.js +2 -1
- package/dist/plugins/pnpm/types.d.ts +2 -4
- package/dist/plugins/quasar/index.d.ts +3 -0
- package/dist/plugins/quasar/index.js +15 -0
- package/dist/plugins/quasar/resolveFromAST.d.ts +3 -0
- package/dist/plugins/quasar/resolveFromAST.js +63 -0
- package/dist/plugins/qwik/index.js +1 -25
- package/dist/plugins/qwik/resolveFromAST.d.ts +5 -3
- package/dist/plugins/qwik/resolveFromAST.js +28 -9
- package/dist/plugins/react-email/index.js +1 -0
- package/dist/plugins/rolldown/index.js +2 -5
- package/dist/plugins/rollup/index.js +2 -5
- package/dist/plugins/rslib/index.js +2 -5
- package/dist/plugins/sst/index.js +1 -5
- package/dist/plugins/sst/resolveFromAST.d.ts +1 -1
- package/dist/plugins/sst/resolveFromAST.js +1 -1
- package/dist/plugins/starlight/index.js +1 -19
- package/dist/plugins/starlight/resolveFromAST.d.ts +2 -2
- package/dist/plugins/starlight/resolveFromAST.js +12 -8
- package/dist/plugins/stencil/index.js +2 -37
- package/dist/plugins/stencil/resolveFromAST.d.ts +3 -0
- package/dist/plugins/stencil/resolveFromAST.js +36 -0
- package/dist/plugins/storybook/index.js +3 -0
- package/dist/plugins/sveltekit/index.js +1 -48
- package/dist/plugins/sveltekit/resolveFromAST.d.ts +2 -0
- package/dist/plugins/sveltekit/resolveFromAST.js +45 -0
- package/dist/plugins/tailwind/compiler.js +9 -4
- package/dist/plugins/tanstack-router/index.js +3 -1
- package/dist/plugins/tauri/index.d.ts +3 -0
- package/dist/plugins/tauri/index.js +42 -0
- package/dist/plugins/tauri/types.d.ts +16 -0
- package/dist/plugins/tauri/types.js +1 -0
- package/dist/plugins/temporal/index.d.ts +3 -0
- package/dist/plugins/temporal/index.js +12 -0
- package/dist/plugins/tsdown/index.js +16 -7
- package/dist/plugins/tsdown/types.d.ts +4 -1
- package/dist/plugins/tsup/index.js +2 -5
- package/dist/plugins/unplugin-auto-import/index.d.ts +3 -0
- package/dist/plugins/unplugin-auto-import/index.js +18 -0
- package/dist/plugins/unplugin-icons/index.d.ts +3 -0
- package/dist/plugins/unplugin-icons/index.js +17 -0
- package/dist/plugins/unplugin-vue-components/index.d.ts +3 -0
- package/dist/plugins/unplugin-vue-components/index.js +16 -0
- package/dist/plugins/unplugin-vue-i18n/index.d.ts +3 -0
- package/dist/plugins/unplugin-vue-i18n/index.js +10 -0
- package/dist/plugins/unplugin-vue-markdown/index.d.ts +3 -0
- package/dist/plugins/unplugin-vue-markdown/index.js +16 -0
- package/dist/plugins/unplugin-vue-router/index.d.ts +3 -0
- package/dist/plugins/unplugin-vue-router/index.js +14 -0
- package/dist/plugins/vite/helpers.d.ts +2 -0
- package/dist/plugins/vite/helpers.js +46 -31
- package/dist/plugins/vite/index.js +1 -1
- package/dist/plugins/vite-plugin-pages/index.d.ts +3 -0
- package/dist/plugins/vite-plugin-pages/index.js +26 -0
- package/dist/plugins/vite-plugin-pwa/index.d.ts +3 -0
- package/dist/plugins/vite-plugin-pwa/index.js +17 -0
- package/dist/plugins/vite-plugin-pwa/resolveFromAST.d.ts +4 -0
- package/dist/plugins/vite-plugin-pwa/resolveFromAST.js +37 -0
- package/dist/plugins/vite-plugin-vue-layouts-next/index.d.ts +3 -0
- package/dist/plugins/vite-plugin-vue-layouts-next/index.js +23 -0
- package/dist/plugins/vite-plus/index.d.ts +3 -0
- package/dist/plugins/vite-plus/index.js +14 -0
- package/dist/plugins/vite-plus/resolveFromAST.d.ts +2 -0
- package/dist/plugins/vite-plus/resolveFromAST.js +37 -0
- package/dist/plugins/vite-pwa-assets-generator/index.d.ts +3 -0
- package/dist/plugins/vite-pwa-assets-generator/index.js +12 -0
- package/dist/plugins/vitepress/index.js +5 -1
- package/dist/plugins/vitest/index.js +19 -0
- package/dist/plugins/vitest/types.d.ts +8 -0
- package/dist/plugins/vue/index.js +5 -3
- package/dist/plugins/yarn/index.js +2 -1
- package/dist/plugins/yarn/types.d.ts +2 -4
- package/dist/run.js +3 -3
- package/dist/schema/configuration.d.ts +270 -0
- package/dist/schema/plugins.d.ts +90 -0
- package/dist/schema/plugins.js +18 -0
- package/dist/types/PluginNames.d.ts +2 -2
- package/dist/types/PluginNames.js +18 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/package-json.d.ts +8 -4
- package/dist/typescript/ast-helpers.d.ts +7 -2
- package/dist/typescript/ast-helpers.js +36 -8
- package/dist/typescript/ast-nodes.d.ts +2 -0
- package/dist/typescript/ast-nodes.js +8 -0
- package/dist/typescript/get-imports-and-exports.js +8 -5
- package/dist/typescript/resolve-module-names.d.ts +2 -2
- package/dist/typescript/resolve-module-names.js +97 -18
- package/dist/typescript/visitors/walk.d.ts +2 -1
- package/dist/typescript/visitors/walk.js +13 -2
- package/dist/util/cli-arguments.d.ts +1 -1
- package/dist/util/cli-arguments.js +1 -1
- package/dist/util/create-input-handler.js +8 -1
- package/dist/util/create-options.d.ts +180 -0
- package/dist/util/package-json.d.ts +7 -0
- package/dist/util/package-json.js +37 -0
- package/dist/util/resolve.d.ts +1 -0
- package/dist/util/resolve.js +5 -2
- package/dist/util/to-source-path.d.ts +4 -3
- package/dist/util/to-source-path.js +23 -6
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/schema.json +72 -0
- package/dist/plugins/next/resolveFromAST.d.ts +0 -2
- package/dist/plugins/next/resolveFromAST.js +0 -2
- package/dist/plugins/nuxt/helpers.d.ts +0 -15
- package/dist/plugins/nuxt/helpers.js +0 -133
- package/dist/plugins/rolldown/resolveFromAST.d.ts +0 -2
- package/dist/plugins/rolldown/resolveFromAST.js +0 -4
- package/dist/plugins/rollup/resolveFromAST.d.ts +0 -2
- package/dist/plugins/rollup/resolveFromAST.js +0 -4
- package/dist/plugins/rslib/resolveFromAST.d.ts +0 -2
- package/dist/plugins/rslib/resolveFromAST.js +0 -4
- package/dist/plugins/tsdown/resolveFromAST.d.ts +0 -2
- package/dist/plugins/tsdown/resolveFromAST.js +0 -4
- package/dist/plugins/tsup/resolveFromAST.d.ts +0 -2
- package/dist/plugins/tsup/resolveFromAST.js +0 -4
- package/dist/plugins/vue/compiler.d.ts +0 -3
- package/dist/plugins/vue/compiler.js +0 -10
|
@@ -12,6 +12,7 @@ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
|
|
|
12
12
|
const config = ['vitest.config.{js,mjs,ts,cjs,mts,cts}', 'vitest.{workspace,projects}.{js,mjs,ts,cjs,mts,cts,json}'];
|
|
13
13
|
const mocks = ['**/__mocks__/**/*.?(c|m)[jt]s?(x)'];
|
|
14
14
|
const entry = ['**/*.{bench,test,test-d,spec,spec-d}.?(c|m)[jt]s?(x)', ...mocks];
|
|
15
|
+
const benchmark = ['**/*.bench.?(c|m)[jt]s?(x)'];
|
|
15
16
|
const findConfigDependencies = (localConfig, options, vitestRoot) => {
|
|
16
17
|
const { configFileDir: dir } = options;
|
|
17
18
|
const testConfig = localConfig.test;
|
|
@@ -29,6 +30,10 @@ const findConfigDependencies = (localConfig, options, vitestRoot) => {
|
|
|
29
30
|
const setupFiles = [testConfig.setupFiles ?? []]
|
|
30
31
|
.flat()
|
|
31
32
|
.map(specifier => ({ ...toDeferResolve(specifier), dir: vitestRoot }));
|
|
33
|
+
const snapshotSerializers = (testConfig.snapshotSerializers ?? []).map(specifier => ({
|
|
34
|
+
...toDeferResolve(specifier),
|
|
35
|
+
dir: vitestRoot,
|
|
36
|
+
}));
|
|
32
37
|
const globalSetup = [testConfig.globalSetup ?? []].flat().map(specifier => ({ ...toDeferResolve(specifier), dir }));
|
|
33
38
|
const workspaceDependencies = [];
|
|
34
39
|
if (testConfig.workspace !== undefined) {
|
|
@@ -49,6 +54,7 @@ const findConfigDependencies = (localConfig, options, vitestRoot) => {
|
|
|
49
54
|
...reporters.map(id => toDependency(id)),
|
|
50
55
|
...coverage.map(id => toDependency(id)),
|
|
51
56
|
...setupFiles,
|
|
57
|
+
...snapshotSerializers,
|
|
52
58
|
...globalSetup,
|
|
53
59
|
...workspaceDependencies,
|
|
54
60
|
...projectsDependencies,
|
|
@@ -109,6 +115,9 @@ export const resolveConfig = async (localConfig, options) => {
|
|
|
109
115
|
inputs.add(toConfig('vitest', projectFile, { containingFilePath: options.configFilePath }));
|
|
110
116
|
}
|
|
111
117
|
}
|
|
118
|
+
else if (typeof project.extends === 'string') {
|
|
119
|
+
inputs.add(toConfig('vitest', project.extends, { containingFilePath: options.configFilePath }));
|
|
120
|
+
}
|
|
112
121
|
}
|
|
113
122
|
}
|
|
114
123
|
}
|
|
@@ -132,6 +141,9 @@ export const resolveConfig = async (localConfig, options) => {
|
|
|
132
141
|
if (!options.config.entry)
|
|
133
142
|
for (const dependency of mocks)
|
|
134
143
|
inputs.add(toEntry(join(dir, dependency)));
|
|
144
|
+
const benchmarkInclude = cfg.test.benchmark?.include ?? benchmark;
|
|
145
|
+
for (const dependency of benchmarkInclude)
|
|
146
|
+
dependency[0] !== '!' && inputs.add(toEntry(join(dir, dependency)));
|
|
135
147
|
}
|
|
136
148
|
else {
|
|
137
149
|
for (const dependency of options.config.entry ?? entry)
|
|
@@ -149,6 +161,13 @@ export const resolveConfig = async (localConfig, options) => {
|
|
|
149
161
|
if (packageName)
|
|
150
162
|
inputs.add(toDependency(packageName, { optional: true }));
|
|
151
163
|
}
|
|
164
|
+
const ssrExternal = cfg.ssr?.external;
|
|
165
|
+
if (Array.isArray(ssrExternal)) {
|
|
166
|
+
for (const dependency of ssrExternal) {
|
|
167
|
+
if (typeof dependency === 'string')
|
|
168
|
+
inputs.add(toDependency(dependency, { optional: true }));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
152
171
|
if (cfg.resolve?.extensions) {
|
|
153
172
|
const customExtensions = cfg.resolve.extensions.filter(ext => ext.startsWith('.') && !DEFAULT_EXTENSIONS.has(ext));
|
|
154
173
|
for (const ext of customExtensions) {
|
|
@@ -9,6 +9,9 @@ export type AliasOptions = readonly Alias[] | {
|
|
|
9
9
|
interface VitestConfig {
|
|
10
10
|
test: {
|
|
11
11
|
include: string[];
|
|
12
|
+
benchmark?: {
|
|
13
|
+
include?: string[];
|
|
14
|
+
};
|
|
12
15
|
coverage?: {
|
|
13
16
|
enabled?: boolean;
|
|
14
17
|
provider: string;
|
|
@@ -18,6 +21,7 @@ interface VitestConfig {
|
|
|
18
21
|
globalSetup?: string | string[];
|
|
19
22
|
reporters?: (string | [string, unknown] | unknown)[];
|
|
20
23
|
setupFiles?: string | string[];
|
|
24
|
+
snapshotSerializers?: string[];
|
|
21
25
|
workspace?: (ViteConfig & {
|
|
22
26
|
test: VitestConfig['test'] & {
|
|
23
27
|
workspace: never;
|
|
@@ -32,6 +36,7 @@ interface VitestConfig {
|
|
|
32
36
|
};
|
|
33
37
|
}
|
|
34
38
|
export interface ViteConfig extends VitestConfig {
|
|
39
|
+
extends?: string | true;
|
|
35
40
|
root?: string;
|
|
36
41
|
plugins?: unknown[];
|
|
37
42
|
build?: {
|
|
@@ -44,6 +49,9 @@ export interface ViteConfig extends VitestConfig {
|
|
|
44
49
|
optimizeDeps?: {
|
|
45
50
|
include?: string[];
|
|
46
51
|
};
|
|
52
|
+
ssr?: {
|
|
53
|
+
external?: (string | RegExp)[] | true;
|
|
54
|
+
};
|
|
47
55
|
resolve?: {
|
|
48
56
|
alias?: AliasOptions;
|
|
49
57
|
dedupe?: string[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toDependency } from '../../util/input.js';
|
|
2
2
|
import { hasDependency } from '../../util/plugin.js';
|
|
3
|
+
import { vueAutoImportCompiler } from '../_vue/auto-import.js';
|
|
3
4
|
import { findWebpackDependenciesFromConfig } from '../webpack/index.js';
|
|
4
|
-
import compiler from './compiler.js';
|
|
5
5
|
const title = 'Vue';
|
|
6
6
|
const enablers = ['vue'];
|
|
7
7
|
const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
|
|
@@ -28,9 +28,11 @@ const resolveConfig = async (config, options) => {
|
|
|
28
28
|
}
|
|
29
29
|
return inputs;
|
|
30
30
|
};
|
|
31
|
+
const sfcCompilers = ['vue', 'nuxt', 'unplugin-vue', '@vitejs/plugin-vue'];
|
|
31
32
|
const registerCompilers = ({ registerCompiler, hasDependency }) => {
|
|
32
|
-
if (
|
|
33
|
-
registerCompiler({ extension: '.vue', compiler });
|
|
33
|
+
if (sfcCompilers.some(hasDependency)) {
|
|
34
|
+
registerCompiler({ extension: '.vue', compiler: vueAutoImportCompiler });
|
|
35
|
+
}
|
|
34
36
|
};
|
|
35
37
|
const plugin = {
|
|
36
38
|
title,
|
|
@@ -23,7 +23,8 @@ const resolveConfig = config => {
|
|
|
23
23
|
for (const extension of Object.values(config.packageExtensions)) {
|
|
24
24
|
if (extension.peerDependencies) {
|
|
25
25
|
for (const dep of Object.keys(extension.peerDependencies)) {
|
|
26
|
-
|
|
26
|
+
const optional = extension.peerDependenciesMeta?.[dep]?.optional === true;
|
|
27
|
+
inputs.push(optional ? toDependency(dep, { optional: true }) : toDependency(dep));
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PackageExtensions } from '../../types/package-json.ts';
|
|
2
2
|
export type YarnConfig = {
|
|
3
3
|
plugins?: Array<string | {
|
|
4
4
|
path?: string;
|
|
5
5
|
}>;
|
|
6
6
|
yarnPath?: string;
|
|
7
|
-
packageExtensions?:
|
|
8
|
-
peerDependencies?: Dependencies;
|
|
9
|
-
}>;
|
|
7
|
+
packageExtensions?: PackageExtensions;
|
|
10
8
|
};
|
package/dist/run.js
CHANGED
|
@@ -12,7 +12,7 @@ import { debugLogObject } from './util/debug.js';
|
|
|
12
12
|
import { flushGitignoreCache, initGitignoreCache } from './util/gitignore-cache.js';
|
|
13
13
|
import { flushGlobCache, initGlobCache } from './util/glob-cache.js';
|
|
14
14
|
import { getGitIgnoredHandler } from './util/glob-core.js';
|
|
15
|
-
import { getModuleSourcePathHandler,
|
|
15
|
+
import { getModuleSourcePathHandler, getWorkspacePackageTargetHandler } from './util/to-source-path.js';
|
|
16
16
|
import { getSessionHandler } from './util/watch.js';
|
|
17
17
|
export const run = async (options) => {
|
|
18
18
|
debugLogObject('*', 'Unresolved configuration', options);
|
|
@@ -30,8 +30,8 @@ export const run = async (options) => {
|
|
|
30
30
|
const workspaces = await chief.getWorkspaces();
|
|
31
31
|
const isGitIgnored = await getGitIgnoredHandler(options, new Set(workspaces.map(w => w.dir)));
|
|
32
32
|
const toSourceFilePath = getModuleSourcePathHandler(chief);
|
|
33
|
-
const
|
|
34
|
-
const principal = new ProjectPrincipal(options, toSourceFilePath,
|
|
33
|
+
const findWorkspacePackageTarget = getWorkspacePackageTargetHandler(chief);
|
|
34
|
+
const principal = new ProjectPrincipal(options, toSourceFilePath, findWorkspacePackageTarget);
|
|
35
35
|
collector.setWorkspaceFilter(chief.workspaceFilePathFilter);
|
|
36
36
|
collector.setSelectedWorkspaces(chief.selectedWorkspaces);
|
|
37
37
|
collector.setIgnoreIssues(chief.getIgnoreIssues());
|