UNPKG

spinjs

Version:

<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spin.js/master/logo.svg"></a></p>

58 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = require("path"); var fs = require("fs"); var requireModule_1 = require("../requireModule"); var JSRuleFinder_1 = require("./shared/JSRuleFinder"); var TypeScriptPlugin = (function () { function TypeScriptPlugin() { } TypeScriptPlugin.prototype.configure = function (builder, spin) { var stack = builder.stack; if (stack.hasAll(['ts', 'webpack'])) { var jsRuleFinder_1 = new JSRuleFinder_1.default(builder); var jsRule = jsRuleFinder_1.rule; var CheckerPlugin = requireModule_1.default('awesome-typescript-loader').CheckerPlugin; jsRule.test = /\.ts$/; jsRule.use = [{ loader: requireModule_1.default.resolve('awesome-typescript-loader'), }]; builder.config = spin.merge(builder.config, { module: { rules: [ { test: /\.html$/, loader: 'html-loader' }, ] }, plugins: [ new CheckerPlugin() ] }); builder.config.resolve.extensions = ['.'] .map(function (prefix) { return jsRuleFinder_1.extensions.map(function (ext) { return prefix + ext; }); }) .reduce(function (acc, val) { return acc.concat(val); }); if (!stack.hasAny('dll')) { for (var key in builder.config.entry) { var entry = builder.config.entry[key]; for (var idx = 0; idx < entry.length; idx++) { var item = entry[idx]; if (item.startsWith('./') && ['.js', '.jsx', '.ts', '.tsx'].indexOf(path.extname(item)) >= 0 && item.indexOf('node_modules') < 0) { var tsItem = './' + path.join(path.dirname(item), path.basename(item, path.extname(item))) + '.ts'; if (!fs.existsSync(item) && fs.existsSync(tsItem)) { entry[idx] = tsItem; } } } } } } }; return TypeScriptPlugin; }()); exports.default = TypeScriptPlugin; //# sourceMappingURL=TypeScriptPlugin.js.map