diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
commit | de98e0b232509d5f40c135d540a70e415272ff85 (patch) | |
tree | a79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/ts-loader/dist/compilerSetup.js | |
parent | e0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff) |
node_modules
Diffstat (limited to 'node_modules/ts-loader/dist/compilerSetup.js')
-rw-r--r-- | node_modules/ts-loader/dist/compilerSetup.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/ts-loader/dist/compilerSetup.js b/node_modules/ts-loader/dist/compilerSetup.js new file mode 100644 index 000000000..6b456f100 --- /dev/null +++ b/node_modules/ts-loader/dist/compilerSetup.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var semver = require('semver'); +var constants = require("./constants"); +function getCompiler(loaderOptions, log) { + var compiler; + var errorMessage; + var compilerDetailsLogMessage; + var compilerCompatible = false; + try { + compiler = require(loaderOptions.compiler); + } + catch (e) { + errorMessage = loaderOptions.compiler === 'typescript' + ? 'Could not load TypeScript. Try installing with `npm install typescript`. If TypeScript is installed globally, try using `npm link typescript`.' + : "Could not load TypeScript compiler with NPM package name `" + loaderOptions.compiler + "`. Are you sure it is correctly installed?"; + } + if (!errorMessage) { + compilerDetailsLogMessage = "ts-loader: Using " + loaderOptions.compiler + "@" + compiler.version; + compilerCompatible = false; + if (loaderOptions.compiler === 'typescript') { + if (compiler.version && semver.gte(compiler.version, '1.6.2-0')) { + // don't log yet in this case, if a tsconfig.json exists we want to combine the message + compilerCompatible = true; + } + else { + log.logError((compilerDetailsLogMessage + ". This version is incompatible with ts-loader. Please upgrade to the latest version of TypeScript.").red); + } + } + else { + log.logWarning((compilerDetailsLogMessage + ". This version may or may not be compatible with ts-loader.").yellow); + } + } + return { compiler: compiler, compilerCompatible: compilerCompatible, compilerDetailsLogMessage: compilerDetailsLogMessage, errorMessage: errorMessage }; +} +exports.getCompiler = getCompiler; +function getCompilerOptions(compilerCompatible, compiler, configParseResult) { + var compilerOptions = Object.assign({}, configParseResult.options, { + skipDefaultLibCheck: true, + suppressOutputPathCheck: true, + }); + // if `module` is not specified and not using ES6 target, default to CJS module output + if ((!compilerOptions.module) && compilerOptions.target !== constants.ScriptTargetES2015) { + compilerOptions.module = constants.ModuleKindCommonJs; + } + else if (compilerCompatible && semver.lt(compiler.version, '1.7.3-0') && compilerOptions.target === constants.ScriptTargetES2015) { + // special handling for TS 1.6 and target: es6 + compilerOptions.module = constants.ModuleKindNone; + } + return compilerOptions; +} +exports.getCompilerOptions = getCompilerOptions; |