Commit graph

5290 commits

Author SHA1 Message Date
Robin Malfait
82e0acebe0 move failing test to dedicated failing test 2023-10-02 15:12:09 +00:00
Robin Malfait
1879130f45 nit improvement: remove unnecessary spaces 2023-10-02 15:12:09 +00:00
Robin Malfait
9f73b9a33c add missing placeholder-transparent/0 2023-10-02 15:12:09 +00:00
Robin Malfait
a14f6bcf6d update tests to reflect Lightning CSS update
The main things I'm seeing right now are:
1. Some selectors are broken up into multiple selectors, especially when
   there are pseudo classes involved where the output is unknown. For
   example `::ng-deep, ::v-deep {}` will be split into `::ng-deep {},
   ::v-deep {}`
2. It looks like a lot of selectors were dropped, however after looking
   at them in more detail I noticed that they were _duplicated_ before.
   This means that now the output will be smaller in these cases!
2023-10-02 15:12:09 +00:00
Robin Malfait
91fb37cbe3 adjust Lightning CSS API 2023-10-02 15:12:09 +00:00
Robin Malfait
20856edaa1 sync package-lock.json file 2023-10-02 15:12:09 +00:00
depfu[bot]
aa1be48d39 Update lightningcss to version 1.22.0 2023-10-02 15:12:09 +00:00
Robin Malfait
0af88b1494
Improve RegEx parser, reduce possibilities as the key for arbitrary properties (#12121)
* optimize handling of RegEx parser results

Previous:
- Copy `results`, for every subsequent result of other `patterns`
- Loop over results to filter out `undefined` values
- Loop over results to map to `clipAtBalancedParens`

Current:
- For each candidate, push the `clipAtBalancedParens(candidate)` into
  the `results`

This way we are not copying existing results, and we are also avoiding
additional loops over the entire array to filter out `undefined` values
and map to `clipAtBalancedParens`.

* do not allow `]` in the first part of arbitrary properties

```
[foo:bar]
 ─┬─
  └── This part cannot contain `]`
```

This is also a very targeted fix for when the arbitrary properties seem
to match a large piece of text, but shouldn't

* add real world tests for parsing candidate strings

* sync package-lock.json

