superset/superset-frontend/temporary_superset_ui/superset-ui/docs/debugging.md

68 lines
1.4 KiB
Markdown
Raw Normal View History

2019-09-19 03:07:24 -04:00
## Debugging Superset plugins in Superset app
### Activating plugins for local development
1. Enable `npm link` for the package.
```sh
cd superset-ui
cd packages/superset-ui-chart
npm link
```
2. Link the local package to `incubator-superset`.
```sh
cd incubator-superset
cd superset/assets
npm link @superset-ui/chart \# use package name in package.json, not directory name
```
3. After npm link complete, update the import statements in Superset.
2019-09-19 03:07:24 -04:00
Instead of
```js
import { xxx } from '@superset-ui/plugin-chart-horizon';
```
which will point to the transpiled code.
do refer to `src`
```js
import { xxx } from '@superset-ui/plugin-chart-horizon/src';
2019-09-19 03:07:24 -04:00
```
4. After that you can run `dev-server` as usual.
```sh
npm run dev-server
```
Now when you change the code in `@superset-ui`, it will update the app immediately similar to code
inside `incubator-superset`.
2019-09-19 03:07:24 -04:00
### Deactivating plugins for local development
1. Change the `import` statements back.
2. Unlink the package from `incubator-superset`.
```cd incubator-superset
cd superset/assets
npm unlink @superset-ui/chart
```
Note: Quite often, `npm link` mess up your `node_modules` and the `unlink` command above does not
work correctly, making webpack build fails or other unexpected behaviors. If that happens, just
delete your `node_modules` and `npm install` from scratch.
2019-09-19 03:07:24 -04:00
3. Clean up global link.
```sh
cd superset-ui
cd packages/superset-ui-chart
npm unlink
```