UNPKG

angular2-data-table

Version:

angular2-data-table is a Angular2 component for presenting large and complex data.

87 lines (83 loc) 2.36 kB
const webpack = require('webpack'); const webpackMerge = require('webpack-merge'); const WebpackNotifierPlugin = require('webpack-notifier'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); const chalk = require('chalk'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ForkCheckerPlugin = require('awesome-typescript-loader').ForkCheckerPlugin; const commonConfig = require('./webpack.common'); const { ENV, dir } = require('./helpers'); module.exports = function(options) { return webpackMerge(commonConfig({ env: ENV }), { devtool: 'cheap-module-source-map', devServer: { watchOptions: { poll: true }, port: 9999, hot: options.HMR, stats: { modules: false, cached: false, chunk: false } }, entry: { 'app': './demo/bootstrap.ts', 'polyfills': './demo/polyfills.ts' }, module: { exprContextCritical: false, rules: [ { enforce: 'pre', test: /\.js$/, loader: 'source-map-loader', exclude: /(node_modules)/ }, { enforce: 'pre', test: /\.ts$/, loader: 'tslint-loader', exclude: /(node_modules|release|dist)/ }, { test: /\.ts$/, loaders: [ 'awesome-typescript-loader', '@angularclass/hmr-loader' ], exclude: [/\.(spec|e2e|d)\.ts$/] }, { test: /\.css/, loader: 'style-loader!css-loader?sourceMap' }, { test: /\.scss$/, loader: 'style-loader!css-loader!postcss-loader?sourceMap!sass-loader?sourceMap' } ] }, plugins: [ // new ForkCheckerPlugin(), new webpack.optimize.CommonsChunkPlugin({ name: ['polyfills'], minChunks: Infinity }), new HtmlWebpackPlugin({ template: 'demo/index.ejs', chunksSortMode: 'dependency', title: 'angular2-data-table' }), new WebpackNotifierPlugin({ excludeWarnings: true }), new ProgressBarPlugin({ format: chalk.yellow.bold('Webpack Building...') + ' [:bar] ' + chalk.green.bold(':percent') + ' (:elapsed seconds)' }), new webpack.HotModuleReplacementPlugin() ] }); };