diff --git a/.changeset/early-carpets-rush.md b/.changeset/early-carpets-rush.md new file mode 100644 index 0000000000..dbdc5410c9 --- /dev/null +++ b/.changeset/early-carpets-rush.md @@ -0,0 +1,16 @@ +--- +'@backstage/cli': patch +--- + +Add missing peer/dev dependencies to the frontend plugin template. + +`react-dom` was not declared as a peer dependency, causing module resolution +errors when generating plugins outside a Backstage monorepo. This adds +`react-dom` to `peerDependencies` (for consuming apps) and `devDependencies` +(for local development). `react-router-dom` is also added to `peerDependencies` (for consuming apps) and `devDependencies` +to support routing during plugin development. + +Fixes: + +- Module not found: Can't resolve 'react-dom' +- Module not found: Can't resolve 'react-router-dom' diff --git a/packages/cli/templates/frontend-plugin/package.json.hbs b/packages/cli/templates/frontend-plugin/package.json.hbs index 1ee8231228..9499d11b18 100644 --- a/packages/cli/templates/frontend-plugin/package.json.hbs +++ b/packages/cli/templates/frontend-plugin/package.json.hbs @@ -31,7 +31,9 @@ "react-use": "{{versionQuery 'react-use' '17.2.4'}}" }, "peerDependencies": { - "react": "{{versionQuery 'react' '^16.13.1 || ^17.0.0 || ^18.0.0'}}" + "react": "{{versionQuery 'react' '^16.13.1 || ^17.0.0 || ^18.0.0'}}", + "react-dom": "{{versionQuery 'react-dom' '^16.13.1 || ^17.0.0 || ^18.0.0'}}", + "react-router-dom": "{{versionQuery 'react-router-dom' '^6.0.0'}}" }, "devDependencies": { "@backstage/cli": "{{versionQuery '@backstage/cli'}}", @@ -42,7 +44,9 @@ "@testing-library/react": "{{versionQuery '@testing-library/react' '14.0.0'}}", "@testing-library/user-event": "{{versionQuery '@testing-library/user-event' '14.0.0'}}", "msw": "{{versionQuery 'msw' '1.0.0'}}", - "react": "{{versionQuery 'react' '^16.13.1 || ^17.0.0 || ^18.0.0'}}" + "react": "{{versionQuery 'react' '^16.13.1 || ^17.0.0 || ^18.0.0'}}", + "react-dom": "{{versionQuery 'react-dom' '^16.13.1 || ^17.0.0 || ^18.0.0'}}", + "react-router-dom": "{{versionQuery 'react-router-dom' '^6.0.0'}}" }, "files": [ "dist"