Skip to content
This repository was archived by the owner on Sep 24, 2020. It is now read-only.

Commit 1290a14

Browse files
author
Matt Levy
authored
Merge pull request #15 from simon0191/add-environment-support
Add environment vars support
2 parents 72862da + d001dc9 commit 1290a14

File tree

11 files changed

+53
-22
lines changed

11 files changed

+53
-22
lines changed

template/config/webpack.config.base.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const helpers = require("./helpers"),
2-
DefinePlugin = require('webpack/lib/DefinePlugin'),
32
CopyWebpackPlugin = require('copy-webpack-plugin');
43

54
let config = {
@@ -29,12 +28,6 @@ let config = {
2928
{from: 'src/assets', to: '../assets'},
3029
{from: 'src/css', to: '../css'}
3130
]),
32-
new DefinePlugin({
33-
'process.env': {
34-
'ENV': process.env.NODE_ENV,
35-
'NODE_ENV': process.env.NODE_ENV
36-
}
37-
})
3831
]
3932
};
4033

template/config/webpack.config.coverage.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
const webpackConfig = require("./webpack.config.base");
1+
const webpackConfig = require("./webpack.config.base")
2+
DefinePlugin = require('webpack/lib/DefinePlugin'),
3+
env = require('../environment/dev.env');
24

35
webpackConfig.module.rules[1].query = {
46
compilerOptions: {
@@ -24,4 +26,10 @@ webpackConfig.module.rules = [...webpackConfig.module.rules,
2426

2527
webpackConfig.devtool = "inline-source-map";
2628

29+
webpackConfig.plugins = [...webpackConfig.plugins,
30+
new DefinePlugin({
31+
'process.env': env
32+
})
33+
];
34+
2735
module.exports = webpackConfig;

template/config/webpack.config.dev.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const helpers = require("./helpers"),
2-
webpackConfig = require("./webpack.config.base")
2+
webpackConfig = require("./webpack.config.base"),
3+
DefinePlugin = require('webpack/lib/DefinePlugin'),
4+
env = require('../environment/dev.env');
35

46
webpackConfig.devServer = {
57
port: 8080,
@@ -10,4 +12,10 @@ webpackConfig.devServer = {
1012
open: true
1113
};
1214

15+
webpackConfig.plugins = [...webpackConfig.plugins,
16+
new DefinePlugin({
17+
'process.env': env
18+
})
19+
]
20+
1321
module.exports = webpackConfig;

template/config/webpack.config.prod.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
const UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin'),
22
CompressionPlugin = require('compression-webpack-plugin'),
33
webpackConfig = require("./webpack.config.base"),
4-
helpers = require("./helpers");
4+
helpers = require("./helpers"),
5+
DefinePlugin = require('webpack/lib/DefinePlugin'),
6+
env = require('../environment/prod.env');
57

68
webpackConfig.entry["main.min"] = helpers.root("/src/main.ts");
79

@@ -13,6 +15,9 @@ webpackConfig.plugins = [...webpackConfig.plugins,
1315
new CompressionPlugin({
1416
asset: "[path].gz[query]",
1517
test: /\.min\.js$/
18+
}),
19+
new DefinePlugin({
20+
'process.env': env
1621
})
1722
];
1823

template/config/webpack.config.test.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
var webpack = require('webpack'),
2-
webpackConfig = require('./webpack.config.base');
2+
webpackConfig = require('./webpack.config.base'),
3+
DefinePlugin = require('webpack/lib/DefinePlugin'),
4+
env = require('../environment/dev.env');
35

46
webpackConfig.module.rules = [{
57
test: /\.ts$/,
@@ -19,11 +21,14 @@ webpackConfig.module.rules = [{
1921
}
2022
];
2123

22-
webpackConfig.plugins = [
23-
new webpack.SourceMapDevToolPlugin({
24-
filename: null, // if no value is provided the sourcemap is inlined
25-
test: /\.(ts|js)($|\?)/i
26-
})
24+
webpackConfig.plugins = [...webpackConfig.plugins,
25+
new webpack.SourceMapDevToolPlugin({
26+
filename: null, // if no value is provided the sourcemap is inlined
27+
test: /\.(ts|js)($|\?)/i
28+
}),
29+
new DefinePlugin({
30+
'process.env': env
31+
})
2732
];
2833

2934
webpackConfig.devtool = 'inline-source-map';

template/environment/dev.env.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
ENV: '"development"',
3+
NODE_ENV: '"development"',
4+
DEBUG_MODE: true,
5+
API_KEY: '"XXXX-XXXXX-XXXX-XXXX"',
6+
}

template/environment/prod.env.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
ENV: '"production"',
3+
NODE_ENV: '"production"',
4+
DEBUG_MODE: false,
5+
API_KEY: '"XXXX-XXXXX-XXXX-XXXX"',
6+
}

template/karma.unit.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var webpackConfig = require('./config/webpack.config.base');
1+
var webpackConfig = require('./config/webpack.config.test');
22

33
module.exports = function(config) {
44
config.set({
@@ -11,10 +11,7 @@ module.exports = function(config) {
1111
preprocessors: {
1212
'src/test.ts': ['webpack']
1313
},
14-
webpack: {
15-
resolve: webpackConfig.resolve,
16-
module: webpackConfig.module
17-
},
14+
webpack: webpackConfig,
1815
webpackServer: { noInfo: true },
1916
reporters: ['mocha'],
2017
port: 9876,

template/src/components/home/home.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="row">
33
<div class="content col-md-4">
44
<h1><strong>Thank you for using <span class="text-primary package">\{{package}}</span></strong></h1>
5-
5+
<p>This project is running in <strong class="mode">\{{mode}} mode</strong></p>
66
<p>Make sure to follow the project on <a v-bind:href="repo">GitHub</a> to stay up to date with the latest releases, or contribute to the broject by opening an issue or making a pull-request!</p>
77
</div>
88
</div>

template/src/components/home/home.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ describe('Home component', () => {
1313
directiveTest.createComponent();
1414
await directiveTest.execute((vm) => {
1515
debugger;
16+
const mode = process.env.ENV;
17+
expect(vm.$el.querySelector('.mode').textContent).to.equal(`${mode} mode`);
1618
expect(vm.$el.querySelector('.package').textContent).to.equal('vue-webpack-typescript');
1719
});
1820
});

0 commit comments

Comments
 (0)