@isentinel/eslint-config 6.0.0-beta.32 → 6.0.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -9,7 +9,7 @@ import path from "node:path";
9
9
  import { existsSync, readFileSync } from "fs";
10
10
  import { execSync } from "node:child_process";
11
11
  //#region package.json
12
- var version = "6.0.0-beta.32";
12
+ var version = "6.0.0-beta.34";
13
13
  var package_default = {
14
14
  name: "@isentinel/eslint-config",
15
15
  version,
@@ -62,9 +62,9 @@ var package_default = {
62
62
  "build:inspector": "pnpm build && pnpm dlx @eslint/config-inspector build --config eslint-inspector.config.ts --out-dir ./.eslint-config-inspector",
63
63
  "check:extensions": "node scripts/check-package-extensions.ts && node scripts/gen-package-extensions.ts --check",
64
64
  "check:published": "node scripts/check-published-extensions.ts",
65
- "check:type-aware": "node scripts/typeawaregen.ts --check",
65
+ "check:type-aware": "node scripts/type-aware-gen.ts --check",
66
66
  "dev": "npx @eslint/config-inspector --config eslint-inspector.config.ts",
67
- "gen": "node scripts/typegen.ts && node scripts/typegen-oxlint.ts && node scripts/typegen-defaults.ts && node scripts/typegen-defaults-oxlint.ts && node scripts/versiongen.ts && node scripts/stylisticgen.ts && node scripts/typeawaregen.ts && node scripts/gen-package-extensions.ts",
67
+ "gen": "node scripts/typegen.ts && node scripts/typegen-oxlint.ts && node scripts/typegen-defaults.ts && node scripts/typegen-defaults-oxlint.ts && node scripts/versiongen.ts && node scripts/stylistic-gen.ts && node scripts/type-aware-gen.ts && node scripts/gen-package-extensions.ts",
68
68
  "postgen": "echo 'Generation complete!'",
69
69
  "lint": "isentinel-lint",
70
70
  "oxlint": "oxlint",
@@ -156,6 +156,7 @@ var package_default = {
156
156
  "eslint-plugin-react-jsx": "catalog:peer",
157
157
  "eslint-plugin-react-naming-convention": "catalog:peer",
158
158
  "eslint-plugin-react-x": "catalog:peer",
159
+ "eslint-plugin-testing-library": "catalog:peer",
159
160
  "eslint-typegen": "catalog:dev",
160
161
  "jiti": "catalog:dev",
161
162
  "oxlint": "catalog:peer",
@@ -179,6 +180,7 @@ var package_default = {
179
180
  "eslint-plugin-react-jsx": "^5.10.0",
180
181
  "eslint-plugin-react-naming-convention": "^5.10.0",
181
182
  "eslint-plugin-react-x": "^5.10.0",
183
+ "eslint-plugin-testing-library": "^7.16.2",
182
184
  "oxlint": ">=1.73.0",
183
185
  "oxlint-tsgolint": ">=0.24.0"
184
186
  },
@@ -191,6 +193,7 @@ var package_default = {
191
193
  "eslint-plugin-react-jsx": { "optional": true },
192
194
  "eslint-plugin-react-naming-convention": { "optional": true },
193
195
  "eslint-plugin-react-x": { "optional": true },
196
+ "eslint-plugin-testing-library": { "optional": true },
194
197
  "oxlint": { "optional": true },
195
198
  "oxlint-tsgolint": { "optional": true }
196
199
  },
package/dist/index.d.mts CHANGED
@@ -2299,7 +2299,9 @@ interface MainRuleDefaults {
2299
2299
  "*": "error";
2300
2300
  };
2301
2301
  "small-rules/require-async-suffix": {
2302
- "*": "error";
2302
+ "*": ["error", {
2303
+ "except": ["main"];
2304
+ }];
2303
2305
  };
2304
2306
  "small-rules/strict-component-boundaries": {
2305
2307
  "*": "error";
@@ -7081,107 +7083,107 @@ interface RuleOptions {
7081
7083
  'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
7082
7084
  /**
7083
7085
  * Enforce arrow function return style based on line length
7084
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/arrow-return-style/documentation.md
7086
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/arrow-return-style/documentation.md
7085
7087
  */
7086
7088
  'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
7087
7089
  /**
7088
7090
  * Disallow shorthand boolean JSX attributes
7089
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/jsx-shorthand-boolean/documentation.md
7091
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/jsx-shorthand-boolean/documentation.md
7090
7092
  */
7091
7093
  'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
7092
7094
  /**
7093
7095
  * Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
7094
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/jsx-shorthand-fragment/documentation.md
7096
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/jsx-shorthand-fragment/documentation.md
7095
7097
  */
7096
7098
  'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
7097
7099
  /**
7098
7100
  * Enforce a maximum number of lines of code in a function
7099
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/max-lines-per-function/documentation.md
7101
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/max-lines-per-function/documentation.md
7100
7102
  */
7101
7103
  'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
7102
7104
  /**
7103
7105
  * Enforce naming conventions for everything across a codebase
7104
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/naming-convention/documentation.md
7106
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/naming-convention/documentation.md
7105
7107
  */
7106
7108
  'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
7107
7109
  /**
7108
7110
  * Disallow conditional logic in tests
7109
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-conditional-in-test/documentation.md
7111
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-conditional-in-test/documentation.md
7110
7112
  */
7111
7113
  'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
7112
7114
  /**
7113
7115
  * Disallow anonymous arrow functions as export default declarations
7114
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-export-default-arrow/documentation.md
7116
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-export-default-arrow/documentation.md
7115
7117
  */
7116
7118
  'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
7117
7119
  /**
7118
7120
  * Disallow exact equality checks involving floating-point-sensitive values
7119
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-floating-point-equality/documentation.md
7121
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-floating-point-equality/documentation.md
7120
7122
  */
7121
7123
  'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
7122
7124
  /**
7123
7125
  * Disallow tsconfig options that redundantly re-set a value already provided by an extended config
7124
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-redundant-tsconfig-options/documentation.md
7126
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-redundant-tsconfig-options/documentation.md
7125
7127
  */
7126
7128
  'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
7127
7129
  /**
7128
7130
  * Disallow unnecessary usage of 'useCallback'
7129
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-unnecessary-use-callback/documentation.md
7131
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-unnecessary-use-callback/documentation.md
7130
7132
  */
7131
7133
  'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
7132
7134
  /**
7133
7135
  * Disallow unnecessary usage of 'useMemo'
7134
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/no-unnecessary-use-memo/documentation.md
7136
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/no-unnecessary-use-memo/documentation.md
7135
7137
  */
7136
7138
  'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
7137
7139
  /**
7138
7140
  * Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
7139
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/padding-after-expect-assertions/documentation.md
7141
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/padding-after-expect-assertions/documentation.md
7140
7142
  */
7141
7143
  'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
7142
7144
  /**
7143
7145
  * Enforce destructuring assignment for component props
7144
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/prefer-destructuring-assignment/documentation.md
7146
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/prefer-destructuring-assignment/documentation.md
7145
7147
  */
7146
7148
  'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
7147
7149
  /**
7148
7150
  * Prefer having the last statement in a test be an assertion
7149
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/prefer-ending-with-an-expect/documentation.md
7151
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/prefer-ending-with-an-expect/documentation.md
7150
7152
  */
7151
7153
  'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
7152
7154
  /**
7153
7155
  * Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
7154
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/prefer-expect-assertions-count/documentation.md
7156
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/prefer-expect-assertions-count/documentation.md
7155
7157
  */
7156
7158
  'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
7157
7159
  /**
7158
7160
  * Enforce destructuring parameters in the function signature
7159
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/prefer-parameter-destructuring/documentation.md
7161
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/prefer-parameter-destructuring/documentation.md
7160
7162
  */
7161
7163
  'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
7162
7164
  /**
7163
7165
  * Enforce that function component props are read-only
7164
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/prefer-read-only-props/documentation.md
7166
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/prefer-read-only-props/documentation.md
7165
7167
  */
7166
7168
  'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
7167
7169
  /**
7168
7170
  * Disallow impure calls such as `math.random` or `os.clock` during render
7169
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/purity/documentation.md
7171
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/purity/documentation.md
7170
7172
  */
7171
7173
  'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
7172
7174
  /**
7173
7175
  * Prefer named imports for React runtime values and the React namespace for React types
7174
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/react-namespace/documentation.md
7176
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/react-namespace/documentation.md
7175
7177
  */
7176
7178
  'flawless/react-namespace'?: Linter.RuleEntry<[]>;
7177
7179
  /**
7178
7180
  * Enforce a configured sort order for TOML keys and tables
7179
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/toml-sort-keys/documentation.md
7181
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/toml-sort-keys/documentation.md
7180
7182
  */
7181
7183
  'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
7182
7184
  /**
7183
7185
  * Enforce blank lines around top-level YAML block collection keys
7184
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.0/src/rules/yaml-block-key-blank-lines/documentation.md
7186
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.5.1/src/rules/yaml-block-key-blank-lines/documentation.md
7185
7187
  */
7186
7188
  'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
7187
7189
  /**
@@ -7348,6 +7350,31 @@ interface RuleOptions {
7348
7350
  * @see https://eslint.org/docs/latest/rules/init-declarations
7349
7351
  */
7350
7352
  'init-declarations'?: Linter.RuleEntry<InitDeclarations>;
7353
+ /**
7354
+ * Suggest using `toBeArray()`
7355
+ * @see https://github.com/jest-community/eslint-plugin-jest-extended/blob/v3.0.1/docs/rules/prefer-to-be-array.md
7356
+ */
7357
+ 'jest-extended/prefer-to-be-array'?: Linter.RuleEntry<[]>;
7358
+ /**
7359
+ * Suggest using `toBeFalse()`
7360
+ * @see https://github.com/jest-community/eslint-plugin-jest-extended/blob/v3.0.1/docs/rules/prefer-to-be-false.md
7361
+ */
7362
+ 'jest-extended/prefer-to-be-false'?: Linter.RuleEntry<[]>;
7363
+ /**
7364
+ * Suggest using `toBeObject()`
7365
+ * @see https://github.com/jest-community/eslint-plugin-jest-extended/blob/v3.0.1/docs/rules/prefer-to-be-object.md
7366
+ */
7367
+ 'jest-extended/prefer-to-be-object'?: Linter.RuleEntry<[]>;
7368
+ /**
7369
+ * Suggest using `toBeTrue()`
7370
+ * @see https://github.com/jest-community/eslint-plugin-jest-extended/blob/v3.0.1/docs/rules/prefer-to-be-true.md
7371
+ */
7372
+ 'jest-extended/prefer-to-be-true'?: Linter.RuleEntry<[]>;
7373
+ /**
7374
+ * Suggest using `toHaveBeenCalledOnce()`
7375
+ * @see https://github.com/jest-community/eslint-plugin-jest-extended/blob/v3.0.1/docs/rules/prefer-to-have-been-called-once.md
7376
+ */
7377
+ 'jest-extended/prefer-to-have-been-called-once'?: Linter.RuleEntry<[]>;
7351
7378
  /**
7352
7379
  * Enforce `test` and `it` usage conventions
7353
7380
  * @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.16.0/docs/rules/consistent-test-it.md
@@ -13319,6 +13346,151 @@ interface RuleOptions {
13319
13346
  * @deprecated
13320
13347
  */
13321
13348
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
13349
+ /**
13350
+ * Enforce promises from async event methods are handled
13351
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-events.md
13352
+ */
13353
+ 'testing-library/await-async-events'?: Linter.RuleEntry<TestingLibraryAwaitAsyncEvents>;
13354
+ /**
13355
+ * Enforce promises from async queries to be handled
13356
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-queries.md
13357
+ */
13358
+ 'testing-library/await-async-queries'?: Linter.RuleEntry<[]>;
13359
+ /**
13360
+ * Enforce promises from async utils to be awaited properly
13361
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-utils.md
13362
+ */
13363
+ 'testing-library/await-async-utils'?: Linter.RuleEntry<[]>;
13364
+ /**
13365
+ * Ensures consistent usage of `data-testid`
13366
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/consistent-data-testid.md
13367
+ */
13368
+ 'testing-library/consistent-data-testid'?: Linter.RuleEntry<TestingLibraryConsistentDataTestid>;
13369
+ /**
13370
+ * Disallow unnecessary `await` for sync events
13371
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-await-sync-events.md
13372
+ */
13373
+ 'testing-library/no-await-sync-events'?: Linter.RuleEntry<TestingLibraryNoAwaitSyncEvents>;
13374
+ /**
13375
+ * Disallow unnecessary `await` for sync queries
13376
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-await-sync-queries.md
13377
+ */
13378
+ 'testing-library/no-await-sync-queries'?: Linter.RuleEntry<[]>;
13379
+ /**
13380
+ * Disallow the use of `container` methods
13381
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-container.md
13382
+ */
13383
+ 'testing-library/no-container'?: Linter.RuleEntry<[]>;
13384
+ /**
13385
+ * Disallow the use of debugging utilities like `debug`
13386
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-debugging-utils.md
13387
+ */
13388
+ 'testing-library/no-debugging-utils'?: Linter.RuleEntry<TestingLibraryNoDebuggingUtils>;
13389
+ /**
13390
+ * Disallow importing from DOM Testing Library
13391
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-dom-import.md
13392
+ */
13393
+ 'testing-library/no-dom-import'?: Linter.RuleEntry<TestingLibraryNoDomImport>;
13394
+ /**
13395
+ * Disallow the use of the global RegExp flag (/g) in queries
13396
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-global-regexp-flag-in-query.md
13397
+ */
13398
+ 'testing-library/no-global-regexp-flag-in-query'?: Linter.RuleEntry<[]>;
13399
+ /**
13400
+ * Disallow the use of `cleanup`
13401
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-manual-cleanup.md
13402
+ */
13403
+ 'testing-library/no-manual-cleanup'?: Linter.RuleEntry<[]>;
13404
+ /**
13405
+ * Disallow direct Node access
13406
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-node-access.md
13407
+ */
13408
+ 'testing-library/no-node-access'?: Linter.RuleEntry<TestingLibraryNoNodeAccess>;
13409
+ /**
13410
+ * Disallow the use of promises passed to a `fireEvent` method
13411
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-promise-in-fire-event.md
13412
+ */
13413
+ 'testing-library/no-promise-in-fire-event'?: Linter.RuleEntry<[]>;
13414
+ /**
13415
+ * Disallow the use of `render` in testing frameworks setup functions
13416
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-render-in-lifecycle.md
13417
+ */
13418
+ 'testing-library/no-render-in-lifecycle'?: Linter.RuleEntry<TestingLibraryNoRenderInLifecycle>;
13419
+ /**
13420
+ * Ensure no `data-testid` queries are used
13421
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-test-id-queries.md
13422
+ */
13423
+ 'testing-library/no-test-id-queries'?: Linter.RuleEntry<[]>;
13424
+ /**
13425
+ * Disallow wrapping Testing Library utils or empty callbacks in `act`
13426
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-unnecessary-act.md
13427
+ */
13428
+ 'testing-library/no-unnecessary-act'?: Linter.RuleEntry<TestingLibraryNoUnnecessaryAct>;
13429
+ /**
13430
+ * Disallow the use of multiple `expect` calls inside `waitFor`
13431
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-multiple-assertions.md
13432
+ */
13433
+ 'testing-library/no-wait-for-multiple-assertions'?: Linter.RuleEntry<[]>;
13434
+ /**
13435
+ * Disallow the use of side effects in `waitFor`
13436
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-side-effects.md
13437
+ */
13438
+ 'testing-library/no-wait-for-side-effects'?: Linter.RuleEntry<[]>;
13439
+ /**
13440
+ * Ensures no snapshot is generated inside of a `waitFor` call
13441
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-snapshot.md
13442
+ */
13443
+ 'testing-library/no-wait-for-snapshot'?: Linter.RuleEntry<[]>;
13444
+ /**
13445
+ * Suggest using explicit assertions rather than standalone queries
13446
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-explicit-assert.md
13447
+ */
13448
+ 'testing-library/prefer-explicit-assert'?: Linter.RuleEntry<TestingLibraryPreferExplicitAssert>;
13449
+ /**
13450
+ * Suggest using `find(All)By*` query instead of `waitFor` + `get(All)By*` to wait for elements
13451
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-find-by.md
13452
+ */
13453
+ 'testing-library/prefer-find-by'?: Linter.RuleEntry<[]>;
13454
+ /**
13455
+ * Suggest using implicit assertions for getBy* & findBy* queries
13456
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-implicit-assert.md
13457
+ */
13458
+ 'testing-library/prefer-implicit-assert'?: Linter.RuleEntry<[]>;
13459
+ /**
13460
+ * Ensure appropriate `get*`/`query*` queries are used with their respective matchers
13461
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-presence-queries.md
13462
+ */
13463
+ 'testing-library/prefer-presence-queries'?: Linter.RuleEntry<TestingLibraryPreferPresenceQueries>;
13464
+ /**
13465
+ * Suggest using `queryBy*` queries when waiting for disappearance
13466
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-query-by-disappearance.md
13467
+ */
13468
+ 'testing-library/prefer-query-by-disappearance'?: Linter.RuleEntry<[]>;
13469
+ /**
13470
+ * Ensure the configured `get*`/`query*` query is used with the corresponding matchers
13471
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-query-matchers.md
13472
+ */
13473
+ 'testing-library/prefer-query-matchers'?: Linter.RuleEntry<TestingLibraryPreferQueryMatchers>;
13474
+ /**
13475
+ * Suggest using `screen` while querying
13476
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-screen-queries.md
13477
+ */
13478
+ 'testing-library/prefer-screen-queries'?: Linter.RuleEntry<[]>;
13479
+ /**
13480
+ * Suggest using `userEvent` over `fireEvent` for simulating user interactions
13481
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-user-event.md
13482
+ */
13483
+ 'testing-library/prefer-user-event'?: Linter.RuleEntry<TestingLibraryPreferUserEvent>;
13484
+ /**
13485
+ * Suggest using userEvent with setup() instead of direct methods
13486
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-user-event-setup.md
13487
+ */
13488
+ 'testing-library/prefer-user-event-setup'?: Linter.RuleEntry<[]>;
13489
+ /**
13490
+ * Enforce a valid naming for return value from `render`
13491
+ * @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/render-result-naming-convention.md
13492
+ */
13493
+ 'testing-library/render-result-naming-convention'?: Linter.RuleEntry<[]>;
13322
13494
  /**
13323
13495
  * enforce linebreaks after opening and before closing array brackets
13324
13496
  * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/array-bracket-newline.html
@@ -24717,6 +24889,66 @@ type SwitchColonSpacing = [] | [{
24717
24889
  type TemplateCurlySpacing = [] | [("always" | "never")];
24718
24890
  // ----- template-tag-spacing -----
24719
24891
  type TemplateTagSpacing = [] | [("always" | "never")];
24892
+ // ----- testing-library/await-async-events -----
24893
+ type TestingLibraryAwaitAsyncEvents = [] | [{
24894
+ eventModule?: (("fireEvent" | "userEvent") | ("fireEvent" | "userEvent")[]);
24895
+ }];
24896
+ // ----- testing-library/consistent-data-testid -----
24897
+ type TestingLibraryConsistentDataTestid = [] | [{
24898
+ testIdPattern: string;
24899
+ testIdAttribute?: (string | string[]);
24900
+ customMessage?: string;
24901
+ }];
24902
+ // ----- testing-library/no-await-sync-events -----
24903
+ type TestingLibraryNoAwaitSyncEvents = [] | [{
24904
+ eventModules?: [("fire-event" | "user-event"), ...(("fire-event" | "user-event"))[]];
24905
+ }];
24906
+ // ----- testing-library/no-debugging-utils -----
24907
+ type TestingLibraryNoDebuggingUtils = [] | [{
24908
+ utilsToCheckFor?: {
24909
+ prettyFormat?: boolean;
24910
+ logDOM?: boolean;
24911
+ logRoles?: boolean;
24912
+ prettyDOM?: boolean;
24913
+ logTestingPlaygroundURL?: boolean;
24914
+ debug?: boolean;
24915
+ };
24916
+ }];
24917
+ // ----- testing-library/no-dom-import -----
24918
+ type TestingLibraryNoDomImport = [] | [string];
24919
+ // ----- testing-library/no-node-access -----
24920
+ type TestingLibraryNoNodeAccess = [] | [{
24921
+ allowContainerFirstChild?: boolean;
24922
+ }];
24923
+ // ----- testing-library/no-render-in-lifecycle -----
24924
+ type TestingLibraryNoRenderInLifecycle = [] | [{
24925
+ allowTestingFrameworkSetupHook?: ("beforeEach" | "beforeAll");
24926
+ }];
24927
+ // ----- testing-library/no-unnecessary-act -----
24928
+ type TestingLibraryNoUnnecessaryAct = [] | [{
24929
+ isStrict?: boolean;
24930
+ }];
24931
+ // ----- testing-library/prefer-explicit-assert -----
24932
+ type TestingLibraryPreferExplicitAssert = [] | [{
24933
+ assertion?: ("toBeOnTheScreen" | "toBeInTheDocument" | "toBeTruthy" | "toBeDefined");
24934
+ includeFindQueries?: boolean;
24935
+ }];
24936
+ // ----- testing-library/prefer-presence-queries -----
24937
+ type TestingLibraryPreferPresenceQueries = [] | [{
24938
+ presence?: boolean;
24939
+ absence?: boolean;
24940
+ }];
24941
+ // ----- testing-library/prefer-query-matchers -----
24942
+ type TestingLibraryPreferQueryMatchers = [] | [{
24943
+ validEntries?: {
24944
+ query?: ("get" | "query");
24945
+ matcher?: string;
24946
+ }[];
24947
+ }];
24948
+ // ----- testing-library/prefer-user-event -----
24949
+ type TestingLibraryPreferUserEvent = [] | [{
24950
+ allowedMethods?: unknown[];
24951
+ }];
24720
24952
  // ----- toml/array-bracket-newline -----
24721
24953
  type TomlArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
24722
24954
  multiline?: boolean;
@@ -26638,7 +26870,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
26638
26870
  onlyEquality?: boolean;
26639
26871
  }];
26640
26872
  // Names of all the configs
26641
- type ConfigNames = 'isentinel/eslint/comments' | 'isentinel/eslint/comments/src' | 'isentinel/e18e/rules' | 'isentinel/eslint-plugin/setup' | 'isentinel/eslint-plugin/rules' | 'isentinel/flawless/setup' | 'isentinel/flawless/rules' | 'isentinel/flawless/markdown-code' | 'isentinel/flawless/rules-type-aware' | 'isentinel/gitignore' | 'isentinel/ignores' | 'isentinel/imports/rules' | 'isentinel/imports/game' | 'isentinel/javascript/setup' | 'isentinel/javascript/rules' | 'isentinel/jsdoc/setup' | 'isentinel/jsdoc' | 'isentinel/jsonc/setup' | 'isentinel/jsonc/rules' | 'isentinel/jsonc/tsconfig' | 'isentinel/markdown/setup' | 'isentinel/markdown/processor' | 'isentinel/markdown/parser' | 'isentinel/markdown/disables' | 'isentinel/naming/setup' | 'isentinel/naming/ts/rules-type-aware' | 'isentinel/naming/tsx/rules-type-aware' | 'isentinel/node/rules' | 'isentinel/oxfmt/setup' | 'isentinel/oxfmt/javascript' | 'isentinel/oxfmt/typescript' | 'isentinel/oxfmt/css' | 'isentinel/oxfmt/scss' | 'isentinel/oxfmt/less' | 'isentinel/oxfmt/html' | 'isentinel/oxfmt/markdown' | 'isentinel/oxfmt/graphql' | 'isentinel/oxfmt/json' | 'isentinel/oxfmt/yaml' | 'isentinel/package-json/setup' | 'isentinel/package-json' | 'isentinel/package-json/root' | 'isentinel/perfectionist/setup' | 'isentinel/perfectionist' | 'isentinel/perfectionist/jsx' | 'isentinel/pnpm/setup' | 'isentinel/pnpm/package-json' | 'isentinel/pnpm/pnpm-workspace-yaml' | 'isentinel/promise' | 'isentinel/react/setup' | 'isentinel/react/setup/naming' | 'isentinel/react/rules' | 'isentinel/react/type-aware-rules' | 'isentinel/roblox/setup' | 'isentinel/roblox/parser' | 'isentinel/roblox/type-aware-parser' | 'isentinel/roblox' | 'isentinel/roblox/rules-type-aware' | 'isentinel/roblox/format-lua/setup' | 'isentinel/roblox/format-lua' | 'isentinel/small-rules/setup' | 'isentinel/small-rules' | 'isentinel/sonarjs' | 'isentinel/spelling/setup' | 'isentinel/spelling' | 'isentinel/stylistic/setup' | 'isentinel/stylistic' | 'isentinel/test/jest/setup' | 'isentinel/test/jest/rules' | 'isentinel/test/jest/type-tests' | 'isentinel/test/vitest/setup' | 'isentinel/test/vitest/rules' | 'isentinel/test/vitest/type-tests' | 'isentinel/toml/setup' | 'isentinel/toml/rules' | 'isentinel/typescript/setup' | 'isentinel/typescript/parser' | 'isentinel/typescript/type-aware-parser' | 'isentinel/typescript/rules' | 'isentinel/typescript/rules-type-aware' | 'isentinel/typescript/erasable-syntax-only' | 'isentinel/unicorn/setup' | 'isentinel/unicorn/rules' | 'isentinel/unicorn/root' | 'isentinel/yaml/setup' | 'isentinel/yaml/rules';
26873
+ type ConfigNames = 'isentinel/eslint/comments' | 'isentinel/eslint/comments/src' | 'isentinel/e18e/rules' | 'isentinel/eslint-plugin/setup' | 'isentinel/eslint-plugin/rules' | 'isentinel/flawless/setup' | 'isentinel/flawless/rules' | 'isentinel/flawless/markdown-code' | 'isentinel/flawless/rules-type-aware' | 'isentinel/gitignore' | 'isentinel/ignores' | 'isentinel/imports/rules' | 'isentinel/imports/game' | 'isentinel/javascript/setup' | 'isentinel/javascript/rules' | 'isentinel/jsdoc/setup' | 'isentinel/jsdoc' | 'isentinel/jsonc/setup' | 'isentinel/jsonc/rules' | 'isentinel/jsonc/tsconfig' | 'isentinel/markdown/setup' | 'isentinel/markdown/processor' | 'isentinel/markdown/parser' | 'isentinel/markdown/disables' | 'isentinel/naming/setup' | 'isentinel/naming/ts/rules-type-aware' | 'isentinel/naming/tsx/rules-type-aware' | 'isentinel/node/rules' | 'isentinel/oxfmt/setup' | 'isentinel/oxfmt/javascript' | 'isentinel/oxfmt/typescript' | 'isentinel/oxfmt/css' | 'isentinel/oxfmt/scss' | 'isentinel/oxfmt/less' | 'isentinel/oxfmt/html' | 'isentinel/oxfmt/markdown' | 'isentinel/oxfmt/graphql' | 'isentinel/oxfmt/json' | 'isentinel/oxfmt/yaml' | 'isentinel/package-json/setup' | 'isentinel/package-json' | 'isentinel/package-json/root' | 'isentinel/perfectionist/setup' | 'isentinel/perfectionist' | 'isentinel/perfectionist/jsx' | 'isentinel/pnpm/setup' | 'isentinel/pnpm/package-json' | 'isentinel/pnpm/pnpm-workspace-yaml' | 'isentinel/promise' | 'isentinel/react/setup' | 'isentinel/react/setup/naming' | 'isentinel/react/setup/testing-library' | 'isentinel/react/rules' | 'isentinel/react/type-aware-rules' | 'isentinel/roblox/setup' | 'isentinel/roblox/parser' | 'isentinel/roblox/type-aware-parser' | 'isentinel/roblox' | 'isentinel/roblox/rules-type-aware' | 'isentinel/roblox/format-lua/setup' | 'isentinel/roblox/format-lua' | 'isentinel/small-rules/setup' | 'isentinel/small-rules' | 'isentinel/sonarjs' | 'isentinel/spelling/setup' | 'isentinel/spelling' | 'isentinel/stylistic/setup' | 'isentinel/stylistic' | 'isentinel/test/jest/setup' | 'isentinel/test/jest/rules' | 'isentinel/test/jest/type-tests' | 'isentinel/test/vitest/setup' | 'isentinel/test/vitest/rules' | 'isentinel/test/vitest/type-tests' | 'isentinel/toml/setup' | 'isentinel/toml/rules' | 'isentinel/typescript/setup' | 'isentinel/typescript/parser' | 'isentinel/typescript/type-aware-parser' | 'isentinel/typescript/rules' | 'isentinel/typescript/rules-type-aware' | 'isentinel/typescript/erasable-syntax-only' | 'isentinel/unicorn/setup' | 'isentinel/unicorn/rules' | 'isentinel/unicorn/root' | 'isentinel/yaml/setup' | 'isentinel/yaml/rules';
26642
26874
  //#endregion
26643
26875
  //#region src/utils.d.ts
26644
26876
  type ExtractRuleOptions<T> = T extends Linter.RuleEntry<infer U> ? U : never;
@@ -26695,12 +26927,23 @@ interface JsdocOptions {
26695
26927
  full?: boolean;
26696
26928
  }
26697
26929
  type Rules = Record<string, Linter.RuleEntry<any> | undefined> & RuleOptions;
26930
+ type ConfigSettings = NonNullable<Linter.Config["settings"]> & {
26931
+ "testing-library"?: {
26932
+ /**
26933
+ * Package name for DOM Testing Library.
26934
+ *
26935
+ * When React testing support is enabled, importing this package is
26936
+ * forbidden in favor of `@packages/react-testing-library-lua`.
26937
+ */
26938
+ domPackage?: string;
26939
+ };
26940
+ };
26698
26941
  /**
26699
26942
  * An updated version of ESLint's `Linter.Config`, which provides autocompletion
26700
26943
  * for `rules` and relaxes type limitations for `plugins` and `rules`, because
26701
26944
  * many plugins still lack proper type definitions.
26702
26945
  */
26703
- type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins"> & {
26946
+ type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plugins" | "settings"> & {
26704
26947
  /**
26705
26948
  * The base directory that `files` and `ignores` patterns in this config
26706
26949
  * object are resolved against. Defaults to the location ESLint derives the
@@ -26723,6 +26966,8 @@ type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, "plug
26723
26966
  * files.
26724
26967
  */
26725
26968
  rules?: Rules;
26969
+ /** Shared settings consumed by configured plugins and presets. */
26970
+ settings?: ConfigSettings;
26726
26971
  };
26727
26972
  interface OptionsComponentExtensions {
26728
26973
  /** Additional extensions for components. */
@@ -27060,6 +27305,14 @@ type ReactConfig = OptionsOverridesTypeAware & ReactSettings & {
27060
27305
  * @default true
27061
27306
  */
27062
27307
  reactCompiler?: boolean;
27308
+ /**
27309
+ * Whether to enable Testing Library rules for testing-library-lua.
27310
+ *
27311
+ * Requires installing `eslint-plugin-testing-library`.
27312
+ *
27313
+ * @default false
27314
+ */
27315
+ testing?: boolean;
27063
27316
  } & {
27064
27317
  filenameCase?: "kebabCase" | "pascalCase";
27065
27318
  };
@@ -27115,6 +27368,15 @@ interface OptionsE18e extends OptionsOverrides {
27115
27368
  * @default options.isInEditor
27116
27369
  */
27117
27370
  moduleReplacements?: boolean;
27371
+ /**
27372
+ * The Node major version to target when deciding which rules the runtime
27373
+ * supports. Defaults to the running Node version, which makes the resulting
27374
+ * config host-dependent; pass an explicit value where that matters, such as
27375
+ * from a code generator whose output is committed.
27376
+ *
27377
+ * @default the running Node major version
27378
+ */
27379
+ nodeMajor?: number;
27118
27380
  /**
27119
27381
  * Include performance improvements rules.
27120
27382
  *
@@ -27290,6 +27552,10 @@ interface OptionsConfig extends OptionsComponentExtensions, OptionsProjectType {
27290
27552
  *
27291
27553
  * - `eslint-plugin-react-naming-convention`.
27292
27554
  *
27555
+ * If `testing` is enabled, also requires:
27556
+ *
27557
+ * - `eslint-plugin-testing-library`.
27558
+ *
27293
27559
  * @default false
27294
27560
  */
27295
27561
  react?: boolean | ReactConfig;
@@ -27631,7 +27897,6 @@ declare function disables({ root, workspaceRoot }: {
27631
27897
  //#region src/eslint/configs/e18e.d.ts
27632
27898
  declare function e18e({ files, ignores, isInEditor, modernization, type, moduleReplacements, nodeMajor, overrides, performanceImprovements }?: OptionsE18e & OptionsFiles & OptionsIsInEditor & OptionsProjectType & {
27633
27899
  ignores?: Array<string>;
27634
- nodeMajor?: number;
27635
27900
  }): Promise<Array<TypedFlatConfigItem>>;
27636
27901
  //#endregion
27637
27902
  //#region src/eslint/configs/eslint-plugin.d.ts
@@ -27714,7 +27979,9 @@ declare function pnpm(options: OptionsPnpm & Required<OptionsIsInEditor>): Promi
27714
27979
  declare function promise(): Array<TypedFlatConfigItem>;
27715
27980
  //#endregion
27716
27981
  //#region src/eslint/configs/react.d.ts
27717
- declare function react(options?: OptionsComponentExtensions & OptionsFiles & OptionsStylistic & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes & ReactConfig): Promise<Array<TypedFlatConfigItem>>;
27982
+ declare function react(options?: OptionsComponentExtensions & OptionsFiles & OptionsStylistic & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes & ReactConfig & {
27983
+ settings?: ConfigSettings;
27984
+ }): Promise<Array<TypedFlatConfigItem>>;
27718
27985
  //#endregion
27719
27986
  //#region src/eslint/configs/roblox.d.ts
27720
27987
  declare function roblox$1(options?: OptionsComponentExtensions & OptionsFilesTypeAware & OptionsOverridesTypeAware & OptionsStylistic & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes, formatLua?: boolean): Promise<Array<TypedFlatConfigItem>>;
@@ -27814,4 +28081,4 @@ declare function unicorn({ complementIgnores, nameReplacements, roblox, root: cu
27814
28081
  //#region src/eslint/configs/yaml.d.ts
27815
28082
  declare function yaml({ files, overrides, stylistic }?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
27816
28083
  //#endregion
27817
- export { type Awaitable, type ConfigNames, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BIN, GLOB_BUILD_CONFIGS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LINTABLE_EXTENSIONS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_PACKAGE_JSON, GLOB_PACKAGE_JSON_ROOT, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_SRC_EXTENSIONS, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_TYPE_TESTS, GLOB_XML, GLOB_YAML, GitignoreOptions, type JsdocOptions, MARKDOWN_PROCESSOR_NAME, type NamedFlatConfigItem, type NamedOptionsConfig, type NamingConfig, type NamingSelector, type OptionsComponentExtensions, type OptionsConfig, type OptionsE18e, type OptionsFiles, type OptionsFilesTypeAware, type OptionsFormatters, type OptionsHasRoblox, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsJest, type OptionsOverrides, type OptionsOverridesTypeAware, type OptionsPnpm, type OptionsProjectType, type OptionsStylistic, type OptionsTestFramework, type OptionsTypeScriptErasableOnly, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsVitest, type OxfmtOptions, type PerfectionistConfig, type PrettierOptions, type ReactConfig, type ReactSettings, type Rules, type SpellCheckConfig, type StylisticConfig, StylisticConfigDefaults, type TypedFlatConfigItem, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores$1 as ignores, imports, isAgentAutofixDisabled, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, loadSmallRulesPlugin, markdown, naming, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox$1 as roblox, smallRules, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic$1 as stylistic, test, toml, typescript, unicorn, yaml };
28084
+ export { type Awaitable, type ConfigNames, type ConfigSettings, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BIN, GLOB_BUILD_CONFIGS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LINTABLE_EXTENSIONS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_PACKAGE_JSON, GLOB_PACKAGE_JSON_ROOT, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_SRC_EXTENSIONS, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_TYPE_TESTS, GLOB_XML, GLOB_YAML, GitignoreOptions, type JsdocOptions, MARKDOWN_PROCESSOR_NAME, type NamedFlatConfigItem, type NamedOptionsConfig, type NamingConfig, type NamingSelector, type OptionsComponentExtensions, type OptionsConfig, type OptionsE18e, type OptionsFiles, type OptionsFilesTypeAware, type OptionsFormatters, type OptionsHasRoblox, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsJest, type OptionsOverrides, type OptionsOverridesTypeAware, type OptionsPnpm, type OptionsProjectType, type OptionsStylistic, type OptionsTestFramework, type OptionsTypeScriptErasableOnly, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnicorn, type OptionsVitest, type OxfmtOptions, type PerfectionistConfig, type PrettierOptions, type ReactConfig, type ReactSettings, type Rules, type SpellCheckConfig, type StylisticConfig, StylisticConfigDefaults, type TypedFlatConfigItem, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores$1 as ignores, imports, isAgentAutofixDisabled, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, loadSmallRulesPlugin, markdown, naming, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox$1 as roblox, smallRules, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic$1 as stylistic, test, toml, typescript, unicorn, yaml };