ngm-cli
Version:
Simple way to manage angular submodules in one repository
77 lines • 4.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const webpack = require("webpack");
// const TsConfigPathsPlugin = require('awesome-typescript-loader').TsConfigPathsPlugin;
function getWebpackConfig(config) {
return {
mode: 'production',
devtool: 'source-map',
resolve: {
extensions: ['.ts', '.js']
},
entry: config.entry,
output: {
path: config.output,
publicPath: '/',
filename: `${config.name}.js`,
libraryTarget: 'umd',
library: config.name
},
// require those dependencies but don't bundle them
externals: [/^\@angular\//, /^rxjs\//],
module: {
rules: [
{
test: /\.ts$/,
loader: `ts-loader`,
exclude: [/\.e2e\.ts$/],
options: {
transpileOnly: true,
configFile: config.tsconfig,
compilerOptions: {
declaration: false,
emitDecoratorMetadata: false
},
}
},
// in main, load css as raw text
{
// exclude: styles,
test: /\.css$/,
loaders: ['raw-loader', 'postcss-loader']
}, {
// exclude: styles,
test: /\.styl$/,
loaders: ['raw-loader', 'postcss-loader', 'stylus-loader']
},
{
// exclude: styles,
test: /\.less$/,
loaders: ['raw-loader', 'postcss-loader', 'less-loader']
}, {
// exclude: styles,
test: /\.scss$|\.sass$/,
loaders: ['raw-loader', 'postcss-loader', 'sass-loader']
}
]
},
plugins: [
// new TsConfigPathsPlugin(),
// fix the warning in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
new webpack.ContextReplacementPlugin(/angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/, config.root)
],
optimization: {
minimize: false
},
// Hide webpack output because its noisy.
// noInfo: true,
// Also prevent chunk and module display output, cleaner look. Only emit errors.
stats: 'errors-only',
devServer: {
stats: 'errors-only'
},
};
}
exports.getWebpackConfig = getWebpackConfig;
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay11bWQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy93ZWJwYWNrLXVtZC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBb0M7QUFDcEMseUZBQXlGO0FBRXpGLDBCQUFpQyxNQUFNO0lBQ3JDLE1BQU0sQ0FBQztRQUNMLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxZQUFZO1FBRXJCLE9BQU8sRUFBRTtZQUNQLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7U0FDM0I7UUFFRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFFbkIsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxHQUFHO1lBQ2YsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSztZQUM3QixhQUFhLEVBQUUsS0FBSztZQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDckI7UUFFRCxtREFBbUQ7UUFDbkQsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQztRQUV0QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsTUFBTSxFQUFFLFdBQVc7b0JBQ25CLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGFBQWEsRUFBRSxJQUFJO3dCQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVE7d0JBQzNCLGVBQWUsRUFBRTs0QkFDZixXQUFXLEVBQUUsS0FBSzs0QkFDbEIscUJBQXFCLEVBQUUsS0FBSzt5QkFDN0I7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsZ0NBQWdDO2dCQUNoQztvQkFDRSxtQkFBbUI7b0JBQ25CLElBQUksRUFBRSxRQUFRO29CQUNkLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztpQkFDMUMsRUFBRTtvQkFDRCxtQkFBbUI7b0JBQ25CLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7aUJBQzNEO2dCQUNEO29CQUNFLG1CQUFtQjtvQkFDbkIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQztpQkFDekQsRUFBRTtvQkFDRCxtQkFBbUI7b0JBQ25CLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7aUJBQ3pEO2FBQ0Y7U0FDRjtRQUVELE9BQU8sRUFBRTtZQUNQLDZCQUE2QjtZQUM3Qix3RkFBd0Y7WUFDeEYsSUFBSSxPQUFPLENBQUMsd0JBQXdCLENBQ2xDLDJEQUEyRCxFQUMzRCxNQUFNLENBQUMsSUFBSSxDQUNaO1NBQ0Y7UUFFRCxZQUFZLEVBQUU7WUFDWixRQUFRLEVBQUUsS0FBSztTQUNoQjtRQUNELHlDQUF5QztRQUN6QyxnQkFBZ0I7UUFDaEIsZ0ZBQWdGO1FBQ2hGLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxhQUFhO1NBQ3JCO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUEvRUQsNENBK0VDO0FBQUEsQ0FBQyJ9