Skip to content

CSS get bundled which breaks with custom properties #7748

Closed

Description

@GrimLink

With react-scripts build some css longhand properties get merged to a shorthand.
This is not always the desired result and is breaking with css custom properties.

It would be nice if we could disable some compression options on a react build via a config.
Example also with the calc minification from css nano

Or this behavior gets fixed.

Input:

.some-class {
    border-width: var(--border-width, 0 0 1px);
    border-style: var(--border-style, solid);
    border-color: var(--border-color, #eee);
}

Becomes this:

.some-class {
    border:
        var(--border-width, 0 0 1px)
        var(--border-style, solid)
        var(--border-color, #eee);
}

Expected:

.some-class {
    border: var(--border-style, solid) var(--border-color, #eee);
    border-width: var(--border-width, 0 0 1px);
}

Environment Info:

System:
OS: macOS 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
Binaries:
Node: 10.16.0 - /usr/local/opt/node@10/bin/node
Yarn: 1.17.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/opt/node@10/bin/npm
Browsers:
Chrome: 78.0.3904.34
Firefox: Not Found
Safari: 13.0.1
npmPackages:
react: ^16.9.0 => 16.9.0
react-dom: ^16.9.0 => 16.9.0
react-scripts: ^3.1.1 => 3.1.1
npmGlobalPackages:
create-react-app: 3.0.1

Activity

  1. changed the title [-]CSS get bundle which breaks with custom properties[/-] [+]CSS get bundled which breaks with custom properties[/+] on Sep 28, 2019
  2. stale commented on Oct 28, 2019

    @stale

    This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 5 days if no further activity occurs.

  3. sidonaldson commented on Oct 30, 2019

    @sidonaldson
    Contributor

    I'm facing a similar issue too. Would be good to be able to override the nano defaults. In my case they are minifying the font-face declaration which then breaks fonts in IE11

  4. GrimLink commented on Nov 1, 2019

    @GrimLink
    Author

    @sidonaldson yes, that would probably be the best way to handle this issue

  5. stale commented on Dec 1, 2019

    @stale

    This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 5 days if no further activity occurs.

  6. GrimLink commented on Dec 1, 2019

    @GrimLink
    Author

    Is anyone of the CRA team looking at this?

  7. sidonaldson commented on Dec 6, 2019

    @sidonaldson
    Contributor

    I've added a PR to cure my specific issue but not to allow any overrides to be passed through #8106

  8. ianschmitz commented on Dec 9, 2019

    @ianschmitz
    Contributor

    I've merged #8106, but i don't believe that will fix this issue.

  9. sidonaldson commented on Dec 9, 2019

    @sidonaldson
    Contributor

    @ianschmitz indeed. The best possible fix would be the ability to override the CSS minification defaults via package.json. Does CRA import overrides via package.json for any other customisation?

  10. ianschmitz commented on Dec 9, 2019

    @ianschmitz
    Contributor

    We generally don't. I'd prefer if we find a better default configuration that solves this issue instead of exposing postcss etc.

  11. GrimLink commented on Jul 20, 2022

    @GrimLink
    Author

    I am closing this issue, since I have moved from CRA to other options, also the lack of activity is not helping.
    If someone is interested to pick this up, please reopen the issue or create a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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