knip 6.14.2 → 6.15.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.
Files changed (74) hide show
  1. package/dist/CacheConsultant.d.ts +1 -0
  2. package/dist/CacheConsultant.js +2 -0
  3. package/dist/ConfigurationChief.d.ts +12 -0
  4. package/dist/ConfigurationChief.js +7 -10
  5. package/dist/DependencyDeputy.d.ts +0 -4
  6. package/dist/DependencyDeputy.js +4 -16
  7. package/dist/IssueCollector.d.ts +1 -0
  8. package/dist/IssueCollector.js +10 -20
  9. package/dist/IssueFixer.js +10 -15
  10. package/dist/ProjectPrincipal.d.ts +0 -2
  11. package/dist/ProjectPrincipal.js +1 -9
  12. package/dist/WorkspaceWorker.js +6 -1
  13. package/dist/cli.js +3 -1
  14. package/dist/compilers/compilers.d.ts +3 -0
  15. package/dist/compilers/compilers.js +9 -13
  16. package/dist/compilers/index.d.ts +21 -0
  17. package/dist/compilers/scss.js +9 -3
  18. package/dist/graph/analyze.js +7 -1
  19. package/dist/graph/build.js +0 -2
  20. package/dist/manifest/index.js +11 -14
  21. package/dist/plugins/index.d.ts +2 -0
  22. package/dist/plugins/index.js +4 -0
  23. package/dist/plugins/nano-spawn/index.d.ts +3 -0
  24. package/dist/plugins/nano-spawn/index.js +15 -0
  25. package/dist/plugins/nano-spawn/visitors/nano-spawn.d.ts +2 -0
  26. package/dist/plugins/nano-spawn/visitors/nano-spawn.js +25 -0
  27. package/dist/plugins/orval/index.d.ts +3 -0
  28. package/dist/plugins/orval/index.js +16 -0
  29. package/dist/plugins/orval/resolveFromAST.d.ts +2 -0
  30. package/dist/plugins/orval/resolveFromAST.js +11 -0
  31. package/dist/plugins/orval/types.d.ts +9 -0
  32. package/dist/plugins/orval/types.js +1 -0
  33. package/dist/plugins/vite/helpers.js +23 -6
  34. package/dist/plugins/webdriver-io/index.js +3 -3
  35. package/dist/plugins/webdriver-io/types.d.ts +5 -1
  36. package/dist/reporters/github-actions.d.ts +1 -1
  37. package/dist/reporters/github-actions.js +19 -1
  38. package/dist/reporters/index.d.ts +1 -1
  39. package/dist/reporters/symbols.js +2 -1
  40. package/dist/reporters/trace.d.ts +3 -1
  41. package/dist/reporters/trace.js +48 -16
  42. package/dist/reporters/util/configuration-hints.d.ts +1 -1
  43. package/dist/reporters/util/configuration-hints.js +3 -2
  44. package/dist/schema/configuration.d.ts +32 -1
  45. package/dist/schema/configuration.js +1 -0
  46. package/dist/schema/plugins.d.ts +10 -0
  47. package/dist/schema/plugins.js +2 -0
  48. package/dist/types/PluginNames.d.ts +2 -2
  49. package/dist/types/PluginNames.js +2 -0
  50. package/dist/types/issues.d.ts +1 -0
  51. package/dist/types/project.d.ts +0 -1
  52. package/dist/typescript/resolve-module-names.d.ts +0 -1
  53. package/dist/typescript/resolve-module-names.js +0 -17
  54. package/dist/typescript/visitors/walk.js +7 -0
  55. package/dist/util/Performance.d.ts +13 -28
  56. package/dist/util/Performance.js +41 -72
  57. package/dist/util/cli-arguments.d.ts +3 -1
  58. package/dist/util/cli-arguments.js +4 -0
  59. package/dist/util/create-options.d.ts +22 -0
  60. package/dist/util/create-options.js +2 -1
  61. package/dist/util/disk-cache.d.ts +1 -0
  62. package/dist/util/disk-cache.js +8 -0
  63. package/dist/util/gitignore-cache.js +5 -11
  64. package/dist/util/glob-cache.js +2 -8
  65. package/dist/util/glob-core.js +4 -7
  66. package/dist/util/jiti.js +1 -0
  67. package/dist/util/load-tsconfig.js +0 -3
  68. package/dist/util/trace.js +1 -1
  69. package/dist/version.d.ts +1 -1
  70. package/dist/version.js +1 -1
  71. package/package.json +3 -4
  72. package/schema.json +12 -0
  73. package/dist/util/math.d.ts +0 -6
  74. package/dist/util/math.js +0 -11
