Skip to content

Commit f823c09

Browse files
committed
correct webpackoverride
1 parent 7ac3897 commit f823c09

File tree

4 files changed

+44
-46
lines changed

4 files changed

+44
-46
lines changed

scripts/build.js

+11-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
const { nodeEnv, scriptName, configFilePath, paths } = require('./paths.utils');
1+
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
2+
3+
const { modulePath, configFilePath } = require('./paths.utils');
24
const { getFile, defaultOverridesConfig } = require('./helpers.utils');
35
const overrides = getFile(configFilePath) || defaultOverridesConfig;
46

5-
// react-scripts files
6-
const pathsPath = `${scriptName}/config/paths`;
7-
const webpackConfigPath = `${scriptName}/config/webpack.config`;
8-
const devServerConfigPath = `${scriptName}/config/webpackDevServer.config`;
7+
const pathsPath = `${modulePath}/config/paths`;
8+
const webpackConfigPath = `${modulePath}/config/webpack.config`;
9+
const paths = require(pathsPath);
910
const webpackConfig = require(webpackConfigPath);
10-
const devServerConfig = require(devServerConfigPath);
1111

1212
// override config in memory
1313
require.cache[require.resolve(pathsPath)].exports = overrides.paths(
1414
paths,
15-
nodeEnv
16-
);
17-
require.cache[require.resolve(webpackConfigPath)].exports = overrides.webpack(
18-
webpackConfig,
19-
nodeEnv
15+
process.env.NODE_ENV
2016
);
17+
require.cache[require.resolve(webpackConfigPath)].exports = (env) => {
18+
return overrides.webpack(webpackConfig(env), process.env.NODE_ENV);
19+
};
2120

2221
// run original script
23-
require(`${scriptName}/scripts/build`);
22+
require(`${modulePath}/scripts/build`);

scripts/helpers.utils.js

+5-12
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,12 @@ const getFile = (file) => {
1010
} catch (error) {
1111
return false;
1212
}
13-
}
13+
};
1414

1515
const defaultOverridesConfig = {
16-
paths: (paths, env) => {
17-
return paths;
18-
},
19-
webpack: (config, env) => {
20-
return config;
21-
},
22-
devServer: (configFn) => (proxy, allowedHost) => {
23-
const config = configFn(proxy, allowedHost);
24-
return config;
25-
}
16+
paths: (paths, env) => paths,
17+
webpack: (config, env) => config,
18+
devServer: (configFn) => (proxy, allowedHost) => configFn(proxy, allowedHost),
2619
};
2720

28-
module.exports = { getFile, defaultOverridesConfig }
21+
module.exports = { getFile, defaultOverridesConfig };

scripts/paths.utils.js

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
2-
const nodeEnv = process.env.NODE_ENV || 'development';
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const projectDir = path.resolve(fs.realpathSync(process.cwd()));
5+
const scriptName = 'react-scripts';
6+
const modulePath = path.join(
7+
require.resolve(`${scriptName}/package.json`),
8+
'..'
9+
);
310

411
module.exports = {
5-
nodeEnv,
6-
scriptName: 'react-scripts',
7-
configFilePath: './config-extends',
8-
paths: require(`react-scripts/config/paths`)
9-
}
12+
modulePath,
13+
configFilePath: `${projectDir}/config-overrides`,
14+
paths: require(`${modulePath}/config/paths`);,
15+
};

scripts/start.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
const { nodeEnv, scriptName, configFilePath, paths } = require('./paths.utils');
1+
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
2+
3+
const { modulePath, configFilePath } = require('./paths.utils');
24
const { getFile, defaultOverridesConfig } = require('./helpers.utils');
35
const overrides = getFile(configFilePath) || defaultOverridesConfig;
46

5-
// react-scripts files
6-
const pathsPath = `${scriptName}/config/paths`;
7-
const webpackConfigPath = `${scriptName}/config/webpack.config`;
8-
const devServerConfigPath = `${scriptName}/config/webpackDevServer.config`;
7+
const pathsPath = `${modulePath}/config/paths`;
8+
const webpackConfigPath = `${modulePath}/config/webpack.config`;
9+
const devServerConfigPath = `${modulePath}/config/webpackDevServer.config`;
10+
const paths = require(pathsPath);
911
const webpackConfig = require(webpackConfigPath);
1012
const devServerConfig = require(devServerConfigPath);
1113

1214
// override config in memory
1315
require.cache[require.resolve(pathsPath)].exports = overrides.paths(
1416
paths,
15-
nodeEnv
16-
);
17-
require.cache[require.resolve(webpackConfigPath)].exports = overrides.webpack(
18-
webpackConfig,
19-
nodeEnv
20-
);
21-
require.cache[require.resolve(devServerConfigPath)].exports = overrides.devServer(
22-
devServerConfig,
23-
nodeEnv
17+
process.env.NODE_ENV
2418
);
19+
require.cache[require.resolve(webpackConfigPath)].exports = (env) => {
20+
return overrides.webpack(webpackConfig(env), process.env.NODE_ENV);
21+
};
22+
require.cache[
23+
require.resolve(devServerConfigPath)
24+
].exports = overrides.devServer(devServerConfig, process.env.NODE_ENV);
2525

2626
// run original script
27-
require(`${scriptName}/scripts/start`);
27+
require(`${modulePath}/scripts/start`);

0 commit comments

Comments
 (0)