kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
25 lines (23 loc) • 1.09 kB
text/typescript
import { reactDevUtils } from '../utils/path';
import { cacheData } from '../utils/cacheData';
/**
* Try to get the client `port:3000` after startup
* - `<APP Root>/node_modules/react-dev-utils/WebpackDevServerUtils.js`
* - [create-react-app/react-dev-utils/WebpackDevServerUtils.js](https://github.com/facebook/create-react-app/blob/0f6fc2bc71d78f0dcae67f3f08ce98a42fc0a57c/packages/react-dev-utils/WebpackDevServerUtils.js#L448-L493)
*/
export function overridesChoosePort(port?: number) {
const WebpackDevServerUtilsPath = `${reactDevUtils}/WebpackDevServerUtils`;
const devServerUtils = require(WebpackDevServerUtilsPath);
const { choosePort } = devServerUtils;
devServerUtils.choosePort = (host: string, defaultPort: number) => {
return new Promise(async (resolve) => {
if (port) {
resolve(port);
}
const currentPort = await choosePort(host, defaultPort);
cacheData({ port: currentPort, defaultPort });
resolve(currentPort);
});
};
require.cache[require.resolve(WebpackDevServerUtilsPath)].exports = devServerUtils;
}