@@ -0,0 +1,25 @@
1
+ import { getStringValue, isStringLiteral } from '../../../typescript/ast-nodes.js';
2
+ export function createNanoSpawnVisitor(ctx) {
3
+ return {
4
+ CallExpression(node) {
5
+ if (node.callee.type !== 'Identifier' || node.callee.name !== 'spawn')
6
+ return;
7
+ const executable = node.arguments[0];
8
+ if (!executable || !isStringLiteral(executable))
9
+ return;
10
+ const executableStr = getStringValue(executable);
11
+ const args = node.arguments[1];
12
+ if (args?.type === 'ArrayExpression') {
13
+ const argStrings = [];
14
+ for (const a of args.elements) {
15
+ if (a && isStringLiteral(a))
16
+ argStrings.push(getStringValue(a));
17
+ }
18
+ ctx.addScript([executableStr, ...argStrings].join(' '));
19
+ }
20
+ else {
21
+ ctx.addScript(executableStr);
22
+ }
23
+ },
24
+ };
25
+ }
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from '../../types/config.ts';
2
+ declare const plugin: Plugin;
3
+ export default plugin;
@@ -0,0 +1,16 @@
1
+ import { toEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { getInputsFromAST } from './resolveFromAST.js';
4
+ const title = 'orval';
5
+ const enablers = ['orval'];
6
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
7
+ const config = ['orval.config.{js,mjs,ts,mts}'];
8
+ const resolveFromAST = program => [...getInputsFromAST(program)].map(id => toEntry(id));
9
+ const plugin = {
10
+ title,
11
+ enablers,
12
+ isEnabled,
13
+ config,
14
+ resolveFromAST,
15
+ };
16
+ export default plugin;
@@ -0,0 +1,2 @@
1
+ import type { Program } from 'oxc-parser';
2
+ export declare const getInputsFromAST: (program: Program) => Set<string>;
@@ -0,0 +1,11 @@
1
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
2
+ const PATH_KEY = 'path';
3
+ const TRANSFORMER_KEY = 'transformer';
4
+ export const getInputsFromAST = (program) => {
5
+ const values = new Set();
6
+ for (const v of collectPropertyValues(program, PATH_KEY))
7
+ values.add(v);
8
+ for (const v of collectPropertyValues(program, TRANSFORMER_KEY))
9
+ values.add(v);
10
+ return values;
11
+ };
@@ -0,0 +1,9 @@
1
+ export type OverrideInput = {
2
+ transformer?: InputTransformer;
3
+ };
4
+ export type MutatorObject = {
5
+ path: string;
6
+ name?: string;
7
+ };
8
+ type InputTransformer = string | ((...args: unknown[]) => unknown);
9
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { Visitor } from 'oxc-parser';
2
+ import { blockCommentMatcher, lineCommentMatcher, scriptExtractor } from '../../compilers/compilers.js';
2
3
  import { findProperty, getImportMap, getStringValues } from '../../typescript/ast-helpers.js';
3
4
  import { isFile, loadFile } from '../../util/fs.js';
4
5
  import { toProductionEntry } from '../../util/input.js';
@@ -32,15 +33,31 @@ export const getBabelInputs = (program) => {
32
33
  visitor.visit(program);
33
34
  return inputs;
34
35
  };
35
- const moduleScriptPattern = /<script\b(?=[^>]*\btype\s*=\s*["']?module["']?)(?=[^>]*\bsrc\s*=\s*["']?([^"' >]+)["']?)[^>]*>/gi;
36
+ const moduleTypePattern = /\btype\s*=\s*["']?module["']?/i;
37
+ const srcAttrPattern = /\bsrc\s*=\s*["']([^"']+)["']/i;
38
+ const importSpecPattern = /\bimport\b(?:\s*\(\s*|(?:[\w$*,{}\s]*\bfrom\b)?\s*)(['"])([^'"]+)\1/g;
39
+ const isFilePath = (specifier) => specifier.startsWith('/') || specifier.startsWith('./') || specifier.startsWith('../');
36
40
  const normalizeModuleScriptSrc = (value) => value.trim().replace(/^\//, '');
37
41
  const getModuleScriptSources = (html) => {
38
- const matches = html.matchAll(moduleScriptPattern);
39
42
  const sources = [];
40
- for (const match of matches) {
41
- const src = normalizeModuleScriptSrc(match[1]);
42
- if (src)
43
- sources.push(src);
43
+ for (const [, attrs, body] of html.matchAll(scriptExtractor)) {
44
+ if (!moduleTypePattern.test(attrs))
45
+ continue;
46
+ const srcMatch = attrs.match(srcAttrPattern);
47
+ if (srcMatch) {
48
+ const src = normalizeModuleScriptSrc(srcMatch[1]);
49
+ if (src)
50
+ sources.push(src);
51
+ continue;
52
+ }
53
+ if (body) {
54
+ const code = body.replace(blockCommentMatcher, '').replace(lineCommentMatcher, '');
55
+ for (const importMatch of code.matchAll(importSpecPattern)) {
56
+ const specifier = importMatch[2];
57
+ if (isFilePath(specifier))
58
+ sources.push(normalizeModuleScriptSrc(specifier));
59
+ }
60
+ }
44
61
  }
45
62
  return sources;
46
63
  };
@@ -8,11 +8,11 @@ const resolveConfig = async (config) => {
8
8
  const cfg = config?.config;
9
9
  if (!cfg)
10
10
  return [];
11
- const frameworks = cfg?.framework ? [`@wdio/${cfg.framework}-framework`] : [];
12
- const runners = cfg?.runner && cfg.runner !== 'local'
11
+ const frameworks = cfg.framework ? [`@wdio/${cfg.framework}-framework`] : [];
12
+ const runners = cfg.runner && cfg.runner !== 'local'
13
13
  ? [`@wdio/${Array.isArray(cfg.runner) ? cfg.runner[0] : cfg.runner}-runner`]
14
14
  : [];
15
- const reporters = cfg?.reporters
15
+ const reporters = cfg.reporters
16
16
  ? cfg.reporters
17
17
  .flatMap(reporter => {
18
18
  if (typeof reporter === 'string')
@@ -1,3 +1,7 @@
1
1
  export type WebdriverIOConfig = {
2
- config: WebdriverIO.Config;
2
+ config: {
3
+ framework?: string;
4
+ runner?: string;
5
+ reporters?: string[];
6
+ };
3
7
  };
@@ -1,3 +1,3 @@
1
1
  import type { ReporterOptions } from '../types/issues.ts';
2
- declare const _default: ({ report, issues, cwd, configurationHints, isDisableConfigHints, isTreatConfigHintsAsErrors, configFilePath, }: ReporterOptions) => void;
2
+ declare const _default: ({ report, issues, cwd, configurationHints, tagHints, isDisableConfigHints, isDisableTagHints, isTreatConfigHintsAsErrors, isTreatTagHintsAsErrors, configFilePath, }: ReporterOptions) => void;
3
3
  export default _default;
@@ -24,7 +24,7 @@ const createGitHubActionsLogger = () => {
24
24
  notice: (message, options) => formatAnnotation('notice', message, options),
25
25
  };
26
26
  };
27
- export default ({ report, issues, cwd, configurationHints, isDisableConfigHints, isTreatConfigHintsAsErrors, configFilePath, }) => {
27
+ export default ({ report, issues, cwd, configurationHints, tagHints, isDisableConfigHints, isDisableTagHints, isTreatConfigHintsAsErrors, isTreatTagHintsAsErrors, configFilePath, }) => {
28
28
  const core = createGitHubActionsLogger();
29
29
  const reportMultipleGroups = Object.values(report).filter(Boolean).length > 1;
30
30
  for (const [reportType, isReportType] of Object.entries(report)) {
@@ -91,4 +91,22 @@ export default ({ report, issues, cwd, configurationHints, isDisableConfigHints,
91
91
  }
92
92
  }
93
93
  }
94
+ if (!isDisableTagHints && tagHints.size > 0) {
95
+ const TAG_HINTS_TITLE = 'Tag hints';
96
+ core.info(`${TAG_HINTS_TITLE} (${tagHints.size})`);
97
+ const sortedHints = [...tagHints].sort((a, b) => a.filePath.localeCompare(b.filePath));
98
+ for (const hint of sortedHints) {
99
+ const file = relative(cwd, hint.filePath);
100
+ const hintMessage = `Unused tag in ${file}: ${hint.identifier} → ${hint.tagName}`;
101
+ const log = isTreatTagHintsAsErrors ? core.error : core.notice;
102
+ log(hintMessage, {
103
+ file,
104
+ startLine: 1,
105
+ endLine: 1,
106
+ startColumn: 1,
107
+ endColumn: 1,
108
+ title: TAG_HINTS_TITLE,
109
+ });
110
+ }
111
+ }
94
112
  };
@@ -6,6 +6,6 @@ declare const _default: {
6
6
  codeclimate: ({ report, issues, cwd }: import("../types.ts").ReporterOptions) => Promise<void>;
7
7
  json: ({ report, issues, options, cwd }: import("../types.ts").ReporterOptions) => Promise<void>;
8
8
  markdown: ({ report, issues, cwd }: import("../types.ts").ReporterOptions) => void;
9
- 'github-actions': ({ report, issues, cwd, configurationHints, isDisableConfigHints, isTreatConfigHintsAsErrors, configFilePath, }: import("../types.ts").ReporterOptions) => void;
9
+ 'github-actions': ({ report, issues, cwd, configurationHints, tagHints, isDisableConfigHints, isDisableTagHints, isTreatConfigHintsAsErrors, isTreatTagHintsAsErrors, configFilePath, }: import("../types.ts").ReporterOptions) => void;
10
10
  };
11
11
  export default _default;
@@ -29,7 +29,8 @@ export default (options) => {
29
29
  }
30
30
  if (totalIssues === 0 &&
31
31
  isShowProgress &&
32
- (!options.isTreatConfigHintsAsErrors || options.configurationHints.length === 0)) {
32
+ (!options.isTreatConfigHintsAsErrors || options.configurationHints.length === 0) &&
33
+ (!options.isTreatTagHintsAsErrors || options.tagHints.size === 0)) {
33
34
  console.log('✂️ Excellent, Knip found no issues.');
34
35
  }
35
36
  };
@@ -1,4 +1,5 @@
1
1
  import type { GraphExplorer } from '../graph-explorer/explorer.ts';
2
+ import type { Issues } from '../types/issues.ts';
2
3
  import type { ModuleGraph } from '../types/module-graph.ts';
3
4
  import type { MainOptions } from '../util/create-options.ts';
4
5
  import type { WorkspaceFilePathFilter } from '../util/workspace-file-filter.ts';
@@ -7,6 +8,7 @@ interface TraceReporterOptions {
7
8
  explorer: GraphExplorer;
8
9
  options: MainOptions;
9
10
  workspaceFilePathFilter: WorkspaceFilePathFilter;
11
+ issues: Issues;
10
12
  }
11
- declare const _default: ({ graph, explorer, options, workspaceFilePathFilter }: TraceReporterOptions) => void;
13
+ declare const _default: ({ graph, explorer, options, workspaceFilePathFilter, issues }: TraceReporterOptions) => void;
12
14
  export default _default;
@@ -3,7 +3,7 @@ import { toRelative } from '../util/path.js';
3
3
  import { toRegexOrString } from '../util/regex.js';
4
4
  import { Table } from '../util/table.js';
5
5
  import { formatTrace } from '../util/trace.js';
6
- export default ({ graph, explorer, options, workspaceFilePathFilter }) => {
6
+ export default ({ graph, explorer, options, workspaceFilePathFilter, issues }) => {
7
7
  if (options.traceDependency) {
8
8
  const pattern = toRegexOrString(options.traceDependency);
9
9
  const toRel = (path) => toRelative(path, options.cwd);
@@ -23,8 +23,12 @@ export default ({ graph, explorer, options, workspaceFilePathFilter }) => {
23
23
  table.cell('package', st.cyanBright(packageName));
24
24
  }
25
25
  }
26
- for (const line of table.toRows())
27
- console.log(line);
26
+ const rows = table.toRows();
27
+ if (rows.length === 0)
28
+ console.log(`No imports found matching ${st.cyanBright(options.traceDependency)}`);
29
+ else
30
+ for (const line of rows)
31
+ console.log(line);
28
32
  }
29
33
  else {
30
34
  let nodes = explorer.buildExportsTree({ filePath: options.traceFile, identifier: options.traceExport });
@@ -32,27 +36,55 @@ export default ({ graph, explorer, options, workspaceFilePathFilter }) => {
32
36
  const nsName = options.traceExport.substring(0, options.traceExport.indexOf('.'));
33
37
  nodes = explorer.buildExportsTree({ filePath: options.traceFile, identifier: nsName });
34
38
  }
39
+ if (nodes.length === 0 && options.traceExport) {
40
+ const query = options.traceExport;
41
+ const member = query.slice(query.lastIndexOf('.') + 1);
42
+ const seen = new Set();
43
+ for (const [filePath, file] of graph) {
44
+ if (options.traceFile && filePath !== options.traceFile)
45
+ continue;
46
+ for (const [exportId, exp] of file.exports) {
47
+ const key = `${filePath}:${exportId}`;
48
+ if (seen.has(key))
49
+ continue;
50
+ if (exp.members.some(m => m.identifier === query || m.identifier === member || m.identifier.endsWith(`.${member}`))) {
51
+ seen.add(key);
52
+ nodes.push(...explorer.buildExportsTree({ filePath, identifier: exportId }));
53
+ }
54
+ }
55
+ }
56
+ }
35
57
  nodes.sort((a, b) => a.filePath.localeCompare(b.filePath) || a.identifier.localeCompare(b.identifier));
36
58
  const toRel = (path) => toRelative(path, options.cwd);
37
- const isReferenced = (node) => {
38
- if (explorer.isReferenced(node.filePath, node.identifier, { traverseEntries: false })[0])
39
- return true;
40
- if (explorer.hasStrictlyNsReferences(node.filePath, node.identifier)[0])
41
- return true;
42
- return !!graph.get(node.filePath)?.exports.get(node.identifier)?.hasRefsInFile;
43
- };
59
+ if (nodes.length === 0) {
60
+ if (options.traceFile && !graph.has(options.traceFile)) {
61
+ console.log(`File not found in module graph: ${toRel(options.traceFile)}`);
62
+ }
63
+ else {
64
+ const what = options.traceExport ? `export ${st.cyanBright(options.traceExport)}` : 'exports';
65
+ const where = options.traceFile ? ` in ${toRel(options.traceFile)}` : '';
66
+ console.log(`No ${what} found${where}`);
67
+ }
68
+ return;
69
+ }
70
+ const reportedExports = new Set();
71
+ for (const type of ['exports', 'types', 'nsExports', 'nsTypes'])
72
+ for (const byFile of Object.values(issues[type]))
73
+ for (const issue of Object.values(byFile))
74
+ reportedExports.add(`${issue.filePath}:${issue.symbol}`);
75
+ const reportedMembers = new Set();
76
+ for (const type of ['enumMembers', 'namespaceMembers'])
77
+ for (const byFile of Object.values(issues[type]))
78
+ for (const issue of Object.values(byFile))
79
+ reportedMembers.add(`${issue.filePath}:${issue.parentSymbol}.${issue.symbol}`);
80
+ const isReferenced = (node) => !reportedExports.has(`${node.filePath}:${node.identifier}`);
44
81
  for (const node of nodes) {
45
82
  const exp = graph.get(node.filePath)?.exports.get(node.identifier);
46
83
  let memberStatuses;
47
84
  if (exp && exp.members.length > 0) {
48
85
  memberStatuses = [];
49
86
  for (const m of exp.members) {
50
- const id = `${node.identifier}.${m.identifier}`;
51
- const referenced = m.hasRefsInFile ||
52
- explorer.isReferenced(node.filePath, id, {
53
- traverseEntries: true,
54
- treatStarAtEntryAsReferenced: true,
55
- })[0];
87
+ const referenced = !reportedMembers.has(`${node.filePath}:${node.identifier}.${m.identifier}`);
56
88
  memberStatuses.push({ identifier: m.identifier, referenced });
57
89
  }
58
90
  }
@@ -19,5 +19,5 @@ export declare const finalizeConfigurationHints: (results: Results, options: {
19
19
  configFilePath?: string;
20
20
  }) => ProcessedHint[];
21
21
  export declare const printConfigurationHints: ({ cwd, counters, issues, tagHints, configurationHints, enabledPlugins, isTreatConfigHintsAsErrors, includedWorkspaceDirs, selectedWorkspaces, configFilePath, }: ReporterOptions) => void;
22
- export declare const printTagHints: ({ cwd, tagHints }: ReporterOptions) => void;
22
+ export declare const printTagHints: ({ cwd, tagHints, isTreatTagHintsAsErrors }: ReporterOptions) => void;
23
23
  export {};
@@ -128,9 +128,10 @@ export const printConfigurationHints = ({ cwd, counters, issues, tagHints, confi
128
128
  console.warn(getTableForHints(rows).toString());
129
129
  }
130
130
  };
131
- export const printTagHints = ({ cwd, tagHints }) => {
131
+ export const printTagHints = ({ cwd, tagHints, isTreatTagHintsAsErrors }) => {
132
132
  if (tagHints.size > 0) {
133
- console.log(getDimmedTitle('Tag hints', tagHints.size));
133
+ const getTitle = isTreatTagHintsAsErrors ? getColoredTitle : getDimmedTitle;
134
+ console.warn(getTitle('Tag hints', tagHints.size));
134
135
  for (const hint of tagHints) {
135
136
  const { filePath, identifier, tagName } = hint;
136
137
  const message = `Unused tag in ${toRelative(filePath, cwd)}:`;
@@ -276,6 +276,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
276
276
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
277
277
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
278
278
  }, z.core.$strip>]>>;
279
+ 'nano-spawn': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
280
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
281
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
282
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
283
+ }, z.core.$strip>]>>;
279
284
  'nano-staged': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
280
285
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
281
286
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -356,6 +361,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
356
361
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
357
362
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
358
363
  }, z.core.$strip>]>>;
364
+ orval: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
365
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
366
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
367
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
368
+ }, z.core.$strip>]>>;
359
369
  oxfmt: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
360
370
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
361
371
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1038,6 +1048,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1038
1048
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1039
1049
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1040
1050
  }, z.core.$strip>]>>;
1051
+ 'nano-spawn': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1052
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1053
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1054
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1055
+ }, z.core.$strip>]>>;
1041
1056
  'nano-staged': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1042
1057
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1043
1058
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1118,6 +1133,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1118
1133
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1119
1134
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1120
1135
  }, z.core.$strip>]>>;
1136
+ orval: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1137
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1138
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1139
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1140
+ }, z.core.$strip>]>>;
1121
1141
  oxfmt: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1122
1142
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1123
1143
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1529,7 +1549,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1529
1549
  ignoreMembers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
1530
1550
  ignoreUnresolved: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
1531
1551
  ignoreExportsUsedInFile: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniObject<{
1532
- [k: string]: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1552
+ [x: string]: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1533
1553
  }, z.core.$strict>]>>;
1534
1554
  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">]>>>>;
1535
1555
  ignoreWorkspaces: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
@@ -1539,6 +1559,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1539
1559
  asyncCompilers: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniCustom<CompilerAsync, CompilerAsync>>>;
1540
1560
  tags: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1541
1561
  treatConfigHintsAsErrors: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1562
+ treatTagHintsAsErrors: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1542
1563
  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">]>>>;
1543
1564
  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">]>>>;
1544
1565
  workspaces: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
@@ -1817,6 +1838,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1817
1838
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1818
1839
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1819
1840
  }, z.core.$strip>]>>;
