Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Promote is-prop-valid, memoize, utils, sheet, etc to 1.x #1471

Closed
FezVrasta opened this issue Aug 13, 2019 · 5 comments
Closed

Promote is-prop-valid, memoize, utils, sheet, etc to 1.x #1471

FezVrasta opened this issue Aug 13, 2019 · 5 comments

Comments

@FezVrasta
Copy link
Member

FezVrasta commented Aug 13, 2019

There are a lot of @emotion/* packages with a version lower than 1.0.0. This makes package managers such as npm and Yarn treat them as incompatible within feature and patch versions of themselves (0.x.x).

  • @emotion/hash
  • @emotion/is-prop-valid
  • @emotion/memoize
  • @emotion/serialize
  • @emotion/sheet
  • @emotion/stylis
  • @emotion/unitless
  • @emotion/utils
  • @emotion/weak-memoize

The problem with this situation is that we end up with a lot of duplicate versions of the same package, because of this versioning constraint.

For example, in one of my projects, I have 3 @emotion/is-prop-valid versions, because some packages require ^0.8.2, some ^0.6.1 and others ^0.7.3. In all these cases, the ^ is ignored by the package managers, so the final bundle ends up shipping 3 versions of the same package.

Here some context about the 0.x versioning flaws:
semver/semver#221

Is there any reason of why we are using 0.x versioning for these packages or could we bump them to 1.0.0?

@Andarist
Copy link
Member

Not saying that a change regarding this wouldn't be good, I'm curious though - how do you end up with multiple versions? Which different packages require those?

@FezVrasta
Copy link
Member Author

In my case I have a very big project that is still using Emotion 9 along with Emotion 10. We are converting stuff to Emotion 10 but meanwhile we are in this situation.

@Andarist
Copy link
Member

This wouldn't help you with deduplicating emotion@9 dependencies though, right? You'd still use old pre-v1 versions there.

@FezVrasta
Copy link
Member Author

Yes but hopefully that wouldn’t be a problem with Emotion 11 at least

@Andarist
Copy link
Member

Some of those packages are going to be already upgraded together with v11, for the rest I've created a PR and some I have left untouched (reasoning is written down in that PR).

Let's close this for housekeeping purposes and just continue this under that PR if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants