Activate Angular production mode on master branch.
This commit is contained in:
parent
38ff12070e
commit
5ef1848db2
4 changed files with 55 additions and 32 deletions
|
@ -8,12 +8,28 @@ build_job:
|
|||
stage: build
|
||||
script:
|
||||
- npm install
|
||||
- npm run build
|
||||
- npm run build-dev
|
||||
- npm run test
|
||||
tags:
|
||||
- javascript
|
||||
except:
|
||||
- tags
|
||||
- master
|
||||
artifacts:
|
||||
paths:
|
||||
- dist
|
||||
expire_in: 30 min
|
||||
|
||||
build_job_production:
|
||||
stage: build
|
||||
script:
|
||||
- npm install
|
||||
- npm run build
|
||||
- npm run test
|
||||
tags:
|
||||
- javascript
|
||||
only:
|
||||
- master
|
||||
artifacts:
|
||||
paths:
|
||||
- dist
|
||||
|
|
|
@ -4,35 +4,36 @@ var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
|||
var commonConfig = require('./webpack.common.js');
|
||||
var helpers = require('./helpers');
|
||||
|
||||
const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
|
||||
module.exports = function (env) {
|
||||
console.log("env:", env);
|
||||
return webpackMerge(commonConfig, {
|
||||
devtool: 'source-map',
|
||||
|
||||
module.exports = webpackMerge(commonConfig, {
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path: helpers.root('dist'),
|
||||
publicPath: '',
|
||||
filename: '[name].[hash].js',
|
||||
chunkFilename: '[id].[hash].chunk.js'
|
||||
},
|
||||
|
||||
output: {
|
||||
path: helpers.root('dist'),
|
||||
publicPath: '',
|
||||
filename: '[name].[hash].js',
|
||||
chunkFilename: '[id].[hash].chunk.js'
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new webpack.NoEmitOnErrorsPlugin(),
|
||||
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
|
||||
mangle: {
|
||||
keep_fnames: true
|
||||
}
|
||||
}),
|
||||
new ExtractTextPlugin('[name].[hash].css'),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
'ENV': JSON.stringify(ENV)
|
||||
}
|
||||
}),
|
||||
new webpack.LoaderOptionsPlugin({
|
||||
htmlLoader: {
|
||||
minimize: false // workaround for ng2
|
||||
}
|
||||
})
|
||||
]
|
||||
});
|
||||
plugins: [
|
||||
new webpack.NoEmitOnErrorsPlugin(),
|
||||
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
|
||||
mangle: {
|
||||
keep_fnames: true
|
||||
}
|
||||
}),
|
||||
new ExtractTextPlugin('[name].[hash].css'),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
'NODE_ENV': JSON.stringify(env.NODE_ENV)
|
||||
}
|
||||
}),
|
||||
new webpack.LoaderOptionsPlugin({
|
||||
htmlLoader: {
|
||||
minimize: false // workaround for ng2
|
||||
}
|
||||
})
|
||||
]
|
||||
});
|
||||
};
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
"scripts": {
|
||||
"start": "webpack-dev-server --inline --progress --port 8080",
|
||||
"test": "karma start",
|
||||
"build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail"
|
||||
"build-dev": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail --env.NODE_ENV=development",
|
||||
"build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail --env.NODE_ENV=production"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
|
||||
import {AppModule} from "./app/app.module";
|
||||
import {enableProdMode} from "@angular/core";
|
||||
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
enableProdMode();
|
||||
}
|
||||
|
||||
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||
|
|
Loading…
Reference in a new issue