@open-turo/eslint-config-typescript 17.0.0-pr-382.72.1.1 → 17.0.0

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.
@@ -1,3 +1,3 @@
1
1
  # Breaking changes in v17
2
2
 
3
- Adds `@typescript-eslint/consistent-type-assertions` configuration, which will raise errors in consumer repos. We have multiple years of relying on `as` casting as a TypeScript work-around (which is dangerous, compared to type-narrowing in runtime code) in our code, so this specific rule change will require a large amount of effort for compliance--even if adding `// eslint-disable` to all existing instances, or adding [eslint-seatbelt](https://www.notion.com/blog/how-we-evolved-our-code-notions-ratcheting-system-using-custom-eslint-rules)--and so we are marking it as a new major version.
3
+ Sonar removed `sonarjs/no-invalid-await` between patch versions. We are cutting a major to reflect this rule is no longer in the config: any existing `// eslint-disable` directives for this rule should be removed for clarity.
package/index.cjs CHANGED
@@ -1,3 +1,6 @@
1
+ // @ts-check
2
+
3
+ /** @import { ConfigWithExtends } from "typescript-eslint" */
1
4
  const eslint = require("@eslint/js");
2
5
  const tsParser = require("@typescript-eslint/parser");
3
6
  const importPlugin = require("eslint-plugin-import");
@@ -28,6 +31,13 @@ const typescriptLanguageOptions = () => ({
28
31
  },
29
32
  });
30
33
 
34
+ /**
35
+ * @typedef {NonNullable<NonNullable<ConfigWithExtends['languageOptions']>['parserOptions']>['ecmaVersion']} EcmaVersion
36
+ */
37
+
38
+ /**
39
+ * @param {EcmaVersion} [ecmaVersion]
40
+ */
31
41
  const javascriptConfig = (ecmaVersion = "latest") =>
32
42
  tseslint.config(eslint.configs.recommended, {
33
43
  files: [FILES_JS],
@@ -38,9 +48,19 @@ const javascriptConfig = (ecmaVersion = "latest") =>
38
48
  },
39
49
  });
40
50
 
51
+ const getImportPluginFlatConfigs = () => {
52
+ if (!importPlugin.flatConfigs) {
53
+ throw new Error(
54
+ "Unexpected value from eslint-plugin-import. You will need to upgrade the plugin.",
55
+ );
56
+ }
57
+
58
+ return importPlugin.flatConfigs;
59
+ };
60
+
41
61
  const importConfig = () =>
42
62
  tseslint.config({
43
- extends: [importPlugin.flatConfigs.recommended],
63
+ extends: [getImportPluginFlatConfigs().recommended],
44
64
  rules: {
45
65
  "import/default": "off",
46
66
  "import/named": "off",
@@ -110,16 +130,12 @@ const typescriptConfig = () =>
110
130
  tseslint.config({
111
131
  extends: [
112
132
  tseslint.configs.recommendedTypeChecked,
113
- importPlugin.flatConfigs.typescript,
133
+ // @ts-expect-error -- We are inferring the types of this import from runtime, but the rule values are inferred as `string` instead of `RuleEntry` ("off" | "warn" | "error")
134
+ getImportPluginFlatConfigs().typescript,
114
135
  ],
115
136
  files: [FILES_TS, FILES_TSX],
116
137
  languageOptions: typescriptLanguageOptions(),
117
138
  rules: {
118
- /** Forbids `as` casting (that excludes `as const`) to prevent unsafe type casts */
119
- "@typescript-eslint/consistent-type-assertions": [
120
- "error",
121
- { assertionStyle: "never" },
122
- ],
123
139
  /**
124
140
  * {@link https://typescript-eslint.io/rules/consistent-type-imports | TypeScript ESLint: consistent-type-imports docs}
125
141
  */
@@ -159,17 +175,16 @@ const typescriptConfig = () =>
159
175
 
160
176
  /**
161
177
  *
162
- * @param options Configuration options
163
- * @param options.typescript Whether to include typescript rules
164
- * @returns {ConfigArray}
178
+ * @param {object} options Configuration options
179
+ * @param {boolean} options.typescript Whether to include typescript rules
165
180
  */
166
181
  const testConfig = (options) => {
167
182
  const typescriptRules = options.typescript
168
- ? {
183
+ ? /** @type {const} */ ({
169
184
  // this turns the original rule off *only* for test files, for jestPlugin compatibility
170
185
  "@typescript-eslint/unbound-method": "off",
171
186
  "jest/unbound-method": "error",
172
- }
187
+ })
173
188
  : {};
174
189
  return tseslint.config({
175
190
  extends: [jestPlugin.configs["flat/recommended"]],
@@ -191,6 +206,9 @@ const testConfig = (options) => {
191
206
  });
192
207
  };
193
208
 
209
+ /**
210
+ * @param {string[]} ignores
211
+ */
194
212
  const ignoresConfig = (ignores = []) =>
195
213
  tseslint.config({
196
214
  ignores: ["**/.yalc", "**/dist", ...ignores],
@@ -198,16 +216,16 @@ const ignoresConfig = (ignores = []) =>
198
216
 
199
217
  /**
200
218
  * Turo eslint configuration for typescript
201
- * @param [options] - Eslint config options
202
- * @param [options.allowModules] - List of modules to allow in the n/no-unpublished-import rule
203
- * @param [options.ignores] - List of patterns to ignore
204
- * @param [options.typescript] - Whether to include typescript rules
205
- * @param [options.ecmaVersion] - The ECMAScript version to use
206
- * @returns {ConfigArray}
219
+ * @param {object} [options] - Eslint config options
220
+ * @param {string[]} [options.allowModules] - List of modules to allow in the n/no-unpublished-import rule
221
+ * @param {string[]} [options.ignores] - List of patterns to ignore
222
+ * @param {boolean} [options.typescript] - Whether to include typescript rules
223
+ * @param {EcmaVersion} [options.ecmaVersion] - The ECMAScript version to use
207
224
  */
208
225
  module.exports = function config(options = {}) {
209
226
  const useTypescript =
210
227
  options.typescript === undefined ? true : options.typescript;
228
+
211
229
  return tseslint.config(
212
230
  javascriptConfig(options.ecmaVersion),
213
231
  importConfig(),
package/package.json CHANGED
@@ -4,19 +4,19 @@
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@eslint/js": "9.29.0",
7
- "typescript-eslint": "8.34.0",
8
- "@typescript-eslint/eslint-plugin": "8.34.0",
9
- "@typescript-eslint/parser": "8.34.0",
7
+ "@typescript-eslint/eslint-plugin": "8.34.1",
8
+ "@typescript-eslint/parser": "8.34.1",
10
9
  "eslint-config-prettier": "10.1.5",
11
10
  "eslint-import-resolver-typescript": "4.4.3",
12
11
  "eslint-plugin-import": "2.31.0",
13
12
  "eslint-plugin-jest": "28.14.0",
14
13
  "eslint-plugin-json": "4.0.1",
15
14
  "eslint-plugin-n": "17.20.0",
16
- "eslint-plugin-perfectionist": "4.14.0",
17
- "eslint-plugin-prettier": "5.4.1",
18
- "eslint-plugin-sonarjs": "3.0.2",
19
- "eslint-plugin-unicorn": "56.0.1"
15
+ "eslint-plugin-perfectionist": "4.15.0",
16
+ "eslint-plugin-prettier": "5.5.0",
17
+ "eslint-plugin-sonarjs": "3.0.3",
18
+ "eslint-plugin-unicorn": "56.0.1",
19
+ "typescript-eslint": "8.34.1"
20
20
  },
21
21
  "devDependencies": {
22
22
  "eslint": "9.29.0",
@@ -54,6 +54,6 @@
54
54
  "access": "public"
55
55
  },
56
56
  "repository": "https://github.com/open-turo/eslint-config-typescript",
57
- "version": "17.0.0-pr-382.72.1.1",
57
+ "version": "17.0.0",
58
58
  "packageManager": "npm@11.4.2+sha512.f90c1ec8b207b625d6edb6693aef23dacb39c38e4217fe8c46a973f119cab392ac0de23fe3f07e583188dae9fd9108b3845ad6f525b598742bd060ebad60bff3"
59
59
  }
package/recommended.cjs CHANGED
@@ -48,11 +48,6 @@ module.exports = {
48
48
  ],
49
49
  root: true,
50
50
  rules: {
51
- /** Forbids `as` casting (that excludes `as const`) to prevent unsafe type casts */
52
- "@typescript-eslint/consistent-type-assertions": [
53
- "error",
54
- { assertionStyle: "never" },
55
- ],
56
51
  /**
57
52
  * {@link https://typescript-eslint.io/rules/consistent-type-imports | TypeScript ESLint: consistent-type-imports docs}
58
53
  */
@@ -566,12 +566,6 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
566
566
  "@typescript-eslint/comma-spacing": [
567
567
  0,
568
568
  ],
569
- "@typescript-eslint/consistent-type-assertions": [
570
- 2,
571
- {
572
- "assertionStyle": "never",
573
- },
574
- ],
575
569
  "@typescript-eslint/consistent-type-imports": [
576
570
  2,
577
571
  {
@@ -1607,6 +1601,10 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1607
1601
  ],
1608
1602
  "sonarjs/arrow-function-convention": [
1609
1603
  0,
1604
+ {
1605
+ "requireBodyBraces": false,
1606
+ "requireParameterParentheses": false,
1607
+ },
1610
1608
  ],
1611
1609
  "sonarjs/assertions-in-tests": [
1612
1610
  2,
@@ -1688,6 +1686,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1688
1686
  ],
1689
1687
  "sonarjs/class-name": [
1690
1688
  2,
1689
+ {
1690
+ "format": "^[A-Z][a-zA-Z0-9]*$",
1691
+ },
1691
1692
  ],
1692
1693
  "sonarjs/class-prototype": [
1693
1694
  0,
@@ -1697,12 +1698,18 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1697
1698
  ],
1698
1699
  "sonarjs/cognitive-complexity": [
1699
1700
  2,
1701
+ 15,
1700
1702
  ],
1701
1703
  "sonarjs/comma-or-logical-or-case": [
1702
1704
  2,
1703
1705
  ],
1704
1706
  "sonarjs/comment-regex": [
1705
1707
  0,
1708
+ {
1709
+ "flags": "",
1710
+ "message": "The regular expression matches this comment.",
1711
+ "regularExpression": "",
1712
+ },
1706
1713
  ],
1707
1714
  "sonarjs/concise-regex": [
1708
1715
  2,
@@ -1718,6 +1725,10 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1718
1725
  ],
1719
1726
  "sonarjs/content-length": [
1720
1727
  2,
1728
+ {
1729
+ "fileUploadSizeLimit": 8000000,
1730
+ "standardSizeLimit": 2000000,
1731
+ },
1721
1732
  ],
1722
1733
  "sonarjs/content-security-policy": [
1723
1734
  2,
@@ -1736,6 +1747,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1736
1747
  ],
1737
1748
  "sonarjs/cyclomatic-complexity": [
1738
1749
  0,
1750
+ {
1751
+ "threshold": 10,
1752
+ },
1739
1753
  ],
1740
1754
  "sonarjs/declarations-in-global-scope": [
1741
1755
  0,
@@ -1778,15 +1792,23 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1778
1792
  ],
1779
1793
  "sonarjs/enforce-trailing-comma": [
1780
1794
  0,
1795
+ "always-multiline",
1781
1796
  ],
1782
1797
  "sonarjs/existing-groups": [
1783
1798
  2,
1784
1799
  ],
1785
1800
  "sonarjs/expression-complexity": [
1786
1801
  0,
1802
+ {
1803
+ "max": 3,
1804
+ },
1787
1805
  ],
1788
1806
  "sonarjs/file-header": [
1789
1807
  0,
1808
+ {
1809
+ "headerFormat": "",
1810
+ "isRegularExpression": false,
1811
+ },
1790
1812
  ],
1791
1813
  "sonarjs/file-name-differ-from-class": [
1792
1814
  0,
@@ -1814,6 +1836,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1814
1836
  ],
1815
1837
  "sonarjs/function-name": [
1816
1838
  0,
1839
+ {
1840
+ "format": "^[_a-z][a-zA-Z0-9]*$",
1841
+ },
1817
1842
  ],
1818
1843
  "sonarjs/function-return-type": [
1819
1844
  0,
@@ -1859,24 +1884,40 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1859
1884
  ],
1860
1885
  "sonarjs/max-lines": [
1861
1886
  0,
1887
+ {
1888
+ "maximum": 1000,
1889
+ },
1862
1890
  ],
1863
1891
  "sonarjs/max-lines-per-function": [
1864
1892
  0,
1893
+ {
1894
+ "maximum": 200,
1895
+ },
1865
1896
  ],
1866
1897
  "sonarjs/max-switch-cases": [
1867
1898
  2,
1899
+ 30,
1868
1900
  ],
1869
1901
  "sonarjs/max-union-size": [
1870
1902
  0,
1903
+ {
1904
+ "threshold": 3,
1905
+ },
1871
1906
  ],
1872
1907
  "sonarjs/misplaced-loop-counter": [
1873
1908
  2,
1874
1909
  ],
1875
1910
  "sonarjs/nested-control-flow": [
1876
1911
  0,
1912
+ {
1913
+ "maximumNestingLevel": 3,
1914
+ },
1877
1915
  ],
1878
1916
  "sonarjs/new-operator-misuse": [
1879
1917
  2,
1918
+ {
1919
+ "considerJSDoc": false,
1920
+ },
1880
1921
  ],
1881
1922
  "sonarjs/no-all-duplicated-branches": [
1882
1923
  2,
@@ -1931,6 +1972,10 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1931
1972
  ],
1932
1973
  "sonarjs/no-duplicate-string": [
1933
1974
  0,
1975
+ {
1976
+ "ignoreStrings": "application/json",
1977
+ "threshold": 3,
1978
+ },
1934
1979
  ],
1935
1980
  "sonarjs/no-duplicated-branches": [
1936
1981
  2,
@@ -1988,9 +2033,21 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
1988
2033
  ],
1989
2034
  "sonarjs/no-hardcoded-passwords": [
1990
2035
  2,
2036
+ {
2037
+ "passwordWords": [
2038
+ "password",
2039
+ "pwd",
2040
+ "passwd",
2041
+ "passphrase",
2042
+ ],
2043
+ },
1991
2044
  ],
1992
2045
  "sonarjs/no-hardcoded-secrets": [
1993
2046
  2,
2047
+ {
2048
+ "randomnessSensibility": 5,
2049
+ "secretWords": "api[_.-]?key,auth,credential,secret,token",
2050
+ },
1994
2051
  ],
1995
2052
  "sonarjs/no-hook-setter-in-body": [
1996
2053
  2,
@@ -2003,6 +2060,7 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
2003
2060
  ],
2004
2061
  "sonarjs/no-identical-functions": [
2005
2062
  2,
2063
+ 3,
2006
2064
  ],
2007
2065
  "sonarjs/no-ignored-exceptions": [
2008
2066
  0,
@@ -2012,6 +2070,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
2012
2070
  ],
2013
2071
  "sonarjs/no-implicit-dependencies": [
2014
2072
  0,
2073
+ {
2074
+ "whitelist": [],
2075
+ },
2015
2076
  ],
2016
2077
  "sonarjs/no-implicit-global": [
2017
2078
  2,
@@ -2033,9 +2094,11 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
2033
2094
  ],
2034
2095
  "sonarjs/no-intrusive-permissions": [
2035
2096
  2,
2036
- ],
2037
- "sonarjs/no-invalid-await": [
2038
- 2,
2097
+ {
2098
+ "permissions": [
2099
+ "geolocation",
2100
+ ],
2101
+ },
2039
2102
  ],
2040
2103
  "sonarjs/no-invalid-regexp": [
2041
2104
  2,
@@ -2291,6 +2354,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
2291
2354
  ],
2292
2355
  "sonarjs/regex-complexity": [
2293
2356
  2,
2357
+ {
2358
+ "threshold": 20,
2359
+ },
2294
2360
  ],
2295
2361
  "sonarjs/regular-expr": [
2296
2362
  0,
@@ -2381,6 +2447,9 @@ exports[`validate config the flat config is correct for index.cjs 1`] = `
2381
2447
  ],
2382
2448
  "sonarjs/variable-name": [
2383
2449
  0,
2450
+ {
2451
+ "format": "^[_$A-Za-z][$A-Za-z0-9]*$|^[_$A-Z][_$A-Z0-9]+$",
2452
+ },
2384
2453
  ],
2385
2454
  "sonarjs/void-use": [
2386
2455
  2,
@@ -3541,12 +3610,6 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
3541
3610
  "@typescript-eslint/comma-spacing": [
3542
3611
  0,
3543
3612
  ],
3544
- "@typescript-eslint/consistent-type-assertions": [
3545
- 2,
3546
- {
3547
- "assertionStyle": "never",
3548
- },
3549
- ],
3550
3613
  "@typescript-eslint/consistent-type-imports": [
3551
3614
  2,
3552
3615
  {
@@ -4582,6 +4645,10 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4582
4645
  ],
4583
4646
  "sonarjs/arrow-function-convention": [
4584
4647
  0,
4648
+ {
4649
+ "requireBodyBraces": false,
4650
+ "requireParameterParentheses": false,
4651
+ },
4585
4652
  ],
4586
4653
  "sonarjs/assertions-in-tests": [
4587
4654
  2,
@@ -4663,6 +4730,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4663
4730
  ],
4664
4731
  "sonarjs/class-name": [
4665
4732
  2,
4733
+ {
4734
+ "format": "^[A-Z][a-zA-Z0-9]*$",
4735
+ },
4666
4736
  ],
4667
4737
  "sonarjs/class-prototype": [
4668
4738
  0,
@@ -4672,12 +4742,18 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4672
4742
  ],
4673
4743
  "sonarjs/cognitive-complexity": [
4674
4744
  2,
4745
+ 15,
4675
4746
  ],
4676
4747
  "sonarjs/comma-or-logical-or-case": [
4677
4748
  2,
4678
4749
  ],
4679
4750
  "sonarjs/comment-regex": [
4680
4751
  0,
4752
+ {
4753
+ "flags": "",
4754
+ "message": "The regular expression matches this comment.",
4755
+ "regularExpression": "",
4756
+ },
4681
4757
  ],
4682
4758
  "sonarjs/concise-regex": [
4683
4759
  2,
@@ -4693,6 +4769,10 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4693
4769
  ],
4694
4770
  "sonarjs/content-length": [
4695
4771
  2,
4772
+ {
4773
+ "fileUploadSizeLimit": 8000000,
4774
+ "standardSizeLimit": 2000000,
4775
+ },
4696
4776
  ],
4697
4777
  "sonarjs/content-security-policy": [
4698
4778
  2,
@@ -4711,6 +4791,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4711
4791
  ],
4712
4792
  "sonarjs/cyclomatic-complexity": [
4713
4793
  0,
4794
+ {
4795
+ "threshold": 10,
4796
+ },
4714
4797
  ],
4715
4798
  "sonarjs/declarations-in-global-scope": [
4716
4799
  0,
@@ -4753,15 +4836,23 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4753
4836
  ],
4754
4837
  "sonarjs/enforce-trailing-comma": [
4755
4838
  0,
4839
+ "always-multiline",
4756
4840
  ],
4757
4841
  "sonarjs/existing-groups": [
4758
4842
  2,
4759
4843
  ],
4760
4844
  "sonarjs/expression-complexity": [
4761
4845
  0,
4846
+ {
4847
+ "max": 3,
4848
+ },
4762
4849
  ],
4763
4850
  "sonarjs/file-header": [
4764
4851
  0,
4852
+ {
4853
+ "headerFormat": "",
4854
+ "isRegularExpression": false,
4855
+ },
4765
4856
  ],
4766
4857
  "sonarjs/file-name-differ-from-class": [
4767
4858
  0,
@@ -4789,6 +4880,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4789
4880
  ],
4790
4881
  "sonarjs/function-name": [
4791
4882
  0,
4883
+ {
4884
+ "format": "^[_a-z][a-zA-Z0-9]*$",
4885
+ },
4792
4886
  ],
4793
4887
  "sonarjs/function-return-type": [
4794
4888
  0,
@@ -4834,24 +4928,40 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4834
4928
  ],
4835
4929
  "sonarjs/max-lines": [
4836
4930
  0,
4931
+ {
4932
+ "maximum": 1000,
4933
+ },
4837
4934
  ],
4838
4935
  "sonarjs/max-lines-per-function": [
4839
4936
  0,
4937
+ {
4938
+ "maximum": 200,
4939
+ },
4840
4940
  ],
4841
4941
  "sonarjs/max-switch-cases": [
4842
4942
  2,
4943
+ 30,
4843
4944
  ],
4844
4945
  "sonarjs/max-union-size": [
4845
4946
  0,
4947
+ {
4948
+ "threshold": 3,
4949
+ },
4846
4950
  ],
4847
4951
  "sonarjs/misplaced-loop-counter": [
4848
4952
  2,
4849
4953
  ],
4850
4954
  "sonarjs/nested-control-flow": [
4851
4955
  0,
4956
+ {
4957
+ "maximumNestingLevel": 3,
4958
+ },
4852
4959
  ],
4853
4960
  "sonarjs/new-operator-misuse": [
4854
4961
  2,
4962
+ {
4963
+ "considerJSDoc": false,
4964
+ },
4855
4965
  ],
4856
4966
  "sonarjs/no-all-duplicated-branches": [
4857
4967
  2,
@@ -4906,6 +5016,10 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4906
5016
  ],
4907
5017
  "sonarjs/no-duplicate-string": [
4908
5018
  0,
5019
+ {
5020
+ "ignoreStrings": "application/json",
5021
+ "threshold": 3,
5022
+ },
4909
5023
  ],
4910
5024
  "sonarjs/no-duplicated-branches": [
4911
5025
  2,
@@ -4963,9 +5077,21 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4963
5077
  ],
4964
5078
  "sonarjs/no-hardcoded-passwords": [
4965
5079
  2,
5080
+ {
5081
+ "passwordWords": [
5082
+ "password",
5083
+ "pwd",
5084
+ "passwd",
5085
+ "passphrase",
5086
+ ],
5087
+ },
4966
5088
  ],
4967
5089
  "sonarjs/no-hardcoded-secrets": [
4968
5090
  2,
5091
+ {
5092
+ "randomnessSensibility": 5,
5093
+ "secretWords": "api[_.-]?key,auth,credential,secret,token",
5094
+ },
4969
5095
  ],
4970
5096
  "sonarjs/no-hook-setter-in-body": [
4971
5097
  2,
@@ -4978,6 +5104,7 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4978
5104
  ],
4979
5105
  "sonarjs/no-identical-functions": [
4980
5106
  2,
5107
+ 3,
4981
5108
  ],
4982
5109
  "sonarjs/no-ignored-exceptions": [
4983
5110
  0,
@@ -4987,6 +5114,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
4987
5114
  ],
4988
5115
  "sonarjs/no-implicit-dependencies": [
4989
5116
  0,
5117
+ {
5118
+ "whitelist": [],
5119
+ },
4990
5120
  ],
4991
5121
  "sonarjs/no-implicit-global": [
4992
5122
  2,
@@ -5008,9 +5138,11 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
5008
5138
  ],
5009
5139
  "sonarjs/no-intrusive-permissions": [
5010
5140
  2,
5011
- ],
5012
- "sonarjs/no-invalid-await": [
5013
- 2,
5141
+ {
5142
+ "permissions": [
5143
+ "geolocation",
5144
+ ],
5145
+ },
5014
5146
  ],
5015
5147
  "sonarjs/no-invalid-regexp": [
5016
5148
  2,
@@ -5266,6 +5398,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
5266
5398
  ],
5267
5399
  "sonarjs/regex-complexity": [
5268
5400
  2,
5401
+ {
5402
+ "threshold": 20,
5403
+ },
5269
5404
  ],
5270
5405
  "sonarjs/regular-expr": [
5271
5406
  0,
@@ -5356,6 +5491,9 @@ exports[`validate config the flat config is correct for index.mjs 1`] = `
5356
5491
  ],
5357
5492
  "sonarjs/variable-name": [
5358
5493
  0,
5494
+ {
5495
+ "format": "^[_$A-Za-z][$A-Za-z0-9]*$|^[_$A-Z][_$A-Z0-9]+$",
5496
+ },
5359
5497
  ],
5360
5498
  "sonarjs/void-use": [
5361
5499
  2,
@@ -6519,12 +6657,6 @@ exports[`validate config the legacy recommended config is correct 1`] = `
6519
6657
  "@typescript-eslint/comma-spacing": [
6520
6658
  "off",
6521
6659
  ],
6522
- "@typescript-eslint/consistent-type-assertions": [
6523
- "error",
6524
- {
6525
- "assertionStyle": "never",
6526
- },
6527
- ],
6528
6660
  "@typescript-eslint/consistent-type-imports": [
6529
6661
  "error",
6530
6662
  {
@@ -8051,9 +8183,6 @@ exports[`validate config the legacy recommended config is correct 1`] = `
8051
8183
  "sonarjs/no-intrusive-permissions": [
8052
8184
  "error",
8053
8185
  ],
8054
- "sonarjs/no-invalid-await": [
8055
- "error",
8056
- ],
8057
8186
  "sonarjs/no-invalid-regexp": [
8058
8187
  "error",
8059
8188
  ],