1841
+ 'nano-spawn': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1842
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1843
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1844
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1845
+ }, z.core.$strip>]>>;
1820
1846
  'nano-staged': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1821
1847
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1822
1848
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1897,6 +1923,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1897
1923
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1898
1924
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1899
1925
  }, z.core.$strip>]>>;
1926
+ orval: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1927
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1928
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1929
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1930
+ }, z.core.$strip>]>>;
1900
1931
  oxfmt: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1901
1932
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1902
1933
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -50,6 +50,7 @@ const rootConfigurationSchema = z.object({
50
50
  asyncCompilers: z.optional(z.record(z.string(), asyncCompilerSchema)),
51
51
  tags: z.optional(z.array(z.string())),
52
52
  treatConfigHintsAsErrors: z.optional(z.boolean()),
53
+ treatTagHintsAsErrors: z.optional(z.boolean()),
53
54
  });
54
55
  const reportConfigSchema = z.object({
55
56
  include: z.optional(z.array(issueTypeSchema)),
@@ -281,6 +281,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
281
281
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
282
282
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
283
283
  }, z.core.$strip>]>;
284
+ 'nano-spawn': z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
285
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
286
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
287
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
288
+ }, z.core.$strip>]>;
284
289
  'nano-staged': z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
285
290
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
286
291
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -361,6 +366,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
361
366
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
362
367
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
363
368
  }, z.core.$strip>]>;
