@@ -135,82 +135,81 @@ function parse(code, options) {
135
135
// pass through jsx option
136
136
extra . ecmaFeatures . jsx = options . ecmaFeatures . jsx ;
137
137
}
138
+ }
138
139
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
+ } ;
174
175
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 ) ;
210
181
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 ) {
211
194
kind = triviaScanner . scan ( ) ;
195
+ continue ;
212
196
}
213
197
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 ( ) ;
214
213
}
215
214
216
215
}
0 commit comments