* update changelog
2023-10-02 16:19:23 +02:00
Jordan Pittman
5542340a75
Eliminate irrelevant rules when applying variants (#12113)
* Eliminate irrelevant rules when applying variants

* Update changelog
2023-09-29 16:31:43 -04:00
Jordan Pittman
457d2b1b1c
Don’t crash when important and parent selectors are equal in @apply (#12112)
* Don’t crash when important and parent selectors are equal in `@apply`

* Update changelog
2023-09-29 16:04:32 -04:00
Jordan Pittman
d32228628e
Update types to work with Node16 module resolution (#12097)
* Update types to work with Node16 module resolution

* Update changelog
2023-09-28 11:12:50 -04:00
Jordan Pittman
1e7dd3a0c4
Skip over classes inside :not(…) when nested in an at-rule (#12105)
* Skip over classes inside `:not(…)` when nested in an at-rule

When defining a utility we skip over classes inside `:not(…)` but we missed doing this when classes were contained within an at-rule. This fixes that.

* Update changelog
2023-09-28 10:45:59 -04:00
depfu[bot]
61dc99f4ad Update postcss to version 8.4.30 2023-09-26 22:37:03 +00:00
Jordan Pittman
05d0a6f8d2
Support loading plugins by package / file name (#12087)
* Cleanup test

Strings are going to actually do something now

* Refactor plugin loading in `resolveConfig`

This should keep the same instance of a plugin in use too. Maybe even reduce memory usage?! idk we’ll see

* Support simple plugin configs

* Update types

* Update changelog
2023-09-26 13:21:42 -04:00
Jordan Pittman
aaca7c4c4c
Batch reading content files to prevent too many open files error (#12079)
* Refactor

* Refactor

* Batch content file reads in Node into groups of 500

We shouldn’t need to do this for our Rust code because it utilizes Rayon’s default thread pool for parallelism. This threadpool has roughly the number of cores as the number of available threads except when overridden. This generally is much, much lower than 500 and can be explicitly overridden via an env var to work around potential issues with open file descriptors if anyone ever runs into that.

* Fix sequential/parallel flip

* Update changelog
2023-09-25 12:18:11 -04:00
Robin Malfait
64c7d0efe7
update package-lock.json 2023-09-25 13:47:45 +02:00
depfu[bot]
b33c30284f Update eslint to version 8.49.0 2023-09-22 21:35:46 +00:00
depfu[bot]
2e031337ce Update turbo to version 1.10.14 2023-09-22 20:34:49 +00:00
depfu[bot]
0e7f936995 Update resolve to version 1.22.6 2023-09-22 00:07:11 +00:00
depfu[bot]
3e16028406 Update all of jest to version 29.7.0 2023-09-21 13:22:32 +00:00
depfu[bot]
bd970d03f3 Update sass to version 1.67.0 2023-09-21 01:59:04 +00:00
Jordan Pittman
d3f22216c1
Handle variable colors that have variable fallback values (#12049)
* Parse colors even when variable has fallback that is a variable

* Update changelog
2023-09-20 16:34:39 -04:00
Yuhei Yasuda
5366d242c2
Add support for text-wrap: pretty (#12031)
* Add support for `text-wrap: pretty`

* Update changelog

---------

Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
2023-09-19 08:49:20 -04:00
depfu[bot]
42e75ba4b8 Update jiti to version 1.20.0 2023-09-15 14:37:13 +00:00
depfu[bot]
91e91e067d Update rollup to version 3.29.1 2023-09-14 07:47:42 +00:00
depfu[bot]
0bb275797f Update @swc/core to version 1.3.84 2023-09-14 03:53:10 +00:00
depfu[bot]
87d7b91ac7 Update postcss to version 8.4.29 2023-09-12 22:22:06 +00:00
Brandon McConnell
9faf10958b
Update Preflight html styles to include shadow DOM :host pseudo-class (#11200)
* Extend current preflight `html` styles to support other root/host scopes

Supports SVG root scope, ShadowDOM, and presumably other root scopes

* Replace `:root` with `html`

* Update tests

* Update changelog

---------

Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
2023-09-08 11:46:57 -04:00
Viktor Szépe
7a86f3ae23
Remove matrix.setup release-insiders.yml (#11954) 2023-09-05 19:47:03 -04:00
Robin Malfait
696810fd5a update tests to reflect changes in Lightning CSS
This commit (284debfb49) introduced:

"Don't put unknown pseudo elements in an `:is()`"

I thought this was a bug at first, but looking at MDN, these pseudo
elements are non-standard:

- https://developer.mozilla.org/en-US/docs/Web/CSS/::-webkit-inner-spin-button
- https://developer.mozilla.org/en-US/docs/Web/CSS/::-webkit-outer-spin-button
2023-08-28 09:53:46 +00:00
Robin Malfait
42e168b35c sync package-lock.json 2023-08-28 09:53:46 +00:00
depfu[bot]
63252a57e4 Update lightningcss to version 1.21.7 2023-08-28 09:53:46 +00:00
depfu[bot]
8f1987567b Update sass to version 1.66.1 2023-08-25 23:29:56 +00:00
depfu[bot]
68260bd9e2 Update jiti to version 1.19.3 2023-08-25 14:34:20 +00:00
depfu[bot]
73272faaa8 Update postcss to version 8.4.28 2023-08-23 14:02:19 +00:00
depfu[bot]
8b4862b7c7 Update @napi-rs/cli to version 2.16.3 2023-08-23 14:01:32 +00:00
Jordan Pittman
0198e84c90 Remove unused imports 2023-08-23 09:42:07 -04:00
Jordan Pittman
9a52f90fe9 Remove grouping prototype
This code has been sitting around for a while disabled and untested. And it does not work with the Oxide parser. So we’re gonna remove it.
2023-08-21 11:01:19 -04:00
Jordan Pittman
9fcfea47a6 Sync changelog with v3.3 branch 2023-08-21 10:52:04 -04:00
depfu[bot]
28e8fdf24c Update @swc/jest to version 0.2.29 2023-08-19 05:35:05 +00:00
depfu[bot]
a2fa693276 Update eslint to version 8.47.0 2023-08-18 17:06:36 +00:00
depfu[bot]
d58d5b2797
Update eslint-config-prettier to version 9.0.0 (#11815)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2023-08-17 16:58:51 -04:00
Adam Wathan
00e73b0881
Extend opacity scale to include all steps of 5 (#11832)
* Extend opacity scale to include all steps of 5

* Update changelog

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2023-08-16 11:44:14 -04:00
Jordan Pittman
4f404ff15f Set the default rust toolchain for musl linux installs 2023-08-14 16:50:46 -04:00
Jonathan Reinink
9c828ff898
Remove Rust installation from CI (#11826) 2023-08-14 16:09:24 -04:00
depfu[bot]
12b670cc6b Update vite to version 4.4.9 2023-08-14 09:43:00 +00:00
Viktor Szépe
77ae72402e
Fix typos (#11805) 2023-08-12 08:17:41 -04:00
depfu[bot]
4c34b2ed34 Update resolve to version 1.22.4 2023-08-12 00:36:22 +00:00
depfu[bot]
ff26372570 Update rollup to version 3.28.0 2023-08-11 13:59:49 +00:00
Robin Malfait
237e71598d update .swcrc configuration
The `env` and `jsc.target` combination isn't valid.
Removing `env` works, but it introduces a lot of additional code that
wasn't there before.
I started by using es2015, es2016 and last but not least es2018. es2018
produces the most similar code compared to before. The main differences
are:
- Single vs double qoutes
- Now we will have `catch (e) {}` instead of the more modern `catch {}`
2023-08-10 11:02:05 +00:00