po-development-package
Version:
The development package for central platform.
46 lines (44 loc) • 1.8 kB
JavaScript
const path = require('path');
const webpack = require('webpack');
const ENV = "Dev";
module.exports = {
devtool: 'cheap-source-map',
resolve: {
extensions: ['.ts', '.js']
},
watchOptions: {
ignored: /node_modules/
},
module: {
rules: [
{ test: /\.spec.ts$/, use: ['awesome-typescript-loader', 'angular2-template-loader'], exclude: /node_modules/ },
{ test: /^(?!.*\.spec\.ts$).*\.ts$/, use: ['istanbul-instrumenter-loader', 'awesome-typescript-loader', 'angular2-template-loader'], exclude: /node_modules/ },
{ test: /\.html$/, use: 'raw-loader' },
{ test: /\.css$/, use: 'css-loader' },
{ test: /\.styl$/, use: ['css-loader', 'stylus-loader'] },
{ test: /\.less$/, use: ['css-loader', 'less-loader'] },
{ test: /\.scss$/, use: ['css-loader', 'sass-loader'] },
{ test: /\.sass$/, use: ['css-loader', 'sass-loader?indentedSyntax=true'] },
{ test: /\.svg$/, loader: 'svg-url-loader' }
]
},
externals: [
function (context, request, callback) {
if (request.indexOf('newkit/') === 0 || request.indexOf('@newkit/') === 0) {
let keys = request.split('/');
let moduleName = keys[1];
if (keys.length === 2)
moduleName = `${moduleName}/app.ts`;
let realPath = path.join(process.cwd(), 'src/modules', moduleName, ...keys.slice(2));
return callback(null, `'${realPath}'`);
}
callback();
}
],
plugins: [
new webpack.DefinePlugin({
'process.env': {
'ENV': JSON.stringify(ENV)
}
})]
};