@joshuaavalon/eslint-config-typescript 8.1.6 → 8.2.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var typescript = require('typescript-eslint');
4
3
  var jsConfig = require('@joshuaavalon/eslint-config-javascript');
4
+ var typescript = require('typescript-eslint');
5
5
 
6
6
  /** @type {import("eslint").Linter.RulesRecord} */
7
7
  const extensionRules = {
@@ -41,11 +41,11 @@ const extensionRules = {
41
41
  "require-await": "off",
42
42
  "@typescript-eslint/require-await": "off",
43
43
  "no-return-await": "off",
44
- "@typescript-eslint/return-await": "error"
44
+ "@typescript-eslint/return-await": ["error", "always"]
45
45
  };
46
46
 
47
47
  /** @type {import("eslint").Linter.RulesRecord} */
48
- const rules$1 = {
48
+ const rules$2 = {
49
49
  "constructor-super": "off",
50
50
  "no-invalid-this": "off",
51
51
  "no-undef": "off",
@@ -178,13 +178,55 @@ const rules$1 = {
178
178
  "@typescript-eslint/prefer-string-starts-ends-with": "error",
179
179
  "@typescript-eslint/promise-function-async": "off",
180
180
  "@typescript-eslint/restrict-plus-operands": "error",
181
- "@typescript-eslint/sort-type-constituents": "error",
181
+ "@typescript-eslint/sort-type-constituents": "off",
182
182
  "@typescript-eslint/switch-exhaustiveness-check": "error",
183
183
  "@typescript-eslint/unbound-method": "error",
184
184
  ...extensionRules,
185
185
  "no-duplicate-imports": ["off"]
186
186
  };
187
187
 
188
+ /** @type {import("@stylistic/eslint-plugin").RuleOptions} */
189
+ const rules$1 = {
190
+ "perfectionist/sort-imports": [
191
+ "error",
192
+ {
193
+ type: "alphabetical",
194
+ order: "asc",
195
+ ignoreCase: true,
196
+ internalPattern: ["~/**", "#/**"],
197
+ newlinesBetween: "ignore",
198
+ groups: [
199
+ "builtin",
200
+ "external",
201
+ "internal",
202
+ "parent",
203
+ "sibling",
204
+ "side-effect",
205
+ "index",
206
+ "side-effect-style",
207
+ "builtin-type",
208
+ "external-type",
209
+ "internal-type",
210
+ "parent-type",
211
+ "sibling-type",
212
+ "index-type",
213
+ "object",
214
+ "unknown"
215
+ ]
216
+ }
217
+ ],
218
+ "perfectionist/sort-intersection-types": [
219
+ "error",
220
+ {
221
+ type: "alphabetical",
222
+ order: "asc",
223
+ ignoreCase: true,
224
+ partitionByNewLine: false,
225
+ groups: []
226
+ }
227
+ ]
228
+ };
229
+
188
230
  /** @type {import("@stylistic/eslint-plugin").RuleOptions} */
189
231
  const rules = {
190
232
  "@stylistic/type-annotation-spacing": "error",
@@ -200,8 +242,9 @@ const config = {
200
242
  },
201
243
  rules: {
202
244
  ...jsConfig.rules,
203
- ...rules$1,
204
- ...rules
245
+ ...rules$2,
246
+ ...rules,
247
+ ...rules$1
205
248
  }
206
249
  };
207
250
 
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import typescript from 'typescript-eslint';
2
1
  import jsConfig from '@joshuaavalon/eslint-config-javascript';
2
+ import typescript from 'typescript-eslint';
3
3
 
4
4
  /** @type {import("eslint").Linter.RulesRecord} */
5
5
  const extensionRules = {
@@ -39,11 +39,11 @@ const extensionRules = {
39
39
  "require-await": "off",
40
40
  "@typescript-eslint/require-await": "off",
41
41
  "no-return-await": "off",
42
- "@typescript-eslint/return-await": "error"
42
+ "@typescript-eslint/return-await": ["error", "always"]
43
43
  };
44
44
 
45
45
  /** @type {import("eslint").Linter.RulesRecord} */
46
- const rules$1 = {
46
+ const rules$2 = {
47
47
  "constructor-super": "off",
48
48
  "no-invalid-this": "off",
49
49
  "no-undef": "off",
@@ -176,13 +176,55 @@ const rules$1 = {
176
176
  "@typescript-eslint/prefer-string-starts-ends-with": "error",
177
177
  "@typescript-eslint/promise-function-async": "off",
178
178
  "@typescript-eslint/restrict-plus-operands": "error",
179
- "@typescript-eslint/sort-type-constituents": "error",
179
+ "@typescript-eslint/sort-type-constituents": "off",
180
180
  "@typescript-eslint/switch-exhaustiveness-check": "error",
181
181
  "@typescript-eslint/unbound-method": "error",
182
182
  ...extensionRules,
183
183
  "no-duplicate-imports": ["off"]
184
184
  };
185
185
 
186
+ /** @type {import("@stylistic/eslint-plugin").RuleOptions} */
187
+ const rules$1 = {
188
+ "perfectionist/sort-imports": [
189
+ "error",
190
+ {
191
+ type: "alphabetical",
192
+ order: "asc",
193
+ ignoreCase: true,
194
+ internalPattern: ["~/**", "#/**"],
195
+ newlinesBetween: "ignore",
196
+ groups: [
197
+ "builtin",
198
+ "external",
199
+ "internal",
200
+ "parent",
201
+ "sibling",
202
+ "side-effect",
203
+ "index",
204
+ "side-effect-style",
205
+ "builtin-type",
206
+ "external-type",
207
+ "internal-type",
208
+ "parent-type",
209
+ "sibling-type",
210
+ "index-type",
211
+ "object",
212
+ "unknown"
213
+ ]
214
+ }
215
+ ],
216
+ "perfectionist/sort-intersection-types": [
217
+ "error",
218
+ {
219
+ type: "alphabetical",
220
+ order: "asc",
221
+ ignoreCase: true,
222
+ partitionByNewLine: false,
223
+ groups: []
224
+ }
225
+ ]
226
+ };
227
+
186
228
  /** @type {import("@stylistic/eslint-plugin").RuleOptions} */
187
229
  const rules = {
188
230
  "@stylistic/type-annotation-spacing": "error",
@@ -198,8 +240,9 @@ const config = {
198
240
  },
199
241
  rules: {
200
242
  ...jsConfig.rules,
201
- ...rules$1,
202
- ...rules
243
+ ...rules$2,
244
+ ...rules,
245
+ ...rules$1
203
246
  }
204
247
  };
205
248
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joshuaavalon/eslint-config-typescript",
3
- "version": "8.1.6",
3
+ "version": "8.2.0",
4
4
  "description": "Shareable ESLint Typescript config.",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",
@@ -35,7 +35,7 @@
35
35
  "url": "https://github.com/joshuaavalon/eslint-config/issues"
36
36
  },
37
37
  "dependencies": {
38
- "@joshuaavalon/eslint-config-javascript": "^8.1.5",
38
+ "@joshuaavalon/eslint-config-javascript": "^8.2.0",
39
39
  "typescript-eslint": "^8.3.0"
40
40
  },
41
41
  "peerDependencies": {