@isentinel/eslint-config 6.0.0-beta.40 → 6.0.0-beta.42

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 CHANGED
@@ -793,9 +793,16 @@ export default isentinel({
793
793
  ```ts
794
794
  const targetCFrame = new CFrame(); // ok
795
795
  const listLayoutUIPadding = 0; // ok
796
+ const autoZIndex = 0; // ok - properties count, not just types
796
797
  const target_CFrame = 0; // still an error
798
+ const fooXYBar = 0; // still an error - not a Roblox name
799
+ const colorToHSV = 0; // still an error - methods do not count, use `colorToHsv`
797
800
  ```
798
801
 
802
+ The generated list covers type names and data properties, not methods. A call
803
+ spells the API out at the call site, where the naming rules do not reach, so
804
+ `Color3.ToHSV` is no reason to let the variable holding its result skip them.
805
+
799
806
  Pass an array to use exactly those words instead. Spread `ROBLOX_ALLOWED_WORDS`
800
807
  to extend the list rather than replace it:
801
808
 
@@ -814,6 +821,11 @@ selector opts out with its own `allowedWords: []`. Only the two strict formats
814
821
  honour it, so it can never loosen `snake_case` or `UPPER_CASE`, and a word only
815
822
  matches at a hump boundary, so it cannot split an existing hump.
816
823
 
824
+ At the **start** of a `strictCamelCase` name a word also matches with its first
825
+ character lowercased, since that is the only spelling the format allows there —
826
+ `motor6DWeld` and `targetMotor6DPart` both pass. Everywhere else the word has to
827
+ be spelled as the API spells it, so `targetmotor6DPart` is still an error.
828
+
817
829
  #### Oxlint
818
830
 
819
831
  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.40";
12
+ var version = "6.0.0-beta.42";
13
13
  var package_default = {
14
14
  name: "@isentinel/eslint-config",
15
15
  version,
package/dist/index.d.mts CHANGED
@@ -7170,107 +7170,112 @@ interface RuleOptions {
7170
7170
  'eslint-plugin/unique-test-case-names'?: Linter.RuleEntry<[]>;
7171
7171
  /**
7172
7172
  * Enforce arrow function return style based on line length
7173
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/arrow-return-style/documentation.md
7173
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/arrow-return-style/documentation.md
7174
7174
  */
7175
7175
  'flawless/arrow-return-style'?: Linter.RuleEntry<FlawlessArrowReturnStyle>;
7176
7176
  /**
7177
7177
  * Disallow shorthand boolean JSX attributes
7178
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-boolean/documentation.md
7178
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/jsx-shorthand-boolean/documentation.md
7179
7179
  */
7180
7180
  'flawless/jsx-shorthand-boolean'?: Linter.RuleEntry<[]>;
7181
7181
  /**
7182
7182
  * Enforce a consistent fragment form: the shorthand `<>...</>` or a named fragment
7183
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/jsx-shorthand-fragment/documentation.md
7183
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/jsx-shorthand-fragment/documentation.md
7184
7184
  */
7185
7185
  'flawless/jsx-shorthand-fragment'?: Linter.RuleEntry<FlawlessJsxShorthandFragment>;
7186
7186
  /**
7187
7187
  * Enforce a maximum number of lines of code in a function
7188
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/max-lines-per-function/documentation.md
7188
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/max-lines-per-function/documentation.md
7189
7189
  */
7190
7190
  'flawless/max-lines-per-function'?: Linter.RuleEntry<FlawlessMaxLinesPerFunction>;
7191
7191
  /**
7192
7192
  * Enforce naming conventions for everything across a codebase
7193
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/naming-convention/documentation.md
7193
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/naming-convention/documentation.md
7194
7194
  */
7195
7195
  'flawless/naming-convention'?: Linter.RuleEntry<FlawlessNamingConvention>;
7196
7196
  /**
7197
7197
  * Disallow conditional logic in tests
7198
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-conditional-in-test/documentation.md
7198
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-conditional-in-test/documentation.md
7199
7199
  */
7200
7200
  'flawless/no-conditional-in-test'?: Linter.RuleEntry<FlawlessNoConditionalInTest>;
7201
7201
  /**
7202
7202
  * Disallow anonymous arrow functions as export default declarations
7203
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-export-default-arrow/documentation.md
7203
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-export-default-arrow/documentation.md
7204
7204
  */
7205
7205
  'flawless/no-export-default-arrow'?: Linter.RuleEntry<[]>;
7206
7206
  /**
7207
7207
  * Disallow exact equality checks involving floating-point-sensitive values
7208
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-floating-point-equality/documentation.md
7208
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-floating-point-equality/documentation.md
7209
7209
  */
7210
7210
  'flawless/no-floating-point-equality'?: Linter.RuleEntry<[]>;
7211
7211
  /**
7212
7212
  * Disallow tsconfig options that redundantly re-set a value already provided by an extended config
7213
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-redundant-tsconfig-options/documentation.md
7213
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-redundant-tsconfig-options/documentation.md
7214
7214
  */
7215
7215
  'flawless/no-redundant-tsconfig-options'?: Linter.RuleEntry<[]>;
7216
+ /**
7217
+ * Disallow mocks created once and shared between tests
7218
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-shared-mocks/documentation.md
7219
+ */
7220
+ 'flawless/no-shared-mocks'?: Linter.RuleEntry<[]>;
7216
7221
  /**
7217
7222
  * Disallow unnecessary usage of 'useCallback'
7218
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-callback/documentation.md
7223
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-unnecessary-use-callback/documentation.md
7219
7224
  */
7220
7225
  'flawless/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
7221
7226
  /**
7222
7227
  * Disallow unnecessary usage of 'useMemo'
7223
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/no-unnecessary-use-memo/documentation.md
7228
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/no-unnecessary-use-memo/documentation.md
7224
7229
  */
7225
7230
  'flawless/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
7226
7231
  /**
7227
7232
  * Enforce a blank line after `expect.assertions` and `expect.hasAssertions`
7228
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/padding-after-expect-assertions/documentation.md
7233
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/padding-after-expect-assertions/documentation.md
7229
7234
  */
7230
7235
  'flawless/padding-after-expect-assertions'?: Linter.RuleEntry<[]>;
7231
7236
  /**
7232
7237
  * Enforce destructuring assignment for component props
7233
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-destructuring-assignment/documentation.md
7238
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/prefer-destructuring-assignment/documentation.md
7234
7239
  */
7235
7240
  'flawless/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
7236
7241
  /**
7237
7242
  * Prefer having the last statement in a test be an assertion
7238
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-ending-with-an-expect/documentation.md
7243
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/prefer-ending-with-an-expect/documentation.md
7239
7244
  */
7240
7245
  'flawless/prefer-ending-with-an-expect'?: Linter.RuleEntry<FlawlessPreferEndingWithAnExpect>;
7241
7246
  /**
7242
7247
  * Prefer `expect.assertions(<count>)` over `expect.hasAssertions()`
7243
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-expect-assertions-count/documentation.md
7248
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/prefer-expect-assertions-count/documentation.md
7244
7249
  */
7245
7250
  'flawless/prefer-expect-assertions-count'?: Linter.RuleEntry<[]>;
7246
7251
  /**
7247
7252
  * Enforce destructuring parameters in the function signature
7248
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-parameter-destructuring/documentation.md
7253
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/prefer-parameter-destructuring/documentation.md
7249
7254
  */
7250
7255
  'flawless/prefer-parameter-destructuring'?: Linter.RuleEntry<FlawlessPreferParameterDestructuring>;
7251
7256
  /**
7252
7257
  * Enforce that function component props are read-only
7253
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/prefer-read-only-props/documentation.md
7258
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/prefer-read-only-props/documentation.md
7254
7259
  */
7255
7260
  'flawless/prefer-read-only-props'?: Linter.RuleEntry<FlawlessPreferReadOnlyProps>;
7256
7261
  /**
7257
7262
  * Disallow impure calls such as `math.random` or `os.clock` during render
7258
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/purity/documentation.md
7263
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/purity/documentation.md
7259
7264
  */
7260
7265
  'flawless/purity'?: Linter.RuleEntry<FlawlessPurity>;
7261
7266
  /**
7262
7267
  * Prefer named imports for React runtime values and the React namespace for React types
7263
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/react-namespace/documentation.md
7268
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/react-namespace/documentation.md
7264
7269
  */
7265
7270
  'flawless/react-namespace'?: Linter.RuleEntry<[]>;
7266
7271
  /**
7267
7272
  * Enforce a configured sort order for TOML keys and tables
7268
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/toml-sort-keys/documentation.md
7273
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/toml-sort-keys/documentation.md
7269
7274
  */
7270
7275
  'flawless/toml-sort-keys'?: Linter.RuleEntry<FlawlessTomlSortKeys>;
7271
7276
  /**
7272
7277
  * Enforce blank lines around top-level YAML block collection keys
7273
- * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.7.0/src/rules/yaml-block-key-blank-lines/documentation.md
7278
+ * @see https://github.com/christopher-buss/eslint-plugin-flawless/blob/v1.11.0/src/rules/yaml-block-key-blank-lines/documentation.md
7274
7279
  */
7275
7280
  'flawless/yaml-block-key-blank-lines'?: Linter.RuleEntry<[]>;
7276
7281
  /**
@@ -10001,7 +10006,7 @@ interface RuleOptions {
10001
10006
  * Enforce that names for `scripts` are in kebab case (optionally separated by colons).
10002
10007
  * @see https://eslint-plugin-package-json.dev/rules/scripts-name-casing
10003
10008
  */
10004
- 'package-json/scripts-name-casing'?: Linter.RuleEntry<[]>;
10009
+ 'package-json/scripts-name-casing'?: Linter.RuleEntry<PackageJsonScriptsNameCasing>;
10005
10010
  /**
10006
10011
  * Selected collections must be in a consistent order (lexicographical for most; lifecycle-aware for scripts).
10007
10012
  * @see https://eslint-plugin-package-json.dev/rules/sort-collections
@@ -17158,6 +17163,16 @@ type _FlawlessNamingConventionFormatOptionsConfig = (_FlawlessNamingConventionPr
17158
17163
  type _FlawlessNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
17159
17164
  type _FlawlessNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
17160
17165
  type _FlawlessNamingConvention_PrefixSuffixConfig = string[];
17166
+ type _FlawlessNamingConvention_TypeArgumentReferenceMatcher = (_FlawlessNamingConventionTypeArgumentReferenceMatcher & {
17167
+ name?: string;
17168
+ from?: string;
17169
+ });
17170
+ type _FlawlessNamingConventionTypeArgumentReferenceMatcher = ({
17171
+ [k: string]: unknown | undefined;
17172
+ } | {
17173
+ [k: string]: unknown | undefined;
17174
+ });
17175
+ type _FlawlessNamingConvention_TypeArgumentOfConfig = _FlawlessNamingConvention_TypeArgumentReferenceMatcher[];
17161
17176
  type _FlawlessNamingConventionTypeMatcher = (("boolean" | "string" | "number" | "function" | "array") | _FlawlessNamingConvention_TypeReferenceMatcher);
17162
17177
  type _FlawlessNamingConvention_TypeReferenceMatcher = (_FlawlessNamingConventionTypeReferenceMatcher & {
17163
17178
  name?: string;
@@ -17168,11 +17183,15 @@ type _FlawlessNamingConventionTypeReferenceMatcher = ({
17168
17183
  [k: string]: unknown | undefined;
17169
17184
  } | {
17170
17185
  [k: string]: unknown | undefined;
17186
+ } | {
17187
+ [k: string]: unknown | undefined;
17171
17188
  });
17172
17189
  type _FlawlessNamingConvention_TypeReferenceMatcher = (({
17173
17190
  [k: string]: unknown | undefined;
17174
17191
  } | {
17175
17192
  [k: string]: unknown | undefined;
17193
+ } | {
17194
+ [k: string]: unknown | undefined;
17176
17195
  }) & {
17177
17196
  name?: string;
17178
17197
  from?: string;
@@ -17180,6 +17199,8 @@ type _FlawlessNamingConvention_TypeReferenceMatcher = (({
17180
17199
  [k: string]: unknown | undefined;
17181
17200
  } | {
17182
17201
  [k: string]: unknown | undefined;
17202
+ } | {
17203
+ [k: string]: unknown | undefined;
17183
17204
  });
17184
17205
  });
17185
17206
  type FlawlessNamingConvention = ({
@@ -17194,6 +17215,7 @@ type FlawlessNamingConvention = ({
17194
17215
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17195
17216
  modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
17196
17217
  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")[];
17218
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17197
17219
  types?: _FlawlessNamingConventionTypeMatcher[];
17198
17220
  } | {
17199
17221
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17206,6 +17228,7 @@ type FlawlessNamingConvention = ({
17206
17228
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17207
17229
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17208
17230
  selector: "default";
17231
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17209
17232
  modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace" | "constAsserted")[];
17210
17233
  } | {
17211
17234
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17218,6 +17241,7 @@ type FlawlessNamingConvention = ({
17218
17241
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17219
17242
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17220
17243
  selector: "variableLike";
17244
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17221
17245
  modifiers?: ("unused" | "async")[];
17222
17246
  } | {
17223
17247
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17230,6 +17254,7 @@ type FlawlessNamingConvention = ({
17230
17254
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17231
17255
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17232
17256
  selector: "variable";
17257
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17233
17258
  modifiers?: ("const" | "constAsserted" | "destructured" | "exported" | "global" | "unused" | "async")[];
17234
17259
  types?: _FlawlessNamingConventionTypeMatcher[];
17235
17260
  } | {
@@ -17243,6 +17268,7 @@ type FlawlessNamingConvention = ({
17243
17268
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17244
17269
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17245
17270
  selector: "function";
17271
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17246
17272
  modifiers?: ("exported" | "global" | "unused" | "async")[];
17247
17273
  types?: _FlawlessNamingConventionTypeMatcher[];
17248
17274
  } | {
@@ -17256,6 +17282,7 @@ type FlawlessNamingConvention = ({
17256
17282
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17257
17283
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17258
17284
  selector: "parameter";
17285
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17259
17286
  modifiers?: ("destructured" | "unused")[];
17260
17287
  types?: _FlawlessNamingConventionTypeMatcher[];
17261
17288
  } | {
@@ -17269,6 +17296,7 @@ type FlawlessNamingConvention = ({
17269
17296
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17270
17297
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17271
17298
  selector: "objectStyleEnum";
17299
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17272
17300
  modifiers?: ("const" | "exported" | "global" | "unused")[];
17273
17301
  } | {
17274
17302
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17281,6 +17309,7 @@ type FlawlessNamingConvention = ({
17281
17309
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17282
17310
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17283
17311
  selector: "memberLike";
17312
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17284
17313
  modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
17285
17314
  } | {
17286
17315
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17293,6 +17322,7 @@ type FlawlessNamingConvention = ({
17293
17322
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17294
17323
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17295
17324
  selector: "classProperty";
17325
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17296
17326
  modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[];
17297
17327
  types?: _FlawlessNamingConventionTypeMatcher[];
17298
17328
  } | {
@@ -17306,6 +17336,7 @@ type FlawlessNamingConvention = ({
17306
17336
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17307
17337
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17308
17338
  selector: "objectLiteralProperty";
17339
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17309
17340
  modifiers?: ("public" | "requiresQuotes")[];
17310
17341
  types?: _FlawlessNamingConventionTypeMatcher[];
17311
17342
  } | {
@@ -17319,6 +17350,7 @@ type FlawlessNamingConvention = ({
17319
17350
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17320
17351
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17321
17352
  selector: "typeProperty";
17353
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17322
17354
  modifiers?: ("public" | "readonly" | "requiresQuotes")[];
17323
17355
  types?: _FlawlessNamingConventionTypeMatcher[];
17324
17356
  } | {
@@ -17332,6 +17364,7 @@ type FlawlessNamingConvention = ({
17332
17364
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17333
17365
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17334
17366
  selector: "parameterProperty";
17367
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17335
17368
  modifiers?: ("private" | "protected" | "public" | "readonly")[];
17336
17369
  types?: _FlawlessNamingConventionTypeMatcher[];
17337
17370
  } | {
@@ -17345,6 +17378,7 @@ type FlawlessNamingConvention = ({
17345
17378
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17346
17379
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17347
17380
  selector: "property";
17381
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17348
17382
  modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
17349
17383
  types?: _FlawlessNamingConventionTypeMatcher[];
17350
17384
  } | {
@@ -17358,6 +17392,7 @@ type FlawlessNamingConvention = ({
17358
17392
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17359
17393
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17360
17394
  selector: "classMethod";
17395
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17361
17396
  modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
17362
17397
  types?: _FlawlessNamingConventionTypeMatcher[];
17363
17398
  } | {
@@ -17371,6 +17406,7 @@ type FlawlessNamingConvention = ({
17371
17406
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17372
17407
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17373
17408
  selector: "objectLiteralMethod";
17409
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17374
17410
  modifiers?: ("public" | "requiresQuotes" | "async")[];
17375
17411
  types?: _FlawlessNamingConventionTypeMatcher[];
17376
17412
  } | {
@@ -17384,6 +17420,7 @@ type FlawlessNamingConvention = ({
17384
17420
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17385
17421
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17386
17422
  selector: "typeMethod";
17423
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17387
17424
  modifiers?: ("public" | "requiresQuotes")[];
17388
17425
  types?: _FlawlessNamingConventionTypeMatcher[];
17389
17426
  } | {
@@ -17397,6 +17434,7 @@ type FlawlessNamingConvention = ({
17397
17434
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17398
17435
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17399
17436
  selector: "method";
17437
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17400
17438
  modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
17401
17439
  types?: _FlawlessNamingConventionTypeMatcher[];
17402
17440
  } | {
@@ -17410,6 +17448,7 @@ type FlawlessNamingConvention = ({
17410
17448
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17411
17449
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17412
17450
  selector: "classicAccessor";
17451
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17413
17452
  modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
17414
17453
  types?: _FlawlessNamingConventionTypeMatcher[];
17415
17454
  } | {
@@ -17423,6 +17462,7 @@ type FlawlessNamingConvention = ({
17423
17462
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17424
17463
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17425
17464
  selector: "autoAccessor";
17465
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17426
17466
  modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
17427
17467
  types?: _FlawlessNamingConventionTypeMatcher[];
17428
17468
  } | {
@@ -17436,6 +17476,7 @@ type FlawlessNamingConvention = ({
17436
17476
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17437
17477
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17438
17478
  selector: "accessor";
17479
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17439
17480
  modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
17440
17481
  types?: _FlawlessNamingConventionTypeMatcher[];
17441
17482
  } | {
@@ -17449,6 +17490,7 @@ type FlawlessNamingConvention = ({
17449
17490
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17450
17491
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17451
17492
  selector: "enumMember";
17493
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17452
17494
  modifiers?: ("requiresQuotes")[];
17453
17495
  } | {
17454
17496
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17461,6 +17503,7 @@ type FlawlessNamingConvention = ({
17461
17503
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17462
17504
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17463
17505
  selector: "objectStyleEnumMember";
17506
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17464
17507
  modifiers?: ("requiresQuotes")[];
17465
17508
  } | {
17466
17509
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17473,6 +17516,7 @@ type FlawlessNamingConvention = ({
17473
17516
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17474
17517
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17475
17518
  selector: "typeLike";
17519
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17476
17520
  modifiers?: ("abstract" | "exported" | "unused")[];
17477
17521
  } | {
17478
17522
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17485,6 +17529,7 @@ type FlawlessNamingConvention = ({
17485
17529
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17486
17530
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17487
17531
  selector: "class";
17532
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17488
17533
  modifiers?: ("abstract" | "exported" | "unused")[];
17489
17534
  } | {
17490
17535
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17497,6 +17542,7 @@ type FlawlessNamingConvention = ({
17497
17542
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17498
17543
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17499
17544
  selector: "interface";
17545
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17500
17546
  modifiers?: ("exported" | "unused")[];
17501
17547
  } | {
17502
17548
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17509,6 +17555,7 @@ type FlawlessNamingConvention = ({
17509
17555
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17510
17556
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17511
17557
  selector: "typeAlias";
17558
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17512
17559
  modifiers?: ("exported" | "unused")[];
17513
17560
  } | {
17514
17561
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17521,6 +17568,7 @@ type FlawlessNamingConvention = ({
17521
17568
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17522
17569
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17523
17570
  selector: "enum";
17571
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17524
17572
  modifiers?: ("exported" | "unused")[];
17525
17573
  } | {
17526
17574
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17533,6 +17581,7 @@ type FlawlessNamingConvention = ({
17533
17581
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17534
17582
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17535
17583
  selector: "typeParameter";
17584
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17536
17585
  modifiers?: ("unused")[];
17537
17586
  } | {
17538
17587
  allowedWords?: _FlawlessNamingConvention_AllowedWordsConfig;
@@ -17545,6 +17594,7 @@ type FlawlessNamingConvention = ({
17545
17594
  trailingUnderscore?: _FlawlessNamingConventionUnderscoreOptions;
17546
17595
  filter?: (string | _FlawlessNamingConvention_MatchRegexConfig);
17547
17596
  selector: "import";
17597
+ typeArgumentOf?: _FlawlessNamingConvention_TypeArgumentOfConfig;
17548
17598
  modifiers?: ("default" | "namespace")[];
17549
17599
  })[];
17550
17600
  interface _FlawlessNamingConvention_MatchRegexConfig {
@@ -20350,12 +20400,12 @@ type PackageJsonRestrictDependencyRanges = [] | [({
20350
20400
  forDependencyTypes?: ("dependencies" | "devDependencies" | "optionalDependencies" | "peerDependencies")[];
20351
20401
  forPackages?: string[];
20352
20402
  forVersions?: string;
20353
- rangeType: (("caret" | "pin" | "tilde") | ("caret" | "pin" | "tilde")[]);
20403
+ rangeType: (("^" | "~" | "<" | "<=" | ">" | ">=" | "caret" | "pin" | "tilde" | "lt" | "le" | "gt" | "ge") | ("^" | "~" | "<" | "<=" | ">" | ">=" | "caret" | "pin" | "tilde" | "lt" | "le" | "gt" | "ge")[]);
20354
20404
  } | {
20355
20405
  forDependencyTypes?: ("dependencies" | "devDependencies" | "optionalDependencies" | "peerDependencies")[];
20356
20406
  forPackages?: string[];
20357
20407
  forVersions?: string;
20358
- rangeType: (("caret" | "pin" | "tilde") | ("caret" | "pin" | "tilde")[]);
20408
+ rangeType: (("^" | "~" | "<" | "<=" | ">" | ">=" | "caret" | "pin" | "tilde" | "lt" | "le" | "gt" | "ge") | ("^" | "~" | "<" | "<=" | ">" | ">=" | "caret" | "pin" | "tilde" | "lt" | "le" | "gt" | "ge")[]);
20359
20409
  }[])];
20360
20410
  // ----- package-json/restrict-private-properties -----
20361
20411
  type PackageJsonRestrictPrivateProperties = [] | [{
@@ -20368,6 +20418,11 @@ type PackageJsonRestrictTopLevelProperties = [] | [{
20368
20418
  property: string;
20369
20419
  })[];
20370
20420
  }];
20421
+ // ----- package-json/scripts-name-casing -----
20422
+ type PackageJsonScriptsNameCasing = [] | [{
20423
+ ignoreNames?: string[];
20424
+ ignorePatterns?: string[];
20425
+ }];
20371
20426
  // ----- package-json/sort-collections -----
20372
20427
  type PackageJsonSortCollections = [] | [(string | {
20373
20428
  key: string;