knip 6.24.0 → 6.25.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 +13 -1
- package/dist/ConfigurationChief.js +3 -0
- package/dist/ProjectPrincipal.d.ts +2 -0
- package/dist/ProjectPrincipal.js +4 -1
- package/dist/binaries/bash-parser.js +55 -83
- package/dist/binaries/index.js +3 -0
- package/dist/compilers/index.d.ts +29 -5
- package/dist/constants.d.ts +5 -1
- package/dist/constants.js +5 -0
- package/dist/graph/analyze.js +37 -2
- package/dist/graph/build.js +9 -0
- package/dist/graph-explorer/explorer.d.ts +1 -0
- package/dist/graph-explorer/explorer.js +2 -0
- package/dist/graph-explorer/operations/find-all-cycles.d.ts +3 -0
- package/dist/graph-explorer/operations/find-all-cycles.js +43 -0
- package/dist/graph-explorer/operations/find-cycles.js +3 -9
- package/dist/graph-explorer/utils.d.ts +10 -1
- package/dist/graph-explorer/utils.js +53 -0
- package/dist/plugins/bun/index.js +28 -14
- package/dist/plugins/eve/index.d.ts +3 -0
- package/dist/plugins/eve/index.js +22 -0
- package/dist/plugins/execa/visitors/execa.js +10 -18
- package/dist/plugins/fumadocs/index.d.ts +3 -0
- package/dist/plugins/fumadocs/index.js +18 -0
- package/dist/plugins/graphql-codegen/index.js +9 -7
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/jest/index.js +13 -3
- package/dist/plugins/next/index.js +23 -10
- package/dist/plugins/node/index.js +4 -1
- package/dist/plugins/pnpm/index.js +21 -1
- package/dist/plugins/pnpm/types.d.ts +6 -0
- package/dist/plugins/pnpm/types.js +1 -0
- package/dist/plugins/prettier/index.js +19 -3
- package/dist/plugins/prettier/types.d.ts +6 -1
- package/dist/plugins/rspack/index.js +5 -0
- package/dist/plugins/serverless-framework/index.js +12 -1
- package/dist/plugins/serverless-framework/types.d.ts +5 -2
- package/dist/plugins/storybook/index.js +7 -0
- package/dist/plugins/typedoc/index.js +9 -3
- package/dist/plugins/typedoc/types.d.ts +2 -0
- package/dist/plugins/vite/visitors/importMetaGlob.js +1 -8
- package/dist/plugins/webpack/visitors/requireContext.js +2 -13
- package/dist/plugins/yarn/index.js +13 -4
- package/dist/plugins/yarn/types.d.ts +10 -0
- package/dist/plugins/yarn/types.js +1 -0
- package/dist/plugins/zx/visitors/zx.js +4 -4
- package/dist/reporters/cycles.d.ts +3 -0
- package/dist/reporters/cycles.js +79 -0
- package/dist/reporters/index.d.ts +1 -0
- package/dist/reporters/index.js +2 -0
- package/dist/reporters/json.d.ts +3 -0
- package/dist/reporters/json.js +2 -1
- package/dist/reporters/util/util.d.ts +3 -1
- package/dist/reporters/util/util.js +5 -1
- package/dist/schema/configuration.d.ts +40 -6
- package/dist/schema/configuration.js +6 -0
- package/dist/schema/plugins.d.ts +10 -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/config.d.ts +9 -0
- package/dist/types/issues.d.ts +3 -0
- package/dist/types/module-graph.d.ts +7 -0
- package/dist/types/package-json.d.ts +4 -1
- package/dist/typescript/ast-nodes.d.ts +3 -1
- package/dist/typescript/ast-nodes.js +9 -1
- package/dist/typescript/get-imports-and-exports.js +10 -0
- package/dist/typescript/glob-imports.d.ts +3 -0
- package/dist/typescript/glob-imports.js +49 -0
- package/dist/typescript/resolve-module-names.d.ts +2 -0
- package/dist/typescript/resolve-module-names.js +35 -1
- package/dist/typescript/visitors/calls.js +4 -6
- package/dist/typescript/visitors/imports.js +8 -8
- package/dist/typescript/visitors/script-visitors.js +4 -4
- package/dist/typescript/visitors/walk.js +2 -3
- package/dist/util/cli-arguments.d.ts +2 -1
- package/dist/util/cli-arguments.js +4 -2
- package/dist/util/create-options.d.ts +32 -5
- package/dist/util/create-options.js +4 -1
- package/dist/util/get-included-issue-types.d.ts +1 -0
- package/dist/util/get-included-issue-types.js +4 -2
- package/dist/util/issue-initializers.js +1 -1
- package/dist/util/load-tsconfig.js +17 -4
- package/dist/util/module-graph.js +1 -0
- package/dist/util/modules.js +25 -4
- package/dist/util/scripts.d.ts +7 -0
- package/dist/util/scripts.js +75 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/schema.json +40 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { toDeferResolve } from '../../util/input.js';
|
|
1
|
+
import { toDeferResolve, toEntry } from '../../util/input.js';
|
|
2
|
+
import { join } from '../../util/path.js';
|
|
2
3
|
import { hasDependency } from '../../util/plugin.js';
|
|
3
4
|
const title = 'TypeDoc';
|
|
4
5
|
const enablers = ['typedoc'];
|
|
@@ -12,11 +13,16 @@ const config = [
|
|
|
12
13
|
'package.json',
|
|
13
14
|
'tsconfig.json',
|
|
14
15
|
];
|
|
15
|
-
const resolveConfig = config => {
|
|
16
|
+
const resolveConfig = (config, options) => {
|
|
16
17
|
const cfg = 'typedocOptions' in config ? config.typedocOptions : config;
|
|
17
18
|
const plugins = cfg?.plugin ?? [];
|
|
18
19
|
const themes = cfg?.theme ?? [];
|
|
19
|
-
|
|
20
|
+
const inputs = [...plugins, ...themes].map(id => toDeferResolve(id));
|
|
21
|
+
for (const file of [cfg?.customCss, cfg?.customJs]) {
|
|
22
|
+
if (file)
|
|
23
|
+
inputs.push(toEntry(join(options.configFileDir, file)));
|
|
24
|
+
}
|
|
25
|
+
return inputs;
|
|
20
26
|
};
|
|
21
27
|
const args = {
|
|
22
28
|
resolve: ['plugin', 'theme'],
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { IMPORT_FLAGS } from '../../../constants.js';
|
|
2
|
-
import { _syncGlob } from '../../../util/glob.js';
|
|
3
|
-
import { dirname, isAbsolute, join } from '../../../util/path.js';
|
|
4
1
|
import { getStringValue, isStringLiteral } from '../../../typescript/ast-nodes.js';
|
|
5
2
|
export function createImportMetaGlobVisitor(ctx) {
|
|
6
3
|
return {
|
|
@@ -25,11 +22,7 @@ export function createImportMetaGlobVisitor(ctx) {
|
|
|
25
22
|
}
|
|
26
23
|
if (!patterns?.length)
|
|
27
24
|
return;
|
|
28
|
-
|
|
29
|
-
const files = _syncGlob({ patterns, cwd: dir });
|
|
30
|
-
for (const f of files) {
|
|
31
|
-
ctx.addImport(isAbsolute(f) ? f : join(dir, f), arg.start, IMPORT_FLAGS.ENTRY);
|
|
32
|
-
}
|
|
25
|
+
ctx.addImportGlob(patterns);
|
|
33
26
|
},
|
|
34
27
|
};
|
|
35
28
|
}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { IMPORT_FLAGS } from '../../../constants.js';
|
|
2
|
-
import { _syncGlob } from '../../../util/glob.js';
|
|
3
|
-
import { dirname, join, toRelative } from '../../../util/path.js';
|
|
4
1
|
import { getStringValue, isStringLiteral } from '../../../typescript/ast-nodes.js';
|
|
5
2
|
export function createRequireContextVisitor(ctx) {
|
|
6
3
|
return {
|
|
@@ -17,16 +14,8 @@ export function createRequireContextVisitor(ctx) {
|
|
|
17
14
|
const arg1 = node.arguments[1];
|
|
18
15
|
const recursive = !(arg1?.type === 'Literal' && 'value' in arg1 && arg1.value === false);
|
|
19
16
|
const regexArg = node.arguments[2];
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const pattern = recursive ? '**/*' : '*';
|
|
23
|
-
const files = _syncGlob({ patterns: [pattern], cwd: baseDir });
|
|
24
|
-
const regex = regexArg && 'regex' in regexArg ? new RegExp(regexArg.regex.pattern, regexArg.regex.flags) : undefined;
|
|
25
|
-
for (const f of files) {
|
|
26
|
-
if (!regex || regex.test(`./${toRelative(f, baseDir)}`)) {
|
|
27
|
-
ctx.addImport(f, node.arguments[0].start, IMPORT_FLAGS.ENTRY);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
17
|
+
const filter = regexArg && 'regex' in regexArg ? new RegExp(regexArg.regex.pattern, regexArg.regex.flags) : undefined;
|
|
18
|
+
ctx.addImportGlob([recursive ? '**/*' : '*'], { base: dirArg, filter });
|
|
30
19
|
},
|
|
31
20
|
};
|
|
32
21
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { isFile } from '../../util/fs.js';
|
|
2
|
-
import { toEntry } from '../../util/input.js';
|
|
2
|
+
import { toDependency, toEntry } from '../../util/input.js';
|
|
3
3
|
const title = 'Yarn';
|
|
4
|
-
const enablers = 'This plugin is enabled when a `yarn.lock` file is found in the root
|
|
5
|
-
const isEnabled = ({ cwd }) => isFile(cwd, 'yarn.lock');
|
|
4
|
+
const enablers = 'This plugin is enabled when a `yarn.lock` file is found in the root directory, or when `yarn@` is specified in the `packageManager` field of `package.json`.';
|
|
5
|
+
const isEnabled = async ({ cwd, manifest }) => manifest.packageManager?.startsWith('yarn@') || isFile(cwd, 'yarn.lock');
|
|
6
6
|
const isRootOnly = true;
|
|
7
7
|
const config = ['.yarnrc.yml'];
|
|
8
8
|
const entry = ['yarn.config.cjs'];
|
|
9
9
|
const resolveConfig = config => {
|
|
10
|
-
const inputs = entry.map(
|
|
10
|
+
const inputs = entry.map(toEntry);
|
|
11
11
|
if (Array.isArray(config.plugins)) {
|
|
12
12
|
for (const plugin of config.plugins) {
|
|
13
13
|
if (typeof plugin === 'string')
|
|
@@ -19,6 +19,15 @@ const resolveConfig = config => {
|
|
|
19
19
|
if (config.yarnPath) {
|
|
20
20
|
inputs.push(toEntry(config.yarnPath));
|
|
21
21
|
}
|
|
22
|
+
if (config.packageExtensions) {
|
|
23
|
+
for (const extension of Object.values(config.packageExtensions)) {
|
|
24
|
+
if (extension.peerDependencies) {
|
|
25
|
+
for (const dep of Object.keys(extension.peerDependencies)) {
|
|
26
|
+
inputs.push(toDependency(dep));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
return inputs;
|
|
23
32
|
};
|
|
24
33
|
const plugin = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { getScriptFromTemplate } from '../../../typescript/ast-nodes.js';
|
|
1
2
|
export function createZxVisitor(ctx) {
|
|
2
3
|
return {
|
|
3
4
|
TaggedTemplateExpression(node) {
|
|
4
5
|
if (!ctx.sourceText.startsWith('#!/usr/bin/env zx'))
|
|
5
6
|
return;
|
|
6
7
|
if (node.tag.type === 'Identifier' && node.tag.name === '$') {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
8
|
+
const script = getScriptFromTemplate(node.quasi);
|
|
9
|
+
if (script)
|
|
10
|
+
ctx.addScript(script);
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import st from '../util/colors.js';
|
|
2
|
+
import { relative } from '../util/path.js';
|
|
3
|
+
import { flattenIssues, getColoredTitle, getIssueTypeTitle } from './util/util.js';
|
|
4
|
+
const kindLabels = {
|
|
5
|
+
import: 'import',
|
|
6
|
+
importAs: 'aliased import',
|
|
7
|
+
importNS: 'namespace import',
|
|
8
|
+
reExport: 're-export',
|
|
9
|
+
reExportAs: 'aliased re-export',
|
|
10
|
+
reExportNS: 'namespace re-export',
|
|
11
|
+
reExportStar: 'star re-export',
|
|
12
|
+
dynamicImport: 'dynamic import',
|
|
13
|
+
sideEffectImport: 'side-effect import',
|
|
14
|
+
};
|
|
15
|
+
const formatEdge = (edge) => {
|
|
16
|
+
const kind = kindLabels[edge.kind ?? 'import'] ?? edge.kind ?? 'import';
|
|
17
|
+
const specifier = edge.specifier ? `${st.dim(' ')}${st.cyanBright(edge.specifier)}` : '';
|
|
18
|
+
return `${st.cyan(kind)}${specifier}${st.dim(' → ')}`;
|
|
19
|
+
};
|
|
20
|
+
const getLocation = (file) => {
|
|
21
|
+
const location = file.line === undefined ? '' : `:${file.line}${file.col === undefined ? '' : `:${file.col}`}`;
|
|
22
|
+
return `${file.symbol}${location}`;
|
|
23
|
+
};
|
|
24
|
+
const formatFile = (file) => st.white(getLocation(file));
|
|
25
|
+
const getIssueRootLocation = (issue, cwd) => {
|
|
26
|
+
const root = issue.symbols?.[0];
|
|
27
|
+
return root ? getLocation(root) : relative(cwd, issue.filePath);
|
|
28
|
+
};
|
|
29
|
+
const sortByFilePath = (cwd) => (a, b) => {
|
|
30
|
+
const aFilePath = relative(cwd, a.filePath);
|
|
31
|
+
const bFilePath = relative(cwd, b.filePath);
|
|
32
|
+
const filePath = aFilePath.localeCompare(bFilePath);
|
|
33
|
+
if (filePath !== 0)
|
|
34
|
+
return filePath;
|
|
35
|
+
const rootLocation = getIssueRootLocation(a, cwd).localeCompare(getIssueRootLocation(b, cwd));
|
|
36
|
+
return rootLocation === 0 ? a.symbol.localeCompare(b.symbol) : rootLocation;
|
|
37
|
+
};
|
|
38
|
+
export default ({ cwd, issues, isShowProgress }) => {
|
|
39
|
+
const cycles = flattenIssues(issues.cycles).sort(sortByFilePath(cwd));
|
|
40
|
+
if (cycles.length === 0) {
|
|
41
|
+
if (isShowProgress)
|
|
42
|
+
console.log('✂️ No circular dependencies found.');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
console.log(getColoredTitle(getIssueTypeTitle('cycles'), cycles.length));
|
|
46
|
+
const rootCounts = new Map();
|
|
47
|
+
for (const issue of cycles) {
|
|
48
|
+
const files = issue.symbols ?? issue.symbol.split(' → ').map(symbol => ({ symbol }));
|
|
49
|
+
const root = files[0];
|
|
50
|
+
if (root) {
|
|
51
|
+
const rootLocation = getLocation(root);
|
|
52
|
+
rootCounts.set(rootLocation, (rootCounts.get(rootLocation) ?? 0) + 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
let previousRoot = '';
|
|
56
|
+
for (const issue of cycles) {
|
|
57
|
+
const files = issue.symbols ?? issue.symbol.split(' → ').map(symbol => ({ symbol }));
|
|
58
|
+
const root = files[0];
|
|
59
|
+
if (!root)
|
|
60
|
+
continue;
|
|
61
|
+
const rootLocation = getLocation(root);
|
|
62
|
+
if (rootLocation !== previousRoot) {
|
|
63
|
+
const count = rootCounts.get(rootLocation) ?? 0;
|
|
64
|
+
const countLabel = count > 1 ? st.dim(` (${count} cycles)`) : '';
|
|
65
|
+
console.log(`\n${formatFile(root)}${countLabel}`);
|
|
66
|
+
previousRoot = rootLocation;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.log('');
|
|
70
|
+
}
|
|
71
|
+
for (let depth = 1; depth <= files.length; depth++) {
|
|
72
|
+
const isClose = depth === files.length;
|
|
73
|
+
const edge = files[depth - 1];
|
|
74
|
+
const file = isClose ? root : files[depth];
|
|
75
|
+
const connector = st.dim(`${' '.repeat(depth - 1)}└── `);
|
|
76
|
+
console.log(`${connector}${formatEdge(edge)}${formatFile(file)}${isClose ? st.dim(' ↩') : ''}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
@@ -2,6 +2,7 @@ declare const _default: {
|
|
|
2
2
|
symbols: (options: import("../types.ts").ReporterOptions) => void;
|
|
3
3
|
compact: ({ report, issues, isShowProgress, cwd }: import("../types.ts").ReporterOptions) => void;
|
|
4
4
|
codeowners: ({ report, issues, isShowProgress, options, cwd }: import("../types.ts").ReporterOptions) => void;
|
|
5
|
+
cycles: ({ cwd, issues, isShowProgress }: import("../types.ts").ReporterOptions) => void;
|
|
5
6
|
disclosure: ({ report, issues, cwd }: import("../types.ts").ReporterOptions) => void;
|
|
6
7
|
codeclimate: ({ report, issues, cwd }: import("../types.ts").ReporterOptions) => Promise<void>;
|
|
7
8
|
json: ({ report, issues, options, cwd }: import("../types.ts").ReporterOptions) => Promise<void>;
|
package/dist/reporters/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import codeclimate from './codeclimate.js';
|
|
2
2
|
import codeowners from './codeowners.js';
|
|
3
3
|
import compact from './compact.js';
|
|
4
|
+
import cycles from './cycles.js';
|
|
4
5
|
import disclosure from './disclosure.js';
|
|
5
6
|
import githubActions from './github-actions.js';
|
|
6
7
|
import json from './json.js';
|
|
@@ -10,6 +11,7 @@ export default {
|
|
|
10
11
|
symbols,
|
|
11
12
|
compact,
|
|
12
13
|
codeowners,
|
|
14
|
+
cycles,
|
|
13
15
|
disclosure,
|
|
14
16
|
codeclimate,
|
|
15
17
|
json,
|
package/dist/reporters/json.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export interface JSONReportNamedItem {
|
|
|
4
4
|
}
|
|
5
5
|
export interface JSONReportItem extends JSONReportNamedItem {
|
|
6
6
|
namespace?: string;
|
|
7
|
+
kind?: string;
|
|
8
|
+
specifier?: string;
|
|
7
9
|
pos?: number;
|
|
8
10
|
line?: number;
|
|
9
11
|
col?: number;
|
|
@@ -13,6 +15,7 @@ export type JSONReportEntry = {
|
|
|
13
15
|
owners?: Array<JSONReportNamedItem>;
|
|
14
16
|
binaries?: Array<JSONReportNamedItem>;
|
|
15
17
|
catalog?: Array<JSONReportItem>;
|
|
18
|
+
cycles?: Array<Array<JSONReportItem>>;
|
|
16
19
|
dependencies?: Array<JSONReportItem>;
|
|
17
20
|
devDependencies?: Array<JSONReportItem>;
|
|
18
21
|
duplicates?: Array<Array<JSONReportItem>>;
|
package/dist/reporters/json.js
CHANGED
|
@@ -20,6 +20,7 @@ export default async ({ report, issues, options, cwd }) => {
|
|
|
20
20
|
...(findOwners && { owners: findOwners(file).map(name => ({ name })) }),
|
|
21
21
|
...(report.binaries && { binaries: [] }),
|
|
22
22
|
...(report.catalog && { catalog: [] }),
|
|
23
|
+
...(report.cycles && { cycles: [] }),
|
|
23
24
|
...(report.dependencies && { dependencies: [] }),
|
|
24
25
|
...(report.devDependencies && { devDependencies: [] }),
|
|
25
26
|
...(report.duplicates && { duplicates: [] }),
|
|
@@ -41,7 +42,7 @@ export default async ({ report, issues, options, cwd }) => {
|
|
|
41
42
|
for (const issue of flattenIssues(issues[type])) {
|
|
42
43
|
const { filePath, symbol, symbols } = issue;
|
|
43
44
|
json[filePath] = json[filePath] ?? initRow(filePath);
|
|
44
|
-
if (type === 'duplicates') {
|
|
45
|
+
if (type === 'duplicates' || type === 'cycles') {
|
|
45
46
|
symbols && json[filePath][type]?.push(symbols.map(convert));
|
|
46
47
|
}
|
|
47
48
|
else if (type === 'binaries') {
|
|
@@ -3,7 +3,7 @@ import type { Issue, IssueRecords, IssueSeverity, IssueSymbol, IssueType } from
|
|
|
3
3
|
import { Table } from '../../util/table.ts';
|
|
4
4
|
export declare const dim: (text: string | number | null | undefined) => string;
|
|
5
5
|
export declare const bright: (text: string | number | null | undefined) => string;
|
|
6
|
-
export declare const getIssueTypeTitle: (reportType: keyof typeof ISSUE_TYPE_TITLE) => "Duplicate exports" | "Exported types in used namespace" | "Exports in used namespace" | "Referenced optional peerDependencies" | "Unlisted binaries" | "Unlisted dependencies" | "Unresolved imports" | "Unused catalog entries" | "Unused dependencies" | "Unused devDependencies" | "Unused exported enum members" | "Unused exported namespace members" | "Unused exported types" | "Unused exports" | "Unused files";
|
|
6
|
+
export declare const getIssueTypeTitle: (reportType: keyof typeof ISSUE_TYPE_TITLE) => "Circular dependencies" | "Duplicate exports" | "Exported types in used namespace" | "Exports in used namespace" | "Referenced optional peerDependencies" | "Unlisted binaries" | "Unlisted dependencies" | "Unresolved imports" | "Unused catalog entries" | "Unused dependencies" | "Unused devDependencies" | "Unused exported enum members" | "Unused exported namespace members" | "Unused exported types" | "Unused exports" | "Unused files";
|
|
7
7
|
export declare const getColoredTitle: (title: string, count: number) => string;
|
|
8
8
|
export declare const getDimmedTitle: (title: string, count: number) => string;
|
|
9
9
|
type LogIssueLine = {
|
|
@@ -17,6 +17,8 @@ export declare const getIssueLine: ({ owner, filePath, symbols, parentSymbol, se
|
|
|
17
17
|
export declare const convert: (issue: Issue | IssueSymbol) => {
|
|
18
18
|
namespace: string | undefined;
|
|
19
19
|
name: string;
|
|
20
|
+
kind: string | undefined;
|
|
21
|
+
specifier: string | undefined;
|
|
20
22
|
line: number | undefined;
|
|
21
23
|
col: number | undefined;
|
|
22
24
|
pos: number | undefined;
|
|
@@ -17,6 +17,8 @@ export const getIssueLine = ({ owner, filePath, symbols, parentSymbol, severity
|
|
|
17
17
|
export const convert = (issue) => ({
|
|
18
18
|
namespace: 'parentSymbol' in issue ? issue.parentSymbol : undefined,
|
|
19
19
|
name: issue.symbol,
|
|
20
|
+
kind: 'kind' in issue ? issue.kind : undefined,
|
|
21
|
+
specifier: 'kind' in issue ? issue.specifier : undefined,
|
|
20
22
|
line: issue.line,
|
|
21
23
|
col: issue.col,
|
|
22
24
|
pos: issue.pos,
|
|
@@ -44,7 +46,9 @@ export const getTableForType = (issues, cwd, options = { isUseColors: true }) =>
|
|
|
44
46
|
table.row();
|
|
45
47
|
const print = options.isUseColors && (issue.isFixed || issue.severity === 'warn') ? dim : plain;
|
|
46
48
|
const isFileIssue = issue.type === 'files';
|
|
47
|
-
const symbol = issue.symbols
|
|
49
|
+
const symbol = issue.symbols
|
|
50
|
+
? issue.symbols.map(s => s.symbol).join(issue.type === 'cycles' ? ' → ' : ', ')
|
|
51
|
+
: issue.symbol;
|
|
48
52
|
if (!isFileIssue)
|
|
49
53
|
table.cell('symbol', print(symbol), options.isUseColors ? highlightSymbol(issue) : () => symbol);
|
|
50
54
|
table.cell('parentSymbol', issue.parentSymbol && print(issue.parentSymbol));
|
|
@@ -151,6 +151,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
|
|
|
151
151
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
152
152
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
153
153
|
}, z.core.$strip>]>>;
|
|
154
|
+
eve: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
155
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
156
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
157
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
158
|
+
}, z.core.$strip>]>>;
|
|
154
159
|
execa: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
155
160
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
156
161
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -171,6 +176,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
|
|
|
171
176
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
172
177
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
173
178
|
}, z.core.$strip>]>>;
|
|
179
|
+
fumadocs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
180
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
181
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
182
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
183
|
+
}, z.core.$strip>]>>;
|
|
174
184
|
gatsby: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
175
185
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
176
186
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -798,7 +808,7 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
|
|
|
798
808
|
ignoreExportsUsedInFile: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniObject<{
|
|
799
809
|
[x: string]: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
800
810
|
}, z.core.$strict>]>>;
|
|
801
|
-
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]>>>>;
|
|
811
|
+
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]>>>>;
|
|
802
812
|
includeEntryExports: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
803
813
|
}, z.core.$strict>;
|
|
804
814
|
export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
@@ -952,6 +962,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
952
962
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
953
963
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
954
964
|
}, z.core.$strip>]>>;
|
|
965
|
+
eve: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
966
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
967
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
968
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
969
|
+
}, z.core.$strip>]>>;
|
|
955
970
|
execa: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
956
971
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
957
972
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -972,6 +987,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
972
987
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
973
988
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
974
989
|
}, z.core.$strip>]>>;
|
|
990
|
+
fumadocs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
991
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
992
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
993
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
994
|
+
}, z.core.$strip>]>>;
|
|
975
995
|
gatsby: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
976
996
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
977
997
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -1588,7 +1608,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
1588
1608
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1589
1609
|
}, z.core.$strip>]>>;
|
|
1590
1610
|
$schema: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
1591
|
-
rules: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]> & z.core.$partial, z.ZodMiniEnum<{
|
|
1611
|
+
rules: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]> & z.core.$partial, z.ZodMiniEnum<{
|
|
1592
1612
|
error: "error";
|
|
1593
1613
|
off: "off";
|
|
1594
1614
|
warn: "warn";
|
|
@@ -1605,7 +1625,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
1605
1625
|
ignoreExportsUsedInFile: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniObject<{
|
|
1606
1626
|
[x: string]: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
1607
1627
|
}, z.core.$strict>]>>;
|
|
1608
|
-
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]>>>>;
|
|
1628
|
+
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]>>>>;
|
|
1629
|
+
cycles: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
1630
|
+
allow: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniArray<z.ZodMiniString<string>>>>;
|
|
1631
|
+
dynamicImports: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
1632
|
+
}, z.core.$strict>>;
|
|
1609
1633
|
ignoreWorkspaces: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
1610
1634
|
includeEntryExports: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
1611
1635
|
compilers: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniUnion<readonly [z.ZodMiniLiteral<true>, z.ZodMiniCustom<CompilerSync, CompilerSync>]>, z.ZodMiniCustom<CompilerAsync, CompilerAsync>]>>>;
|
|
@@ -1614,8 +1638,8 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
1614
1638
|
tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
1615
1639
|
treatConfigHintsAsErrors: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
1616
1640
|
treatTagHintsAsErrors: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
1617
|
-
include: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]>>>;
|
|
1618
|
-
exclude: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]>>>;
|
|
1641
|
+
include: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]>>>;
|
|
1642
|
+
exclude: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]>>>;
|
|
1619
1643
|
workspaces: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
1620
1644
|
angular: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
1621
1645
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -1767,6 +1791,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
1767
1791
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1768
1792
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1769
1793
|
}, z.core.$strip>]>>;
|
|
1794
|
+
eve: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
1795
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1796
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1797
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1798
|
+
}, z.core.$strip>]>>;
|
|
1770
1799
|
execa: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
1771
1800
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1772
1801
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -1787,6 +1816,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
1787
1816
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1788
1817
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1789
1818
|
}, z.core.$strip>]>>;
|
|
1819
|
+
fumadocs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
1820
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1821
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1822
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1823
|
+
}, z.core.$strip>]>>;
|
|
1790
1824
|
gatsby: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
1791
1825
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
1792
1826
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -2414,7 +2448,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
|
|
|
2414
2448
|
ignoreExportsUsedInFile: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniObject<{
|
|
2415
2449
|
[x: string]: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
2416
2450
|
}, z.core.$strict>]>>;
|
|
2417
|
-
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">]>>>>;
|
|
2451
|
+
ignoreIssues: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"files">, z.ZodMiniLiteral<"dependencies">, z.ZodMiniLiteral<"devDependencies">, z.ZodMiniLiteral<"optionalPeerDependencies">, z.ZodMiniLiteral<"unlisted">, z.ZodMiniLiteral<"binaries">, z.ZodMiniLiteral<"unresolved">, z.ZodMiniLiteral<"exports">, z.ZodMiniLiteral<"types">, z.ZodMiniLiteral<"nsExports">, z.ZodMiniLiteral<"nsTypes">, z.ZodMiniLiteral<"duplicates">, z.ZodMiniLiteral<"enumMembers">, z.ZodMiniLiteral<"namespaceMembers">, z.ZodMiniLiteral<"catalog">, z.ZodMiniLiteral<"cycles">]>>>>;
|
|
2418
2452
|
includeEntryExports: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
2419
2453
|
}, z.core.$strict>>>;
|
|
2420
2454
|
}, z.core.$strict>;
|
|
@@ -23,12 +23,17 @@ const issueTypeSchema = z.union([
|
|
|
23
23
|
z.literal('enumMembers'),
|
|
24
24
|
z.literal('namespaceMembers'),
|
|
25
25
|
z.literal('catalog'),
|
|
26
|
+
z.literal('cycles'),
|
|
26
27
|
]);
|
|
27
28
|
const rulesSchema = z.partialRecord(issueTypeSchema, z.enum(['error', 'warn', 'off']));
|
|
28
29
|
const ignorableSymbolTypes = Object.values(SYMBOL_TYPE).filter(type => type !== 'unknown');
|
|
29
30
|
const ignoreExportsUsedInFileObjectSchema = z.strictObject(Object.fromEntries(ignorableSymbolTypes.map(type => [type, z.optional(z.boolean())])));
|
|
30
31
|
const ignoreExportsUsedInFileSchema = z.union([z.boolean(), ignoreExportsUsedInFileObjectSchema]);
|
|
31
32
|
const ignoreIssuesSchema = z.record(z.string(), z.array(issueTypeSchema));
|
|
33
|
+
const cyclesSchema = z.strictObject({
|
|
34
|
+
allow: z.optional(z.array(z.array(z.string()))),
|
|
35
|
+
dynamicImports: z.optional(z.boolean()),
|
|
36
|
+
});
|
|
32
37
|
const rootConfigurationSchema = z.object({
|
|
33
38
|
$schema: z.optional(z.string()),
|
|
34
39
|
rules: z.optional(rulesSchema),
|
|
@@ -43,6 +48,7 @@ const rootConfigurationSchema = z.object({
|
|
|
43
48
|
ignoreUnresolved: z.optional(stringOrRegexSchema),
|
|
44
49
|
ignoreExportsUsedInFile: z.optional(ignoreExportsUsedInFileSchema),
|
|
45
50
|
ignoreIssues: z.optional(ignoreIssuesSchema),
|
|
51
|
+
cycles: z.optional(cyclesSchema),
|
|
46
52
|
ignoreWorkspaces: z.optional(z.array(z.string())),
|
|
47
53
|
includeEntryExports: z.optional(z.boolean()),
|
|
48
54
|
compilers: z.optional(compilersSchema),
|
package/dist/schema/plugins.d.ts
CHANGED
|
@@ -156,6 +156,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
|
|
|
156
156
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
157
157
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
158
158
|
}, z.core.$strip>]>;
|
|
159
|
+
eve: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
160
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
161
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
162
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
163
|
+
}, z.core.$strip>]>;
|
|
159
164
|
execa: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
160
165
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
161
166
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
@@ -176,6 +181,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
|
|
|
176
181
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
177
182
|
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
178
183
|
}, z.core.$strip>]>;
|
|
184
|
+
fumadocs: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
185
|
+
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
186
|
+
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
187
|
+
project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
188
|
+
}, z.core.$strip>]>;
|
|
179
189
|
gatsby: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
|
|
180
190
|
config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
|
181
191
|
entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
|
package/dist/schema/plugins.js
CHANGED
|
@@ -40,10 +40,12 @@ export const pluginsSchema = z.object({
|
|
|
40
40
|
drizzle: pluginSchema,
|
|
41
41
|
eleventy: pluginSchema,
|
|
42
42
|
eslint: pluginSchema,
|
|
43
|
+
eve: pluginSchema,
|
|
43
44
|
execa: pluginSchema,
|
|
44
45
|
expo: pluginSchema,
|
|
45
46
|
'expressive-code': pluginSchema,
|
|
46
47
|
fast: pluginSchema,
|
|
48
|
+
fumadocs: pluginSchema,
|
|
47
49
|
gatsby: pluginSchema,
|
|
48
50
|
'github-action': pluginSchema,
|
|
49
51
|
'github-actions': pluginSchema,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-markdoc' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'execa' | 'expo' | 'expressive-code' | 'fast' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'mdx' | 'mdxlint' | 'metro' | 'mocha' | 'moonrepo' | 'msw' | 'nano-spawn' | 'nano-staged' | 'nest' | 'netlify' | 'next' | 'next-intl' | 'next-mdx' | 'nitro' | 'node' | 'node-modules-inspector' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'orval' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'preconstruct' | 'prettier' | 'prisma' | 'qwik' | 'raycast' | 'react-cosmos' | 'react-email' | 'react-native' | 'react-router' | 'relay' | 'release-it' | 'remark' | 'remix' | 'rolldown' | 'rollup' | 'rsbuild' | 'rslib' | 'rspack' | 'rstest' | 'sanity' | 'semantic-release' | 'sentry' | 'serverless-framework' | 'simple-git-hooks' | 'size-limit' | 'sst' | 'starlight' | 'stencil' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'sveltejs-package' | 'sveltekit' | 'svgo' | 'svgr' | 'swc' | 'syncpack' | 'tailwind' | 'tanstack-router' | 'taskfile' | 'travis' | 'ts-node' | 'tsdown' | 'tsup' | 'tsx' | 'typedoc' | 'typescript' | 'unbuild' | 'unocss' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vitepress' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'wxt' | 'xo' | 'yarn' | 'yorkie' | 'zx';
|
|
2
|
-
export declare const pluginNames: readonly ['angular', 'astro', 'astro-db', 'astro-markdoc', 'astro-og-canvas', 'ava', 'babel', 'biome', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'eleventy', 'eslint', 'execa', 'expo', 'expressive-code', 'fast', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'mdx', 'mdxlint', 'metro', 'mocha', 'moonrepo', 'msw', 'nano-spawn', 'nano-staged', 'nest', 'netlify', 'next', 'next-intl', 'next-mdx', 'nitro', 'node', 'node-modules-inspector', 'nodemon', 'npm-package-json-lint', 'nuxt', 'nx', 'nyc', 'oclif', 'openapi-ts', 'orval', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'preconstruct', 'prettier', 'prisma', 'qwik', 'raycast', 'react-cosmos', 'react-email', 'react-native', 'react-router', 'relay', 'release-it', 'remark', 'remix', 'rolldown', 'rollup', 'rsbuild', 'rslib', 'rspack', 'rstest', 'sanity', 'semantic-release', 'sentry', 'serverless-framework', 'simple-git-hooks', 'size-limit', 'sst', 'starlight', 'stencil', 'storybook', 'stryker', 'stylelint', 'svelte', 'sveltejs-package', 'sveltekit', 'svgo', 'svgr', 'swc', 'syncpack', 'tailwind', 'tanstack-router', 'taskfile', 'travis', 'ts-node', 'tsdown', 'tsup', 'tsx', 'typedoc', 'typescript', 'unbuild', 'unocss', 'vercel', 'vercel-og', 'vike', 'vite', 'vitepress', 'vitest', 'vue', 'webdriver-io', 'webpack', 'wireit', 'wrangler', 'wxt', 'xo', 'yarn', 'yorkie', 'zx'];
|
|
1
|
+
export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-markdoc' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'eve' | 'execa' | 'expo' | 'expressive-code' | 'fast' | 'fumadocs' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'mdx' | 'mdxlint' | 'metro' | 'mocha' | 'moonrepo' | 'msw' | 'nano-spawn' | 'nano-staged' | 'nest' | 'netlify' | 'next' | 'next-intl' | 'next-mdx' | 'nitro' | 'node' | 'node-modules-inspector' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'orval' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'preconstruct' | 'prettier' | 'prisma' | 'qwik' | 'raycast' | 'react-cosmos' | 'react-email' | 'react-native' | 'react-router' | 'relay' | 'release-it' | 'remark' | 'remix' | 'rolldown' | 'rollup' | 'rsbuild' | 'rslib' | 'rspack' | 'rstest' | 'sanity' | 'semantic-release' | 'sentry' | 'serverless-framework' | 'simple-git-hooks' | 'size-limit' | 'sst' | 'starlight' | 'stencil' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'sveltejs-package' | 'sveltekit' | 'svgo' | 'svgr' | 'swc' | 'syncpack' | 'tailwind' | 'tanstack-router' | 'taskfile' | 'travis' | 'ts-node' | 'tsdown' | 'tsup' | 'tsx' | 'typedoc' | 'typescript' | 'unbuild' | 'unocss' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vitepress' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'wxt' | 'xo' | 'yarn' | 'yorkie' | 'zx';
|
|
2
|
+
export declare const pluginNames: readonly ['angular', 'astro', 'astro-db', 'astro-markdoc', 'astro-og-canvas', 'ava', 'babel', 'biome', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'eleventy', 'eslint', 'eve', 'execa', 'expo', 'expressive-code', 'fast', 'fumadocs', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'mdx', 'mdxlint', 'metro', 'mocha', 'moonrepo', 'msw', 'nano-spawn', 'nano-staged', 'nest', 'netlify', 'next', 'next-intl', 'next-mdx', 'nitro', 'node', 'node-modules-inspector', 'nodemon', 'npm-package-json-lint', 'nuxt', 'nx', 'nyc', 'oclif', 'openapi-ts', 'orval', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'preconstruct', 'prettier', 'prisma', 'qwik', 'raycast', 'react-cosmos', 'react-email', 'react-native', 'react-router', 'relay', 'release-it', 'remark', 'remix', 'rolldown', 'rollup', 'rsbuild', 'rslib', 'rspack', 'rstest', 'sanity', 'semantic-release', 'sentry', 'serverless-framework', 'simple-git-hooks', 'size-limit', 'sst', 'starlight', 'stencil', 'storybook', 'stryker', 'stylelint', 'svelte', 'sveltejs-package', 'sveltekit', 'svgo', 'svgr', 'swc', 'syncpack', 'tailwind', 'tanstack-router', 'taskfile', 'travis', 'ts-node', 'tsdown', 'tsup', 'tsx', 'typedoc', 'typescript', 'unbuild', 'unocss', 'vercel', 'vercel-og', 'vike', 'vite', 'vitepress', 'vitest', 'vue', 'webdriver-io', 'webpack', 'wireit', 'wrangler', 'wxt', 'xo', 'yarn', 'yorkie', 'zx'];
|