Closed jonhuteau closed 4 years ago
Mildly helpful (I started to investigate this but have run out of time for now):
/lib/core/src/server/preset.js
loadPreset() calls splitAddons()
, which in my project (where I see the same issue), results in:
{ managerEntries:
[ '/Users/mshine/code/storybook/addons/viewport/register.js',
'/Users/mshine/code/storybook/addons/a11y/register.js',
'/Users/mshine/code/storybook/addons/links/register.js' ],
presets:
[ '/Users/mshine/code/storybook/addons/docs/preset.js',
'/Users/mshine/code/storybook/addons/knobs/preset.js' ] }
my addons array:
addons: [
'@storybook/addon-docs',
'@storybook/addon-knobs',
'@storybook/addon-viewport',
'@storybook/addon-a11y',
'@storybook/addon-links',
],
So this at least points to where/why the issue is happening
@matt-shine Thanks so much for tracking that down. Unfortunately it's not a straightforward fix. I'll see what @ndelangen and I can come up with there.
I see.. Will give this some thought as well.
We should likely extend the sorting I added so the order is correct. (according to original addons
array)
So there's 2 methods for adding managerEntries:
So if you have:
addons: [
'@storybook/addon-docs', // preset
'@storybook/addon-storysource', // preset
'@storybook/addon-design-assets', // register
'@storybook/addon-actions', // preset
'@storybook/addon-links', // preset
'@storybook/addon-events', // register
'@storybook/addon-knobs', // preset
'@storybook/addon-controls', // preset
'@storybook/addon-cssresources', // register
'@storybook/addon-backgrounds', // register
'@storybook/addon-a11y', // preset
'@storybook/addon-jest', // register
'@storybook/addon-viewport', // register
'@storybook/addon-graphql', // register
'@storybook/addon-toolbars', // preset
'@storybook/addon-queryparams', // preset
],
the resulting load order of addons is:
addons: [
'@storybook/addon-docs', // preset
'@storybook/addon-storysource', // preset
'@storybook/addon-actions', // preset
'@storybook/addon-links', // preset
'@storybook/addon-knobs', // preset
'@storybook/addon-controls', // preset
'@storybook/addon-a11y', // preset
'@storybook/addon-toolbars', // preset
'@storybook/addon-queryparams', // preset
'@storybook/addon-design-assets', // register
'@storybook/addon-events', // register
'@storybook/addon-cssresources', // register
'@storybook/addon-backgrounds', // register
'@storybook/addon-jest', // register
'@storybook/addon-viewport', // register
'@storybook/addon-graphql', // register
],
Here's the current code:
We need to ensure the merging of subPresets
& preset
happen in the order specified in subAddons
YES! a solution at last, I think.
Jeepers creepers!! I just released https://github.com/storybookjs/storybook/releases/tag/v6.0.0-beta.30 containing PR #11178 that references this issue. Upgrade today to try it out!
You can find this prerelease on the @next
NPM tag.
Sorry if I'm missed something, but can it be fixed also for version 5.x.x
?
@AleshaOleg unfortunately it's a significant change. 6.0 will be in RC in a few days, and i'd recommend upgrading once that lands
@shilman got it. thanks for the answer!
Describe the bug
Addons seems to not respect import order as stated in the doc
Expected behavior
When I define addons, I want addons to respect this order (knobs, jest, a11y)
Screenshots
System:
Additional context This is a VueJS storybook