5028 Commits

Author SHA1 Message Date
Robin Malfait
7f81849a43
3.2.6 v3.2.6 2023-02-08 17:38:19 +01:00
Robin Malfait
d17bc26708
update changelog 2023-02-08 17:36:37 +01:00
Robin Malfait
352677f0a9
Prepare for the v3.2.6 2023-02-08 17:35:09 +01:00
Robin Malfait
add16364b4
drop oxide api shim 2023-02-08 17:34:33 +01:00
Robin Malfait
0bf3a7dda6
Revert "Prepare for the v3.2.5 release (#10531)"
This reverts commit cb46ebdf2203a00ef40025bffa01be46567d73a1.
2023-02-08 16:37:50 +01:00
Robin Malfait
abe5163116
3.2.5 v3.2.5 2023-02-08 16:34:58 +01:00
Robin Malfait
924ae7aca6
swap to stable engines when preparing the release 2023-02-08 16:11:01 +01:00
Robin Malfait
3f9d7e8e71
drop caching from release stable workflow 2023-02-08 16:11:01 +01:00
Robin Malfait
aff715eba6
ensure to swap to the stable engine
When releasing the `stable` version
2023-02-08 16:00:03 +01:00
Robin Malfait
f22261b314
do not include oxide engine related features 2023-02-08 15:54:35 +01:00
Robin Malfait
cb46ebdf22
Prepare for the v3.2.5 release (#10531)
* Revert "add caption-side utilities (#10470)"

This reverts commit f395cc4ae5c90eab90a722f42c7fda6ba8ece94e.

* Revert "Add support for configuring default `font-variation-settings` for a `font-family` (#10515)"

This reverts commit 8bd2846b5b906904a49e9ffec9c317e560f2eaa6.

* Revert "feat: add hyphens (#10071)"

This reverts commit f58a43fd75e8344b4c2cd0d34fa7b563b1f3ef3a.

* Revert "Add logical properties support for inline direction"

* Revert "Add `delay-0` and `duration-0` by default"

* Revert "Support using variables as arbitrary values without `var()`"

* Revert "Add `line-height` modifier support to `font-size` utilities"
2023-02-08 15:53:00 +01:00
Robin Malfait
04c5b224d2
mark --watch=always "feature" as a "bug fix" instead 2023-02-08 13:18:39 +01:00
depfu[bot]
43e78a6f07 Update sass to version 1.58.0 2023-02-08 10:59:31 +00:00
Adam Wathan
246ff1be3d
Update CHANGELOG.md 2023-02-07 11:54:05 -05:00
MichaelAllenWarner
f395cc4ae5
add caption-side utilities (#10470)
Co-authored-by: Michael Warner <michaelwarner@Michaels-MacBook-Pro.local>
2023-02-07 11:53:33 -05:00
Robin Malfait
8bd2846b5b
Add support for configuring default font-variation-settings for a font-family (#10515)
* Add support for configuring default `font-variation-settings` for a `font-family`

* update changelog

---------

Co-authored-by: Nikolai Grushkovsky <n@ngrushkovsky.com>
2023-02-07 15:06:59 +01:00
depfu[bot]
16a002c571 Update @swc/cli to version 0.1.61 2023-02-07 03:31:33 +00:00
Adam Wathan
2e0f3b05d6
Update CHANGELOG.md 2023-02-06 21:49:46 -05:00
fratzinger
f58a43fd75
feat: add hyphens (#10071) 2023-02-06 21:47:36 -05:00
Robin Malfait
b17b60ef6a
Sort by layer inside variants layer (#10505)
* sort by `layer` inside `variants` layer

We currently have a whole system for sorting the utilties / components
already. Right now we also have a "variants" layer, this is to ensure
that we always have variants at the end of the file regardless of the
`parentLayer` (base, utilties, components).

That said, we also have to make sure that within this `variants` layer
we also sort by the `parentLayer`.

* update changelog

* ensure order is correct now
2023-02-06 16:27:01 +01:00
depfu[bot]
da52210dd2 Update browserslist to version 4.21.5 2023-02-06 13:33:00 +00:00
MichaelAllenWarner
17c060e711
add 'max-h-none' utility (#10467)
Co-authored-by: Michael Warner <michaelwarner@Michaels-MacBook-Pro.local>
2023-02-02 15:52:41 +01:00
Jordan Pittman
885e134841
Parse alpha value from rgba/hsla colors when using variables (#10429)
* Parse alpha value from rgba/hsla colors

* Update changelog
2023-01-31 14:36:38 -05:00
depfu[bot]
9e216e4347
Update all of jest to version 29.4.1 (#10453)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-01-31 11:43:36 -05:00
Robin Malfait
a4f1ff9052
Improve CSS output in tests to better reflect reality (#10454)
* drop empty lines when diffing output

* replace expected css with optimized lightningcss output

Lightning CSS generates a more optimal CSS output.

Right now the tests are setup in a way that both the generated css and
expected css are run through `lightningcss` to make sure that the output
is concistent for the `stable` and `oxide` engines. But this also means
that the expected output _could_ be larger (aka not optimized) and still
matches (after it runs through lightningcss).

By replacing this with the more optimal output we achieve a few things:

1. This better reflects reality since we will be using `lightningcss`.
2. This gets rid of unnecessary css.
3. Removed code!
2023-01-31 15:37:49 +01:00
MichaelAllenWarner
afd159dd8d
a few minor fixes to the variants tests (#10427)
Co-authored-by: Michael Warner <michaelwarner@Michaels-MacBook-Pro.local>
2023-01-27 19:57:02 +01:00
Brad Cornes
ef6f9ee6c2
Add modifiers to context.getClassList result (#10251)
* Add modifiers to `conext.getClassList` result

* Tweak test

* Add `includeMetadata` flag and update tests

* update test
2023-01-26 10:58:37 +00:00
depfu[bot]
20c39a95b9 Update esbuild to version 0.17.4 2023-01-25 20:03:12 +00:00
depfu[bot]
c5eef095e2 Update parcel to version 2.8.3 2023-01-25 18:45:42 +00:00
Robin Malfait
8e60a3c7e8
Use Lightning CSS in the PostCSS Plugin (#10399)
* bump lightningcss

* use `lightningcss` in the main PostCss Plugin

* use lightningcss in our custom matchers

Now that we are using `lightningcss` and nesting in the new `oxide`
engine, the generated output _will_ be different in the majority of test
cases.

Using a combination of `prettier` and `lightningcss` will make the
output consistent.

The moment we are fully using the `oxide` engine, we can drop
`lightningcss` or `prettier` again to improve the performance of the
tests.

* update tests to apply `lightningcss` related changes

* update changelog

* add `lightningcss` and `browserslist` as dev dependencies to stable package.json

* only use `lightningcss` in tests (without prettier)

We will only fallback to prettier if lightningcss fails somehow.

* apply side effect chagnes due to only using lightningcss for tests

* make CI happy (integration tests)

Apply changes to integration tests now that we are using lightningcss

* transform `lightningcss` for Node 12 when running tests

* run prettier on failing tests for `toMatchFormattedCss`

This will result in better diffs because diffs are typically per block
and/or per line. But lightningcss will simplify certain selectors and
the diff won't be as clear.

We will only apply the prettier formatting for failing tests in the diff
view so that diffs are cleaner and we don't pay for the additional
prettier calls when tests pass.
2023-01-23 20:44:31 +01:00
Jordan Pittman
f821c71b7e
Handle group/peer variants with quoted strings (#10400)
* Handle group/peer variants with quoted strings

* Fix CS

* Use `splitAtTopLevelOnly` instead

This solution isn’t that pretty but it is reusing existing machinery

* inline return

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>

* Fix return type

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>

* Fixup

* Update changelog

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2023-01-23 13:37:41 -05:00
Jordan Pittman
667eac5e88
Handle variants when the same class appears multiple times in a selector (#10397) 2023-01-23 08:13:59 -05:00
Adam Wathan
937ac139a1
Include outline-color in default color properties to transition (#10385)
Co-Authored-By: Dilshod <28673719+deebov@users.noreply.github.com>

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
Co-authored-by: Dilshod <28673719+deebov@users.noreply.github.com>
2023-01-21 14:52:55 -05:00
Adam Wathan
c8e484c68b Add script for running integration tests 2023-01-21 11:28:24 -05:00
Adam Wathan
ff2c25f340
Update CHANGELOG.md 2023-01-21 10:55:51 -05:00
Adam Wathan
ed8ff92b03
Always sort candidates (#10382)
* Always sort candidates

* Sort candidates in Rust in Oxide engine

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2023-01-21 10:52:02 -05:00
Robin Malfait
e17855b4d4
Fine-tune turbo.json config to improve cache hits (#10377)
* play with turbo configuration

* tmp: random change, let's test caches

* remove unnecessary inputs

Inputs are implicit via the `"dependsOn": ["//#build"],`

* use `inputs` instead of `outputs` for `//#style`

* Revert "tmp: random change, let's test caches"

This reverts commit 77e9be6dc41bc432bee7589f77d8b9fc02369e2a.

* remove empty `outputs` configs
2023-01-21 01:06:41 +01:00
Robin Malfait
371b6ea83d
include matrix.target in cache key
There was a collision that I only noticed once we rand this exact
workflow. Including the matrix.target should resolve the incorrect cache
key.
2023-01-20 23:06:37 +01:00
Robin Malfait
f9d0c1e7df
Cache the oxide targets (#10374)
* cache the `oxide` targets

This will cache the oxide related build files to hopefully minimize the
amount of Rust compiling.

* tmp: drop turbo

* cache `./oxide/target/`

Thanks @thecrypticace!

* no need to cache `oxide` files

This will already be cached by GitHub actions. This should save us many
GBs on Vercel.com and Rust (or Cargo) is way better in using existing
cached information so this mix of caches between Turbo and GitHub
actions is kind of nice.

* Revert "tmp: drop turbo"

This reverts commit 22761d3a6669205a65695c6887bc9fda5f495adf.

* improve caching for integration tests and insiders release
2023-01-20 22:50:32 +01:00
Adam Wathan
42136e94ce
Run test suite against both engines (#10373)
* Run test suite against both engines

* make eslint happy

* only run `stable` tests on Node 12

* use normal expectation instead of snapshot file

When we run the tests only against `stable` (for node 12), then the
snapshots exists for the `Oxide` build. They are marked as `obsolete`
and will cause the `npm run test` script to fail. Sadly.

Inlined them for now, but ideally we make those tests more blackbox-y so
that we test that we get source maps and that we can map the sourcemap
back to the input files (without looking at the actual annotations).

* properly indent inline css

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2023-01-20 18:45:04 +01:00
Robin Malfait
7d1491449e
fix build status in README 2023-01-20 18:34:29 +01:00
Robin Malfait
019fddb32b
Bump dependencies (#10368)
* bump dependencies

* update changelog
2023-01-20 13:28:26 +01:00
Robin Malfait
5b078d9f83
use Node 16
We used this before, but I thought "why not bump it", so let's not bump
it yet...
2023-01-19 18:21:25 +01:00
Robin Malfait
73f86b1d43
use Node 18 for oxide release 2023-01-19 18:17:00 +01:00
Robin Malfait
b1f4da70d1
Separate stable and oxide engines (#10359)
* separate `stable` and `oxide` mode (package.json in this case)

* drop `install` script (we use a workspace now)

* change required engine to 16

* enable OXIDE by default

* ignore generated `oxide` files

* splitup package.json scripts into "public" and "private" scripts

Not ideal of course, but this should make it a tiny bit easier to know
which scripts _you_ as a developer / contributor have to run.

* drop `workspaces` from the `stable` engine

* drop `oxide` related build files from the `stable` engine

* drop `oxide` engine specific dependencies from the `stable` engine

* use the `oxide-node-api-shim` for the `stable` engine

* add little script to swap the engines

* drop `oxide:build` from `turbo` config

* configure `ci` for `stable` and `oxide` engines

- rename `nodejs.yml` -> `ci.yml`
- add `ci-stable.yml` (for stable mode and Node 12)
- ensure to use the `stable` engine in the `ci-stable.yml` workflow
- drop `oxide:___` specific scripts

* rename `release-insiders` to `release-insiders-stable`

This way we will be able to remove all files that contain `stable` once
we are ready.

* rename `release-insiders-oxide` to just `release-insiders`

* cleanup insider related workflows

* rename `release` -> `release-stable`

* rename `release-oxide` -> `release`

* change names of release workflows

* drop `oxide-` prefix from jobs

* inline node versions

* do not use `turbo` for the stable build

Can't use it because we don't have a workspace in the stable build.

* re-rename CI workflow

* encode default engine in relevant `package.json` files

* make Node 12 work

* increase `node-version` matrix

* make release workflows explicit (per engine)

* add `Oxide` to workflow name

* add integration tests for the `oxide` engine

* add integration tests for the `stable` engine

* run `oxide` integrations against node `18`

* run `stable` integration tests against node 18

We should test node 12 for tailwindcss, but integrations itself can run
against a newer version. In fact, we always ran them against node 16.

* use `localhost` instead of `0.0.0.0`

* ensure `webpack-4` works on Node 18

* run relese scripst directly

Instead of going via `npm`. It's a bit nicer and quicker!

* drop unused scripts

* sync package-lock.json

* ensure to generate the plugin list before running `jest`

We _could_ use an `npm run pretest`, but then you can't run `jest`
directly anymore (which is required for some tools like vscode
extensions).

* cleanup npm scripts

* drop pretend comments

* fix typo

* add `build:rust` as a pre-jest run script
2023-01-19 11:58:25 -05:00
depfu[bot]
07fe8bfe2b
Upgrade rollup: 2.79.1 → 3.10.0 (major) (#10360)
* Update rollup to version 3.10.0

* Update Rollup integrations for Rollup 3

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
2023-01-19 08:23:02 -05:00
Jonathan Reinink
377bac20b5 Update Vite integrations lock file 2023-01-19 08:05:53 -05:00
depfu[bot]
0149027cf8
Update vite to version 4.0.4 (#10356)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-01-19 08:03:33 -05:00
Robin Malfait
1454190ea0
inline tests (#10362)
This will reduce the amount of different test "implementations" and
should further unify/normalise the tests. Some tests are very large and
can be split up more but this is a start in the right direction.

One of the biggest benefits is that changes in the tests file re-trigger
a jest run in watch mode. A change in the HTML/CSS file won't.
2023-01-19 11:42:52 +01:00
depfu[bot]
b4833a9de9 Update turbo to version 1.7.0 2023-01-18 07:01:44 +00:00