carbon-design-system / carbon

A design system built by IBM
https://www.carbondesignsystem.com
Apache License 2.0
7.85k stars 1.81k forks source link

[Feature Request]: Update `@carbon/styles` to a more recent `@ibm/plex` #12608

Closed s100 closed 1 year ago

s100 commented 1 year ago

The problem

We're on Carbon 10 and our entire application is standardised on @ibm/plex@6.0.2 - the latest version of this package is @ibm/plex@6.1.1 which we could probably also use.

We recently added a dependency which makes use of @carbon/styles to our application and we discovered that this added a dependency on @ibm/plex@6.0.0-next.6:

https://github.com/carbon-design-system/carbon/blob/4b9b09a55304717307f288d8b588d23294318793/packages/styles/package.json#L42

This dependency is 50.6MB on disk. This is admittedly is a huge improvement over our current @ibm/plex which is 194MB on disk... but because we have two Plex installs in play at once, means this isn't an improvement for us, it's a regression of 50.6MB. This increases our install times and disk usage.

The solution

I suggest that @carbon/styles should use the same Plex version as the rest of the Carbon ecosystem, a recent, supported version. If you want to experiment with new beta versions of Plex, I think that should be done using a beta version of @carbon/styles itself.

Examples

No response

Application/PAL

IBM App Connect Enterprise (don't know what a PAL is)

Business priority

Low Priority = release date is not dependent on fix or not upcoming

Available extra resources

I can open a PR to change this version number but I don't know if that suffices.

Code of Conduct

tw15egan commented 1 year ago

@s100 We would welcome a PR to bump up the version, I don't think it should be an issue

s100 commented 1 year ago

@tw15egan Opened #12614, thank you.

s100 commented 1 year ago

OK so at first glance I thought this was just a one-liner because there were no lockfiles but on closer inspection it looks like there's one yarn.lock file for the entire repo at the top level, which means I guess I need to get a development environment set up, which is something like a 2GB to check out, and also the Windows instructions are pretty lengthy, so this could take a while...

tw15egan commented 1 year ago

@s100 I can take a look at updating your PR with the required files

tw15egan commented 1 year ago

@s100 I wasn't able to push to your branch, but I've put up a new PR here if you want to take a look

tw15egan commented 1 year ago

It looks like this may be blocked until we can integrate the @ibm/plex repo into the @carbon monorepo. Since the cache size is too large to push to GitHub, I've had to try and configure Git LTS, but it seems to cause unwanted issues. By integrating the package into the monorepo, we can publish smaller, per font-family packages that will help reduce overall file sizes.

tay1orjones commented 1 year ago

Yeah, I think this is a duplicate of #11661.

tay1orjones commented 1 year ago

Duplicate of #11661

s100 commented 1 year ago

I don't see that @ibm/plex needs to be integrated into this repo in order to do this, surely this is just a simple version change?