Skip to content

Should @storybook/react depend on ajv/ajv-keywords? #2979

@majapw

Description

@majapw

Issue details

Hi all,

I've been running through a pretty interesting dependency issue that I'm trying to figure out how best to mitigate. For context I am on:
[email protected]
[email protected]

I have storybook as a dev dependency of my package as well as a whole lot of other things. Notably, storybook brings in webpack@^3.11.0 and postcss-loader@^2.1.0=>schema-utils@^0.4.4 ... both of which bring in ajv@6/ajv-keywords@3 as of a few days ago.

These changes down the tree made my app's npm ls (and therefore my tests) all start erroring out with no code changes.

I have a basic repro case here: https://github.com/majapw/ajv-deps-test

Basically if you install eslint at the latest (which pulls in ajv@5) and @storybook/react at the latest (which pulls in ajv@6) you get an error when you run npm ls due to peer dep incompatibility. I think that if storybook depended directly on ajv@6, this would mitigated. I could be wrong though and am open to other possibilities. Thoughts?

@backwardok @ljharb @gabergg

Steps to reproduce

git clone [email protected]:majapw/ajv-deps-test.git
npm install
npm ls

Please specify which version of Storybook and optionally any affected addons that you're running

@storybook/[email protected]

Affected platforms

react

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions