@typescript-eslint/eslint-plugin 6.8.1-alpha.4 → 6.8.1-alpha.6

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.
@@ -168,22 +168,44 @@ exports.default = (0, util_1.createRule)({
168
168
  // As long as there's one matching pattern that allows type import
169
169
  allowedImportTypeMatchers.some(matcher => matcher.ignores(importSource)));
170
170
  }
171
- return {
172
- ImportDeclaration(node) {
173
- if (node.importKind === 'type' ||
174
- (node.specifiers.length > 0 &&
175
- node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier &&
176
- specifier.importKind === 'type'))) {
177
- const importSource = node.source.value.trim();
178
- if (!isAllowedTypeImportPath(importSource) &&
179
- !isAllowedTypeImportPattern(importSource)) {
180
- return rules.ImportDeclaration(node);
181
- }
182
- }
183
- else {
171
+ function checkImportNode(node) {
172
+ if (node.importKind === 'type' ||
173
+ (node.specifiers.length > 0 &&
174
+ node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier &&
175
+ specifier.importKind === 'type'))) {
176
+ const importSource = node.source.value.trim();
177
+ if (!isAllowedTypeImportPath(importSource) &&
178
+ !isAllowedTypeImportPattern(importSource)) {
184
179
  return rules.ImportDeclaration(node);
185
180
  }
181
+ }
182
+ else {
183
+ return rules.ImportDeclaration(node);
184
+ }
185
+ }
186
+ return {
187
+ TSImportEqualsDeclaration(node) {
188
+ if (node.moduleReference.type ===
189
+ utils_1.AST_NODE_TYPES.TSExternalModuleReference &&
190
+ node.moduleReference.expression.type === utils_1.AST_NODE_TYPES.Literal &&
191
+ typeof node.moduleReference.expression.value === 'string') {
192
+ const synthesizedImport = {
193
+ ...node,
194
+ type: utils_1.AST_NODE_TYPES.ImportDeclaration,
195
+ source: node.moduleReference.expression,
196
+ assertions: [],
197
+ specifiers: [
198
+ {
199
+ ...node.id,
200
+ type: utils_1.AST_NODE_TYPES.ImportDefaultSpecifier,
201
+ local: node.id,
202
+ },
203
+ ],
204
+ };
205
+ return checkImportNode(synthesizedImport);
206
+ }
186
207
  },
208
+ ImportDeclaration: checkImportNode,
187
209
  'ExportNamedDeclaration[source]'(node) {
188
210
  if (node.exportKind === 'type' ||
189
211
  (node.specifiers.length > 0 &&
@@ -1 +1 @@
1
- {"version":3,"file":"no-restricted-imports.js","sourceRoot":"","sources":["../../src/rules/no-restricted-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-restricted-imports.js","sourceRoot":"","sources":["../../src/rules/no-restricted-imports.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,16 @@ function f(a = 0, b: number) {}
20
20
  function f(a: number, b = 0, c: number) {}
21
21
  function f(a: number, b?: number, c: number) {}
22
22
  class Foo {
23
- constructor(public a = 10, private b: number) {}
23
+ constructor(
24
+ public a = 10,
25
+ private b: number,
26
+ ) {}
24
27
  }
25
28
  class Foo {
26
- constructor(public a?: number, private b: number) {}
29
+ constructor(
30
+ public a?: number,
31
+ private b: number,
32
+ ) {}
27
33
  }
28
34
  ```
29
35
 
@@ -38,9 +44,15 @@ function f(a: number, b?: number) {}
38
44
  function f(a: number, b?: number, c = 0) {}
39
45
  function f(a: number, b = 0, c?: number) {}
40
46
  class Foo {
41
- constructor(public a, private b = 0) {}
47
+ constructor(
48
+ public a,
49
+ private b = 0,
50
+ ) {}
42
51
  }
43
52
  class Foo {
44
- constructor(public a, private b?: number) {}
53
+ constructor(
54
+ public a,
55
+ private b?: number,
56
+ ) {}
45
57
  }
46
58
  ```
@@ -209,14 +209,14 @@ Examples of code for this rule with `{ allowDirectConstAssertionInArrowFunctions
209
209
  #### ❌ Incorrect
210
210
 
211
211
  ```ts
212
- const func = (value: number) => ({ type: 'X', value } as any);
213
- const func = (value: number) => ({ type: 'X', value } as Action);
212
+ const func = (value: number) => ({ type: 'X', value }) as any;
213
+ const func = (value: number) => ({ type: 'X', value }) as Action;
214
214
  ```
215
215
 
216
216
  #### ✅ Correct
217
217
 
218
218
  ```ts
219
- const func = (value: number) => ({ foo: 'bar', value } as const);
219
+ const func = (value: number) => ({ foo: 'bar', value }) as const;
220
220
  const func = () => x as const;
221
221
  ```
222
222
 
@@ -90,7 +90,10 @@ The following patterns are considered correct with the default options `{ access
90
90
 
91
91
  ```ts
92
92
  class Animal {
93
- public constructor(public breed, name) {
93
+ public constructor(
94
+ public breed,
95
+ name,
96
+ ) {
94
97
  // Parameter property and constructor
95
98
  this.animalName = name;
96
99
  }
@@ -113,7 +116,10 @@ The following patterns are considered incorrect with the accessibility set to **
113
116
 
114
117
  ```ts
115
118
  class Animal {
116
- public constructor(public breed, name) {
119
+ public constructor(
120
+ public breed,
121
+ name,
122
+ ) {
117
123
  // Parameter property and constructor
118
124
  this.animalName = name;
119
125
  }
@@ -136,7 +142,10 @@ The following patterns are considered correct with the accessibility set to **no
136
142
 
137
143
  ```ts
138
144
  class Animal {
139
- constructor(protected breed, name) {
145
+ constructor(
146
+ protected breed,
147
+ name,
148
+ ) {
140
149
  // Parameter property and constructor
141
150
  this.name = name;
142
151
  }
@@ -131,11 +131,11 @@ export const bar = () => 1;
131
131
  #### ✅ Correct
132
132
 
133
133
  ```ts
134
- export const func = (value: number) => ({ type: 'X', value } as const);
134
+ export const func = (value: number) => ({ type: 'X', value }) as const;
135
135
  export const foo = () =>
136
136
  ({
137
137
  bar: true,
138
- } as const);
138
+ }) as const;
139
139
  export const bar = () => 1 as const;
140
140
  ```
141
141
 
@@ -6,7 +6,7 @@ description: 'Disallow specified modules when loaded by `import`.'
6
6
  >
7
7
  > See **https://typescript-eslint.io/rules/no-restricted-imports** for documentation.
8
8
 
9
- This rule extends the base [`eslint/no-restricted-imports`](https://eslint.org/docs/rules/no-restricted-imports) rule.
9
+ This rule extends the base [`eslint/no-restricted-imports`](https://eslint.org/docs/rules/no-restricted-imports) rule. It adds support for the type import (`import type X from "..."`, `import { type X } from "..."`) and `import x = require("...")` syntaxes.
10
10
 
11
11
  ## Options
12
12
 
@@ -19,17 +19,27 @@ This rule adds the following options:
19
19
  You can specify this option for a specific path or pattern as follows:
20
20
 
21
21
  ```jsonc
22
- "@typescript-eslint/no-restricted-imports": ["error", {
23
- "paths": [{
24
- "name": "import-foo",
25
- "message": "Please use import-bar instead.",
26
- "allowTypeImports": true
27
- }, {
28
- "name": "import-baz",
29
- "message": "Please use import-quux instead.",
30
- "allowTypeImports": true
31
- }]
32
- }]
22
+ {
23
+ "rules": {
24
+ "@typescript-eslint/no-restricted-imports": [
25
+ "error",
26
+ {
27
+ "paths": [
28
+ {
29
+ "name": "import-foo",
30
+ "message": "Please use import-bar instead.",
31
+ "allowTypeImports": true
32
+ },
33
+ {
34
+ "name": "import-baz",
35
+ "message": "Please use import-quux instead.",
36
+ "allowTypeImports": true
37
+ }
38
+ ]
39
+ }
40
+ ]
41
+ }
42
+ }
33
43
  ```
34
44
 
35
45
  When set to `true`, the rule will allow [Type-Only Imports](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "6.8.1-alpha.4+34c23e0ec",
3
+ "version": "6.8.1-alpha.6+4c8edcfb7",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -57,10 +57,10 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@eslint-community/regexpp": "^4.5.1",
60
- "@typescript-eslint/scope-manager": "6.8.1-alpha.4+34c23e0ec",
61
- "@typescript-eslint/type-utils": "6.8.1-alpha.4+34c23e0ec",
62
- "@typescript-eslint/utils": "6.8.1-alpha.4+34c23e0ec",
63
- "@typescript-eslint/visitor-keys": "6.8.1-alpha.4+34c23e0ec",
60
+ "@typescript-eslint/scope-manager": "6.8.1-alpha.6+4c8edcfb7",
61
+ "@typescript-eslint/type-utils": "6.8.1-alpha.6+4c8edcfb7",
62
+ "@typescript-eslint/utils": "6.8.1-alpha.6+4c8edcfb7",
63
+ "@typescript-eslint/visitor-keys": "6.8.1-alpha.6+4c8edcfb7",
64
64
  "debug": "^4.3.4",
65
65
  "graphemer": "^1.4.0",
66
66
  "ignore": "^5.2.4",
@@ -69,12 +69,12 @@
69
69
  "ts-api-utils": "^1.0.1"
70
70
  },
71
71
  "devDependencies": {
72
+ "@prettier/sync": "*",
72
73
  "@types/debug": "*",
73
74
  "@types/marked": "*",
74
75
  "@types/natural-compare": "*",
75
- "@types/prettier": "*",
76
76
  "@typescript-eslint/rule-schema-to-typescript-types": "6.8.0",
77
- "@typescript-eslint/rule-tester": "6.8.1-alpha.4+34c23e0ec",
77
+ "@typescript-eslint/rule-tester": "6.8.1-alpha.6+4c8edcfb7",
78
78
  "ajv": "^6.12.6",
79
79
  "chalk": "^5.3.0",
80
80
  "cross-fetch": "*",
@@ -84,7 +84,7 @@
84
84
  "json-schema": "*",
85
85
  "markdown-table": "^3.0.3",
86
86
  "marked": "^5.1.1",
87
- "prettier": "^2.8.4",
87
+ "prettier": "^3.0.3",
88
88
  "rimraf": "*",
89
89
  "title-case": "^3.0.3",
90
90
  "tsx": "*",
@@ -103,5 +103,5 @@
103
103
  "type": "opencollective",
104
104
  "url": "https://opencollective.com/typescript-eslint"
105
105
  },
106
- "gitHead": "34c23e0ece36100c2e44b3ded681ebe1236fbe37"
106
+ "gitHead": "4c8edcfb7d3cc02d07d2329c87da4377c1cbf969"
107
107
  }