knip 6.41.0 → 6.42.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 (63) hide show
  1. package/README.md +1 -1
  2. package/dist/ConfigurationChief.d.ts +18 -0
  3. package/dist/WorkspaceWorker.js +1 -0
  4. package/dist/binaries/bash-parser.js +16 -39
  5. package/dist/binaries/resolvers/bun.js +1 -0
  6. package/dist/graph-explorer/operations/is-referenced.js +8 -2
  7. package/dist/manifest/index.js +2 -3
  8. package/dist/plugins/_component-style-urls/component-style-urls-visitor.d.ts +2 -0
  9. package/dist/plugins/_component-style-urls/component-style-urls-visitor.js +40 -0
  10. package/dist/plugins/angular/index.js +7 -1
  11. package/dist/plugins/biome/index.js +2 -2
  12. package/dist/plugins/commitlint/index.js +2 -2
  13. package/dist/plugins/eslint/helpers.js +1 -1
  14. package/dist/plugins/filesystem-routing/index.d.ts +3 -0
  15. package/dist/plugins/filesystem-routing/index.js +57 -0
  16. package/dist/plugins/github-actions/index.js +1 -1
  17. package/dist/plugins/index.d.ts +3 -0
  18. package/dist/plugins/index.js +6 -0
  19. package/dist/plugins/jest/index.js +5 -0
  20. package/dist/plugins/jest/visitors/mock.d.ts +2 -0
  21. package/dist/plugins/jest/visitors/mock.js +91 -0
  22. package/dist/plugins/mise/scripts.js +55 -97
  23. package/dist/plugins/next/index.js +33 -1
  24. package/dist/plugins/nx/index.js +46 -8
  25. package/dist/plugins/nx/types.d.ts +8 -0
  26. package/dist/plugins/oxlint/index.js +1 -1
  27. package/dist/plugins/react-router/index.d.ts +3 -0
  28. package/dist/plugins/react-router/index.js +3 -0
  29. package/dist/plugins/rstest/index.js +1 -1
  30. package/dist/plugins/solidjs-vite-plugin/index.d.ts +6 -0
  31. package/dist/plugins/solidjs-vite-plugin/index.js +17 -0
  32. package/dist/plugins/solidjs-vite-plugin/resolveFromAST.d.ts +3 -0
  33. package/dist/plugins/solidjs-vite-plugin/resolveFromAST.js +76 -0
  34. package/dist/plugins/sst/resolveFromAST.js +1 -1
  35. package/dist/plugins/stencil/index.js +2 -39
  36. package/dist/plugins/storybook/index.js +2 -4
  37. package/dist/plugins/sveltejs-package/helpers.js +2 -2
  38. package/dist/plugins/taskfile/index.js +3 -6
  39. package/dist/plugins/tsrs/index.d.ts +3 -0
  40. package/dist/plugins/tsrs/index.js +15 -0
  41. package/dist/plugins/typescript/index.d.ts +12 -1
  42. package/dist/plugins/typescript/index.js +5 -7
  43. package/dist/plugins/vite/helpers.d.ts +1 -0
  44. package/dist/plugins/vite/helpers.js +15 -1
  45. package/dist/plugins/vitest/index.js +2 -2
  46. package/dist/schema/configuration.d.ts +45 -0
  47. package/dist/schema/plugins.d.ts +15 -0
  48. package/dist/schema/plugins.js +3 -0
  49. package/dist/types/PluginNames.d.ts +2 -2
  50. package/dist/types/PluginNames.js +3 -0
  51. package/dist/types/config.d.ts +1 -0
  52. package/dist/typescript/visitors/imports.js +11 -0
  53. package/dist/typescript/visitors/jsdoc.js +27 -22
  54. package/dist/util/create-options.d.ts +30 -0
  55. package/dist/util/create-options.js +2 -3
  56. package/dist/util/path.d.ts +1 -0
  57. package/dist/util/path.js +1 -0
  58. package/dist/util/scripts.d.ts +3 -2
  59. package/dist/util/scripts.js +32 -72
  60. package/dist/version.d.ts +1 -1
  61. package/dist/version.js +1 -1
  62. package/package.json +5 -5
  63. package/schema.json +12 -0
@@ -0,0 +1,15 @@
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { args as typescriptArgs, config, resolveConfig } from '../typescript/index.js';
3
+ const title = 'tsrs';
4
+ const enablers = ['tsrs'];
5
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
6
+ const args = { ...typescriptArgs, binaries: ['tsrs'] };
7
+ const plugin = {
8
+ title,
9
+ enablers,
10
+ isEnabled,
11
+ config,
12
+ resolveConfig,
13
+ args,
14
+ };
15
+ export default plugin;
@@ -1,4 +1,15 @@
1
- import type { Plugin } from '../../types/config.ts';
1
+ import type { Plugin, ResolveConfig } from '../../types/config.ts';
2
+ import type { TsConfigJson } from '../../types/tsconfig-json.ts';
3
+ export declare const config: string[];
4
+ export declare const resolveConfig: ResolveConfig<TsConfigJson>;
5
+ export declare const args: {
6
+ binaries: string[];
7
+ string: string[];
8
+ alias: {
9
+ project: string[];
10
+ };
11
+ config: [string, (p: string) => string][];
12
+ };
2
13
  export declare const docs: {
3
14
  note: string;
4
15
  };
@@ -6,7 +6,7 @@ import { contentMapperResolvers } from './content-mappers.js';
6
6
  const title = 'TypeScript';
7
7
  const enablers = ['typescript', '@typescript/native', '@typescript/native-preview'];
8
8
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
9
- const config = ['tsconfig.json'];
9
+ export const config = ['tsconfig.json'];
10
10
  const resolveContentMappers = (localConfig) => {
11
11
  const inputs = [];
12
12
  for (const { package: name, options } of localConfig.contentMappers ?? []) {
@@ -17,16 +17,14 @@ const resolveContentMappers = (localConfig) => {
17
17
  }
18
18
  return inputs;
19
19
  };
20
- const resolveConfig = (localConfig, options) => {
20
+ export const resolveConfig = (localConfig, options) => {
21
21
  const { compilerOptions } = localConfig;
22
22
  const extend = localConfig.extends
23
- ? [localConfig.extends]
24
- .flat()
25
- .map(specifier => toConfig('typescript', specifier, { containingFilePath: options.configFilePath }))
23
+ ? [localConfig.extends].flat().map(specifier => toConfig(options.pluginName, specifier))
26
24
  : [];
27
25
  const references = localConfig.references
28
26
  ?.filter(reference => reference.path.endsWith('.json'))
29
- .map(reference => toConfig('typescript', reference.path, { containingFilePath: options.configFilePath })) ?? [];
27
+ .map(reference => toConfig(options.pluginName, reference.path)) ?? [];
30
28
  const contentMappers = resolveContentMappers(localConfig);
31
29
  if (!(compilerOptions && localConfig))
32
30
  return compact([...contentMappers, ...extend, ...references]);
@@ -45,7 +43,7 @@ const resolveConfig = (localConfig, options) => {
45
43
  ...jsx,
46
44
  ]);
47
45
  };
48
- const args = {
46
+ export const args = {
49
47
  binaries: ['tsc', 'tsgo'],
50
48
  string: ['project'],
51
49
  alias: { project: ['p'] },
@@ -4,3 +4,4 @@ export declare const getBabelInputs: (program: Program) => Input[];
4
4
  export declare const getHtmlScriptEntries: (htmlPath: string, rootDir?: string, publicDir?: string) => Promise<Input[]>;
5
5
  export declare const getIndexHtmlEntries: (rootDir: string, publicDir?: string) => Promise<Input[]>;
6
6
  export declare const getVitePluginDirs: (program: Program, specifiers: string[], key: string) => string[] | undefined;
7
+ export declare const getViteRoot: (program: Program, cwd: string) => string;
@@ -1,5 +1,5 @@
1
1
  import { blockCommentMatcher, lineCommentMatcher, scriptExtractor } from '../../compilers/compilers.js';
2
- import { findImportedCalls, findProperty, getStringValues } from '../../typescript/ast-helpers.js';
2
+ import { findImportedCalls, findProperty, getStringValues, resolveObjectArg } from '../../typescript/ast-helpers.js';
3
3
  import { getStringValue } from '../../typescript/ast-nodes.js';
4
4
  import { isFile, loadFile } from '../../util/fs.js';
5
5
  import { toProductionEntry } from '../../util/input.js';
@@ -90,3 +90,17 @@ export const getVitePluginDirs = (program, specifiers, key) => {
90
90
  }
91
91
  return dirs;
92
92
  };
93
+ const unwrapExpression = (node) => node.type === 'TSSatisfiesExpression' || node.type === 'TSAsExpression' || node.type === 'ParenthesizedExpression'
94
+ ? unwrapExpression(node.expression)
95
+ : node;
96
+ export const getViteRoot = (program, cwd) => {
97
+ for (const node of program.body) {
98
+ if (node.type !== 'ExportDefaultDeclaration')
99
+ continue;
100
+ const declaration = unwrapExpression(node.declaration);
101
+ const arg = declaration.type === 'CallExpression' ? declaration.arguments[0] : declaration;
102
+ const config = resolveObjectArg(arg && arg.type !== 'SpreadElement' ? unwrapExpression(arg) : undefined);
103
+ return toAbsolute(getStringValue(findProperty(config, 'root')) ?? '.', cwd);
104
+ }
105
+ return cwd;
106
+ };
@@ -122,11 +122,11 @@ export const resolveConfig = async (localConfig, options) => {
122
122
  gitignore: false,
123
123
  });
124
124
  for (const projectFile of projectFiles) {
125
- inputs.add(toConfig('vitest', projectFile, { containingFilePath: options.configFilePath }));
125
+ inputs.add(toConfig('vitest', projectFile));
126
126
  }
127
127
  }
