bpanel-org / bpanel

A Blockchain Management System, powered by bcoin
https://bpanel.org
Other
53 stars 23 forks source link

Removing plugins doesn't remove installed node modules #64

Open pinheadmz opened 6 years ago

pinheadmz commented 6 years ago

1. Start with genesis theme installed

config.js:

  plugins: ['@bpanel/genesis-theme'],

node_modules:

bmenace-theme
bpanel-footer
bpanel-header
bpanel-ui
bpanel-utils
bui
chain-sockets
dashboard
genesis-theme
mempool-widget
peers-widget
recent-blocks
simple-wallet

2. Remove genesis theme:

config.js:

  plugins: [],

node_modules:

bmenace-theme
bpanel-footer
bpanel-header
bpanel-ui
bpanel-utils
bui
chain-sockets
dashboard
genesis-theme
mempool-widget
peers-widget
recent-blocks
simple-wallet

3. Install bmoon theme by itself:

config.js:

  plugins: ['@bpanel/bmoon-theme'],

node_modules:

bmoon-theme
bpanel-ui
bpanel-utils

4. Install publish data now without explicitly adding simple wallet

config.js:

  plugins: ['@bpanel/bmoon-theme', '@bpanel/publish-data'],

node_modules:

bmoon-theme
bpanel-ui
bpanel-utils
publish-data
simple-wallet

...however, this produces a broken simple wallet in the interface, and JS errors in browser console:

warning.js?0c47:10 Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.

5. Install genesis theme again in addition:

config.js:

plugins: ['@bpanel/genesis-theme', '@bpanel/bmoon-theme', '@bpanel/publish-data'],

node_modules:

bmenace-theme
bmoon-theme
bpanel-footer
bpanel-header
bpanel-ui
bpanel-utils
bui
chain-sockets
dashboard
genesis-theme
mempool-widget
peers-widget
publish-data
recent-blocks
simple-wallet

...and now everything is fine again!

screen shot 2018-08-06 at 4 09 41 pm

bucko13 commented 6 years ago

Theory on what is probably causing the issue: @bpanel/publish-data has a dependency on simple wallet (which it probably doesn't need in the first place) but it is using an old version of simple-wallet which hasn't updated to the new version of bPanel's redux system. Highlights that we need to improve the dependency and versioning system around plugins.

tynes commented 6 years ago

good find @pinheadmz!