369
+ orval: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
370
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
371
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
372
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
373
+ }, z.core.$strip>]>;
364
374
  oxfmt: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
365
375
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
366
376
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -65,6 +65,7 @@ export const pluginsSchema = z.object({
65
65
  mocha: pluginSchema,
66
66
  moonrepo: pluginSchema,
67
67
  msw: pluginSchema,
68
+ 'nano-spawn': pluginSchema,
68
69
  'nano-staged': pluginSchema,
69
70
  nest: pluginSchema,
70
71
  netlify: pluginSchema,
@@ -81,6 +82,7 @@ export const pluginsSchema = z.object({
81
82
  nyc: pluginSchema,
82
83
  oclif: pluginSchema,
83
84
  'openapi-ts': pluginSchema,
85
+ orval: pluginSchema,
84
86
  oxfmt: pluginSchema,
85
87
  oxlint: pluginSchema,
86
88
  'panda-css': pluginSchema,
@@ -1,2 +1,2 @@
1
- export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'execa' | 'expo' | 'expressive-code' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lockfile-lint' | 'lost-pixel' | 'markdownlint' | 'mdx' | 'mdxlint' | 'metro' | 'mocha' | 'moonrepo' | 'msw' | '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' | '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-og-canvas', 'ava', 'babel', 'biome', 'bumpp', 'bun', 'c8', 'capacitor', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'eleventy', 'eslint', 'execa', 'expo', 'expressive-code', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'lefthook', 'lint-staged', 'linthtml', 'lockfile-lint', 'lost-pixel', 'markdownlint', 'mdx', 'mdxlint', 'metro', 'mocha', 'moonrepo', 'msw', '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', '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-og-canvas' | 'ava' | 'babel' | 'biome' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'eleventy' | 'eslint' | 'execa' | 'expo' | 'expressive-code' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lockfile-lint' | 'lost-pixel' | '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-og-canvas', 'ava', 'babel', 'biome', 'bumpp', 'bun', 'c8', 'capacitor', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'eleventy', 'eslint', 'execa', 'expo', 'expressive-code', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'lefthook', 'lint-staged', 'linthtml', 'lockfile-lint', 'lost-pixel', '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'];
@@ -54,6 +54,7 @@ export const pluginNames = [
54
54
  'mocha',
55
55
  'moonrepo',
56
56
  'msw',
57
+ 'nano-spawn',
57
58
  'nano-staged',
58
59
  'nest',
59
60
  'netlify',
@@ -70,6 +71,7 @@ export const pluginNames = [
70
71
  'nyc',
71
72
  'oclif',
72
73
  'openapi-ts',
74
+ 'orval',
73
75
  'oxfmt',
74
76
  'oxlint',
75
77
  'panda-css',
@@ -56,6 +56,7 @@ export type ReporterOptions = {
56
56
  isDisableConfigHints: boolean;
57
57
  isDisableTagHints: boolean;
58
58
  isTreatConfigHintsAsErrors: boolean;
59
+ isTreatTagHintsAsErrors: boolean;
59
60
  cwd: string;
60
61
  isProduction: boolean;
61
62
  isShowProgress: boolean;
@@ -22,7 +22,6 @@ export interface CompilerOptions {
22
22
  name: string;
23
23
  } | string>;
24
24
  rootDir?: string;
25
- rootDirs?: string[];
26
25
  skipDefaultLibCheck?: boolean;
27
26
  skipLibCheck?: boolean;
28
27
  sourceMap?: boolean;
@@ -3,5 +3,4 @@ import type { ResolveModule } from './ast-nodes.ts';
3
3
  export declare function clearModuleResolutionCaches(): void;
4
4
  export declare function createCustomModuleResolver(compilerOptions: {
5
5
  paths?: Record<string, string[]>;
6
- rootDirs?: string[];
7
6
  }, customCompilerExtensions: string[], toSourceFilePath: ToSourceFilePath, findWorkspaceManifestImports?: WorkspaceManifestHandler): ResolveModule;
@@ -48,7 +48,6 @@ export function createCustomModuleResolver(compilerOptions, customCompilerExtens
48
48
  const extensions = [...DEFAULT_EXTENSIONS, ...customCompilerExtensions, ...DTS_EXTENSIONS];
49
49
  const resolveSync = hasCustomExts ? _createSyncModuleResolver(extensions) : _resolveModuleSync;
50
50
  const pathMappings = compilePathMappings(compilerOptions.paths);
51
- const rootDirs = compilerOptions.rootDirs;
52
51
  function toSourcePath(resolvedFileName) {
53
52
  if (!hasCustomExts || !customCompilerExtensionsSet.has(extname(resolvedFileName))) {
54
53
  return toSourceFilePath(resolvedFileName) || resolvedFileName;
@@ -111,22 +110,6 @@ export function createCustomModuleResolver(compilerOptions, customCompilerExtens
111
110
  }
112
111
  }
113
112
  }
114
- if (rootDirs && !isAbsolute(specifier)) {
115
- const containingDir = dirname(containingFile);
116
- for (const srcRoot of rootDirs) {
117
- if (!containingDir.startsWith(srcRoot))
118
- continue;
119
- const relPath = containingDir.slice(srcRoot.length);
120
- for (const targetRoot of rootDirs) {
121
- if (targetRoot === srcRoot)
122
- continue;
123
- const mapped = join(targetRoot, relPath, specifier);
124
- const resolved = resolveSync(mapped, containingFile);
125
- if (resolved)
126
- return toResult(resolved);
127
- }
128
- }
129
- }
130
113
  const candidate = isAbsolute(specifier) ? specifier : join(dirname(containingFile), specifier);
131
114
  if (existsSync(candidate)) {
132
115
  return { resolvedFileName: candidate, isExternalLibraryImport: false };
@@ -104,6 +104,13 @@ const _collectRefsInType = (node, exportName, signatureOnly, seen = new Set(), i
104
104
  return;
105
105
  }
106
106
  break;
107
+ case 'VariableDeclarator':
108
+ if (inBody) {
109
+ if (node.init)
110
+ _collectRefsInType(node.init, exportName, signatureOnly, seen, inBody);
111
+ return;
112
+ }
113
+ break;
107
114
  }
108
115
  const keys = visitorKeys[type];
109
116
  if (!keys)