@storm-software/eslint 0.170.157 → 0.170.159

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 (53) hide show
  1. package/README.md +1 -1
  2. package/dist/{plugins-CZWNS7l4.mjs → index.cjs} +4613 -205
  3. package/dist/{typegen.d.mts → index.d.cts} +1027 -1
  4. package/dist/index.d.mts +17942 -40
  5. package/dist/index.mjs +12628 -38
  6. package/package.json +14 -57
  7. package/dist/astro-CKzo6xci.d.mts +0 -5
  8. package/dist/banner-YnHf4ewf.d.mts +0 -5
  9. package/dist/bun-OJPLvfnX.d.mts +0 -5
  10. package/dist/cspell-CfGd6g7m.d.mts +0 -8
  11. package/dist/disables-Dx5b56Fi.d.mts +0 -5
  12. package/dist/find-workspace-root-D3UHWbgn.mjs +0 -211
  13. package/dist/formatters-VU6Zu_ju.d.mts +0 -5
  14. package/dist/graphql-ClFinA5J.d.mts +0 -5
  15. package/dist/helpers-mce_MNwt.mjs +0 -72
  16. package/dist/ignores-CPeru9Fz.d.mts +0 -5
  17. package/dist/imports-CQToT7JW.d.mts +0 -5
  18. package/dist/javascript-BR8uv0Wr.d.mts +0 -5
  19. package/dist/jsdoc-Dy8bHykP.d.mts +0 -5
  20. package/dist/jsonc-YqDXTIOi.d.mts +0 -5
  21. package/dist/jsx-DzqEJSYd.d.mts +0 -5
  22. package/dist/markdown-C5lFEI83.d.mts +0 -5
  23. package/dist/mdx-CDEhveb1.d.mts +0 -5
  24. package/dist/next-DGhspeMc.d.mts +0 -8
  25. package/dist/node-CQgsZ8nv.d.mts +0 -5
  26. package/dist/nx-CLRc6QRM.d.mts +0 -8
  27. package/dist/perfectionist-CgSgqAjV.d.mts +0 -10
  28. package/dist/plugins.d.mts +0 -616
  29. package/dist/plugins.mjs +0 -2
  30. package/dist/pnpm-Cp9VzsCv.d.mts +0 -5
  31. package/dist/preset-x6MId9-7.mjs +0 -265
  32. package/dist/preset.d.mts +0 -30
  33. package/dist/preset.mjs +0 -3
  34. package/dist/prettier-CboafVRp.d.mts +0 -8
  35. package/dist/react-C5HWHYPh.d.mts +0 -5
  36. package/dist/react-native-DjQo3PXB.d.mts +0 -8
  37. package/dist/regexp-D2Fm6vg7.d.mts +0 -5
  38. package/dist/rolldown-runtime-CMFfr-1z.mjs +0 -26
  39. package/dist/secrets-DfvPNLCF.d.mts +0 -10
  40. package/dist/sort-9_xeGmal.d.mts +0 -16
  41. package/dist/storybook-DqDJ5exI.d.mts +0 -5
  42. package/dist/stylistic-9jDGqsHH.d.mts +0 -9
  43. package/dist/test-Dw-h86ig.d.mts +0 -5
  44. package/dist/toml-ConAZLXy.d.mts +0 -5
  45. package/dist/tsdoc-DcYWMVl0.d.mts +0 -5
  46. package/dist/types-XIthLTox.d.mts +0 -852
  47. package/dist/types.d.mts +0 -3
  48. package/dist/types.mjs +0 -2
  49. package/dist/typescript-BFiiMXDt.d.mts +0 -5
  50. package/dist/unicorn-CQ3PTdfT.d.mts +0 -5
  51. package/dist/unocss-Uw-vEvNU.d.mts +0 -5
  52. package/dist/yaml-Ddbh49WY.d.mts +0 -5
  53. package/dist/zod-7F7dUsU5.d.mts +0 -8
@@ -1,4 +1,9 @@
1
1
  import { Linter } from "eslint";
2
+ import { Options } from "@storm-software/eslint-plugin-banner/rules/banner";
3
+ import { StylisticCustomizeOptions } from "@stylistic/eslint-plugin";
4
+ import { ParserOptions } from "@typescript-eslint/parser";
5
+ import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
6
+ import { FlatConfigComposer } from "eslint-flat-config-utils";
2
7
  //#region src/typegen.d.ts