128
128
  else if (typeof project.extends === 'string') {
129
- inputs.add(toConfig('vitest', project.extends, { containingFilePath: options.configFilePath }));
129
+ inputs.add(toConfig('vitest', project.extends));
130
130
  }
131
131
  }
132
132
  }
@@ -196,6 +196,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
196
196
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
197
197
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
198
198
  }, z.core.$strip>]>>;
199
+ 'filesystem-routing': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
200
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
201
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
202
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
203
+ }, z.core.$strip>]>>;
199
204
  flue: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
200
205
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
201
206
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -666,6 +671,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
666
671
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
667
672
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
668
673
  }, z.core.$strip>]>>;
674
+ 'solidjs-vite-plugin': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
675
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
676
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
677
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
678
+ }, z.core.$strip>]>>;
669
679
  sst: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
670
680
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
671
681
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -781,6 +791,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
781
791
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
782
792
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
783
793
  }, z.core.$strip>]>>;
794
+ tsrs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
795
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
796
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
797
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
798
+ }, z.core.$strip>]>>;
784
799
  tsup: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
785
800
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
786
801
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1173,6 +1188,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1173
1188
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1174
1189
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1175
1190
  }, z.core.$strip>]>>;
1191
+ 'filesystem-routing': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1192
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1193
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1194
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1195
+ }, z.core.$strip>]>>;
1176
1196
  flue: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1177
1197
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1178
1198
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1643,6 +1663,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1643
1663
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1644
1664
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1645
1665
  }, z.core.$strip>]>>;
1666
+ 'solidjs-vite-plugin': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1667
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1668
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1669
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1670
+ }, z.core.$strip>]>>;
1646
1671
  sst: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1647
1672
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1648
1673
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1758,6 +1783,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1758
1783
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1759
1784
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1760
1785
  }, z.core.$strip>]>>;
1786
+ tsrs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1787
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1788
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1789
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1790
+ }, z.core.$strip>]>>;
1761
1791
  tsup: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1762
1792
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1763
1793
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -2169,6 +2199,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2169
2199
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2170
2200
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2171
2201
  }, z.core.$strip>]>>;
2202
+ 'filesystem-routing': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2203
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2204
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2205
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2206
+ }, z.core.$strip>]>>;
2172
2207
  flue: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2173
2208
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2174
2209
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -2639,6 +2674,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2639
2674
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2640
2675
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2641
2676
  }, z.core.$strip>]>>;
2677
+ 'solidjs-vite-plugin': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2678
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2679
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2680
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2681
+ }, z.core.$strip>]>>;
2642
2682
  sst: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2643
