@@ -135,82 +135,81 @@ function parse(code, options) {
135135 // pass through jsx option
136136 extra . ecmaFeatures . jsx = options . ecmaFeatures . jsx ;
137137 }
138+ }
138139
139- // Even if jsx option is set in typescript compiler, filename still has to
140- // contain .tsx file extension
141- var FILENAME = ( extra . ecmaFeatures . jsx ) ? "eslint.tsx" : "eslint.ts" ;
142-
143- var compilerHost = {
144- fileExists : function ( ) {
145- return true ;
146- } ,
147- getCanonicalFileName : function ( ) {
148- return FILENAME ;
149- } ,
150- getCurrentDirectory : function ( ) {
151- return "" ;
152- } ,
153- getDefaultLibFileName : function ( ) {
154- return "lib.d.ts" ;
155- } ,
156-
157- // TODO: Support Windows CRLF
158- getNewLine : function ( ) {
159- return "\n" ;
160- } ,
161- getSourceFile : function ( filename ) {
162- return ts . createSourceFile ( filename , code , ts . ScriptTarget . Latest , true ) ;
163- } ,
164- readFile : function ( ) {
165- return null ;
166- } ,
167- useCaseSensitiveFileNames : function ( ) {
168- return true ;
169- } ,
170- writeFile : function ( ) {
171- return null ;
172- }
173- } ;
140+ // Even if jsx option is set in typescript compiler, filename still has to
141+ // contain .tsx file extension
142+ var FILENAME = ( extra . ecmaFeatures . jsx ) ? "eslint.tsx" : "eslint.ts" ;
143+
144+ var compilerHost = {
145+ fileExists : function ( ) {
146+ return true ;
147+ } ,
148+ getCanonicalFileName : function ( ) {
149+ return FILENAME ;
150+ } ,
151+ getCurrentDirectory : function ( ) {
152+ return "" ;
153+ } ,
154+ getDefaultLibFileName : function ( ) {
155+ return "lib.d.ts" ;
156+ } ,
157+
158+ // TODO: Support Windows CRLF
159+ getNewLine : function ( ) {
160+ return "\n" ;
161+ } ,
162+ getSourceFile : function ( filename ) {
163+ return ts . createSourceFile ( filename , code , ts . ScriptTarget . Latest , true ) ;
164+ } ,
165+ readFile : function ( ) {
166+ return null ;
167+ } ,
168+ useCaseSensitiveFileNames : function ( ) {
169+ return true ;
170+ } ,
171+ writeFile : function ( ) {
172+ return null ;
173+ }
174+ } ;
174175
175- program = ts . createProgram ( [ FILENAME ] , {
176- noResolve : true ,
177- target : ts . ScriptTarget . Latest ,
178- jsx : extra . ecmaFeatures . jsx ? "preserve" : undefined
179- } , compilerHost ) ;
180-
181- var ast = program . getSourceFile ( FILENAME ) ;
182-
183- if ( extra . attachComment || extra . comment ) {
184- /**
185- * Create a TypeScript Scanner, with skipTrivia set to false so that
186- * we can parse the comments
187- */
188- var triviaScanner = ts . createScanner ( ast . languageVersion , false , 0 , code ) ;
189-
190- var kind = triviaScanner . scan ( ) ;
191- while ( kind !== ts . SyntaxKind . EndOfFileToken ) {
192- if ( kind !== ts . SyntaxKind . SingleLineCommentTrivia && kind !== ts . SyntaxKind . MultiLineCommentTrivia ) {
193- kind = triviaScanner . scan ( ) ;
194- continue ;
195- }
196-
197- var isBlock = ( kind === ts . SyntaxKind . MultiLineCommentTrivia ) ;
198- var range = {
199- pos : triviaScanner . getTokenPos ( ) ,
200- end : triviaScanner . getTextPos ( ) ,
201- kind : triviaScanner . getToken ( )
202- } ;
203-
204- var comment = code . substring ( range . pos , range . end ) ;
205- var text = comment . replace ( "//" , "" ) . replace ( "/*" , "" ) . replace ( "*/" , "" ) ;
206- var loc = getLocFor ( range . pos , range . end , ast ) ;
207-
208- var esprimaComment = convertTypeScriptCommentToEsprimaComment ( isBlock , text , range . pos , range . end , loc . start , loc . end ) ;
209- extra . comments . push ( esprimaComment ) ;
176+ program = ts . createProgram ( [ FILENAME ] , {
177+ noResolve : true ,
178+ target : ts . ScriptTarget . Latest ,
179+ jsx : extra . ecmaFeatures . jsx ? "preserve" : undefined
180+ } , compilerHost ) ;
210181
182+ var ast = program . getSourceFile ( FILENAME ) ;
183+
184+ if ( extra . attachComment || extra . comment ) {
185+ /**
186+ * Create a TypeScript Scanner, with skipTrivia set to false so that
187+ * we can parse the comments
188+ */
189+ var triviaScanner = ts . createScanner ( ast . languageVersion , false , 0 , code ) ;
190+
191+ var kind = triviaScanner . scan ( ) ;
192+ while ( kind !== ts . SyntaxKind . EndOfFileToken ) {
193+ if ( kind !== ts . SyntaxKind . SingleLineCommentTrivia && kind !== ts . SyntaxKind . MultiLineCommentTrivia ) {
211194 kind = triviaScanner . scan ( ) ;
195+ continue ;
212196 }
213197
198+ var isBlock = ( kind === ts . SyntaxKind . MultiLineCommentTrivia ) ;
199+ var range = {
200+ pos : triviaScanner . getTokenPos ( ) ,
201+ end : triviaScanner . getTextPos ( ) ,
202+ kind : triviaScanner . getToken ( )
203+ } ;
204+
205+ var comment = code . substring ( range . pos , range . end ) ;
206+ var text = comment . replace ( "//" , "" ) . replace ( "/*" , "" ) . replace ( "*/" , "" ) ;
207+ var loc = getLocFor ( range . pos , range . end , ast ) ;
208+
209+ var esprimaComment = convertTypeScriptCommentToEsprimaComment ( isBlock , text , range . pos , range . end , loc . start , loc . end ) ;
210+ extra . comments . push ( esprimaComment ) ;
211+
212+ kind = triviaScanner . scan ( ) ;
214213 }
215214
216215 }
0 commit comments