4
4
*/
5
5
"use strict" ;
6
6
7
+ const assert = require ( "assert" ) ;
7
8
const fs = require ( "fs" ) ;
8
9
const path = require ( "path" ) ;
9
- const { parseForESLint } = require ( "../.." ) ;
10
+ const { Linter } = require ( "eslint" ) ;
11
+ const parser = require ( "../.." ) ;
10
12
11
13
/** Reference resolver. */
12
14
class ReferenceResolver {
@@ -144,7 +146,7 @@ describe("TypeScript scope analysis", () => {
144
146
for ( const filePath of files ) {
145
147
test ( filePath , ( ) => {
146
148
const code = fs . readFileSync ( filePath , "utf8" ) ;
147
- const { scopeManager } = parseForESLint ( code , {
149
+ const { scopeManager } = parser . parseForESLint ( code , {
148
150
loc : true ,
149
151
range : true ,
150
152
tokens : true ,
@@ -169,4 +171,24 @@ describe("TypeScript scope analysis", () => {
169
171
expect ( scopeTree ) . toMatchSnapshot ( ) ;
170
172
} ) ;
171
173
}
174
+
175
+ test ( "https://github.com/eslint/typescript-eslint-parser/issues/416" , ( ) => {
176
+ const linter = new Linter ( ) ;
177
+ linter . defineParser ( "typescript-eslint-parser" , parser ) ;
178
+
179
+ const code = `
180
+ export type SomeThing = {
181
+ id: string;
182
+ }
183
+ ` ;
184
+ const config = {
185
+ parser : "typescript-eslint-parser" ,
186
+ rules : {
187
+ "no-undef" : "error"
188
+ }
189
+ } ;
190
+ const messages = linter . verify ( code , config , { filename : "issue416.ts" } ) ;
191
+
192
+ assert . deepStrictEqual ( messages , [ ] ) ;
193
+ } ) ;
172
194
} ) ;
0 commit comments