@typescript-eslint/typescript-estree 8.33.2-alpha.5 → 8.33.2-alpha.7
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/dist/convert.d.ts.map +1 -1
- package/dist/convert.js +18 -0
- package/package.json +5 -5
package/dist/convert.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAmCtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAmCtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAqBD,qBAAa,SAAS;;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAsZ1D,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,oCAAoC;IAe5C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,sBAAsB;IA4C9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAgDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA+iFnB,OAAO,CAAC,UAAU;IAclB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgFlB,UAAU,IAAI,OAAO;IAOrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAYhC"}
|
package/dist/convert.js
CHANGED
@@ -50,6 +50,15 @@ const SyntaxKind = ts.SyntaxKind;
|
|
50
50
|
function convertError(error) {
|
51
51
|
return (0, node_utils_1.createError)(('message' in error && error.message) || error.messageText, error.file, error.start);
|
52
52
|
}
|
53
|
+
function isPropertyAccessEntityNameExpression(node) {
|
54
|
+
return (ts.isPropertyAccessExpression(node) &&
|
55
|
+
ts.isIdentifier(node.name) &&
|
56
|
+
isEntityNameExpression(node.expression));
|
57
|
+
}
|
58
|
+
function isEntityNameExpression(node) {
|
59
|
+
return (node.kind === SyntaxKind.Identifier ||
|
60
|
+
isPropertyAccessEntityNameExpression(node));
|
61
|
+
}
|
53
62
|
class Converter {
|
54
63
|
allowPattern = false;
|
55
64
|
ast;
|
@@ -2185,13 +2194,22 @@ class Converter {
|
|
2185
2194
|
case SyntaxKind.InterfaceDeclaration: {
|
2186
2195
|
const interfaceHeritageClauses = node.heritageClauses ?? [];
|
2187
2196
|
const interfaceExtends = [];
|
2197
|
+
let seenExtendsClause = false;
|
2188
2198
|
for (const heritageClause of interfaceHeritageClauses) {
|
2189
2199
|
if (heritageClause.token !== SyntaxKind.ExtendsKeyword) {
|
2190
2200
|
this.#throwError(heritageClause, heritageClause.token === SyntaxKind.ImplementsKeyword
|
2191
2201
|
? "Interface declaration cannot have 'implements' clause."
|
2192
2202
|
: 'Unexpected token.');
|
2193
2203
|
}
|
2204
|
+
if (seenExtendsClause) {
|
2205
|
+
this.#throwError(heritageClause, "'extends' clause already seen.");
|
2206
|
+
}
|
2207
|
+
seenExtendsClause = true;
|
2194
2208
|
for (const heritageType of heritageClause.types) {
|
2209
|
+
if (!isEntityNameExpression(heritageType.expression) ||
|
2210
|
+
ts.isOptionalChain(heritageType.expression)) {
|
2211
|
+
this.#throwError(heritageType, 'Interface declaration can only extend an identifier/qualified name with optional type arguments.');
|
2212
|
+
}
|
2195
2213
|
interfaceExtends.push(this.convertChild(heritageType, node));
|
2196
2214
|
}
|
2197
2215
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@typescript-eslint/typescript-estree",
|
3
|
-
"version": "8.33.2-alpha.
|
3
|
+
"version": "8.33.2-alpha.7",
|
4
4
|
"description": "A parser that converts TypeScript source code into an ESTree compatible form",
|
5
5
|
"files": [
|
6
6
|
"dist",
|
@@ -53,10 +53,10 @@
|
|
53
53
|
"typecheck": "yarn run -BT nx typecheck"
|
54
54
|
},
|
55
55
|
"dependencies": {
|
56
|
-
"@typescript-eslint/project-service": "8.33.2-alpha.
|
57
|
-
"@typescript-eslint/tsconfig-utils": "8.33.2-alpha.
|
58
|
-
"@typescript-eslint/types": "8.33.2-alpha.
|
59
|
-
"@typescript-eslint/visitor-keys": "8.33.2-alpha.
|
56
|
+
"@typescript-eslint/project-service": "8.33.2-alpha.7",
|
57
|
+
"@typescript-eslint/tsconfig-utils": "8.33.2-alpha.7",
|
58
|
+
"@typescript-eslint/types": "8.33.2-alpha.7",
|
59
|
+
"@typescript-eslint/visitor-keys": "8.33.2-alpha.7",
|
60
60
|
"debug": "^4.3.4",
|
61
61
|
"fast-glob": "^3.3.2",
|
62
62
|
"is-glob": "^4.0.3",
|