@isentinel/eslint-config 6.0.0-beta.39 → 6.0.0-beta.40
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/README.md +43 -0
- package/dist/cli.mjs +4 -2
- package/dist/index.d.mts +177 -30
- package/dist/index.mjs +159 -35
- package/dist/lint-cli.mjs +1 -1
- package/dist/oxlint.d.mts +79 -22
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -771,6 +771,49 @@ selectors are simply added. A less specific entry cannot override a more
|
|
|
771
771
|
specific default. The `overridesTypeAware` escape hatch still replaces the whole
|
|
772
772
|
rule if you need full control.
|
|
773
773
|
|
|
774
|
+
##### Roblox names
|
|
775
|
+
|
|
776
|
+
`strictCamelCase` and `StrictPascalCase` reject two capitals in a row, so a
|
|
777
|
+
`CFrame` has to be stored in `targetCframe` and the identifier stops matching
|
|
778
|
+
the type it holds. `allowedWords` lets listed words keep their own casing inside
|
|
779
|
+
a name, while the rest of the name is still checked. It is off by default:
|
|
780
|
+
|
|
781
|
+
```ts
|
|
782
|
+
// eslint.config.ts
|
|
783
|
+
import isentinel from "@isentinel/eslint-config";
|
|
784
|
+
|
|
785
|
+
export default isentinel({
|
|
786
|
+
naming: {
|
|
787
|
+
// Use ROBLOX_ALLOWED_WORDS, generated from `@rbxts/types`
|
|
788
|
+
allowedWords: true,
|
|
789
|
+
},
|
|
790
|
+
});
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
```ts
|
|
794
|
+
const targetCFrame = new CFrame(); // ok
|
|
795
|
+
const listLayoutUIPadding = 0; // ok
|
|
796
|
+
const target_CFrame = 0; // still an error
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
Pass an array to use exactly those words instead. Spread `ROBLOX_ALLOWED_WORDS`
|
|
800
|
+
to extend the list rather than replace it:
|
|
801
|
+
|
|
802
|
+
```ts
|
|
803
|
+
import isentinel, { ROBLOX_ALLOWED_WORDS } from "@isentinel/eslint-config";
|
|
804
|
+
|
|
805
|
+
export default isentinel({
|
|
806
|
+
naming: {
|
|
807
|
+
allowedWords: [...ROBLOX_ALLOWED_WORDS, "HTTP", "URL"],
|
|
808
|
+
},
|
|
809
|
+
});
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
The list reaches every selector, including your own `selectors` entries. A
|
|
813
|
+
selector opts out with its own `allowedWords: []`. Only the two strict formats
|
|
814
|
+
honour it, so it can never loosen `snake_case` or `UPPER_CASE`, and a word only
|
|
815
|
+
matches at a hump boundary, so it cannot split an existing hump.
|
|
816
|
+
|
|
774
817
|
#### Oxlint
|
|
775
818
|
|
|
776
819
|
The config can run alongside (or be replaced by)
|
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.
|
|
12
|
+
var version = "6.0.0-beta.40";
|
|
13
13
|
var package_default = {
|
|
14
14
|
name: "@isentinel/eslint-config",
|
|
15
15
|
version,
|
|
@@ -62,9 +62,10 @@ 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:roblox-words": "node scripts/roblox-allowed-words-gen.ts --check",
|
|
65
66
|
"check:type-aware": "node scripts/type-aware-gen.ts --check",
|
|
66
67
|
"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/stylistic-gen.ts && node scripts/type-aware-gen.ts && node scripts/gen-package-extensions.ts",
|
|
68
|
+
"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/roblox-allowed-words-gen.ts && node scripts/gen-package-extensions.ts",
|
|
68
69
|
"postgen": "echo 'Generation complete!'",
|
|
69
70
|
"lint": "isentinel-lint",
|
|
70
71
|
"oxlint": "oxlint",
|
|
@@ -139,6 +140,7 @@ var package_default = {
|
|
|
139
140
|
"@eslint/config-inspector": "catalog:dev",
|
|
140
141
|
"@isentinel/eslint-config": "workspace:*",
|
|
141
142
|
"@isentinel/tsconfig": "catalog:dev",
|
|
143
|
+
"@rbxts/types": "catalog:dev",
|
|
142
144
|
"@stylistic/eslint-plugin-migrate": "catalog:dev",
|
|
143
145
|
"@total-typescript/shoehorn": "catalog:dev",
|
|
144
146
|
"@types/node": "catalog:dev",
|
package/dist/index.d.mts
CHANGED
|
@@ -4550,9 +4550,6 @@ interface ReactRuleDefaults {
|
|
|
4550
4550
|
}];
|
|
4551
4551
|
};
|
|
4552
4552
|
"flawless/naming-convention": {
|
|
4553
|
-
game_roblox: {
|
|
4554
|
-
"severityOnly": "error";
|
|
4555
|
-
};
|
|
4556
4553
|
game_std: ["error", {
|
|
4557
4554
|
"format": ["strictCamelCase"];
|
|
4558
4555
|
"selector": "default";
|
|
@@ -4651,9 +4648,6 @@ interface ReactRuleDefaults {
|
|
|
4651
4648
|
"modifiers": ["destructured"];
|
|
4652
4649
|
"selector": "variable";
|
|
4653
4650
|
}];
|
|
4654
|
-
package_roblox: {
|
|
4655
|
-
"severityOnly": "error";
|
|
4656
|
-
};
|
|
4657
4651
|
package_std: ["error", {
|
|
4658
4652
|
"format": ["strictCamelCase"];
|
|
4659
4653
|
"selector": "default";
|
|
@@ -5125,7 +5119,100 @@ interface SourceFeatureRuleDefaults {
|
|
|
5125
5119
|
"*": "error";
|
|
5126
5120
|
};
|
|
5127
5121
|
"flawless/naming-convention": {
|
|
5128
|
-
|
|
5122
|
+
game_roblox: {
|
|
5123
|
+
"severityOnly": "error";
|
|
5124
|
+
};
|
|
5125
|
+
game_std: ["error", {
|
|
5126
|
+
"format": ["strictCamelCase"];
|
|
5127
|
+
"selector": "default";
|
|
5128
|
+
}, {
|
|
5129
|
+
"format": null;
|
|
5130
|
+
"selector": "import";
|
|
5131
|
+
}, {
|
|
5132
|
+
"format": null;
|
|
5133
|
+
"modifiers": ["destructured"];
|
|
5134
|
+
"selector": "variable";
|
|
5135
|
+
}, {
|
|
5136
|
+
"format": ["strictCamelCase"];
|
|
5137
|
+
"leadingUnderscore": "allow";
|
|
5138
|
+
"selector": "variable";
|
|
5139
|
+
}, {
|
|
5140
|
+
"format": null;
|
|
5141
|
+
"modifiers": ["destructured"];
|
|
5142
|
+
"selector": "parameter";
|
|
5143
|
+
}, {
|
|
5144
|
+
"format": ["strictCamelCase"];
|
|
5145
|
+
"leadingUnderscore": "allow";
|
|
5146
|
+
"selector": "parameter";
|
|
5147
|
+
}, {
|
|
5148
|
+
"format": ["StrictPascalCase"];
|
|
5149
|
+
"selector": "enumMember";
|
|
5150
|
+
}, {
|
|
5151
|
+
"format": ["UPPER_CASE"];
|
|
5152
|
+
"leadingUnderscore": "forbid";
|
|
5153
|
+
"modifiers": ["const", "global"];
|
|
5154
|
+
"selector": "variable";
|
|
5155
|
+
"trailingUnderscore": "forbid";
|
|
5156
|
+
"types": ["boolean", "number", "string"];
|
|
5157
|
+
}, {
|
|
5158
|
+
"format": ["UPPER_CASE"];
|
|
5159
|
+
"modifiers": ["constAsserted", "global"];
|
|
5160
|
+
"selector": "variable";
|
|
5161
|
+
}, {
|
|
5162
|
+
"filter": {
|
|
5163
|
+
"match": false;
|
|
5164
|
+
"regex": "^success$";
|
|
5165
|
+
};
|
|
5166
|
+
"format": ["PascalCase"];
|
|
5167
|
+
"prefix": ["is", "should", "has", "can", "did", "will", "was", "are"];
|
|
5168
|
+
"selector": "variable";
|
|
5169
|
+
"types": ["boolean"];
|
|
5170
|
+
}, {
|
|
5171
|
+
"filter": {
|
|
5172
|
+
"match": false;
|
|
5173
|
+
"regex": "^success$";
|
|
5174
|
+
};
|
|
5175
|
+
"format": ["UPPER_CASE"];
|
|
5176
|
+
"modifiers": ["const", "global"];
|
|
5177
|
+
"prefix": ["IS_", "SHOULD_", "HAS_", "CAN_", "DID_", "WILL_", "WAS_", "ARE_"];
|
|
5178
|
+
"selector": "variable";
|
|
5179
|
+
"types": ["boolean"];
|
|
5180
|
+
}, {
|
|
5181
|
+
"format": ["strictCamelCase"];
|
|
5182
|
+
"selector": ["function", "classMethod"];
|
|
5183
|
+
}, {
|
|
5184
|
+
"format": ["strictCamelCase"];
|
|
5185
|
+
"selector": ["method"];
|
|
5186
|
+
}, {
|
|
5187
|
+
"format": ["strictCamelCase"];
|
|
5188
|
+
"leadingUnderscore": "forbid";
|
|
5189
|
+
"selector": "classProperty";
|
|
5190
|
+
}, {
|
|
5191
|
+
"format": ["UPPER_CASE"];
|
|
5192
|
+
"modifiers": ["static", "readonly"];
|
|
5193
|
+
"selector": "classProperty";
|
|
5194
|
+
}, {
|
|
5195
|
+
"format": null;
|
|
5196
|
+
"selector": "objectLiteralProperty";
|
|
5197
|
+
}, {
|
|
5198
|
+
"format": ["StrictPascalCase"];
|
|
5199
|
+
"selector": "typeLike";
|
|
5200
|
+
}, {
|
|
5201
|
+
"format": ["StrictPascalCase"];
|
|
5202
|
+
"selector": "objectStyleEnum";
|
|
5203
|
+
}, {
|
|
5204
|
+
"format": ["strictCamelCase", "UPPER_CASE"];
|
|
5205
|
+
"modifiers": ["global"];
|
|
5206
|
+
"selector": "variable";
|
|
5207
|
+
}, {
|
|
5208
|
+
"format": null;
|
|
5209
|
+
"modifiers": ["destructured", "global"];
|
|
5210
|
+
"selector": "variable";
|
|
5211
|
+
}];
|
|
5212
|
+
package_roblox: {
|
|
5213
|
+
"severityOnly": "error";
|
|
5214
|
+
};
|
|
5215
|
+
package_std: ["error", {
|
|
5129
5216
|
"format": ["strictCamelCase"];
|
|
5130
5217
|
"selector": "default";
|
|
5131
5218
|
}, {
|
|
@@ -7083,107 +7170,107 @@ interface RuleOptions {
|
|
|
7083
7170
|
'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
|
|
7084
7171
|
/**
|
|
7085
7172
|
* Enforce arrow function return style based on line length
|
|
7086
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7173
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/arrow-return-style/documentation.md
|
|
7087
7174
|
*/
|
|
7088
7175
|
'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
|
|
7089
7176
|
/**
|
|
7090
7177
|
* Disallow shorthand boolean JSX attributes
|
|
7091
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7178
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-boolean/documentation.md
|
|
7092
7179
|
*/
|
|
7093
7180
|
'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
|
|
7094
7181
|
/**
|
|
7095
7182
|
* Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
|
|
7096
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7183
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-fragment/documentation.md
|
|
7097
7184
|
*/
|
|
7098
7185
|
'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
|
|
7099
7186
|
/**
|
|
7100
7187
|
* Enforce a maximum number of lines of code in a function
|
|
7101
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7188
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/max-lines-per-function/documentation.md
|
|
7102
7189
|
*/
|
|
7103
7190
|
'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
|
|
7104
7191
|
/**
|
|
7105
7192
|
* Enforce naming conventions for everything across a codebase
|
|
7106
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7193
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/naming-convention/documentation.md
|
|
7107
7194
|
*/
|
|
7108
7195
|
'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
|
|
7109
7196
|
/**
|
|
7110
7197
|
* Disallow conditional logic in tests
|
|
7111
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7198
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-conditional-in-test/documentation.md
|
|
7112
7199
|
*/
|
|
7113
7200
|
'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
|
|
7114
7201
|
/**
|
|
7115
7202
|
* Disallow anonymous arrow functions as export default declarations
|
|
7116
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7203
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-export-default-arrow/documentation.md
|
|
7117
7204
|
*/
|
|
7118
7205
|
'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
|
|
7119
7206
|
/**
|
|
7120
7207
|
* Disallow exact equality checks involving floating-point-sensitive values
|
|
7121
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7208
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-floating-point-equality/documentation.md
|
|
7122
7209
|
*/
|
|
7123
7210
|
'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
7124
7211
|
/**
|
|
7125
7212
|
* Disallow tsconfig options that redundantly re-set a value already provided by an extended config
|
|
7126
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7213
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-redundant-tsconfig-options/documentation.md
|
|
7127
7214
|
*/
|
|
7128
7215
|
'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
|
|
7129
7216
|
/**
|
|
7130
7217
|
* Disallow unnecessary usage of 'useCallback'
|
|
7131
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7218
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-callback/documentation.md
|
|
7132
7219
|
*/
|
|
7133
7220
|
'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
|
|
7134
7221
|
/**
|
|
7135
7222
|
* Disallow unnecessary usage of 'useMemo'
|
|
7136
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7223
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-memo/documentation.md
|
|
7137
7224
|
*/
|
|
7138
7225
|
'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
|
|
7139
7226
|
/**
|
|
7140
7227
|
* Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
|
|
7141
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7228
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/padding-after-expect-assertions/documentation.md
|
|
7142
7229
|
*/
|
|
7143
7230
|
'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
|
|
7144
7231
|
/**
|
|
7145
7232
|
* Enforce destructuring assignment for component props
|
|
7146
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7233
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-destructuring-assignment/documentation.md
|
|
7147
7234
|
*/
|
|
7148
7235
|
'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
|
|
7149
7236
|
/**
|
|
7150
7237
|
* Prefer having the last statement in a test be an assertion
|
|
7151
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7238
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-ending-with-an-expect/documentation.md
|
|
7152
7239
|
*/
|
|
7153
7240
|
'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
|
|
7154
7241
|
/**
|
|
7155
7242
|
* Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
|
|
7156
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7243
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-expect-assertions-count/documentation.md
|
|
7157
7244
|
*/
|
|
7158
7245
|
'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
|
|
7159
7246
|
/**
|
|
7160
7247
|
* Enforce destructuring parameters in the function signature
|
|
7161
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7248
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-parameter-destructuring/documentation.md
|
|
7162
7249
|
*/
|
|
7163
7250
|
'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
|
|
7164
7251
|
/**
|
|
7165
7252
|
* Enforce that function component props are read-only
|
|
7166
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7253
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-read-only-props/documentation.md
|
|
7167
7254
|
*/
|
|
7168
7255
|
'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
|
|
7169
7256
|
/**
|
|
7170
7257
|
* Disallow impure calls such as `math.random` or `os.clock` during render
|
|
7171
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7258
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/purity/documentation.md
|
|
7172
7259
|
*/
|
|
7173
7260
|
'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
|
|
7174
7261
|
/**
|
|
7175
7262
|
* Prefer named imports for React runtime values and the React namespace for React types
|
|
7176
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7263
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/react-namespace/documentation.md
|
|
7177
7264
|
*/
|
|
7178
7265
|
'flawless/react-namespace'?: Linter.RuleEntry<[]>;
|
|
7179
7266
|
/**
|
|
7180
7267
|
* Enforce a configured sort order for TOML keys and tables
|
|
7181
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7268
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/toml-sort-keys/documentation.md
|
|
7182
7269
|
*/
|
|
7183
7270
|
'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
|
|
7184
7271
|
/**
|
|
7185
7272
|
* Enforce blank lines around top-level YAML block collection keys
|
|
7186
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
7273
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/yaml-block-key-blank-lines/documentation.md
|
|
7187
7274
|
*/
|
|
7188
7275
|
'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
|
|
7189
7276
|
/**
|
|
@@ -17066,6 +17153,7 @@ type FlawlessMaxLinesPerFunction = [] | [{
|
|
|
17066
17153
|
skipComments?: boolean;
|
|
17067
17154
|
}];
|
|
17068
17155
|
// ----- flawless/naming-convention -----
|
|
17156
|
+
type _FlawlessNamingConvention_AllowedWordsConfig = string[];
|
|
17069
17157
|
type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPredefinedFormats[] | null);
|
|
17070
17158
|
type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
|
|
17071
17159
|
type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
|
|
@@ -17095,6 +17183,7 @@ type _FlawlessNamingConvention_TypeReferenceMatcher = (({
|
|
|
17095
17183
|
});
|
|
17096
17184
|
});
|
|
17097
17185
|
type FlawlessNamingConvention = ({
|
|
17186
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17098
17187
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17099
17188
|
failureMessage?: string;
|
|
17100
17189
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17104,9 +17193,10 @@ type FlawlessNamingConvention = ({
|
|
|
17104
17193
|
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
17105
17194
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17106
17195
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
17107
|
-
selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "objectStyleEnum" | "parameterProperty" | "classicAccessor" | "enumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
|
|
17196
|
+
selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "objectStyleEnum" | "parameterProperty" | "classicAccessor" | "enumMember" | "objectStyleEnumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
|
|
17108
17197
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17109
17198
|
} | {
|
|
17199
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17110
17200
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17111
17201
|
failureMessage?: string;
|
|
17112
17202
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17118,6 +17208,7 @@ type FlawlessNamingConvention = ({
|
|
|
17118
17208
|
selector: "default";
|
|
17119
17209
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
17120
17210
|
} | {
|
|
17211
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17121
17212
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17122
17213
|
failureMessage?: string;
|
|
17123
17214
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17129,6 +17220,7 @@ type FlawlessNamingConvention = ({
|
|
|
17129
17220
|
selector: "variableLike";
|
|
17130
17221
|
modifiers?: ("unused" | "async")[];
|
|
17131
17222
|
} | {
|
|
17223
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17132
17224
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17133
17225
|
failureMessage?: string;
|
|
17134
17226
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17141,6 +17233,7 @@ type FlawlessNamingConvention = ({
|
|
|
17141
17233
|
modifiers?: ("const" | "constAsserted" | "destructured" | "exported" | "global" | "unused" | "async")[];
|
|
17142
17234
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17143
17235
|
} | {
|
|
17236
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17144
17237
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17145
17238
|
failureMessage?: string;
|
|
17146
17239
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17153,6 +17246,7 @@ type FlawlessNamingConvention = ({
|
|
|
17153
17246
|
modifiers?: ("exported" | "global" | "unused" | "async")[];
|
|
17154
17247
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17155
17248
|
} | {
|
|
17249
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17156
17250
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17157
17251
|
failureMessage?: string;
|
|
17158
17252
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17165,6 +17259,7 @@ type FlawlessNamingConvention = ({
|
|
|
17165
17259
|
modifiers?: ("destructured" | "unused")[];
|
|
17166
17260
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17167
17261
|
} | {
|
|
17262
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17168
17263
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17169
17264
|
failureMessage?: string;
|
|
17170
17265
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17176,6 +17271,7 @@ type FlawlessNamingConvention = ({
|
|
|
17176
17271
|
selector: "objectStyleEnum";
|
|
17177
17272
|
modifiers?: ("const" | "exported" | "global" | "unused")[];
|
|
17178
17273
|
} | {
|
|
17274
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17179
17275
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17180
17276
|
failureMessage?: string;
|
|
17181
17277
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17187,6 +17283,7 @@ type FlawlessNamingConvention = ({
|
|
|
17187
17283
|
selector: "memberLike";
|
|
17188
17284
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17189
17285
|
} | {
|
|
17286
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17190
17287
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17191
17288
|
failureMessage?: string;
|
|
17192
17289
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17199,6 +17296,7 @@ type FlawlessNamingConvention = ({
|
|
|
17199
17296
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[];
|
|
17200
17297
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17201
17298
|
} | {
|
|
17299
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17202
17300
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17203
17301
|
failureMessage?: string;
|
|
17204
17302
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17211,6 +17309,7 @@ type FlawlessNamingConvention = ({
|
|
|
17211
17309
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
17212
17310
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17213
17311
|
} | {
|
|
17312
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17214
17313
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17215
17314
|
failureMessage?: string;
|
|
17216
17315
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17223,6 +17322,7 @@ type FlawlessNamingConvention = ({
|
|
|
17223
17322
|
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
|
|
17224
17323
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17225
17324
|
} | {
|
|
17325
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17226
17326
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17227
17327
|
failureMessage?: string;
|
|
17228
17328
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17235,6 +17335,7 @@ type FlawlessNamingConvention = ({
|
|
|
17235
17335
|
modifiers?: ("private" | "protected" | "public" | "readonly")[];
|
|
17236
17336
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17237
17337
|
} | {
|
|
17338
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17238
17339
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17239
17340
|
failureMessage?: string;
|
|
17240
17341
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17247,6 +17348,7 @@ type FlawlessNamingConvention = ({
|
|
|
17247
17348
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17248
17349
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17249
17350
|
} | {
|
|
17351
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17250
17352
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17251
17353
|
failureMessage?: string;
|
|
17252
17354
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17259,6 +17361,7 @@ type FlawlessNamingConvention = ({
|
|
|
17259
17361
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17260
17362
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17261
17363
|
} | {
|
|
17364
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17262
17365
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17263
17366
|
failureMessage?: string;
|
|
17264
17367
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17271,6 +17374,7 @@ type FlawlessNamingConvention = ({
|
|
|
17271
17374
|
modifiers?: ("public" | "requiresQuotes" | "async")[];
|
|
17272
17375
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17273
17376
|
} | {
|
|
17377
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17274
17378
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17275
17379
|
failureMessage?: string;
|
|
17276
17380
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17283,6 +17387,7 @@ type FlawlessNamingConvention = ({
|
|
|
17283
17387
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
17284
17388
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17285
17389
|
} | {
|
|
17390
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17286
17391
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17287
17392
|
failureMessage?: string;
|
|
17288
17393
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17295,6 +17400,7 @@ type FlawlessNamingConvention = ({
|
|
|
17295
17400
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
17296
17401
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17297
17402
|
} | {
|
|
17403
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17298
17404
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17299
17405
|
failureMessage?: string;
|
|
17300
17406
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17307,6 +17413,7 @@ type FlawlessNamingConvention = ({
|
|
|
17307
17413
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
17308
17414
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17309
17415
|
} | {
|
|
17416
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17310
17417
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17311
17418
|
failureMessage?: string;
|
|
17312
17419
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17319,6 +17426,7 @@ type FlawlessNamingConvention = ({
|
|
|
17319
17426
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
17320
17427
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17321
17428
|
} | {
|
|
17429
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17322
17430
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17323
17431
|
failureMessage?: string;
|
|
17324
17432
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17331,6 +17439,7 @@ type FlawlessNamingConvention = ({
|
|
|
17331
17439
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
17332
17440
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
17333
17441
|
} | {
|
|
17442
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17334
17443
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17335
17444
|
failureMessage?: string;
|
|
17336
17445
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17342,6 +17451,19 @@ type FlawlessNamingConvention = ({
|
|
|
17342
17451
|
selector: "enumMember";
|
|
17343
17452
|
modifiers?: ("requiresQuotes")[];
|
|
17344
17453
|
} | {
|
|
17454
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17455
|
+
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17456
|
+
failureMessage?: string;
|
|
17457
|
+
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
17458
|
+
leadingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
17459
|
+
prefix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
17460
|
+
suffix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
17461
|
+
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
17462
|
+
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
17463
|
+
selector: "objectStyleEnumMember";
|
|
17464
|
+
modifiers?: ("requiresQuotes")[];
|
|
17465
|
+
} | {
|
|
17466
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17345
17467
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17346
17468
|
failureMessage?: string;
|
|
17347
17469
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17353,6 +17475,7 @@ type FlawlessNamingConvention = ({
|
|
|
17353
17475
|
selector: "typeLike";
|
|
17354
17476
|
modifiers?: ("abstract" | "exported" | "unused")[];
|
|
17355
17477
|
} | {
|
|
17478
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17356
17479
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17357
17480
|
failureMessage?: string;
|
|
17358
17481
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17364,6 +17487,7 @@ type FlawlessNamingConvention = ({
|
|
|
17364
17487
|
selector: "class";
|
|
17365
17488
|
modifiers?: ("abstract" | "exported" | "unused")[];
|
|
17366
17489
|
} | {
|
|
17490
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17367
17491
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17368
17492
|
failureMessage?: string;
|
|
17369
17493
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17375,6 +17499,7 @@ type FlawlessNamingConvention = ({
|
|
|
17375
17499
|
selector: "interface";
|
|
17376
17500
|
modifiers?: ("exported" | "unused")[];
|
|
17377
17501
|
} | {
|
|
17502
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17378
17503
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17379
17504
|
failureMessage?: string;
|
|
17380
17505
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17386,6 +17511,7 @@ type FlawlessNamingConvention = ({
|
|
|
17386
17511
|
selector: "typeAlias";
|
|
17387
17512
|
modifiers?: ("exported" | "unused")[];
|
|
17388
17513
|
} | {
|
|
17514
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17389
17515
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17390
17516
|
failureMessage?: string;
|
|
17391
17517
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17397,6 +17523,7 @@ type FlawlessNamingConvention = ({
|
|
|
17397
17523
|
selector: "enum";
|
|
17398
17524
|
modifiers?: ("exported" | "unused")[];
|
|
17399
17525
|
} | {
|
|
17526
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17400
17527
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17401
17528
|
failureMessage?: string;
|
|
17402
17529
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -17408,6 +17535,7 @@ type FlawlessNamingConvention = ({
|
|
|
17408
17535
|
selector: "typeParameter";
|
|
17409
17536
|
modifiers?: ("unused")[];
|
|
17410
17537
|
} | {
|
|
17538
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
17411
17539
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
17412
17540
|
failureMessage?: string;
|
|
17413
17541
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -27273,6 +27401,22 @@ interface OptionsOverridesTypeAware extends OptionsOverrides {
|
|
|
27273
27401
|
overridesTypeAware?: NonNullable<TypedFlatConfigItem["rules"]>;
|
|
27274
27402
|
}
|
|
27275
27403
|
interface NamingConfig extends OptionsOverridesTypeAware {
|
|
27404
|
+
/**
|
|
27405
|
+
* Words that keep their own casing inside a name when checking
|
|
27406
|
+
* `strictCamelCase` / `StrictPascalCase`, so an identifier may mirror the
|
|
27407
|
+
* type it holds - `targetCFrame` rather than `targetCframe`. The rest of
|
|
27408
|
+
* the name is still checked.
|
|
27409
|
+
*
|
|
27410
|
+
* `true` uses `ROBLOX_ALLOWED_WORDS`, the list generated from
|
|
27411
|
+
* `@rbxts/types`. An array uses exactly those words; spread
|
|
27412
|
+
* `ROBLOX_ALLOWED_WORDS` into it to extend rather than replace.
|
|
27413
|
+
*
|
|
27414
|
+
* Applies to every selector, including those passed via `selectors`. A
|
|
27415
|
+
* selector opts out with its own `allowedWords: []`.
|
|
27416
|
+
*
|
|
27417
|
+
* @default false
|
|
27418
|
+
*/
|
|
27419
|
+
allowedWords?: Array<string> | boolean;
|
|
27276
27420
|
/**
|
|
27277
27421
|
* Whether the project targets Roblox. Enables `@rbxts/react`
|
|
27278
27422
|
* type-reference matchers in the TSX config so React components and
|
|
@@ -27905,6 +28049,9 @@ declare function isentinel<const O extends Omit<OptionsConfig, "namedConfigs"> &
|
|
|
27905
28049
|
namedConfigs?: boolean;
|
|
27906
28050
|
}, const C extends Array<Awaitable<Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>>(options: CatchAllOptionsArgument<O>, ...userConfigs: C & ContextualItems<C, UserConfigElement, TypedFlatConfigItem> & RequireNamedItems<O> & ValidateUserConfigs<C, O>): Promise<FlatConfigComposer<TypedFlatConfigItem, ConfigNames>>;
|
|
27907
28051
|
//#endregion
|
|
28052
|
+
//#region src/generated/roblox-allowed-words.d.ts
|
|
28053
|
+
declare const ROBLOX_ALLOWED_WORDS: ReadonlyArray<string>;
|
|
28054
|
+
//#endregion
|
|
27908
28055
|
//#region src/globs.d.ts
|
|
27909
28056
|
declare const GLOB_ROOT: string[];
|
|
27910
28057
|
declare const GLOB_ROOT_SRC: string[];
|
|
@@ -28186,4 +28333,4 @@ declare function unicorn({ complementIgnores, nameReplacements, roblox, root: cu
|
|
|
28186
28333
|
//#region src/eslint/configs/yaml.d.ts
|
|
28187
28334
|
declare function yaml({ files, overrides, stylistic }?: OptionsFiles & OptionsOverrides & OptionsStylistic): Promise<Array<TypedFlatConfigItem>>;
|
|
28188
28335
|
//#endregion
|
|
28189
|
-
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 };
|
|
28336
|
+
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, ROBLOX_ALLOWED_WORDS, 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 };
|
package/dist/index.mjs
CHANGED
|
@@ -2689,12 +2689,137 @@ function markdown({ componentExts: componentExtensions = [], files = [GLOB_MARKD
|
|
|
2689
2689
|
];
|
|
2690
2690
|
}
|
|
2691
2691
|
//#endregion
|
|
2692
|
+
//#region src/generated/roblox-allowed-words.ts
|
|
2693
|
+
const ROBLOX_ALLOWED_WORDS = [
|
|
2694
|
+
"AdUIEventType",
|
|
2695
|
+
"AdUIType",
|
|
2696
|
+
"AnimationNodeBlend2DInputMode",
|
|
2697
|
+
"CFrame",
|
|
2698
|
+
"CloudCRUDService",
|
|
2699
|
+
"CreationDBService",
|
|
2700
|
+
"CrossDMScriptChangeListener",
|
|
2701
|
+
"DebuggerUIService",
|
|
2702
|
+
"FACSDataLod",
|
|
2703
|
+
"IKCollisionsMode",
|
|
2704
|
+
"IKControl",
|
|
2705
|
+
"ILegacyStudioBridge",
|
|
2706
|
+
"IXPLoadingStatus",
|
|
2707
|
+
"IXPService",
|
|
2708
|
+
"MLModelDeliveryService",
|
|
2709
|
+
"MLService",
|
|
2710
|
+
"MLSession",
|
|
2711
|
+
"PVAdornment",
|
|
2712
|
+
"PVInstance",
|
|
2713
|
+
"PackageUIService",
|
|
2714
|
+
"Path2DControlPoint",
|
|
2715
|
+
"QDir",
|
|
2716
|
+
"QFont",
|
|
2717
|
+
"RBXObject",
|
|
2718
|
+
"RBXScriptConnection",
|
|
2719
|
+
"RBXScriptSignal",
|
|
2720
|
+
"RTAnimationTracker",
|
|
2721
|
+
"TextXAlignment",
|
|
2722
|
+
"TextYAlignment",
|
|
2723
|
+
"UDim",
|
|
2724
|
+
"UGCAvatarService",
|
|
2725
|
+
"UIAspectRatioConstraint",
|
|
2726
|
+
"UIBase",
|
|
2727
|
+
"UICaptureMode",
|
|
2728
|
+
"UIComponent",
|
|
2729
|
+
"UIConstraint",
|
|
2730
|
+
"UICorner",
|
|
2731
|
+
"UIDragDetector",
|
|
2732
|
+
"UIDragSpeedAxisMapping",
|
|
2733
|
+
"UIFlexAlignment",
|
|
2734
|
+
"UIFlexItem",
|
|
2735
|
+
"UIFlexMode",
|
|
2736
|
+
"UIGradient",
|
|
2737
|
+
"UIGridLayout",
|
|
2738
|
+
"UIGridStyleLayout",
|
|
2739
|
+
"UILayout",
|
|
2740
|
+
"UIListLayout",
|
|
2741
|
+
"UIPadding",
|
|
2742
|
+
"UIPageLayout",
|
|
2743
|
+
"UIScale",
|
|
2744
|
+
"UIShadow",
|
|
2745
|
+
"UISizeConstraint",
|
|
2746
|
+
"UIStroke",
|
|
2747
|
+
"UITableLayout",
|
|
2748
|
+
"UITextSizeConstraint",
|
|
2749
|
+
"UITheme",
|
|
2750
|
+
"VRComfortSetting",
|
|
2751
|
+
"VRControllerModelMode",
|
|
2752
|
+
"VRDeviceType",
|
|
2753
|
+
"VRLaserPointerMode",
|
|
2754
|
+
"VRSafetyBubbleMode",
|
|
2755
|
+
"VRScaling",
|
|
2756
|
+
"VRService",
|
|
2757
|
+
"VRSessionState",
|
|
2758
|
+
"VRStatusService",
|
|
2759
|
+
"VRTouchpad",
|
|
2760
|
+
"ZIndexBehavior"
|
|
2761
|
+
];
|
|
2762
|
+
//#endregion
|
|
2692
2763
|
//#region src/eslint/configs/naming.ts
|
|
2693
2764
|
init_globs();
|
|
2694
2765
|
const RBXTS_REACT = "@rbxts/react";
|
|
2766
|
+
/**
|
|
2767
|
+
* Component-valued types from `@rbxts/react`.
|
|
2768
|
+
*
|
|
2769
|
+
* `ComponentType` is an alias for `ComponentClass | FunctionComponent`, and the
|
|
2770
|
+
* type matcher splits unions before matching, so both members have to be listed
|
|
2771
|
+
* for a `ComponentType`-annotated name to match.
|
|
2772
|
+
*/
|
|
2773
|
+
const REACT_COMPONENT_TYPES = [
|
|
2774
|
+
{
|
|
2775
|
+
name: "ComponentClass",
|
|
2776
|
+
from: RBXTS_REACT
|
|
2777
|
+
},
|
|
2778
|
+
{
|
|
2779
|
+
name: "Context",
|
|
2780
|
+
from: RBXTS_REACT
|
|
2781
|
+
},
|
|
2782
|
+
{
|
|
2783
|
+
name: "ExoticComponent",
|
|
2784
|
+
from: RBXTS_REACT
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
name: "FC",
|
|
2788
|
+
from: RBXTS_REACT
|
|
2789
|
+
},
|
|
2790
|
+
{
|
|
2791
|
+
name: "ForwardRefExoticComponent",
|
|
2792
|
+
from: RBXTS_REACT
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
name: "FunctionComponent",
|
|
2796
|
+
from: RBXTS_REACT
|
|
2797
|
+
},
|
|
2798
|
+
{
|
|
2799
|
+
name: "LazyExoticComponent",
|
|
2800
|
+
from: RBXTS_REACT
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
name: "MemoExoticComponent",
|
|
2804
|
+
from: RBXTS_REACT
|
|
2805
|
+
},
|
|
2806
|
+
{
|
|
2807
|
+
name: "NamedExoticComponent",
|
|
2808
|
+
from: RBXTS_REACT
|
|
2809
|
+
}
|
|
2810
|
+
];
|
|
2811
|
+
const REACT_ELEMENT_RETURN_TYPES = [{ returns: {
|
|
2812
|
+
name: "Element",
|
|
2813
|
+
from: RBXTS_REACT
|
|
2814
|
+
} }, { returns: {
|
|
2815
|
+
name: "ReactNode",
|
|
2816
|
+
from: RBXTS_REACT
|
|
2817
|
+
} }];
|
|
2695
2818
|
async function naming(options = {}) {
|
|
2696
|
-
const { overridesTypeAware = {}, roblox: isRoblox = true, selectors = [], selectorsTsx = [], typeAware = true } = options;
|
|
2819
|
+
const { allowedWords = false, overridesTypeAware = {}, roblox: isRoblox = true, selectors = [], selectorsTsx = [], typeAware = true } = options;
|
|
2697
2820
|
const eslintPluginFlawless = await interopDefault(import("eslint-plugin-flawless"));
|
|
2821
|
+
const configuredWords = allowedWords === true ? ROBLOX_ALLOWED_WORDS : allowedWords;
|
|
2822
|
+
const words = configuredWords === false || configuredWords.length === 0 ? void 0 : configuredWords;
|
|
2698
2823
|
const tsFilesTypeAware = [GLOB_TS];
|
|
2699
2824
|
const tsxFilesTypeAware = [GLOB_TSX];
|
|
2700
2825
|
const ignoresTypeAware = options.ignoresTypeAware ?? [`**/*.md/**`, "**/*.d.{,c,m}ts"];
|
|
@@ -2702,7 +2827,8 @@ async function naming(options = {}) {
|
|
|
2702
2827
|
return [
|
|
2703
2828
|
{
|
|
2704
2829
|
name: "isentinel/naming/setup",
|
|
2705
|
-
plugins: { flawless: eslintPluginFlawless }
|
|
2830
|
+
plugins: { flawless: eslintPluginFlawless },
|
|
2831
|
+
...words !== void 0 ? { settings: { flawless: { namingConvention: { allowedWords: words } } } } : {}
|
|
2706
2832
|
},
|
|
2707
2833
|
...isTypeAware ? [{
|
|
2708
2834
|
name: "isentinel/naming/ts/rules-type-aware",
|
|
@@ -2720,6 +2846,7 @@ async function naming(options = {}) {
|
|
|
2720
2846
|
format: null,
|
|
2721
2847
|
selector: "import"
|
|
2722
2848
|
},
|
|
2849
|
+
...isRoblox ? reactSelectors() : [],
|
|
2723
2850
|
{
|
|
2724
2851
|
format: null,
|
|
2725
2852
|
modifiers: ["destructured"],
|
|
@@ -2883,38 +3010,7 @@ async function naming(options = {}) {
|
|
|
2883
3010
|
leadingUnderscore: "allow",
|
|
2884
3011
|
selector: "variable"
|
|
2885
3012
|
},
|
|
2886
|
-
...isRoblox ? [
|
|
2887
|
-
format: ["StrictPascalCase"],
|
|
2888
|
-
selector: ["parameter", "variable"],
|
|
2889
|
-
types: [
|
|
2890
|
-
{
|
|
2891
|
-
name: "Context",
|
|
2892
|
-
from: RBXTS_REACT
|
|
2893
|
-
},
|
|
2894
|
-
{
|
|
2895
|
-
name: "FC",
|
|
2896
|
-
from: RBXTS_REACT
|
|
2897
|
-
},
|
|
2898
|
-
{
|
|
2899
|
-
name: "FunctionComponent",
|
|
2900
|
-
from: RBXTS_REACT
|
|
2901
|
-
}
|
|
2902
|
-
]
|
|
2903
|
-
}, {
|
|
2904
|
-
format: ["strictCamelCase", "StrictPascalCase"],
|
|
2905
|
-
selector: [
|
|
2906
|
-
"parameter",
|
|
2907
|
-
"typeMethod",
|
|
2908
|
-
"variable"
|
|
2909
|
-
],
|
|
2910
|
-
types: [{ returns: {
|
|
2911
|
-
name: "Element",
|
|
2912
|
-
from: RBXTS_REACT
|
|
2913
|
-
} }, { returns: {
|
|
2914
|
-
name: "ReactNode",
|
|
2915
|
-
from: RBXTS_REACT
|
|
2916
|
-
} }]
|
|
2917
|
-
}] : [],
|
|
3013
|
+
...isRoblox ? reactSelectors() : [],
|
|
2918
3014
|
{
|
|
2919
3015
|
format: null,
|
|
2920
3016
|
modifiers: ["destructured"],
|
|
@@ -3036,6 +3132,34 @@ async function naming(options = {}) {
|
|
|
3036
3132
|
}] : []
|
|
3037
3133
|
];
|
|
3038
3134
|
}
|
|
3135
|
+
/**
|
|
3136
|
+
* Selectors that let React component values carry component casing.
|
|
3137
|
+
*
|
|
3138
|
+
* @returns The naming-convention selectors for `@rbxts/react` types.
|
|
3139
|
+
*/
|
|
3140
|
+
function reactSelectors() {
|
|
3141
|
+
return [
|
|
3142
|
+
{
|
|
3143
|
+
format: ["StrictPascalCase"],
|
|
3144
|
+
selector: ["parameter", "variable"],
|
|
3145
|
+
types: REACT_COMPONENT_TYPES
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
format: ["strictCamelCase", "StrictPascalCase"],
|
|
3149
|
+
selector: ["classProperty", "typeProperty"],
|
|
3150
|
+
types: REACT_COMPONENT_TYPES
|
|
3151
|
+
},
|
|
3152
|
+
{
|
|
3153
|
+
format: ["strictCamelCase", "StrictPascalCase"],
|
|
3154
|
+
selector: [
|
|
3155
|
+
"parameter",
|
|
3156
|
+
"typeMethod",
|
|
3157
|
+
"variable"
|
|
3158
|
+
],
|
|
3159
|
+
types: REACT_ELEMENT_RETURN_TYPES
|
|
3160
|
+
}
|
|
3161
|
+
];
|
|
3162
|
+
}
|
|
3039
3163
|
//#endregion
|
|
3040
3164
|
//#region src/rules/node.ts
|
|
3041
3165
|
/**
|
|
@@ -19964,4 +20088,4 @@ async function isentinel(options, ...userConfigs) {
|
|
|
19964
20088
|
return composer;
|
|
19965
20089
|
}
|
|
19966
20090
|
//#endregion
|
|
19967
|
-
export { 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, MARKDOWN_PROCESSOR_NAME, StylisticConfigDefaults, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isAgentAutofixDisabled, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, loadSmallRulesPlugin, markdown, naming, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, smallRules, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
|
|
20091
|
+
export { 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, MARKDOWN_PROCESSOR_NAME, ROBLOX_ALLOWED_WORDS, StylisticConfigDefaults, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isAgentAutofixDisabled, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, loadSmallRulesPlugin, markdown, naming, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, smallRules, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
|
package/dist/lint-cli.mjs
CHANGED
|
@@ -38,7 +38,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
38
38
|
}) : target, mod));
|
|
39
39
|
//#endregion
|
|
40
40
|
//#region package.json
|
|
41
|
-
var version = "6.0.0-beta.
|
|
41
|
+
var version = "6.0.0-beta.40";
|
|
42
42
|
//#endregion
|
|
43
43
|
//#region src/lint-cli/lib/cli/types.ts
|
|
44
44
|
/**
|
package/dist/oxlint.d.mts
CHANGED
|
@@ -4487,107 +4487,107 @@ interface RuleOptions {
|
|
|
4487
4487
|
'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
|
|
4488
4488
|
/**
|
|
4489
4489
|
* Enforce arrow function return style based on line length
|
|
4490
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4490
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/arrow-return-style/documentation.md
|
|
4491
4491
|
*/
|
|
4492
4492
|
'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
|
|
4493
4493
|
/**
|
|
4494
4494
|
* Disallow shorthand boolean JSX attributes
|
|
4495
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4495
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-boolean/documentation.md
|
|
4496
4496
|
*/
|
|
4497
4497
|
'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
|
|
4498
4498
|
/**
|
|
4499
4499
|
* Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
|
|
4500
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4500
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-fragment/documentation.md
|
|
4501
4501
|
*/
|
|
4502
4502
|
'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
|
|
4503
4503
|
/**
|
|
4504
4504
|
* Enforce a maximum number of lines of code in a function
|
|
4505
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4505
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/max-lines-per-function/documentation.md
|
|
4506
4506
|
*/
|
|
4507
4507
|
'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
|
|
4508
4508
|
/**
|
|
4509
4509
|
* Enforce naming conventions for everything across a codebase
|
|
4510
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4510
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/naming-convention/documentation.md
|
|
4511
4511
|
*/
|
|
4512
4512
|
'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
|
|
4513
4513
|
/**
|
|
4514
4514
|
* Disallow conditional logic in tests
|
|
4515
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4515
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-conditional-in-test/documentation.md
|
|
4516
4516
|
*/
|
|
4517
4517
|
'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
|
|
4518
4518
|
/**
|
|
4519
4519
|
* Disallow anonymous arrow functions as export default declarations
|
|
4520
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4520
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-export-default-arrow/documentation.md
|
|
4521
4521
|
*/
|
|
4522
4522
|
'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
|
|
4523
4523
|
/**
|
|
4524
4524
|
* Disallow exact equality checks involving floating-point-sensitive values
|
|
4525
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4525
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-floating-point-equality/documentation.md
|
|
4526
4526
|
*/
|
|
4527
4527
|
'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
|
|
4528
4528
|
/**
|
|
4529
4529
|
* Disallow tsconfig options that redundantly re-set a value already provided by an extended config
|
|
4530
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4530
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-redundant-tsconfig-options/documentation.md
|
|
4531
4531
|
*/
|
|
4532
4532
|
'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
|
|
4533
4533
|
/**
|
|
4534
4534
|
* Disallow unnecessary usage of 'useCallback'
|
|
4535
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4535
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-callback/documentation.md
|
|
4536
4536
|
*/
|
|
4537
4537
|
'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
|
|
4538
4538
|
/**
|
|
4539
4539
|
* Disallow unnecessary usage of 'useMemo'
|
|
4540
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4540
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-memo/documentation.md
|
|
4541
4541
|
*/
|
|
4542
4542
|
'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
|
|
4543
4543
|
/**
|
|
4544
4544
|
* Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
|
|
4545
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4545
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/padding-after-expect-assertions/documentation.md
|
|
4546
4546
|
*/
|
|
4547
4547
|
'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
|
|
4548
4548
|
/**
|
|
4549
4549
|
* Enforce destructuring assignment for component props
|
|
4550
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4550
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-destructuring-assignment/documentation.md
|
|
4551
4551
|
*/
|
|
4552
4552
|
'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
|
|
4553
4553
|
/**
|
|
4554
4554
|
* Prefer having the last statement in a test be an assertion
|
|
4555
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4555
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-ending-with-an-expect/documentation.md
|
|
4556
4556
|
*/
|
|
4557
4557
|
'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
|
|
4558
4558
|
/**
|
|
4559
4559
|
* Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
|
|
4560
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4560
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-expect-assertions-count/documentation.md
|
|
4561
4561
|
*/
|
|
4562
4562
|
'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
|
|
4563
4563
|
/**
|
|
4564
4564
|
* Enforce destructuring parameters in the function signature
|
|
4565
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4565
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-parameter-destructuring/documentation.md
|
|
4566
4566
|
*/
|
|
4567
4567
|
'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
|
|
4568
4568
|
/**
|
|
4569
4569
|
* Enforce that function component props are read-only
|
|
4570
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4570
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-read-only-props/documentation.md
|
|
4571
4571
|
*/
|
|
4572
4572
|
'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
|
|
4573
4573
|
/**
|
|
4574
4574
|
* Disallow impure calls such as `math.random` or `os.clock` during render
|
|
4575
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4575
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/purity/documentation.md
|
|
4576
4576
|
*/
|
|
4577
4577
|
'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
|
|
4578
4578
|
/**
|
|
4579
4579
|
* Prefer named imports for React runtime values and the React namespace for React types
|
|
4580
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4580
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/react-namespace/documentation.md
|
|
4581
4581
|
*/
|
|
4582
4582
|
'flawless/react-namespace'?: Linter.RuleEntry<[]>;
|
|
4583
4583
|
/**
|
|
4584
4584
|
* Enforce a configured sort order for TOML keys and tables
|
|
4585
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4585
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/toml-sort-keys/documentation.md
|
|
4586
4586
|
*/
|
|
4587
4587
|
'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
|
|
4588
4588
|
/**
|
|
4589
4589
|
* Enforce blank lines around top-level YAML block collection keys
|
|
4590
|
-
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.
|
|
4590
|
+
* @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/yaml-block-key-blank-lines/documentation.md
|
|
4591
4591
|
*/
|
|
4592
4592
|
'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
|
|
4593
4593
|
/**
|
|
@@ -14470,6 +14470,7 @@ type FlawlessMaxLinesPerFunction = [] | [{
|
|
|
14470
14470
|
skipComments?: boolean;
|
|
14471
14471
|
}];
|
|
14472
14472
|
// ----- flawless/naming-convention -----
|
|
14473
|
+
type _FlawlessNamingConvention_AllowedWordsConfig = string[];
|
|
14473
14474
|
type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPredefinedFormats[] | null);
|
|
14474
14475
|
type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
|
|
14475
14476
|
type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
|
|
@@ -14499,6 +14500,7 @@ type _FlawlessNamingConvention_TypeReferenceMatcher = (({
|
|
|
14499
14500
|
});
|
|
14500
14501
|
});
|
|
14501
14502
|
type FlawlessNamingConvention = ({
|
|
14503
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14502
14504
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14503
14505
|
failureMessage?: string;
|
|
14504
14506
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14508,9 +14510,10 @@ type FlawlessNamingConvention = ({
|
|
|
14508
14510
|
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
14509
14511
|
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14510
14512
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14511
|
-
selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "objectStyleEnum" | "parameterProperty" | "classicAccessor" | "enumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
|
|
14513
|
+
selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "objectStyleEnum" | "parameterProperty" | "classicAccessor" | "enumMember" | "objectStyleEnumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
|
|
14512
14514
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14513
14515
|
} | {
|
|
14516
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14514
14517
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14515
14518
|
failureMessage?: string;
|
|
14516
14519
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14522,6 +14525,7 @@ type FlawlessNamingConvention = ({
|
|
|
14522
14525
|
selector: "default";
|
|
14523
14526
|
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
|
|
14524
14527
|
} | {
|
|
14528
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14525
14529
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14526
14530
|
failureMessage?: string;
|
|
14527
14531
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14533,6 +14537,7 @@ type FlawlessNamingConvention = ({
|
|
|
14533
14537
|
selector: "variableLike";
|
|
14534
14538
|
modifiers?: ("unused" | "async")[];
|
|
14535
14539
|
} | {
|
|
14540
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14536
14541
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14537
14542
|
failureMessage?: string;
|
|
14538
14543
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14545,6 +14550,7 @@ type FlawlessNamingConvention = ({
|
|
|
14545
14550
|
modifiers?: ("const" | "constAsserted" | "destructured" | "exported" | "global" | "unused" | "async")[];
|
|
14546
14551
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14547
14552
|
} | {
|
|
14553
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14548
14554
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14549
14555
|
failureMessage?: string;
|
|
14550
14556
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14557,6 +14563,7 @@ type FlawlessNamingConvention = ({
|
|
|
14557
14563
|
modifiers?: ("exported" | "global" | "unused" | "async")[];
|
|
14558
14564
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14559
14565
|
} | {
|
|
14566
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14560
14567
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14561
14568
|
failureMessage?: string;
|
|
14562
14569
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14569,6 +14576,7 @@ type FlawlessNamingConvention = ({
|
|
|
14569
14576
|
modifiers?: ("destructured" | "unused")[];
|
|
14570
14577
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14571
14578
|
} | {
|
|
14579
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14572
14580
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14573
14581
|
failureMessage?: string;
|
|
14574
14582
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14580,6 +14588,7 @@ type FlawlessNamingConvention = ({
|
|
|
14580
14588
|
selector: "objectStyleEnum";
|
|
14581
14589
|
modifiers?: ("const" | "exported" | "global" | "unused")[];
|
|
14582
14590
|
} | {
|
|
14591
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14583
14592
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14584
14593
|
failureMessage?: string;
|
|
14585
14594
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14591,6 +14600,7 @@ type FlawlessNamingConvention = ({
|
|
|
14591
14600
|
selector: "memberLike";
|
|
14592
14601
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14593
14602
|
} | {
|
|
14603
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14594
14604
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14595
14605
|
failureMessage?: string;
|
|
14596
14606
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14603,6 +14613,7 @@ type FlawlessNamingConvention = ({
|
|
|
14603
14613
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[];
|
|
14604
14614
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14605
14615
|
} | {
|
|
14616
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14606
14617
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14607
14618
|
failureMessage?: string;
|
|
14608
14619
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14615,6 +14626,7 @@ type FlawlessNamingConvention = ({
|
|
|
14615
14626
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
14616
14627
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14617
14628
|
} | {
|
|
14629
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14618
14630
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14619
14631
|
failureMessage?: string;
|
|
14620
14632
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14627,6 +14639,7 @@ type FlawlessNamingConvention = ({
|
|
|
14627
14639
|
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
|
|
14628
14640
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14629
14641
|
} | {
|
|
14642
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14630
14643
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14631
14644
|
failureMessage?: string;
|
|
14632
14645
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14639,6 +14652,7 @@ type FlawlessNamingConvention = ({
|
|
|
14639
14652
|
modifiers?: ("private" | "protected" | "public" | "readonly")[];
|
|
14640
14653
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14641
14654
|
} | {
|
|
14655
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14642
14656
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14643
14657
|
failureMessage?: string;
|
|
14644
14658
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14651,6 +14665,7 @@ type FlawlessNamingConvention = ({
|
|
|
14651
14665
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14652
14666
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14653
14667
|
} | {
|
|
14668
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14654
14669
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14655
14670
|
failureMessage?: string;
|
|
14656
14671
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14663,6 +14678,7 @@ type FlawlessNamingConvention = ({
|
|
|
14663
14678
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14664
14679
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14665
14680
|
} | {
|
|
14681
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14666
14682
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14667
14683
|
failureMessage?: string;
|
|
14668
14684
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14675,6 +14691,7 @@ type FlawlessNamingConvention = ({
|
|
|
14675
14691
|
modifiers?: ("public" | "requiresQuotes" | "async")[];
|
|
14676
14692
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14677
14693
|
} | {
|
|
14694
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14678
14695
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14679
14696
|
failureMessage?: string;
|
|
14680
14697
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14687,6 +14704,7 @@ type FlawlessNamingConvention = ({
|
|
|
14687
14704
|
modifiers?: ("public" | "requiresQuotes")[];
|
|
14688
14705
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14689
14706
|
} | {
|
|
14707
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14690
14708
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14691
14709
|
failureMessage?: string;
|
|
14692
14710
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14699,6 +14717,7 @@ type FlawlessNamingConvention = ({
|
|
|
14699
14717
|
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
|
|
14700
14718
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14701
14719
|
} | {
|
|
14720
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14702
14721
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14703
14722
|
failureMessage?: string;
|
|
14704
14723
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14711,6 +14730,7 @@ type FlawlessNamingConvention = ({
|
|
|
14711
14730
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
14712
14731
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14713
14732
|
} | {
|
|
14733
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14714
14734
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14715
14735
|
failureMessage?: string;
|
|
14716
14736
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14723,6 +14743,7 @@ type FlawlessNamingConvention = ({
|
|
|
14723
14743
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
14724
14744
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14725
14745
|
} | {
|
|
14746
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14726
14747
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14727
14748
|
failureMessage?: string;
|
|
14728
14749
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14735,6 +14756,7 @@ type FlawlessNamingConvention = ({
|
|
|
14735
14756
|
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
|
|
14736
14757
|
types?: _FlawlessNamingConventionTypeMatcher[];
|
|
14737
14758
|
} | {
|
|
14759
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14738
14760
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14739
14761
|
failureMessage?: string;
|
|
14740
14762
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14746,6 +14768,19 @@ type FlawlessNamingConvention = ({
|
|
|
14746
14768
|
selector: "enumMember";
|
|
14747
14769
|
modifiers?: ("requiresQuotes")[];
|
|
14748
14770
|
} | {
|
|
14771
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14772
|
+
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14773
|
+
failureMessage?: string;
|
|
14774
|
+
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
14775
|
+
leadingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
14776
|
+
prefix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14777
|
+
suffix?: _FlawlessNamingConvention_PrefixSuffixConfig;
|
|
14778
|
+
trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
|
|
14779
|
+
filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
|
|
14780
|
+
selector: "objectStyleEnumMember";
|
|
14781
|
+
modifiers?: ("requiresQuotes")[];
|
|
14782
|
+
} | {
|
|
14783
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14749
14784
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14750
14785
|
failureMessage?: string;
|
|
14751
14786
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14757,6 +14792,7 @@ type FlawlessNamingConvention = ({
|
|
|
14757
14792
|
selector: "typeLike";
|
|
14758
14793
|
modifiers?: ("abstract" | "exported" | "unused")[];
|
|
14759
14794
|
} | {
|
|
14795
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14760
14796
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14761
14797
|
failureMessage?: string;
|
|
14762
14798
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14768,6 +14804,7 @@ type FlawlessNamingConvention = ({
|
|
|
14768
14804
|
selector: "class";
|
|
14769
14805
|
modifiers?: ("abstract" | "exported" | "unused")[];
|
|
14770
14806
|
} | {
|
|
14807
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14771
14808
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14772
14809
|
failureMessage?: string;
|
|
14773
14810
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14779,6 +14816,7 @@ type FlawlessNamingConvention = ({
|
|
|
14779
14816
|
selector: "interface";
|
|
14780
14817
|
modifiers?: ("exported" | "unused")[];
|
|
14781
14818
|
} | {
|
|
14819
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14782
14820
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14783
14821
|
failureMessage?: string;
|
|
14784
14822
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14790,6 +14828,7 @@ type FlawlessNamingConvention = ({
|
|
|
14790
14828
|
selector: "typeAlias";
|
|
14791
14829
|
modifiers?: ("exported" | "unused")[];
|
|
14792
14830
|
} | {
|
|
14831
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14793
14832
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14794
14833
|
failureMessage?: string;
|
|
14795
14834
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14801,6 +14840,7 @@ type FlawlessNamingConvention = ({
|
|
|
14801
14840
|
selector: "enum";
|
|
14802
14841
|
modifiers?: ("exported" | "unused")[];
|
|
14803
14842
|
} | {
|
|
14843
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14804
14844
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14805
14845
|
failureMessage?: string;
|
|
14806
14846
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -14812,6 +14852,7 @@ type FlawlessNamingConvention = ({
|
|
|
14812
14852
|
selector: "typeParameter";
|
|
14813
14853
|
modifiers?: ("unused")[];
|
|
14814
14854
|
} | {
|
|
14855
|
+
allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
|
|
14815
14856
|
custom?: _FlawlessNamingConvention_MatchRegexConfig;
|
|
14816
14857
|
failureMessage?: string;
|
|
14817
14858
|
format: _FlawlessNamingConventionFormatOptionsConfig;
|
|
@@ -24628,6 +24669,22 @@ interface OptionsOverridesTypeAware extends OptionsOverrides {
|
|
|
24628
24669
|
overridesTypeAware?: NonNullable<TypedFlatConfigItem["rules"]>;
|
|
24629
24670
|
}
|
|
24630
24671
|
interface NamingConfig extends OptionsOverridesTypeAware {
|
|
24672
|
+
/**
|
|
24673
|
+
* Words that keep their own casing inside a name when checking
|
|
24674
|
+
* `strictCamelCase` / `StrictPascalCase`, so an identifier may mirror the
|
|
24675
|
+
* type it holds - `targetCFrame` rather than `targetCframe`. The rest of
|
|
24676
|
+
* the name is still checked.
|
|
24677
|
+
*
|
|
24678
|
+
* `true` uses `ROBLOX_ALLOWED_WORDS`, the list generated from
|
|
24679
|
+
* `@rbxts/types`. An array uses exactly those words; spread
|
|
24680
|
+
* `ROBLOX_ALLOWED_WORDS` into it to extend rather than replace.
|
|
24681
|
+
*
|
|
24682
|
+
* Applies to every selector, including those passed via `selectors`. A
|
|
24683
|
+
* selector opts out with its own `allowedWords: []`.
|
|
24684
|
+
*
|
|
24685
|
+
* @default false
|
|
24686
|
+
*/
|
|
24687
|
+
allowedWords?: Array<string> | boolean;
|
|
24631
24688
|
/**
|
|
24632
24689
|
* Whether the project targets Roblox. Enables `@rbxts/react`
|
|
24633
24690
|
* type-reference matchers in the TSX config so React components and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isentinel/eslint-config",
|
|
3
|
-
"version": "6.0.0-beta.
|
|
3
|
+
"version": "6.0.0-beta.40",
|
|
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.
|
|
79
|
+
"eslint-plugin-flawless": "1.7.0",
|
|
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.2",
|
|
@@ -113,6 +113,7 @@
|
|
|
113
113
|
"@eslint-react/shared": "5.17.3",
|
|
114
114
|
"@eslint/config-inspector": "3.1.0",
|
|
115
115
|
"@isentinel/tsconfig": "1.2.0",
|
|
116
|
+
"@rbxts/types": "1.0.943",
|
|
116
117
|
"@stylistic/eslint-plugin-migrate": "4.4.1",
|
|
117
118
|
"@total-typescript/shoehorn": "0.1.2",
|
|
118
119
|
"@types/node": "24.1.0",
|
|
@@ -143,7 +144,7 @@
|
|
|
143
144
|
"typescript": "6.0.3",
|
|
144
145
|
"unplugin-unused": "0.5.7",
|
|
145
146
|
"vitest": "4.1.10",
|
|
146
|
-
"@isentinel/eslint-config": "6.0.0-beta.
|
|
147
|
+
"@isentinel/eslint-config": "6.0.0-beta.40"
|
|
147
148
|
},
|
|
148
149
|
"peerDependencies": {
|
|
149
150
|
"@vitest/eslint-plugin": "^1.6.4",
|
|
@@ -205,9 +206,10 @@
|
|
|
205
206
|
"build:inspector": "pnpm build && pnpm dlx @eslint/config-inspector build --config eslint-inspector.config.ts --out-dir ./.eslint-config-inspector",
|
|
206
207
|
"check:extensions": "node scripts/check-package-extensions.ts && node scripts/gen-package-extensions.ts --check",
|
|
207
208
|
"check:published": "node scripts/check-published-extensions.ts",
|
|
209
|
+
"check:roblox-words": "node scripts/roblox-allowed-words-gen.ts --check",
|
|
208
210
|
"check:type-aware": "node scripts/type-aware-gen.ts --check",
|
|
209
211
|
"dev": "npx @eslint/config-inspector --config eslint-inspector.config.ts",
|
|
210
|
-
"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",
|
|
212
|
+
"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/roblox-allowed-words-gen.ts && node scripts/gen-package-extensions.ts",
|
|
211
213
|
"postgen": "echo 'Generation complete!'",
|
|
212
214
|
"lint": "isentinel-lint",
|
|
213
215
|
"oxlint": "oxlint",
|