in packages/concatjs/internal/tsc_wrapped/tsconfig.ts [287:355]
googmodule: isUndefined(existingBazelOpts.googmodule)
? newBazelBazelOpts.googmodule
: existingBazelOpts.googmodule,
devmodeTargetOverride: isUndefined(existingBazelOpts.devmodeTargetOverride)
? newBazelBazelOpts.devmodeTargetOverride
: existingBazelOpts.devmodeTargetOverride,
}
}
if (config.extends) {
let extendedConfigPath = resolveNormalizedPath(path.dirname(configFile), config.extends);
if (!extendedConfigPath.endsWith('.json')) extendedConfigPath += '.json';
return readExtendedConfigFile(extendedConfigPath, mergedConfig);
}
return {config: mergedConfig};
};
const {config, error} = readExtendedConfigFile(tsconfigFile);
if (error) {
// target is in the config file we failed to load...
return [null, [error], {target: ''}];
}
const {options, errors, fileNames} =
ts.parseJsonConfigFileContent(config, host, path.dirname(tsconfigFile));
// Handle bazel specific options, but make sure not to crash when reading a
// vanilla tsconfig.json.
const bazelOpts: BazelOptions = config.bazelOptions || {};
const target = bazelOpts.target;
bazelOpts.allowedStrictDeps = bazelOpts.allowedStrictDeps || [];
bazelOpts.typeBlackListPaths = bazelOpts.typeBlackListPaths || [];
bazelOpts.compilationTargetSrc = bazelOpts.compilationTargetSrc || [];
if (errors && errors.length) {
return [null, errors, {target}];
}
// Override the devmode target if devmodeTargetOverride is set
if (bazelOpts.es5Mode && bazelOpts.devmodeTargetOverride) {
switch (bazelOpts.devmodeTargetOverride.toLowerCase()) {
case 'es3':
options.target = ts.ScriptTarget.ES3;
break;
case 'es5':
options.target = ts.ScriptTarget.ES5;
break;
case 'es2015':
options.target = ts.ScriptTarget.ES2015;
break;
case 'es2016':
options.target = ts.ScriptTarget.ES2016;
break;
case 'es2017':
options.target = ts.ScriptTarget.ES2017;
break;
case 'es2018':
options.target = ts.ScriptTarget.ES2018;
break;
case 'esnext':
options.target = ts.ScriptTarget.ESNext;
break;
default:
console.error(
'WARNING: your tsconfig.json file specifies an invalid bazelOptions.devmodeTargetOverride value of: \'${bazelOpts.devmodeTargetOverride\'');