po-development-package
Version:
The development package for central platform.
63 lines (62 loc) • 2.7 kB
JavaScript
const path = require('path');
const utils = require('../../util');
const { CheckerPlugin } = require('awesome-typescript-loader');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
devtool: 'cheap-source-map',
cache: true,
profile: true,
resolve: {
extensions: ['.ts', '.js']
},
watchOptions: {
ignored: /node_modules/
},
externals: [
{
'rxjs':'Rx',
'@angular/common': 'ng.common',
'@angular/compiler': 'ng.compiler',
'@angular/core': 'ng.core',
'@angular/http': 'ng.http',
'@angular/platform-browser': 'ng.platformBrowser',
'@angular/platform-browser-dynamic': 'ng.platformBrowserDynamic',
'@angular/router': 'ng.router',
'@angular/forms': 'ng.forms',
'@angular/animations': 'ng.animations',
'@newkit/core': `newkit['newkit-core']`,
'newkit/core': `newkit['newkit-core']`,
'kendo-wijmo': `window['kendo-wijmo']`,
'jquery': '$',
'lodash': '_',
'moment': 'moment',
'immutable': `window['immutable']`,
'@ngrx/store': `window['ngrx']['store']`,
'@ngrx/effects': `window['ngrx']['effects']`,
'@ngrx/entity': `window['ngrx']['entity']`,
'ngrx-store-localstorage': `window['ngrx']['localstorage']`
},
function (context, request, callback) {
if (request.indexOf('newkit/') === 0 || request.indexOf('@newkit/') === 0) {
let key = request.split('/')[1];
return callback(null, `var newkit['${key}']`);
}
callback();
},
utils.rxjsExternalsFactory()],
module: {
rules: [
{ test: /^(?!.*\.spec\.ts$).*\.ts$/, use: ['awesome-typescript-loader', 'angular2-template-loader'], exclude: /node_modules/ },
{ test: /\.html$/, use: 'raw-loader' },
{ test: /\.css$/, use: ExtractTextPlugin.extract({ use: 'css-loader' }) },
{ test: /\.styl$/, use: ExtractTextPlugin.extract({ use: 'css-loader!stylus-loader' }) },
{ test: /\.less$/, use: ExtractTextPlugin.extract({ use: 'css-loader!less-loader' }) },
{ test: /\.scss$/, use: ExtractTextPlugin.extract({ use: 'css-loader!sass-loader' }) },
{ test: /\.sass$/, use: ExtractTextPlugin.extract({ use: 'css-loader!sass-loader?indentedSyntax=true' }) },
{ test: /\.svg$/, loader: 'svg-url-loader' }
]
},
plugins: [
new CheckerPlugin()
]
};