Skip to content

Commit ba3d34f

Browse files
committed
Instead of --jsExtensions support --allowJs with .js and .jsx as supported extensions
1 parent 57362f6 commit ba3d34f

6 files changed

Lines changed: 11 additions & 19 deletions

File tree

src/compiler/commandLineParser.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,9 @@ namespace ts {
249249
error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic,
250250
},
251251
{
252-
name: "jsExtensions",
253-
type: "string[]",
254-
description: Diagnostics.Specifies_extensions_to_treat_as_javascript_file_To_specify_multiple_extensions_either_use_this_option_multiple_times_or_provide_comma_separated_list,
255-
paramType: Diagnostics.EXTENSION_S,
256-
error: Diagnostics.Argument_for_jsExtensions_option_must_be_either_extension_or_comma_separated_list_of_extensions,
252+
name: "allowJs",
253+
type: "boolean",
254+
description: Diagnostics.Allow_javascript_files_to_be_compiled,
257255
}
258256
];
259257

src/compiler/core.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -729,9 +729,11 @@ namespace ts {
729729
* List of supported extensions in order of file resolution precedence.
730730
*/
731731
export const supportedTypeScriptExtensions = ["ts", "tsx", "d.ts"];
732+
export const supportedJavascriptExtensions = ["js", "jsx"];
733+
export const supportedExtensionsWhenAllowedJs = supportedTypeScriptExtensions.concat(supportedJavascriptExtensions);
732734

733735
export function getSupportedExtensions(options?: CompilerOptions): string[] {
734-
return options && options.jsExtensions ? supportedTypeScriptExtensions.concat(options.jsExtensions) : supportedTypeScriptExtensions;
736+
return options && options.allowJs ? supportedExtensionsWhenAllowedJs : supportedTypeScriptExtensions;
735737
}
736738

737739
export function isSupportedSourceFileName(fileName: string, compilerOptions?: CompilerOptions) {

src/compiler/diagnosticMessages.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,10 +2181,6 @@
21812181
"category": "Message",
21822182
"code": 6038
21832183
},
2184-
"EXTENSION[S]": {
2185-
"category": "Message",
2186-
"code": 6039
2187-
},
21882184
"Compilation complete. Watching for file changes.": {
21892185
"category": "Message",
21902186
"code": 6042
@@ -2269,10 +2265,6 @@
22692265
"category": "Error",
22702266
"code": 6063
22712267
},
2272-
"Argument for '--jsExtensions' option must be either extension or comma separated list of extensions.": {
2273-
"category": "Error",
2274-
"code": 6064
2275-
},
22762268

22772269
"Specify JSX code generation: 'preserve' or 'react'": {
22782270
"category": "Message",
@@ -2310,7 +2302,7 @@
23102302
"category": "Message",
23112303
"code": 6072
23122304
},
2313-
"Specifies extensions to treat as javascript file. To specify multiple extensions, either use this option multiple times or provide comma separated list.": {
2305+
"Allow javascript files to be compiled.": {
23142306
"category": "Message",
23152307
"code": 6073
23162308
},

src/compiler/program.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ namespace ts {
359359
(oldOptions.target !== options.target) ||
360360
(oldOptions.noLib !== options.noLib) ||
361361
(oldOptions.jsx !== options.jsx) ||
362-
(oldOptions.jsExtensions !== options.jsExtensions)) {
362+
(oldOptions.allowJs !== options.allowJs)) {
363363
oldProgram = undefined;
364364
}
365365
}

src/compiler/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2089,7 +2089,7 @@ namespace ts {
20892089
experimentalDecorators?: boolean;
20902090
emitDecoratorMetadata?: boolean;
20912091
moduleResolution?: ModuleResolutionKind;
2092-
jsExtensions?: string[];
2092+
allowJs?: boolean;
20932093
/* @internal */ stripInternal?: boolean;
20942094

20952095
// Skip checking lib.d.ts to help speed up tests.

src/services/services.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2002,7 +2002,7 @@ namespace ts {
20022002
let getCanonicalFileName = createGetCanonicalFileName(!!useCaseSensitiveFileNames);
20032003

20042004
function getKeyFromCompilationSettings(settings: CompilerOptions): string {
2005-
return "_" + settings.target + "|" + settings.module + "|" + settings.noResolve + "|" + settings.jsx + +"|" + settings.jsExtensions;
2005+
return "_" + settings.target + "|" + settings.module + "|" + settings.noResolve + "|" + settings.jsx + +"|" + settings.allowJs;
20062006
}
20072007

20082008
function getBucketForCompilationSettings(settings: CompilerOptions, createIfMissing: boolean): FileMap<DocumentRegistryEntry> {
@@ -2633,7 +2633,7 @@ namespace ts {
26332633
oldSettings.module !== newSettings.module ||
26342634
oldSettings.noResolve !== newSettings.noResolve ||
26352635
oldSettings.jsx !== newSettings.jsx ||
2636-
oldSettings.jsExtensions !== newSettings.jsExtensions);
2636+
oldSettings.allowJs !== newSettings.allowJs);
26372637

26382638
// Now create a new compiler
26392639
let compilerHost: CompilerHost = {

0 commit comments

Comments
 (0)