@isentinel/eslint-config 6.0.0-beta.26 → 6.0.0-beta.27

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.26";
12
+ var version = "6.0.0-beta.27";
13
13
  var package_default = {
14
14
  name: "@isentinel/eslint-config",
15
15
  version,
package/dist/index.d.mts CHANGED
@@ -7092,102 +7092,102 @@ interface RuleOptions {
7092
7092
  'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
7093
7093
  /**
7094
7094
  * Enforce arrow function return style based on line length
7095
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/arrow-return-style/documentation.md
7095
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/arrow-return-style/documentation.md
7096
7096
  */
7097
7097
  'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
7098
7098
  /**
7099
7099
  * Disallow shorthand boolean JSX attributes
7100
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/jsx-shorthand-boolean/documentation.md
7100
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/jsx-shorthand-boolean/documentation.md
7101
7101
  */
7102
7102
  'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
7103
7103
  /**
7104
7104
  * Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
7105
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/jsx-shorthand-fragment/documentation.md
7105
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/jsx-shorthand-fragment/documentation.md
7106
7106
  */
7107
7107
  'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
7108
7108
  /**
7109
7109
  * Enforce a maximum number of lines of code in a function
7110
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/max-lines-per-function/documentation.md
7110
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/max-lines-per-function/documentation.md
7111
7111
  */
7112
7112
  'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
7113
7113
  /**
7114
7114
  * Enforce naming conventions for everything across a codebase
7115
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/naming-convention/documentation.md
7115
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/naming-convention/documentation.md
7116
7116
  */
7117
7117
  'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
7118
7118
  /**
7119
7119
  * Disallow conditional logic in tests
7120
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-conditional-in-test/documentation.md
7120
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-conditional-in-test/documentation.md
7121
7121
  */
7122
7122
  'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
7123
7123
  /**
7124
7124
  * Disallow anonymous arrow functions as export default declarations
7125
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-export-default-arrow/documentation.md
7125
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-export-default-arrow/documentation.md
7126
7126
  */
7127
7127
  'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
7128
7128
  /**
7129
7129
  * Disallow tsconfig options that redundantly re-set a value already provided by an extended config
7130
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-redundant-tsconfig-options/documentation.md
7130
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-redundant-tsconfig-options/documentation.md
7131
7131
  */
7132
7132
  'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
7133
7133
  /**
7134
7134
  * Disallow unnecessary usage of 'useCallback'
7135
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-unnecessary-use-callback/documentation.md
7135
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-unnecessary-use-callback/documentation.md
7136
7136
  */
7137
7137
  'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
7138
7138
  /**
7139
7139
  * Disallow unnecessary usage of 'useMemo'
7140
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-unnecessary-use-memo/documentation.md
7140
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-unnecessary-use-memo/documentation.md
7141
7141
  */
7142
7142
  'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
7143
7143
  /**
7144
7144
  * Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
7145
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/padding-after-expect-assertions/documentation.md
7145
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/padding-after-expect-assertions/documentation.md
7146
7146
  */
7147
7147
  'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
7148
7148
  /**
7149
7149
  * Enforce destructuring assignment for component props
7150
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-destructuring-assignment/documentation.md
7150
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-destructuring-assignment/documentation.md
7151
7151
  */
7152
7152
  'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
7153
7153
  /**
7154
7154
  * Prefer having the last statement in a test be an assertion
7155
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-ending-with-an-expect/documentation.md
7155
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-ending-with-an-expect/documentation.md
7156
7156
  */
7157
7157
  'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
7158
7158
  /**
7159
7159
  * Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
7160
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-expect-assertions-count/documentation.md
7160
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-expect-assertions-count/documentation.md
7161
7161
  */
7162
7162
  'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
7163
7163
  /**
7164
7164
  * Enforce destructuring parameters in the function signature
7165
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-parameter-destructuring/documentation.md
7165
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-parameter-destructuring/documentation.md
7166
7166
  */
7167
7167
  'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
7168
7168
  /**
7169
7169
  * Enforce that function component props are read-only
7170
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-read-only-props/documentation.md
7170
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-read-only-props/documentation.md
7171
7171
  */
7172
7172
  'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
7173
7173
  /**
7174
7174
  * Disallow impure calls such as `math.random` or `os.clock` during render
7175
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/purity/documentation.md
7175
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/purity/documentation.md
7176
7176
  */
7177
7177
  'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
7178
7178
  /**
7179
7179
  * Prefer named imports for React runtime values and the React namespace for React types
7180
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/react-namespace/documentation.md
7180
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/react-namespace/documentation.md
7181
7181
  */
7182
7182
  'flawless/react-namespace'?: Linter.RuleEntry<[]>;
7183
7183
  /**
7184
7184
  * Enforce a configured sort order for TOML keys and tables
7185
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/toml-sort-keys/documentation.md
7185
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/toml-sort-keys/documentation.md
7186
7186
  */
7187
7187
  'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
7188
7188
  /**
7189
7189
  * Enforce blank lines around top-level YAML block collection keys
7190
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/yaml-block-key-blank-lines/documentation.md
7190
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/yaml-block-key-blank-lines/documentation.md
7191
7191
  */
7192
7192
  'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
7193
7193
  /**
package/dist/lint-cli.mjs CHANGED
@@ -36,7 +36,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  }) : target, mod));
37
37
  //#endregion
38
38
  //#region package.json
39
- var version = "6.0.0-beta.26";
39
+ var version = "6.0.0-beta.27";
40
40
  //#endregion
41
41
  //#region src/lint-cli/lib/cli/types.ts
42
42
  /**
package/dist/oxlint.d.mts CHANGED
@@ -2906,6 +2906,46 @@ interface OxlintReactRuleDefaults {
2906
2906
  "react-naming-convention/ref-name": {
2907
2907
  "*": "error";
2908
2908
  };
2909
+ "react-perf/jsx-no-jsx-as-prop": {
2910
+ game_roblox: ["error", {
2911
+ "nativeAllowList": "all";
2912
+ }];
2913
+ game_std: "error";
2914
+ package_roblox: ["error", {
2915
+ "nativeAllowList": "all";
2916
+ }];
2917
+ package_std: "error";
2918
+ };
2919
+ "react-perf/jsx-no-new-array-as-prop": {
2920
+ game_roblox: ["error", {
2921
+ "nativeAllowList": "all";
2922
+ }];
2923
+ game_std: "error";
2924
+ package_roblox: ["error", {
2925
+ "nativeAllowList": "all";
2926
+ }];
2927
+ package_std: "error";
2928
+ };
2929
+ "react-perf/jsx-no-new-function-as-prop": {
2930
+ game_roblox: ["error", {
2931
+ "nativeAllowList": "all";
2932
+ }];
2933
+ game_std: "error";
2934
+ package_roblox: ["error", {
2935
+ "nativeAllowList": "all";
2936
+ }];
2937
+ package_std: "error";
2938
+ };
2939
+ "react-perf/jsx-no-new-object-as-prop": {
2940
+ game_roblox: ["error", {
2941
+ "nativeAllowList": "all";
2942
+ }];
2943
+ game_std: "error";
2944
+ package_roblox: ["error", {
2945
+ "nativeAllowList": "all";
2946
+ }];
2947
+ package_std: "error";
2948
+ };
2909
2949
  "react-x/error-boundaries": {
2910
2950
  "*": "error";
2911
2951
  };
@@ -4240,102 +4280,102 @@ interface RuleOptions {
4240
4280
  'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
4241
4281
  /**
4242
4282
  * Enforce arrow function return style based on line length
4243
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/arrow-return-style/documentation.md
4283
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/arrow-return-style/documentation.md
4244
4284
  */
4245
4285
  'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
4246
4286
  /**
4247
4287
  * Disallow shorthand boolean JSX attributes
4248
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/jsx-shorthand-boolean/documentation.md
4288
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/jsx-shorthand-boolean/documentation.md
4249
4289
  */
4250
4290
  'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
4251
4291
  /**
4252
4292
  * Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
4253
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/jsx-shorthand-fragment/documentation.md
4293
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/jsx-shorthand-fragment/documentation.md
4254
4294
  */
4255
4295
  'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
4256
4296
  /**
4257
4297
  * Enforce a maximum number of lines of code in a function
4258
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/max-lines-per-function/documentation.md
4298
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/max-lines-per-function/documentation.md
4259
4299
  */
4260
4300
  'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
4261
4301
  /**
4262
4302
  * Enforce naming conventions for everything across a codebase
4263
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/naming-convention/documentation.md
4303
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/naming-convention/documentation.md
4264
4304
  */
4265
4305
  'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
4266
4306
  /**
4267
4307
  * Disallow conditional logic in tests
4268
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-conditional-in-test/documentation.md
4308
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-conditional-in-test/documentation.md
4269
4309
  */
4270
4310
  'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
4271
4311
  /**
4272
4312
  * Disallow anonymous arrow functions as export default declarations
4273
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-export-default-arrow/documentation.md
4313
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-export-default-arrow/documentation.md
4274
4314
  */
4275
4315
  'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
4276
4316
  /**
4277
4317
  * Disallow tsconfig options that redundantly re-set a value already provided by an extended config
4278
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-redundant-tsconfig-options/documentation.md
4318
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-redundant-tsconfig-options/documentation.md
4279
4319
  */
4280
4320
  'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
4281
4321
  /**
4282
4322
  * Disallow unnecessary usage of 'useCallback'
4283
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-unnecessary-use-callback/documentation.md
4323
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-unnecessary-use-callback/documentation.md
4284
4324
  */
4285
4325
  'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
4286
4326
  /**
4287
4327
  * Disallow unnecessary usage of 'useMemo'
4288
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/no-unnecessary-use-memo/documentation.md
4328
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/no-unnecessary-use-memo/documentation.md
4289
4329
  */
4290
4330
  'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
4291
4331
  /**
4292
4332
  * Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
4293
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/padding-after-expect-assertions/documentation.md
4333
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/padding-after-expect-assertions/documentation.md
4294
4334
  */
4295
4335
  'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
4296
4336
  /**
4297
4337
  * Enforce destructuring assignment for component props
4298
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-destructuring-assignment/documentation.md
4338
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-destructuring-assignment/documentation.md
4299
4339
  */
4300
4340
  'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
4301
4341
  /**
4302
4342
  * Prefer having the last statement in a test be an assertion
4303
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-ending-with-an-expect/documentation.md
4343
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-ending-with-an-expect/documentation.md
4304
4344
  */
4305
4345
  'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
4306
4346
  /**
4307
4347
  * Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
4308
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-expect-assertions-count/documentation.md
4348
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-expect-assertions-count/documentation.md
4309
4349
  */
4310
4350
  'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
4311
4351
  /**
4312
4352
  * Enforce destructuring parameters in the function signature
4313
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-parameter-destructuring/documentation.md
4353
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-parameter-destructuring/documentation.md
4314
4354
  */
4315
4355
  'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
4316
4356
  /**
4317
4357
  * Enforce that function component props are read-only
4318
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/prefer-read-only-props/documentation.md
4358
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/prefer-read-only-props/documentation.md
4319
4359
  */
4320
4360
  'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
4321
4361
  /**
4322
4362
  * Disallow impure calls such as `math.random` or `os.clock` during render
4323
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/purity/documentation.md
4363
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/purity/documentation.md
4324
4364
  */
4325
4365
  'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
4326
4366
  /**
4327
4367
  * Prefer named imports for React runtime values and the React namespace for React types
4328
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/react-namespace/documentation.md
4368
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/react-namespace/documentation.md
4329
4369
  */
4330
4370
  'flawless/react-namespace'?: Linter.RuleEntry<[]>;
4331
4371
  /**
4332
4372
  * Enforce a configured sort order for TOML keys and tables
4333
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/toml-sort-keys/documentation.md
4373
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/toml-sort-keys/documentation.md
4334
4374
  */
4335
4375
  'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
4336
4376
  /**
4337
4377
  * Enforce blank lines around top-level YAML block collection keys
4338
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.1/src/rules/yaml-block-key-blank-lines/documentation.md
4378
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.4.2/src/rules/yaml-block-key-blank-lines/documentation.md
4339
4379
  */
4340
4380
  'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
4341
4381
  /**
package/dist/oxlint.mjs CHANGED
@@ -4583,11 +4583,31 @@ function reactRules({ filenameCase = "kebabCase", reactCompiler = true, stylisti
4583
4583
  }
4584
4584
  //#endregion
4585
4585
  //#region src/oxlint/configs/react.ts
4586
+ /**
4587
+ * React configs for oxlint: the shared react family plus oxlint's native
4588
+ * `react-perf/*` rules, which have no ESLint counterpart here and so only run
4589
+ * under oxlint.
4590
+ *
4591
+ * The perf rules are emitted as a raw fragment (`plugins: ["react-perf"]` with
4592
+ * literal rule names) rather than through `createOxlintConfigs`, since the
4593
+ * canonical-name translation layer only knows rules that exist on the ESLint
4594
+ * side, and the raw form keeps the `nativeAllowList` option typed by
4595
+ * `OxlintRules`.
4596
+ *
4597
+ * Unlike `oxlintOxc`, the roblox flag is not split across a complement overlay:
4598
+ * `nativeAllowList` is a noise knob rather than a correctness one, so the extra
4599
+ * overrides would buy nothing.
4600
+ *
4601
+ * @param options - Shared rule options.
4602
+ * @returns The react config fragments.
4603
+ */
4586
4604
  function oxlintReact(options = {}) {
4587
- const { filenameCase = "kebabCase", importSource, overrides = {}, reactCompiler = true, stylistic = true } = options;
4588
- return createOxlintConfigs({
4605
+ const { filenameCase = "kebabCase", importSource, overrides = {}, reactCompiler = true, roblox = true, stylistic = true } = options;
4606
+ const files = options.files?.flat() ?? ["**/*.{,c,m}jsx", "**/*.{,c,m}tsx"];
4607
+ const performanceRule = roblox ? ["error", { nativeAllowList: "all" }] : "error";
4608
+ return [...createOxlintConfigs({
4589
4609
  name: "isentinel/react",
4590
- files: options.files?.flat() ?? ["**/*.{,c,m}jsx", "**/*.{,c,m}tsx"],
4610
+ files,
4591
4611
  rules: {
4592
4612
  ...reactRules({
4593
4613
  filenameCase,
@@ -4600,7 +4620,17 @@ function oxlintReact(options = {}) {
4600
4620
  importSource: importSource ?? "@rbxts",
4601
4621
  version: "17.0.2"
4602
4622
  } }
4603
- });
4623
+ }), {
4624
+ name: "isentinel/react/perf",
4625
+ files,
4626
+ plugins: ["react-perf"],
4627
+ rules: {
4628
+ "react-perf/jsx-no-jsx-as-prop": performanceRule,
4629
+ "react-perf/jsx-no-new-array-as-prop": performanceRule,
4630
+ "react-perf/jsx-no-new-function-as-prop": performanceRule,
4631
+ "react-perf/jsx-no-new-object-as-prop": performanceRule
4632
+ }
4633
+ }];
4604
4634
  }
4605
4635
  //#endregion
4606
4636
  //#region src/rules/roblox.ts
@@ -5839,6 +5869,7 @@ function isentinel(factoryOptions, ...userConfigs) {
5839
5869
  if (enableReact !== false) {
5840
5870
  const reactOptions = typeof enableReact === "object" ? enableReact : {};
5841
5871
  configs.push(oxlintReact({
5872
+ roblox: enableRoblox,
5842
5873
  stylistic: stylisticOptions,
5843
5874
  ...reactOptions
5844
5875
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "6.0.0-beta.26",
3
+ "version": "6.0.0-beta.27",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -76,7 +76,7 @@
76
76
  "eslint-plugin-better-max-params": "1.0.0",
77
77
  "eslint-plugin-comment-length": "2.3.1",
78
78
  "eslint-plugin-de-morgan": "2.1.3",
79
- "eslint-plugin-flawless": "1.4.1",
79
+ "eslint-plugin-flawless": "1.4.2",
80
80
  "eslint-plugin-format-lua": "2.0.0",
81
81
  "eslint-plugin-import-lite": "0.6.0",
82
82
  "eslint-plugin-jsdoc": "63.2.0",
@@ -142,7 +142,7 @@
142
142
  "typescript": "6.0.3",
143
143
  "unplugin-unused": "0.5.7",
144
144
  "vitest": "4.1.10",
145
- "@isentinel/eslint-config": "6.0.0-beta.26"
145
+ "@isentinel/eslint-config": "6.0.0-beta.27"
146
146
  },
147
147
  "peerDependencies": {
148
148
  "@vitest/eslint-plugin": "^1.6.4",