@@ -53,23 +53,23 @@ function lazyInit() {
53
53
}
54
54
55
55
function TSBuild ( filePaths , getFileContent , options ) {
56
- validateAndConvertOptions ( options ) ;
56
+ var resOptions = validateAndConvertOptions ( options ) ;
57
57
58
58
lazyInit ( ) ;
59
59
60
- if ( ! options )
61
- options = { compilerOptions : getConvertedDefault ( ) } ;
60
+ if ( ! resOptions )
61
+ resOptions = { compilerOptions : getConvertedDefault ( ) } ;
62
62
63
- if ( ! options . compilerOptions )
64
- options . compilerOptions = getConvertedDefault ( ) ;
63
+ if ( ! resOptions . compilerOptions )
64
+ resOptions . compilerOptions = getConvertedDefault ( ) ;
65
65
66
- this . options = options ;
66
+ this . options = resOptions ;
67
67
68
68
sourceHost . setSource ( getFileContent ) ;
69
69
70
- serviceHost . setFiles ( filePaths , options ) ;
70
+ serviceHost . setFiles ( filePaths , resOptions ) ;
71
71
72
- this . rebuildMap = getRebuildMap ( filePaths , options ) ;
72
+ this . rebuildMap = getRebuildMap ( filePaths , resOptions ) ;
73
73
}
74
74
75
75
function rebuildWithNewTypings ( filePath , typings ) {
@@ -183,7 +183,7 @@ function checkType(option, optionName) {
183
183
}
184
184
185
185
function validateAndConvertOptions ( options ) {
186
- if ( ! options ) return ;
186
+ if ( ! options ) return null ;
187
187
188
188
// Validate top level options.
189
189
for ( var option in options ) {
@@ -200,11 +200,14 @@ function validateAndConvertOptions(options) {
200
200
}
201
201
}
202
202
203
+ var resOptions = _ . clone ( options ) ;
203
204
// Validate and convert compilerOptions.
204
205
if ( options . compilerOptions ) {
205
- options . compilerOptions = convertCompilerOptionsOrThrow (
206
+ resOptions . compilerOptions = convertCompilerOptionsOrThrow (
206
207
options . compilerOptions ) ;
207
208
}
209
+
210
+ return resOptions ;
208
211
}
209
212
210
213
exports . validateAndConvertOptions = validateAndConvertOptions ;
0 commit comments