Support config-local.json overrides config.json
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@ node_modules
|
|||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
vendor
|
vendor
|
||||||
|
resources/assets/config-local.json
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ const path = require('path');
|
|||||||
const { argv } = require('yargs');
|
const { argv } = require('yargs');
|
||||||
const merge = require('webpack-merge');
|
const merge = require('webpack-merge');
|
||||||
|
|
||||||
const userConfig = require('../config');
|
const desire = require('./util/desire');
|
||||||
|
|
||||||
|
const userConfig = merge(desire(`${__dirname}/../config`), desire(`${__dirname}/../config-local`));
|
||||||
|
|
||||||
const isProduction = !!((argv.env && argv.env.production) || argv.p);
|
const isProduction = !!((argv.env && argv.env.production) || argv.p);
|
||||||
const rootPath = (userConfig.paths && userConfig.paths.root)
|
const rootPath = (userConfig.paths && userConfig.paths.root)
|
||||||
|
|||||||
14
resources/assets/build/util/desire.js
Normal file
14
resources/assets/build/util/desire.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @param {string} dependency
|
||||||
|
* @param {any} [fallback]
|
||||||
|
* @return {any}
|
||||||
|
*/
|
||||||
|
module.exports = (dependency, fallback) => {
|
||||||
|
try {
|
||||||
|
require.resolve(dependency);
|
||||||
|
} catch (err) {
|
||||||
|
return fallback;
|
||||||
|
}
|
||||||
|
return require(dependency); // eslint-disable-line import/no-dynamic-require
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user