Skip to content

v0.40 - New runtime library: styled-ppx/css and styled-ppx/emotion

Compare
Choose a tag to compare
@davesnx davesnx released this 13 Sep 00:40
· 260 commits to main since this release
61e02bf

This new release of styled-ppx brings one exciting breaking change: deprecation of bs-css and bs-css-emotion in favor of styled-ppx/css and styled-ppx/emotion

The reason for the deprecation are very simple:

  • bs-css is slower to change than a vendored library
  • bs-css currently supports much less CSS features as styled-ppx (https://github.com/search?q=repo%3Adavesnx%2Fstyled-ppx+bs-css+language%3AReason&type=code&l=Reason)
  • We want to make the runtime as minimal as possible (near zero) and with an external library this isn't possible
  • Want to use array/curried functions as much as possible while bs-css still exposes Css (while styled-ppx only uses CssJs)
  • bs-css doesn't have an API reference where users can jump into it and solve their doubt

How to migrate

Future releases of styled-ppx will rely on features only shipped on styled-ppx/css and it will break your compilation.

npm install @davesnx/styled-ppx
{
  "bs-dependencies": [
    "@rescript/react",
-  "bs-css",
-  "bs-css-emotion",
+   "@davesnx/styled-ppx/css",
+   "@davesnx/styled-ppx/emotion"
  ]
}

What's Changed

  • Embed bs-emotion under let%label by @davesnx in #341
  • Fixing a bunch of issues with parsing by @davesnx in #345
  • Remove logger reporter and refactor parsing to have result by @davesnx in #347
  • Migrate to opam by @davesnx in #350
  • Embed bs-css and bs-css-emotion by @davesnx in #349
  • Add vertical-align and interpolation safe by @davesnx in #351
  • Embed bs-css and bs-css-emotion as packages by @davesnx in #352
  • Create js/native with copy_files under styled-ppx.css/bs-css by @davesnx in #353

Full Changelog: v0.37.7...0.40.0