diff options
Diffstat (limited to 'webpack-umd.config.ts')
-rw-r--r-- | webpack-umd.config.ts | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/webpack-umd.config.ts b/webpack-umd.config.ts new file mode 100644 index 0000000..d85ead4 --- /dev/null +++ b/webpack-umd.config.ts @@ -0,0 +1,97 @@ +import * as webpack from 'webpack'; +import * as path from 'path'; +import * as fs from 'fs'; +import * as angularExternals from 'webpack-angular-externals'; +import * as rxjsExternals from 'webpack-rxjs-externals'; + +const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +const pkg = JSON.parse(fs.readFileSync('./package.json').toString()); + +export default { + entry: { + 'index.umd': './src/angular/index.ts', + 'index.umd.min': './src/angular/index.ts', + }, + output: { + path: path.join(__dirname, 'dist'), + filename: '[name].js', + libraryTarget: 'umd', + library: 'onap-ui-angular' + }, + resolve: { + extensions: [ '.ts', '.js', '.json' ] + }, + externals: [ + angularExternals(), + rxjsExternals() + ], + devtool: 'source-map', + module: { + rules: [ + { + test: /\.ts$/, + use: [ + { + loader: 'ts-loader', + options: { + configFile: "tsconfig-aot.json" + } + }, + { + loader: 'angular2-template-loader' + } + ], + exclude: [ + /node_modules/, + /\.(spec|e2e)\.ts$/ + ] + }, + + { + test: /\.json$/, + use: 'json-loader' + }, + + { + test: /\.css$/, + use: ['to-string-loader', 'css-loader'] + }, + + { + test: /\.scss$/, + use: ['to-string-loader', 'css-loader', 'sass-loader'] + }, + + { + test: /\.html$/, + use: 'raw-loader' + } + ] + }, + plugins: [ + new webpack.ContextReplacementPlugin( + /angular(\\|\/)core(\\|\/)@angular/, + path.join(__dirname, 'src/angular') + ), + + new UglifyJsPlugin({ + include: /\.min\.js$/, + sourceMap: true + }), + + new webpack.BannerPlugin({ + banner: ` +/** + * ${pkg.name} - ${pkg.description} + * @version v${pkg.version} + * @author ${pkg.author.name} + * @link ${pkg.homepage} + * @license ${pkg.license} + */ + `.trim(), + raw: true, + entryOnly: true + }) + + ] +} as webpack.Configuration; |