GitHub user dosubot[bot] added a comment to the discussion: Vis Plugins 
Assistance

<!-- Greeting -->
Hi @TaahirKolia! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the 
superset team.

<!-- Answer -->
You're running into two main issues: peer dependency conflicts (especially with 
React versions) and a missing Babel config dependency. The Superset plugin 
generator expects you to manually install certain peer dependencies after 
scaffolding, but this isn't clearly documented.

Here's how to get past these errors:

1. **After generating your plugin, install required peer dependencies 
manually.** In your plugin directory, run:
   ```bash
   npm install @airbnb/config-babel@^2.2.4
   ```
   This resolves the "Cannot find module '@airbnb/config-babel'" build error 
[source](https://github.com/apache/superset/issues/33355).

2. **React version conflicts:** The plugin template expects React 17, but some 
environments (or the main Superset app) may use React 16. This mismatch causes 
the ERESOLVE errors you saw. Using `npm install --legacy-peer-deps` is a valid 
workaround, but it can mask deeper issues. If you continue to see React version 
errors, check that your Superset frontend and your plugin both use compatible 
React versions (ideally React 17 for new plugins) 
[source](https://github.com/apache/superset/issues/32433).

3. **Node.js and npm versions:** The most compatible versions for Superset 
frontend and plugins are Node.js 20.16.0 and npm 10.8.1 
[source](https://github.com/apache/superset/issues/33050). If you keep hitting 
npm errors, try installing Node.js directly (not via NVM) and matching these 
versions.

4. **If npm install fails with odd errors:** Clear your npm cache with `npm 
cache clean --force`, reinstall npm, or try using yarn as an alternative 
[source](https://github.com/apache/superset/issues/33355).

5. **Checklist for a clean build:**
   - Scaffold your plugin with `yo @superset-ui/superset`
   - In the plugin directory, run:
     ```
     npm install --legacy-peer-deps
     npm install @airbnb/config-babel@^2.2.4
     npm run build
     ```
   - If you see missing module errors, check for other peer dependencies in 
your `package.json` and install them manually.

The current plugin system has some rough edges, especially around peer 
dependencies and React versioning. There's an ongoing effort to improve this 
with a new extension architecture, but for now, manual peer dependency 
installation is required 
[source](https://github.com/apache/superset/issues/32433).

Let me know if you hit any specific errors after these steps!


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=hallucination)
 | [Report 
šŸ›](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/13b7d8c2-cfe5-47e5-8628-50d565932475?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/34591)

GitHub link: 
https://github.com/apache/superset/discussions/34591#discussioncomment-14032474

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: 
notifications-unsubscr...@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org
For additional commands, e-mail: notifications-h...@superset.apache.org

Reply via email to