3
8
  interface RuleOptions {
4
9
  /**
@@ -16914,4 +16919,1025 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
16914
16919
  // Names of all the configs
16915
16920
  type ConfigNames = "storm/banner" | "storm/bun/setup" | "bun/recommended/package-json" | "bun/recommended/package-json" | "storm/cspell/rules" | "storm/astro/setup" | "storm/astro/rules" | "storm/formatter/setup" | "storm/imports/rules" | "storm/graphql/setup" | "storm/graphql/rules" | "storm/graphql/relay" | "storm/javascript/setup" | "storm/javascript/rules" | "storm/jsx/rules" | "storm/jsdoc/rules" | "storm/jsonc/setup" | "storm/jsonc/rules" | "storm/markdown/setup" | "storm/markdown/rules" | "mdx/flat" | "storm/node/rules" | "storm/nx/setup" | "storm/nx/schema" | "storm/nx/dependency-check" | "storm/nx/module-boundaries" | "storm/next/rules" | "storm/prettier" | "storm/perfectionist/rules" | "storm/pnpm/setup" | "storm/pnpm/package-json" | "storm/pnpm/pnpm-workspace-yaml" | "storm/react/setup" | "storm/react/rules" | "storm/react-native/rules" | "storm/sort/package-json" | "storm/stylistic/rules" | "storm/secrets/rules" | "storm/storybook/setup" | "storm/storybook/rules" | "storm/storybook/main" | "storm/test/setup" | "storm/test/rules" | "storm/tsdoc/rules" | "storm/toml/setup" | "storm/toml/rules" | "storm/typescript/setup" | "storm/typescript/parser" | "storm/typescript/type-aware-parser" | "storm/typescript/rules" | "storm/typescript/rules-type-aware" | "storm/regexp/rules" | "storm/unicorn/rules" | "storm/unocss" | "storm/yaml/setup" | "storm/yaml/rules" | "storm/zod/rules";
16916
16921
  //#endregion
16917
- export { ConfigNames, RuleOptions };
16922
+ //#region src/vendor/prettier-types.d.ts
16923
+ /**
16924
+ * Vendor types from Prettier so we don't rely on the dependency.
16925
+ */
16926
+ type VendoredPrettierOptions = Partial<VendoredPrettierOptionsRequired>;
16927
+ interface VendoredPrettierOptionsRequired {
16928
+ /**
16929
+ * Specify the line length that the printer will wrap on.
16930
+ * @default 120
16931
+ */
16932
+ printWidth: number;
16933
+ /**
16934
+ * Specify the number of spaces per indentation-level.
16935
+ */
16936
+ tabWidth: number;
16937
+ /**
16938
+ * Indent lines with tabs instead of spaces
16939
+ */
16940
+ useTabs?: boolean;
16941
+ /**
16942
+ * Print semicolons at the ends of statements.
16943
+ */
16944
+ semi: boolean;
16945
+ /**
16946
+ * Use single quotes instead of double quotes.
16947
+ */
16948
+ singleQuote: boolean;
16949
+ /**
16950
+ * Use single quotes in JSX.
16951
+ */
16952
+ jsxSingleQuote: boolean;
16953
+ /**
16954
+ * Print trailing commas wherever possible.
16955
+ */
16956
+ trailingComma: "none" | "es5" | "all";
16957
+ /**
16958
+ * Print spaces between brackets in object literals.
16959
+ */
16960
+ bracketSpacing: boolean;
16961
+ /**
16962
+ * Put the `>` of a multi-line HTML (HTML, XML, JSX, Vue, Angular) element at the end of the last line instead of being
16963
+ * alone on the next line (does not apply to self closing elements).
16964
+ */
16965
+ bracketSameLine: boolean;
16966
+ /**
16967
+ * Put the `>` of a multi-line JSX element at the end of the last line instead of being alone on the next line.
16968
+ * @deprecated use bracketSameLine instead
16969
+ */
16970
+ jsxBracketSameLine: boolean;
16971
+ /**
16972
+ * Format only a segment of a file.
16973
+ */
16974
+ rangeStart: number;
16975
+ /**
16976
+ * Format only a segment of a file.
16977
+ * @default Number.POSITIVE_INFINITY
16978
+ */
16979
+ rangeEnd: number;
16980
+ /**
16981
+ * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer.
16982
+ * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
16983
+ * @default "preserve"
16984
+ */
16985
+ proseWrap: "always" | "never" | "preserve";
16986
+ /**
16987
+ * Include parentheses around a sole arrow function parameter.
16988
+ * @default "always"
16989
+ */
16990
+ arrowParens: "avoid" | "always";
16991
+ /**
16992
+ * Provide ability to support new languages to prettier.
16993
+ */
16994
+ plugins: Array<string | any>;
16995
+ /**
16996
+ * How to handle whitespaces in HTML.
16997
+ * @default "css"
16998
+ */
16999
+ htmlWhitespaceSensitivity: "css" | "strict" | "ignore";
17000
+ /**
17001
+ * Which end of line characters to apply.
17002
+ * @default "lf"
17003
+ */
17004
+ endOfLine: "auto" | "lf" | "crlf" | "cr";
17005
+ /**
17006
+ * Change when properties in objects are quoted.
17007
+ * @default "as-needed"
17008
+ */
17009
+ quoteProps: "as-needed" | "consistent" | "preserve";
17010
+ /**
17011
+ * Whether or not to indent the code inside <script> and <style> tags in Vue files.
17012
+ * @default false
17013
+ */
17014
+ vueIndentScriptAndStyle: boolean;
17015
+ /**
17016
+ * Enforce single attribute per line in HTML, XML, Vue and JSX.
17017
+ * @default false
17018
+ */
17019
+ singleAttributePerLine: boolean;
17020
+ /**
17021
+ * How to handle whitespaces in XML.
17022
+ * @default "preserve"
17023
+ */
17024
+ xmlQuoteAttributes: "single" | "double" | "preserve";
17025
+ /**
17026
+ * Whether to put a space inside the brackets of self-closing XML elements.
17027
+ * @default true
17028
+ */
17029
+ xmlSelfClosingSpace: boolean;
17030
+ /**
17031
+ * Whether to sort attributes by key in XML elements.
17032
+ * @default false
17033
+ */
17034
+ xmlSortAttributesByKey: boolean;
17035
+ /**
17036
+ * How to handle whitespaces in XML.
17037
+ * @default "ignore"
17038
+ */
17039
+ xmlWhitespaceSensitivity: "ignore" | "strict" | "preserve";
17040
+ }
17041
+ //#endregion
17042
+ //#region src/types.d.ts
17043
+ type Awaitable<T> = T | Promise<T>;
17044
+ /**
17045
+ * Matches `@nx/enforce-module-boundaries` dependency constraint options.
17046
+ *
17047
+ * @see https://nx.dev/nx-api/eslint-plugin/documents/enforce-module-boundaries#dependency-constraints
17048
+ */
17049
+ type DepConstraint = {
17050
+ sourceTag: string;
17051
+ onlyDependOnLibsWithTags?: string[];
17052
+ notDependOnLibsWithTags?: string[];
17053
+ allowedExternalImports?: string[];
17054
+ bannedExternalImports?: string[];
17055
+ } | {
17056
+ allSourceTags: string[];
17057
+ onlyDependOnLibsWithTags?: string[];
17058
+ notDependOnLibsWithTags?: string[];
17059
+ allowedExternalImports?: string[];
17060
+ bannedExternalImports?: string[];
17061
+ };
17062
+ type Rules = RuleOptions;
17063
+ type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
17064
+ /**
17065
+ * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
17066
+ *
17067
+ * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
17068
+ */
17069
+ plugins?: Record<string, any>;
17070
+ };
17071
+ interface OptionsFiles {
17072
+ /**
17073
+ * Override the `files` option to provide custom globs.
17074
+ */
17075
+ files?: string[];
17076
+ }
17077
+ type OptionsTypescript = (OptionsTypeScriptWithTypes & OptionsOverrides) | (OptionsTypeScriptParserOptions & OptionsOverrides);
17078
+ interface OptionsFormatters {
17079
+ /**
17080
+ * Enable formatting support for CSS, Less, Sass, and SCSS.
17081
+ *
17082
+ * Currently only support Prettier.
17083
+ */
17084
+ css?: "prettier" | boolean;
17085
+ /**
17086
+ * Enable formatting support for HTML.
17087
+ *
17088
+ * Currently only support Prettier.
17089
+ */
17090
+ html?: "prettier" | boolean;
17091
+ /**
17092
+ * Enable formatting support for XML.
17093
+ *
17094
+ * Currently only support Prettier.
17095
+ */
17096
+ xml?: "prettier" | boolean;
17097
+ /**
17098
+ * Enable formatting support for SVG.
17099
+ *
17100
+ * Currently only support Prettier.
17101
+ */
17102
+ svg?: "prettier" | boolean;
17103
+ /**
17104
+ * Enable formatting support for Markdown.
17105
+ *
17106
+ * Support both Prettier and dprint.
17107
+ *
17108
+ * When set to `true`, it will use Prettier.
17109
+ */
17110
+ markdown?: "prettier" | "dprint" | boolean;
17111
+ /**
17112
+ * Enable formatting support for GraphQL.
17113
+ */
17114
+ graphql?: "prettier" | boolean;
17115
+ /**
17116
+ * Custom options for Prettier.
17117
+ *
17118
+ * By default it's controlled by our own config.
17119
+ */
17120
+ prettierOptions?: VendoredPrettierOptions;
17121
+ /**
17122
+ * Custom options for dprint.
17123
+ *
17124
+ * By default it's controlled by our own config.
17125
+ */
17126
+ dprintOptions?: boolean;
17127
+ /**
17128
+ * Enable formatting support for Astro.
17129
+ *
17130
+ * Currently only support Prettier.
17131
+ */
17132
+ astro?: "prettier" | boolean;
17133
+ }
17134
+ interface OptionsComponentExts {
17135
+ /**
17136
+ * Additional extensions for components.
17137
+ *
17138
+ * @example ['vue']
17139
+ * @defaultValue []
17140
+ */
17141
+ componentExts?: string[];
17142
+ }
17143
+ interface OptionsUnicorn {
17144
+ /**
17145
+ * Include all rules recommended by `eslint-plugin-unicorn`, instead of only ones picked by Anthony.
17146
+ *
17147
+ * @defaultValue false
17148
+ */
17149
+ allRecommended?: boolean;
17150
+ }
17151
+ interface OptionsTSDoc extends OptionsOverrides {
17152
+ /**
17153
+ * The TSDoc ESLint rule severity.
17154
+ *
17155
+ * @defaultValue "error"
17156
+ */
17157
+ severity?: "error" | "warn" | "off";
17158
+ /**
17159
+ * The type of Storm Software TSDoc configuration to use.
17160
+ *
17161
+ * @defaultValue "recommended"
17162
+ */
17163
+ type?: "base" | "typedoc" | "api-extractor" | "core" | "callouts" | "recommended";
17164
+ /**
17165
+ * The path to a TSDoc config file.
17166
+ */
17167
+ configFile?: string;
17168
+ }
17169
+ interface OptionsJSDoc extends OptionsOverrides {
17170
+ /**
17171
+ * The JSDoc ESLint rule severity.
17172
+ *
17173
+ * @defaultValue "error"
17174
+ */
17175
+ severity?: "error" | "warn" | "off";
17176
+ /**
17177
+ * Enable stylistic rules for JSDoc.
17178
+ */
17179
+ stylistic?: boolean;
17180
+ }
17181
+ interface OptionsTypeScriptParserOptions {
17182
+ /**
17183
+ * When this options is provided as false, type aware rules will be **disabled**.
17184
+ *
17185
+ * @see https://typescript-eslint.io/linting/typed-linting/
17186
+ */
17187
+ tsconfigPath: false;
17188
+ /**
17189
+ * Additional parser options for TypeScript.
17190
+ */
17191
+ parserOptions?: Partial<ParserOptions>;
17192
+ /**
17193
+ * Glob patterns for files that should be type aware.
17194
+ * @defaultValue ['**\/*.{ts,tsx}']
17195
+ */
17196
+ filesTypeAware?: string[];
17197
+ /**
17198
+ * Glob patterns for files that should not be type aware.
17199
+ * @defaultValue ['**\/*.md\/**', '**\/*.astro/*.ts']
17200
+ */
17201
+ ignoresTypeAware?: string[];
17202
+ }
17203
+ interface OptionsTypeScriptWithTypes {
17204
+ /**
17205
+ * When this options is provided (or if `tsconfigPath` is found with {@link @storm-software/eslint/utils/tsconfig#getTsConfigPath | the getTsConfigPath function}), type aware rules will be enabled.
17206
+ *
17207
+ * @see https://typescript-eslint.io/linting/typed-linting/
17208
+ */
17209
+ tsconfigPath?: string;
17210
+ /**
17211
+ * Override type aware rules.
17212
+ */
17213
+ overridesTypeAware?: TypedFlatConfigItem["rules"];
17214
+ /**
17215
+ * A linting style for importing types. This is applied to the "ts/consistent-type-imports" rule.
17216
+ *
17217
+ * - `always`: always import types
17218
+ * - `never`: never import types
17219
+ * - `optional`: warn to import as type but allow any import
17220
+ * - `off`: Do not check import types
17221
+ *
17222
+ * @remarks
17223
+ * When set to `true`, it will use the default value of `always`. When set to `false`, it will use the default value of `never`.
17224
+ *
17225
+ * @defaultValue "always"
17226
+ */
17227
+ typeImports?: "always" | "never" | "optional" | "off" | boolean;
17228
+ }
17229
+ interface OptionsHasTypeScript {
17230
+ typescript?: boolean;
17231
+ }
17232
+ interface OptionsStylistic {
17233
+ stylistic?: boolean | StylisticConfig;
17234
+ }
17235
+ type StylisticConfig = Pick<StylisticCustomizeOptions, "indent" | "quotes" | "jsx" | "semi"> & {
17236
+ lineEndings?: "unix" | "windows";
17237
+ };
17238
+ interface OptionsOverrides {
17239
+ overrides?: TypedFlatConfigItem["rules"];
17240
+ }
17241
+ interface OptionsProjectType {
17242
+ /**
17243
+ * Type of the project. `lib` will enable more strict rules for libraries.
17244
+ *
17245
+ * @defaultValue 'app'
17246
+ */
17247
+ type?: "app" | "lib";
17248
+ }
17249
+ interface OptionsRegExp {
17250
+ /**
17251
+ * Override rulelevels
17252
+ */
17253
+ level?: "error" | "warn";
17254
+ }
17255
+ interface OptionsIsInEditor {
17256
+ isInEditor?: boolean;
17257
+ }
17258
+ interface OptionsUnoCSS extends OptionsOverrides {
17259
+ /**
17260
+ * Enable attributify support.
17261
+ * @defaultValue true
17262
+ */
17263
+ attributify?: boolean;
17264
+ /**
17265
+ * Enable strict mode by throwing errors about blocklisted classes.
17266
+ * @defaultValue false
17267
+ */
17268
+ strict?: boolean;
17269
+ }
17270
+ interface OptionsNext extends OptionsOverrides {
17271
+ /**
17272
+ * Enable [core-web-vitals](https://nextjs.org/docs/app/api-reference/config/eslint#with-core-web-vitals) support.
17273
+ *
17274
+ * @see https://nextjs.org/docs/app/api-reference/config/eslint#with-core-web-vitals
17275
+ *
17276
+ * @defaultValue true
17277
+ */
17278
+ coreWebVitals?: boolean;
17279
+ /**
17280
+ * Specify the root directory of the Next.js project for scenarios where Next.js isn't installed in your root directory (such as a monorepo).
17281
+ *
17282
+ * @see https://nextjs.org/docs/app/api-reference/config/eslint#specifying-a-root-directory-within-a-monorepo
17283
+ */
17284
+ rootDir?: string;
17285
+ }
17286
+ interface OptionsGraphQL extends OptionsOverrides {
17287
+ /**
17288
+ * Enable schema type GraphQL ESLint rules
17289
+ *
17290
+ * @see https://the-guild.dev/graphql/eslint/rules
17291
+ *
17292
+ * @defaultValue true
17293
+ */
17294
+ schema?: boolean;
17295
+ /**
17296
+ * Enable operations type GraphQL ESLint rules
17297
+ *
17298
+ * @see https://the-guild.dev/graphql/eslint/rules
17299
+ *
17300
+ * @defaultValue true
17301
+ */
17302
+ operations?: boolean;
17303
+ /**
17304
+ * Enable [Relay](https://relay.dev/) support.
17305
+ *
17306
+ * @see https://github.com/relayjs/eslint-plugin-relay
17307
+ *
17308
+ * @defaultValue true
17309
+ */
17310
+ relay?: boolean;
17311
+ }
17312
+ interface OptionsStorybook extends OptionsOverrides {
17313
+ /**
17314
+ * A option to control the strictness of the Component Story Format (CSF) ESLint rules
17315
+ *
17316
+ * @see https://storybook.js.org/docs/api/csf
17317
+ *
17318
+ * @defaultValue "loose"
17319
+ */
17320
+ csf?: "none" | "loose" | "strict";
17321
+ }
17322
+ interface OptionsReact extends OptionsOverrides {
17323
+ /**
17324
+ * Use a strict mode for React rules, which will enable more strict rules that may cause more false positives but can catch more potential issues.
17325
+ *
17326
+ * @defaultValue false
17327
+ */
17328
+ strict?: boolean;
17329
+ }
17330
+ interface OptionsNxDependencyChecks extends OptionsOverrides {
17331
+ /**
17332
+ * List of build target names
17333
+ *
17334
+ * @defaultValue ['build-base', 'build']
17335
+ */
17336
+ buildTargets: string[];
17337
+ /**
17338
+ * Disable to skip checking for missing dependencies
17339
+ *
17340
+ * @defaultValue true
17341
+ */
17342
+ checkMissingDependencies: boolean;
17343
+ /**
17344
+ * Disable to skip checking for unused dependencies
17345
+ *
17346
+ * @defaultValue true
17347
+ */
17348
+ checkObsoleteDependencies: boolean;
17349
+ /**
17350
+ * Disable to skip checking if version specifier matches installed version
17351
+ *
17352
+ * @defaultValue true
17353
+ */
17354
+ checkVersionMismatches: boolean;
17355
+ /**
17356
+ * List of dependencies to ignore for checks
17357
+ *
17358
+ * @defaultValue []
17359
+ */
17360
+ ignoredDependencies: string[];
17361
+ /**
17362
+ * List of files to ignore when collecting dependencies. The default value will be set based on the selected executor during the generation.
17363
+ *
17364
+ * @defaultValue []
17365
+ */
17366
+ ignoredFiles: string[];
17367
+ /**
17368
+ * Enable to collect dependencies of children projects
17369
+ *
17370
+ * @defaultValue false
17371
+ */
17372
+ includeTransitiveDependencies: boolean;
17373
+ /**
17374
+ * Set workspace dependencies as relative file:// paths. Useful for monorepos that link via file:// in package.json files.
17375
+ *
17376
+ * @defaultValue false
17377
+ */
17378
+ useLocalPathsForWorkspaceDependencies: boolean;
17379
+ }
17380
+ interface OptionsNxEnforceModuleBoundaries extends OptionsOverrides {
17381
+ /**
17382
+ * List of imports that should be allowed without any checks
17383
+ *
17384
+ * @defaultValue []
17385
+ */
17386
+ allow: string[];
17387
+ /**
17388
+ * List of build target names
17389
+ *
17390
+ * @defaultValue ['build-base', 'build']
17391
+ */
17392
+ buildTargets: string[];
17393
+ /**
17394
+ * List of dependency constraints between projects
17395
+ *
17396
+ * @defaultValue true
17397
+ */
17398
+ depConstraints: DepConstraint[];
17399
+ /**
17400
+ * Enable to restrict the buildable libs from importing non-buildable libraries
17401
+ *
17402
+ * @defaultValue true
17403
+ */
17404
+ enforceBuildableLibDependency: boolean;
17405
+ /**
17406
+ * Disable check for self circular dependency when project imports from itself via alias path
17407
+ *
17408
+ * @defaultValue false
17409
+ */
17410
+ allowCircularSelfDependency: boolean;
17411
+ /**
17412
+ * List of project pairs that should be skipped from Circular dependencies checks, including the self-circular dependency check. E.g. ['feature-project-a', 'myapp']. Project name can be replaced by catch all * for more generic matches.
17413
+ *
17414
+ * @defaultValue []
17415
+ */
17416
+ ignoredCircularDependencies: Array<[string, string]>;
17417
+ /**
17418
+ * List of imports that should be skipped for Imports of lazy-loaded libraries forbidden checks. E.g. ['@myorg/lazy-project/component/*', '@myorg/other-project']
17419
+ *
17420
+ * @defaultValue []
17421
+ */
17422
+ checkDynamicDependenciesExceptions: string[];
17423
+ /**
17424
+ * Ban import of dependencies that were not specified in the root or project's package.json
17425
+ *
17426
+ * @defaultValue false
17427
+ */
17428
+ banTransitiveDependencies: boolean;
17429
+ /**
17430
+ * Enable to enforce the check for banned external imports in the nested packages. Check [Dependency constraints](https://nx.dev/nx-api/eslint-plugin/documents/enforce-module-boundaries#dependency-constraints) for more information
17431
+ *
17432
+ * @defaultValue false
17433
+ */
17434
+ checkNestedExternalImports: boolean;
17435
+ }
17436
+ interface OptionsNx extends OptionsOverrides {
17437
+ /**
17438
+ * The dependencies to not check in the `@nx/dependency-checks` rule
17439
+ */
17440
+ ignoredDependencies?: string[];
17441
+ /**
17442
+ * The files to not check in the `@nx/dependency-checks` rule
17443
+ */
17444
+ ignoredFiles?: string[];
17445
+ /**
17446
+ * Check for obsolete dependencies in the `@nx/dependency-checks` rule
17447
+ */
17448
+ checkObsoleteDependencies?: boolean;
17449
+ /**
17450
+ * Enables us to discover mismatches between dependencies specified in a project's package.json and the dependencies that your project depends on.
17451
+ *
17452
+ * @remarks
17453
+ * If any values are overridden here, the `ignoredDependencies`, `ignoredFiles`, and `checkObsoleteDependencies` options will be ignored.
17454
+ *
17455
+ * @defaultValue false
17456
+ */
17457
+ depsCheck?: OptionsNxDependencyChecks | false;
17458
+ /**
17459
+ * The severity of the `@nx/dependency-checks` rule
17460
+ *
17461
+ * @defaultValue "warn"
17462
+ */
17463
+ depsCheckSeverity?: "off" | "warn" | "error";
17464
+ /**
17465
+ * Enables us to define strict rules for accessing resources between different projects in the repository. Enforcing strict boundaries helps to prevent unplanned cross-dependencies.
17466
+ */
17467
+ moduleBoundaries?: OptionsNxEnforceModuleBoundaries | false;
17468
+ }
17469
+ interface OptionsPnpm extends OptionsOverrides {
17470
+ /**
17471
+ * A list of dependencies to ignore for the `pnpm/json-enforce-catalog` rule.
17472
+ *
17473
+ * @defaultValue ["typescript"]
17474
+ */
17475
+ ignore?: string[];
17476
+ /**
17477
+ * Should local workspace dependencies be ignored by the `pnpm/json-enforce-catalog` rule.
17478
+ *
17479
+ * @defaultValue true
17480
+ */
17481
+ ignoreWorkspaceDeps?: boolean;
17482
+ }
17483
+ interface OptionsBun extends OptionsOverrides {
17484
+ /**
17485
+ * A list of dependencies to ignore for the `bun/json-enforce-catalog` rule.
17486
+ *
17487
+ * @defaultValue ["typescript"]
17488
+ */
17489
+ ignore?: string[];
17490
+ /**
17491
+ * Should local workspace dependencies be ignored by the `bun/json-enforce-catalog` rule.
17492
+ *
17493
+ * @defaultValue true
17494
+ */
17495
+ ignoreWorkspaceDeps?: boolean;
17496
+ }
17497
+ interface OptionsCSpell extends OptionsOverrides {
17498
+ /**
17499
+ * A path to a CSpell configuration file
17500
+ *
17501
+ * @defaultValue "./.vscode/cspell.json"
17502
+ */
17503
+ configFile?: string;
17504
+ }
17505
+ /**
17506
+ * The ESLint globals property value.
17507
+ */
17508
+ type ESLintGlobalsPropValue = boolean | "readonly" | "readable" | "writable" | "writeable";
17509
+ type OptionsBanner = OptionsOverrides & Options[0];
17510
+ interface OptionsJavascript {
17511
+ /**
17512
+ * An object containing a list of extra global variables to include in the configuration.
17513
+ */
17514
+ globals?: Record<string, ESLintGlobalsPropValue>;
17515
+ }
17516
+ interface OptionsConfig extends OptionsComponentExts, OptionsJavascript, OptionsProjectType {
17517
+ /**
17518
+ * Options to control the generated file header banner.
17519
+ *
17520
+ * @see https://github.com/storm-software/eslint-plugin-banner
17521
+ */
17522
+ banner?: boolean | OptionsBanner;
17523
+ /**
17524
+ * Enable gitignore support.
17525
+ *
17526
+ * Passing an object to configure the options.
17527
+ *
17528
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
17529
+ *
17530
+ * @defaultValue true
17531
+ */
17532
+ gitignore?: boolean | FlatGitignoreOptions;
17533
+ /**
17534
+ * Disable some opinionated rules to Antfu's preference.
17535
+ *
17536
+ * @defaultValue false
17537
+ */
17538
+ lessOpinionated?: boolean;
17539
+ /**
17540
+ * Core rules. Can't be disabled.
17541
+ */
17542
+ javascript?: OptionsOverrides;
17543
+ /**
17544
+ * Enable cspell rules.
17545
+ *
17546
+ * Requires installing:
17547
+ * - `@cspell/eslint-plugin`
17548
+ *
17549
+ * @defaultValue true
17550
+ */
17551
+ cspell?: boolean | OptionsCSpell;
17552
+ /**
17553
+ * Enable TypeScript support.
17554
+ *
17555
+ * Passing an object to enable TypeScript Language Server support.
17556
+ *
17557
+ * @defaultValue auto-detect based on the dependencies
17558
+ */
17559
+ typescript?: boolean | OptionsTypescript;
17560
+ /**
17561
+ * Enable Nx monorepo support.
17562
+ */
17563
+ nx?: OptionsNx;
17564
+ /**
17565
+ * Enable PNPM related rules.
17566
+ *
17567
+ * Requires installing:
17568
+ * - `@storm-software/eslint-plugin-pnpm`
17569
+ *
17570
+ * @remarks
17571
+ * If the package manager is detected to be Bun, this option will be disabled.
17572
+ *
17573
+ * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm
17574
+ *
17575
+ * @defaultValue true
17576
+ */
17577
+ pnpm?: boolean | OptionsPnpm;
17578
+ /**
17579
+ * Enable Bun related rules.
17580
+ *
17581
+ * Requires installing:
17582
+ * - `@storm-software/eslint-plugin-bun`
17583
+ *
17584
+ * @remarks
17585
+ * If the package manager is detected to be PNPM, this option will be disabled.
17586
+ *
17587
+ * @see https://github.com/oven-sh/bun-plugin-eslint
17588
+ *
17589
+ * @defaultValue false
17590
+ */
17591
+ bun?: boolean | OptionsBun;
17592
+ /**
17593
+ * Enable JSX related rules.
17594
+ *
17595
+ * Currently only stylistic rules are included.
17596
+ *
17597
+ * @defaultValue true
17598
+ */
17599
+ jsx?: boolean;
17600
+ /**
17601
+ * Options for eslint-plugin-unicorn.
17602
+ *
17603
+ * @defaultValue true
17604
+ */
17605
+ unicorn?: boolean | OptionsUnicorn;
17606
+ /**
17607
+ * Options for eslint-plugin-jsdoc.
17608
+ *
17609
+ * @defaultValue false
17610
+ */
17611
+ jsdoc?: boolean | OptionsJSDoc;
17612
+ /**
17613
+ * Options for @storm-software/eslint-plugin-tsdoc.
17614
+ *
17615
+ * @defaultValue true
17616
+ */
17617
+ tsdoc?: boolean | OptionsTSDoc;
17618
+ /**
17619
+ * Enable Zod support.
17620
+ *
17621
+ * @defaultValue false
17622
+ */
17623
+ zod?: boolean | OptionsOverrides;
17624
+ /**
17625
+ * Enable test support.
17626
+ *
17627
+ * @defaultValue true
17628
+ */
17629
+ test?: boolean | OptionsOverrides;
17630
+ /**
17631
+ * Enable JSONC support.
17632
+ *
17633
+ * @defaultValue true
17634
+ */
17635
+ jsonc?: boolean | OptionsOverrides;
17636
+ /**
17637
+ * Enable YAML support.
17638
+ *
17639
+ * @defaultValue true
17640
+ */
17641
+ yaml?: boolean | OptionsOverrides;
17642
+ /**
17643
+ * Enable TOML support.
17644
+ *
17645
+ * @defaultValue true
17646
+ */
17647
+ toml?: boolean | OptionsOverrides;
17648
+ /**
17649
+ * Enable ASTRO support.
17650
+ *
17651
+ * Requires installing:
17652
+ * - `eslint-plugin-astro`
17653
+ *
17654
+ * Requires installing for formatting .astro:
17655
+ * - `prettier-plugin-astro`
17656
+ *
17657
+ * @defaultValue false
17658
+ */
17659
+ astro?: boolean | OptionsOverrides;
17660
+ /**
17661
+ * Enable linting for **code snippets** in Markdown.
17662
+ *
17663
+ * For formatting Markdown content, enable also `formatters.markdown`.
17664
+ *
17665
+ * @defaultValue false
17666
+ */
17667
+ markdown?: boolean | OptionsOverrides;
17668
+ /**
17669
+ * Enable linting for mdx files.
17670
+ *
17671
+ * @defaultValue false
17672
+ */
17673
+ mdx?: boolean | OptionsOverrides;
17674
+ /**
17675
+ * Enable stylistic rules.
17676
+ *
17677
+ * @see https://eslint.style/
17678
+ *
17679
+ * @defaultValue false
17680
+ */
17681
+ stylistic?: boolean | (StylisticConfig & OptionsOverrides);
17682
+ /**
17683
+ * Enable regexp rules.
17684
+ *
17685
+ * @see https://ota-meshi.github.io/eslint-plugin-regexp/
17686
+ * @defaultValue true
17687
+ */
17688
+ regexp?: boolean | (OptionsRegExp & OptionsOverrides);
17689
+ /**
17690
+ * Enable GraphQL support.
17691
+ *
17692
+ * @defaultValue false
17693
+ */
17694
+ graphql?: boolean | OptionsGraphQL;
17695
+ /**
17696
+ * Enable Storybook support.
17697
+ *
17698
+ * @defaultValue false
17699
+ */
17700
+ storybook?: boolean | OptionsStorybook;
17701
+ /**
17702
+ * Enable react rules.
17703
+ *
17704
+ * Requires installing:
17705
+ * - `@eslint-react/eslint-plugin`
17706
+ * - `eslint-plugin-react-hooks`
17707
+ * - `eslint-plugin-react-refresh`
17708
+ *
17709
+ * @defaultValue false
17710
+ */
17711
+ react?: boolean | OptionsReact;
17712
+ /**
17713
+ * Enable react native rules.
17714
+ *
17715
+ * Requires installing:
17716
+ * - `eslint-plugin-react-native`
17717
+ *
17718
+ * @defaultValue false
17719
+ */
17720
+ "react-native"?: boolean | OptionsOverrides;
17721
+ /**
17722
+ * Enable next rules.
17723
+ *
17724
+ * Requires installing:
17725
+ * - `@next/eslint-plugin-next`
17726
+ *
17727
+ * @defaultValue false
17728
+ */
17729
+ next?: boolean | OptionsNext;
17730
+ /**
17731
+ * Enable unocss rules.
17732
+ *
17733
+ * Requires installing:
17734
+ * - `@unocss/eslint-plugin`
17735
+ *
17736
+ * @defaultValue false
17737
+ */
17738
+ unocss?: boolean | OptionsUnoCSS;
17739
+ /**
17740
+ * Use external formatters to format files.
17741
+ *
17742
+ * Requires installing:
17743
+ * - `eslint-plugin-format`
17744
+ *
17745
+ * When set to `true`, it will enable all formatters.
17746
+ *
17747
+ * @defaultValue false
17748
+ */
17749
+ formatters?: boolean | OptionsFormatters;
17750
+ /**
17751
+ * Control to disable some rules in editors.
17752
+ * @defaultValue auto-detect based on the process.env
17753
+ */
17754
+ isInEditor?: boolean;
17755
+ /**
17756
+ * Automatically rename plugins in the config.
17757
+ *
17758
+ * @defaultValue true
17759
+ */
17760
+ autoRenamePlugins?: boolean;
17761
+ }
17762
+ type UserConfig = Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<object, string> | Linter.Config[]>;
17763
+ type PresetConfig<TOptions> = TOptions & Omit<TypedFlatConfigItem, "files">;
17764
+ type PresetResult = FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
17765
+ //#endregion
17766
+ //#region src/preset.d.ts
17767
+ declare const defaultPluginRenaming: {
17768
+ "@eslint-react": string;
17769
+ "@eslint-react/dom": string;
17770
+ "@eslint-react/hooks-extra": string;
17771
+ "@eslint-react/naming-convention": string;
17772
+ "@stylistic": string;
17773
+ "@typescript-eslint": string;
17774
+ "import-x": string;
17775
+ n: string;
17776
+ vitest: string;
17777
+ yml: string;
17778
+ };
17779
+ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
17780
+ declare function resolveSubOptions<K extends keyof OptionsConfig>(options: OptionsConfig, key: K): ResolvedOptions<OptionsConfig[K]>;
17781
+ declare function getOverrides<K extends keyof OptionsConfig>(options: OptionsConfig, key: K): Partial<Linter.RulesRecord & RuleOptions>;
17782
+ /**
17783
+ * Get the ESLint configuration for a Storm workspace.
17784
+ *
17785
+ * @param options - The preset options.
17786
+ * @param userConfigs - Additional ESLint configurations.
17787
+ */
17788
+ declare function preset(options: PresetConfig<OptionsConfig>, ...userConfigs: UserConfig[]): PresetResult;
17789
+ declare const getConfig: typeof preset;
17790
+ declare const defineConfig: typeof preset;
17791
+ //#endregion
17792
+ //#region src/configs/astro.d.ts
17793
+ declare function astro(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<TypedFlatConfigItem[]>;
17794
+ //#endregion
17795
+ //#region src/configs/banner.d.ts
17796
+ declare function banner(options?: Partial<OptionsBanner> & OptionsIsInEditor & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17797
+ //#endregion
17798
+ //#region src/configs/bun.d.ts
17799
+ declare function bun(options?: OptionsPnpm): Promise<TypedFlatConfigItem[]>;
17800
+ //#endregion
17801
+ //#region src/configs/cspell.d.ts
17802
+ /**
17803
+ * Config for CSpell spell checking
17804
+ */
17805
+ declare function cspell(options?: OptionsCSpell): Promise<TypedFlatConfigItem[]>;
17806
+ //#endregion
17807
+ //#region src/configs/disables.d.ts
17808
+ declare function disables(): Promise<TypedFlatConfigItem[]>;
17809
+ //#endregion
17810
+ //#region src/configs/formatters.d.ts
17811
+ declare function formatters(options?: OptionsFormatters | true, stylistic?: StylisticConfig): Promise<TypedFlatConfigItem[]>;
17812
+ //#endregion
17813
+ //#region src/configs/graphql.d.ts
17814
+ declare function graphql(options?: OptionsGraphQL): Promise<TypedFlatConfigItem[]>;
17815
+ //#endregion
17816
+ //#region src/configs/ignores.d.ts
17817
+ declare function ignores(userIgnores?: string[]): Promise<TypedFlatConfigItem[]>;
17818
+ //#endregion
17819
+ //#region src/configs/imports.d.ts
17820
+ declare function imports(options?: OptionsStylistic): Promise<TypedFlatConfigItem[]>;
17821
+ //#endregion
17822
+ //#region src/configs/javascript.d.ts
17823
+ declare function javascript(options?: Partial<OptionsJavascript> & OptionsIsInEditor & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17824
+ //#endregion
17825
+ //#region src/configs/jsdoc.d.ts
17826
+ declare function jsdoc(options?: OptionsJSDoc): Promise<TypedFlatConfigItem[]>;
17827
+ //#endregion
17828
+ //#region src/configs/jsonc.d.ts
17829
+ declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17830
+ //#endregion
17831
+ //#region src/configs/jsx.d.ts
17832
+ declare function jsx(): Promise<TypedFlatConfigItem[]>;
17833
+ //#endregion
17834
+ //#region src/configs/markdown.d.ts
17835
+ declare function markdown(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17836
+ //#endregion
17837
+ //#region src/configs/mdx.d.ts
17838
+ declare function mdx(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17839
+ //#endregion
17840
+ //#region src/configs/next.d.ts
17841
+ /**
17842
+ * Config for Next.js projects.
17843
+ */
17844
+ declare function next(options?: OptionsNext): Promise<TypedFlatConfigItem[]>;
17845
+ //#endregion
17846
+ //#region src/configs/node.d.ts
17847
+ declare function node(): Promise<TypedFlatConfigItem[]>;
17848
+ //#endregion
17849
+ //#region src/configs/nx.d.ts
17850
+ /**
17851
+ * Config for Nx monorepos
17852
+ */
17853
+ declare function nx(options?: OptionsNx): Promise<TypedFlatConfigItem[]>;
17854
+ //#endregion
17855
+ //#region src/configs/perfectionist.d.ts
17856
+ /**
17857
+ * Perfectionist plugin for props and items sorting.
17858
+ *
17859
+ * @see https://github.com/azat-io/eslint-plugin-perfectionist
17860
+ */
17861
+ declare function perfectionist(): Promise<TypedFlatConfigItem[]>;
17862
+ //#endregion
17863
+ //#region src/configs/pnpm.d.ts
17864
+ declare function pnpm(options?: OptionsPnpm): Promise<TypedFlatConfigItem[]>;
17865
+ //#endregion
17866
+ //#region src/configs/prettier.d.ts
17867
+ /**
17868
+ * Config for Prettier eslint integration
17869
+ */
17870
+ declare function prettier(): Promise<TypedFlatConfigItem[]>;
17871
+ //#endregion
17872
+ //#region src/configs/react.d.ts
17873
+ declare function react(options?: OptionsComponentExts & Omit<OptionsTypeScriptParserOptions, "tsconfigPath"> & OptionsTypeScriptWithTypes & OptionsReact & OptionsFiles): Promise<TypedFlatConfigItem[]>;
17874
+ //#endregion
17875
+ //#region src/configs/react-native.d.ts
17876
+ /**
17877
+ * Config for React Native projects.
17878
+ */
17879
+ declare function reactNative(options?: OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17880
+ //#endregion
17881
+ //#region src/configs/regexp.d.ts
17882
+ declare function regexp(options?: OptionsRegExp & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17883
+ //#endregion
17884
+ //#region src/configs/secrets.d.ts
17885
+ /**
17886
+ * Config for No-Secrets ESLint plugin
17887
+ */
17888
+ declare function secrets(options: {
17889
+ json: boolean;
17890
+ }): Promise<TypedFlatConfigItem[]>;
17891
+ //#endregion
17892
+ //#region src/configs/sort.d.ts
17893
+ /**
17894
+ * Sort package.json
17895
+ *
17896
+ * Requires `jsonc` config
17897
+ */
17898
+ declare function sortPackageJson(): Promise<TypedFlatConfigItem[]>;
17899
+ /**
17900
+ * Sort tsconfig.json
17901
+ *
17902
+ * Requires `jsonc` config
17903
+ */
17904
+ declare function sortTsconfig(): TypedFlatConfigItem[];
17905
+ //#endregion
17906
+ //#region src/configs/storybook.d.ts
17907
+ declare function storybook(options?: OptionsStorybook): Promise<TypedFlatConfigItem[]>;
17908
+ //#endregion
17909
+ //#region src/configs/stylistic.d.ts
17910
+ declare const StylisticConfigDefaults: StylisticConfig;
17911
+ interface StylisticOptions extends StylisticConfig, OptionsOverrides {
17912
+ lessOpinionated?: boolean;
17913
+ }
17914
+ declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigItem[]>;
17915
+ //#endregion
17916
+ //#region src/configs/test.d.ts
17917
+ declare function test(options?: OptionsFiles & OptionsIsInEditor & OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17918
+ //#endregion
17919
+ //#region src/configs/toml.d.ts
17920
+ declare function toml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<TypedFlatConfigItem[]>;
17921
+ //#endregion
17922
+ //#region src/configs/tsdoc.d.ts
17923
+ declare function tsdoc(options?: OptionsFiles & OptionsTSDoc): Promise<TypedFlatConfigItem[]>;
17924
+ //#endregion
17925
+ //#region src/configs/typescript.d.ts
17926
+ declare function typescript(options?: OptionsFiles & OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & Omit<OptionsTypeScriptParserOptions, "tsconfigPath"> & OptionsProjectType): Promise<TypedFlatConfigItem[]>;
17927
+ //#endregion
17928
+ //#region src/configs/unicorn.d.ts
17929
+ declare function unicorn(options?: OptionsUnicorn): Promise<TypedFlatConfigItem[]>;
17930
+ //#endregion
17931
+ //#region src/configs/unocss.d.ts
17932
+ declare function unocss(options?: OptionsUnoCSS): Promise<TypedFlatConfigItem[]>;
17933
+ //#endregion
17934
+ //#region src/configs/yaml.d.ts
17935
+ declare function yaml(options?: OptionsOverrides & OptionsStylistic & OptionsFiles): Promise<TypedFlatConfigItem[]>;
17936
+ //#endregion
17937
+ //#region src/configs/zod.d.ts
17938
+ /**
17939
+ * Config for Import-Zod ESLint plugin
17940
+ */
17941
+ declare function zod(options?: OptionsOverrides): Promise<TypedFlatConfigItem[]>;
17942
+ //#endregion
17943
+ export { type Awaitable, type ConfigNames, type ESLintGlobalsPropValue, type OptionsBanner, type OptionsBun, type OptionsCSpell, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsGraphQL, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsJSDoc, type OptionsJavascript, type OptionsNext, type OptionsNx, type OptionsNxDependencyChecks, type OptionsNxEnforceModuleBoundaries, type OptionsOverrides, type OptionsPnpm, type OptionsProjectType, type OptionsReact, type OptionsRegExp, type OptionsStorybook, type OptionsStylistic, type OptionsTSDoc, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsUnoCSS, type PresetConfig, type PresetResult, ResolvedOptions, type RuleOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, StylisticOptions, type TypedFlatConfigItem, type UserConfig, astro, banner, bun, cspell, defineConfig as default, defineConfig, defaultPluginRenaming, disables, formatters, getConfig, getOverrides, graphql, ignores, imports, javascript, jsdoc, jsonc, jsx, markdown, mdx, next, node, nx, perfectionist, pnpm, preset, prettier, react, reactNative, regexp, resolveSubOptions, secrets, sortPackageJson, sortTsconfig, storybook, stylistic, test, toml, tsdoc, typescript, unicorn, unocss, yaml, zod };