Merge pull request #9879 from backstage/rugvip/dompatch
cli: install both v16 and v17 of @hot-loader/react-dom
This commit is contained in:
@@ -37,7 +37,8 @@
|
||||
"@backstage/errors": "^0.2.2",
|
||||
"@backstage/release-manifests": "^0.0.2",
|
||||
"@backstage/types": "^0.1.3",
|
||||
"@hot-loader/react-dom": "^17.0.2",
|
||||
"@hot-loader/react-dom-v16": "npm:@hot-loader/react-dom@^16.0.2",
|
||||
"@hot-loader/react-dom-v17": "npm:@hot-loader/react-dom@^17.0.2",
|
||||
"@manypkg/get-packages": "^1.1.3",
|
||||
"@octokit/request": "^5.4.12",
|
||||
"@rollup/plugin-commonjs": "^21.0.1",
|
||||
|
||||
@@ -167,13 +167,16 @@ export async function createConfig(
|
||||
}),
|
||||
);
|
||||
|
||||
// Detect and use the appropriate react-dom hot-loader patch based on what
|
||||
// version of React is used within the target repo.
|
||||
const resolveAliases: Record<string, string> = {};
|
||||
try {
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
const { version: reactDomVersion } = require('react-dom/package.json');
|
||||
// Only apply the alias for hook support if we're running with React 16
|
||||
if (reactDomVersion.startsWith('16.')) {
|
||||
resolveAliases['react-dom'] = '@hot-loader/react-dom';
|
||||
resolveAliases['react-dom'] = '@hot-loader/react-dom-v16';
|
||||
} else {
|
||||
resolveAliases['react-dom'] = '@hot-loader/react-dom-v17';
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(`WARNING: Failed to read react-dom version, ${error}`);
|
||||
|
||||
Reference in New Issue
Block a user