2683
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2644
2684
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -2754,6 +2794,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2754
2794
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2755
2795
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2756
2796
  }, z.core.$strip>]>>;
2797
+ tsrs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2798
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2799
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2800
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2801
+ }, z.core.$strip>]>>;
2757
2802
  tsup: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2758
2803
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2759
2804
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -201,6 +201,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
201
201
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
202
202
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
203
203
  }, z.core.$strip>]>;
204
+ 'filesystem-routing': z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
205
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
206
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
207
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
208
+ }, z.core.$strip>]>;
204
209
  flue: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
205
210
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
206
211
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -671,6 +676,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
671
676
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
672
677
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
673
678
  }, z.core.$strip>]>;
679
+ 'solidjs-vite-plugin': z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
680
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
681
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
682
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
683
+ }, z.core.$strip>]>;
674
684
  sst: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
675
685
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
676
686
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -786,6 +796,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
786
796
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
787
797
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
788
798
  }, z.core.$strip>]>;
799
+ tsrs: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
800
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
801
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
802
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
803
+ }, z.core.$strip>]>;
789
804
  tsup: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
790
805
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
791
806
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -49,6 +49,7 @@ export const pluginsSchema = z.object({
49
49
  'expo-router': pluginSchema,
50
50
  'expressive-code': pluginSchema,
51
51
  fast: pluginSchema,
52
+ 'filesystem-routing': pluginSchema,
52
53
  flue: pluginSchema,
53
54
  fumadocs: pluginSchema,
54
55
  gatsby: pluginSchema,
@@ -143,6 +144,7 @@ export const pluginsSchema = z.object({
143
144
  'serverless-framework': pluginSchema,
144
145
  'simple-git-hooks': pluginSchema,
145
146
  'size-limit': pluginSchema,
147
+ 'solidjs-vite-plugin': pluginSchema,
146
148
  sst: pluginSchema,
147
149
  starlight: pluginSchema,
148
150
  stencil: pluginSchema,
@@ -166,6 +168,7 @@ export const pluginsSchema = z.object({
166
168
  'ts-node': pluginSchema,
167
169
  tsd: pluginSchema,
168
170
  tsdown: pluginSchema,
171
+ tsrs: pluginSchema,
169
172
  tsup: pluginSchema,
170
173
  tsx: pluginSchema,
171
174
  turbo: pluginSchema,
@@ -1,2 +1,2 @@
1
- export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-markdoc' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'borp' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'electron-vite' | 'eleventy' | 'esbuild' | 'eslint' | 'eve' | 'execa' | 'expo' | 'expo-router' | 'expressive-code' | 'fast' | 'flue' | 'fumadocs' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jasmine' | 'jest' | 'karma' | 'knex' | 'ladle' | 'laravel-vite-plugin' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'marko' | 'mdx' | 'mdxlint' | 'metro' | 'mise' | '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' | 'nuxtjs-i18n' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'openclaw' | 'orval' | 'osls' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'pre-commit' | 'preconstruct' | 'prettier' | 'prisma' | 'quasar' | 'qwik' | 'railway' | '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' | 'tauri' | 'temporal' | 'textlint' | 'travis' | 'ts-node' | 'tsd' | 'tsdown' | 'tsup' | 'tsx' | 'turbo' | 'typedoc' | 'typescript' | 'typescript-content-mapper' | 'unbuild' | 'unocss' | 'unplugin-auto-import' | 'unplugin-icons' | 'unplugin-vue-components' | 'unplugin-vue-i18n' | 'unplugin-vue-markdown' | 'unplugin-vue-router' | 'varlock' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vite-plugin-pages' | 'vite-plugin-pwa' | 'vite-plugin-vue-layouts-next' | 'vite-plus' | 'vite-pwa-assets-generator' | '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', 'borp', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'electron-vite', 'eleventy', 'esbuild', 'eslint', 'eve', 'execa', 'expo', 'expo-router', 'expressive-code', 'fast', 'flue', 'fumadocs', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jasmine', 'jest', 'karma', 'knex', 'ladle', 'laravel-vite-plugin', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'marko', 'mdx', 'mdxlint', 'metro', 'mise', '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', 'nuxtjs-i18n', 'nx', 'nyc', 'oclif', 'openapi-ts', 'openclaw', 'orval', 'osls', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'pre-commit', 'preconstruct', 'prettier', 'prisma', 'quasar', 'qwik', 'railway', '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', 'tauri', 'temporal', 'textlint', 'travis', 'ts-node', 'tsd', 'tsdown', 'tsup', 'tsx', 'turbo', 'typedoc', 'typescript', 'typescript-content-mapper', 'unbuild', 'unocss', 'unplugin-auto-import', 'unplugin-icons', 'unplugin-vue-components', 'unplugin-vue-i18n', 'unplugin-vue-markdown', 'unplugin-vue-router', 'varlock', 'vercel', 'vercel-og', 'vike', 'vite', 'vite-plugin-pages', 'vite-plugin-pwa', 'vite-plugin-vue-layouts-next', 'vite-plus', 'vite-pwa-assets-generator', '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' | 'borp' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'electron-vite' | 'eleventy' | 'esbuild' | 'eslint' | 'eve' | 'execa' | 'expo' | 'expo-router' | 'expressive-code' | 'fast' | 'filesystem-routing' | 'flue' | 'fumadocs' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jasmine' | 'jest' | 'karma' | 'knex' | 'ladle' | 'laravel-vite-plugin' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'marko' | 'mdx' | 'mdxlint' | 'metro' | 'mise' | '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' | 'nuxtjs-i18n' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'openclaw' | 'orval' | 'osls' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'pre-commit' | 'preconstruct' | 'prettier' | 'prisma' | 'quasar' | 'qwik' | 'railway' | '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' | 'solidjs-vite-plugin' | 'sst' | 'starlight' | 'stencil' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'sveltejs-package' | 'sveltekit' | 'svgo' | 'svgr' | 'swc' | 'syncpack' | 'tailwind' | 'tanstack-router' | 'taskfile' | 'tauri' | 'temporal' | 'textlint' | 'travis' | 'ts-node' | 'tsd' | 'tsdown' | 'tsrs' | 'tsup' | 'tsx' | 'turbo' | 'typedoc' | 'typescript' | 'typescript-content-mapper' | 'unbuild' | 'unocss' | 'unplugin-auto-import' | 'unplugin-icons' | 'unplugin-vue-components' | 'unplugin-vue-i18n' | 'unplugin-vue-markdown' | 'unplugin-vue-router' | 'varlock' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vite-plugin-pages' | 'vite-plugin-pwa' | 'vite-plugin-vue-layouts-next' | 'vite-plus' | 'vite-pwa-assets-generator' | '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', 'borp', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'electron-vite', 'eleventy', 'esbuild', 'eslint', 'eve', 'execa', 'expo', 'expo-router', 'expressive-code', 'fast', 'filesystem-routing', 'flue', 'fumadocs', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jasmine', 'jest', 'karma', 'knex', 'ladle', 'laravel-vite-plugin', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'marko', 'mdx', 'mdxlint', 'metro', 'mise', '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', 'nuxtjs-i18n', 'nx', 'nyc', 'oclif', 'openapi-ts', 'openclaw', 'orval', 'osls', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'pre-commit', 'preconstruct', 'prettier', 'prisma', 'quasar', 'qwik', 'railway', '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', 'solidjs-vite-plugin', 'sst', 'starlight', 'stencil', 'storybook', 'stryker', 'stylelint', 'svelte', 'sveltejs-package', 'sveltekit', 'svgo', 'svgr', 'swc', 'syncpack', 'tailwind', 'tanstack-router', 'taskfile', 'tauri', 'temporal', 'textlint', 'travis', 'ts-node', 'tsd', 'tsdown', 'tsrs', 'tsup', 'tsx', 'turbo', 'typedoc', 'typescript', 'typescript-content-mapper', 'unbuild', 'unocss', 'unplugin-auto-import', 'unplugin-icons', 'unplugin-vue-components', 'unplugin-vue-i18n', 'unplugin-vue-markdown', 'unplugin-vue-router', 'varlock', 'vercel', 'vercel-og', 'vike', 'vite', 'vite-plugin-pages', 'vite-plugin-pwa', 'vite-plugin-vue-layouts-next', 'vite-plus', 'vite-pwa-assets-generator', 'vitepress', 'vitest', 'vue', 'webdriver-io', 'webpack', 'wireit', 'wrangler', 'wxt', 'xo', 'yarn', 'yorkie', 'zx'];
@@ -38,6 +38,7 @@ export const pluginNames = [
38
38
  'expo-router',
39
39
  'expressive-code',
40
40
  'fast',
41
+ 'filesystem-routing',
41
42
  'flue',
42
43
  'fumadocs',
43
44
  'gatsby',
@@ -132,6 +133,7 @@ export const pluginNames = [
132
133
  'serverless-framework',
133
134
  'simple-git-hooks',
134
135
  'size-limit',
136
+ 'solidjs-vite-plugin',
135
137
  'sst',
136
138
  'starlight',
137
139
  'stencil',
@@ -155,6 +157,7 @@ export const pluginNames = [
155
157
  'ts-node',
156
158
  'tsd',
157
159
  'tsdown',
160
+ 'tsrs',
158
161
  'tsup',
159
162
  'tsx',
160
163
  'turbo',
@@ -96,6 +96,7 @@ type IsPluginEnabledOptions = {
96
96
  };
97
97
  export type IsPluginEnabled = (options: IsPluginEnabledOptions) => boolean | Promise<boolean>;
98
98
  export interface PluginOptions extends BaseOptions {
99
+ pluginName: PluginName;
99
100
  config: EnsuredPluginConfiguration;
100
101
  configFileDir: string;
101
102
  configFileName: string;
@@ -100,6 +100,8 @@ export function handleVariableDeclarator(node, s) {
100
100
  const bindings = node.id.elements;
101
101
  for (let i = 0; i < imports.length; i++) {
102
102
  const imp = imports[i];
103
+ if (imp?.type === 'SpreadElement')
104
+ break;
103
105
  const binding = bindings[i];
104
106
  if (imp?.type === 'ImportExpression' && isStringLiteral(imp.source)) {
105
107
  s.handledImportExpressions.add(imp.start);
@@ -118,6 +120,15 @@ export function handleVariableDeclarator(node, s) {
118
120
  }
119
121
  else if (binding?.type === 'Identifier') {
120
122
  s.addImport(specifier, 'default', binding.name, undefined, imp.source.start, IMPORT_FLAGS.DYNAMIC);
123
+ const resolved = s.resolveModule(specifier, s.filePath);
124
+ if (resolved && !resolved.isExternalLibraryImport && !isInNodeModules(resolved.resolvedFileName)) {
125
+ s.localImportMap.set(binding.name, {
126
+ importedName: IMPORT_STAR,
127
+ filePath: resolved.resolvedFileName,
128
+ isNamespace: true,
129
+ isDynamicImport: true,
130
+ });
131
+ }
121
132
  }
122
133
  else {
123
134
  s.addImport(specifier, undefined, undefined, undefined, imp.source.start, IMPORT_FLAGS.DYNAMIC | IMPORT_FLAGS.SIDE_EFFECTS);
@@ -1,13 +1,29 @@
1
1
  export const EMPTY_TAGS = new Set();
2
2
  export function buildJSDocTagLookup(comments, sourceText) {
3
3
  const entries = [];
4
- for (const comment of comments) {
5
- if (comment.type !== 'Block')
6
- continue;
4
+ let reach = sourceText.length;
5
+ for (let i = comments.length - 1; i >= 0; i--) {
6
+ const comment = comments[i];
7
+ let end = comment.end;
8
+ while (end < sourceText.length) {
9
+ const ch = sourceText.charCodeAt(end);
10
+ if (ch !== 32 && ch !== 9 && ch !== 10 && ch !== 13)
11
+ break;
12
+ end++;
13
+ }
14
+ if (end !== comments[i + 1]?.start)
15
+ reach = end;
7
16
  const value = comment.value;
8
17
  let index = value.indexOf('@');
9
18
  if (index === -1)
10
19
  continue;
20
+ if (comment.type === 'Line') {
21
+ let start = comment.start;
22
+ while (start > 0 && (sourceText.charCodeAt(start - 1) === 32 || sourceText.charCodeAt(start - 1) === 9))
23
+ start--;
24
+ if (start > 0 && sourceText.charCodeAt(start - 1) !== 10 && sourceText.charCodeAt(start - 1) !== 13)
25
+ continue;
26
+ }
11
27
  let tags;
12
28
  while (index !== -1) {
13
29
  let end = index + 1;
@@ -25,29 +41,18 @@ export function buildJSDocTagLookup(comments, sourceText) {
25
41
  }
26
42
  if (!tags)
27
43
  continue;
28
- let reach = comment.end;
29
- for (;;) {
30
- while (reach < sourceText.length) {
31
- const ch = sourceText.charCodeAt(reach);
32
- if (ch === 32 || ch === 9 || ch === 10 || ch === 13) {
33
- reach++;
34
- continue;
35
- }
36
- break;
37
- }
38
- if (reach + 1 < sourceText.length &&
39
- sourceText.charCodeAt(reach) === 47 &&
40
- sourceText.charCodeAt(reach + 1) === 47) {
41
- const eol = sourceText.indexOf('\n', reach + 2);
42
- reach = eol === -1 ? sourceText.length : eol + 1;
43
- continue;
44
- }
45
- break;
44
+ const entry = entries[entries.length - 1];
45
+ if (entry?.reach === reach) {
46
+ for (const tag of tags)
47
+ entry.tags.add(tag);
48
+ }
49
+ else {
50
+ entries.push({ reach, tags });
46
51
  }
47
- entries.push({ reach, tags });
48
52
  }
49
53
  if (entries.length === 0)
50
54
  return () => EMPTY_TAGS;
55
+ entries.reverse();
51
56
  return function getJSDocTags(nodeStart) {
52
57
  let lo = 0;
53
58
  let hi = entries.length - 1;
@@ -241,6 +241,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
241
241
  entry?: string | string[] | undefined;
242
242
  project?: string | string[] | undefined;
243
243
  } | undefined;
244
+ 'filesystem-routing'?: string | boolean | string[] | {
245
+ config?: string | string[] | undefined;
246
+ entry?: string | string[] | undefined;
247
+ project?: string | string[] | undefined;
248
+ } | undefined;
244
249
  flue?: string | boolean | string[] | {
245
250
  config?: string | string[] | undefined;
246
251
  entry?: string | string[] | undefined;
@@ -711,6 +716,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
711
716
  entry?: string | string[] | undefined;
712
717
  project?: string | string[] | undefined;
713
718
  } | undefined;
719
+ 'solidjs-vite-plugin'?: string | boolean | string[] | {
720
+ config?: string | string[] | undefined;
721
+ entry?: string | string[] | undefined;
722
+ project?: string | string[] | undefined;
723
+ } | undefined;
714
724
  sst?: string | boolean | string[] | {
715
725
  config?: string | string[] | undefined;
716
726
  entry?: string | string[] | undefined;
@@ -826,6 +836,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
826
836
  entry?: string | string[] | undefined;
827
837
  project?: string | string[] | undefined;
828
838
  } | undefined;
839
+ tsrs?: string | boolean | string[] | {
840
+ config?: string | string[] | undefined;
841
+ entry?: string | string[] | undefined;
842
+ project?: string | string[] | undefined;
843
+ } | undefined;
829
844
  tsup?: string | boolean | string[] | {
830
845
  config?: string | string[] | undefined;
831
846
  entry?: string | string[] | undefined;
@@ -1233,6 +1248,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1233
1248
  entry?: string | string[] | undefined;
1234
1249
  project?: string | string[] | undefined;
1235
1250
  } | undefined;
1251
+ 'filesystem-routing'?: string | boolean | string[] | {
1252
+ config?: string | string[] | undefined;
1253
+ entry?: string | string[] | undefined;
1254
+ project?: string | string[] | undefined;
1255
+ } | undefined;
1236
1256
  flue?: string | boolean | string[] | {
1237
1257
  config?: string | string[] | undefined;
1238
1258
  entry?: string | string[] | undefined;
@@ -1703,6 +1723,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1703
1723
  entry?: string | string[] | undefined;
1704
1724
  project?: string | string[] | undefined;
1705
1725
  } | undefined;
1726
+ 'solidjs-vite-plugin'?: string | boolean | string[] | {
1727
+ config?: string | string[] | undefined;
1728
+ entry?: string | string[] | undefined;
1729
+ project?: string | string[] | undefined;
1730
+ } | undefined;
1706
1731
  sst?: string | boolean | string[] | {
1707
1732
  config?: string | string[] | undefined;
1708
1733
  entry?: string | string[] | undefined;
@@ -1818,6 +1843,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1818
1843
  entry?: string | string[] | undefined;
1819
1844
  project?: string | string[] | undefined;
1820
1845
  } | undefined;
1846
+ tsrs?: string | boolean | string[] | {
1847
+ config?: string | string[] | undefined;
1848
+ entry?: string | string[] | undefined;
1849
+ project?: string | string[] | undefined;
1850
+ } | undefined;
1821
1851
  tsup?: string | boolean | string[] | {
1822
1852
  config?: string | string[] | undefined;
1823
1853
  entry?: string | string[] | undefined;
@@ -11,12 +11,11 @@ import { loadResolvedConfigFile } from './load-config.js';
11
11
  import { _load } from './loader.js';
12
12
  import { logWarning } from './log.js';
13
13
  import { getKeysByValue } from './object.js';
14
- import { isAbsolute, isInternal, join, normalize, toAbsolute, toPosix } from './path.js';
14
+ import { isAbsolute, isInternal, join, resolveCwd, toAbsolute } from './path.js';
15
15
  import { splitTags } from './tag.js';
16
16
  export const createOptions = async (options) => {
17
17
  const { args = {} } = options;
18
- const pcwd = toPosix(process.cwd());
19
- const cwd = normalize(toAbsolute(toPosix(options.cwd ?? args.directory ?? pcwd), pcwd));
18
+ const cwd = resolveCwd(options.cwd ?? args.directory ?? '.');
20
19
  const manifestPath = findFile(cwd, 'package.json');
21
20
  const manifest = manifestPath && (await loadJSON(manifestPath));
22
21
  if (!(manifestPath && manifest)) {
@@ -6,6 +6,7 @@ export declare const basename: typeof path.basename;
6
6
  export declare const join: typeof path.join;
7
7
  export declare const toPosix: (value: string) => string;
8
8
  export declare const resolve: typeof path.resolve;
9
+ export declare const resolveCwd: (dir: string) => string;
9
10
  export declare const relative: (from: string, to: string) => string;
10
11
  export declare const isInNodeModules: (filePath: string) => boolean;
11
12
  export declare const toAbsolute: (id: string, base: string) => string;
package/dist/util/path.js CHANGED
@@ -7,6 +7,7 @@ export const basename = path.posix.basename;
7
7
  export const join = path.posix.join;
8
8
  export const toPosix = isWin ? (value) => value.split(path.sep).join(path.posix.sep) : (value) => value;
9
9
  export const resolve = path.posix.resolve;
10
+ export const resolveCwd = (dir) => toPosix(path.resolve(dir));
10
11
  export const relative = (from, to) => {
11
12
  if (to.startsWith(from)) {
12
13
  const next = to[from.length];
@@ -1,9 +1,10 @@
1
- import { type Command, type SyntaxNode, type Word } from 'unbash';
1
+ import { type ArithmeticCommandExpansion, type Command, type CommandExpansionPart, type ProcessSubstitutionPart, type SyntaxNode, type Word } from 'unbash';
2
2
  export interface ScriptCommand {
3
3
  binary: string;
4
4
  args: string[];
5
5
  }
6
6
  export declare const toShellCommand: (argv: string[]) => string;
7
7
  export declare const getCommandWords: (node: Pick<Command, 'args'>) => Word[];
8
- export declare function walkCommands(node: SyntaxNode): Generator<Command>;
8
+ export declare const collectCommands: (root: SyntaxNode) => Command[];
9
+ export declare const isScriptExpansion: (node: SyntaxNode) => node is CommandExpansionPart | ProcessSubstitutionPart | ArithmeticCommandExpansion;
9
10
  export declare const getScriptCommands: (script: string) => ScriptCommand[];