Commit graph

5313 commits

Author SHA1 Message Date
Robin Malfait
89ec6fbe67
Improve automatic var injection (#12236)
* prevent automatic var injection for properties that accept `<dashed-ident>` for the value

* add test

* add `font-palette`

* improve readability
2023-10-24 14:08:46 +02:00
Jordan Pittman
4a8f584176
Add types for the nesting plugin (#12269)
* Add types for the nesting plugin

* Update changelog
2023-10-23 15:03:28 -04:00
Marco Carvalho
bcfb38d5f9
Refactor length function to utilize a pre-compiled RegExp (#12251)
* Refactor length function to utilize a pre-compiled RegExp

* Update dataTypes.js
2023-10-20 13:50:42 +02:00
depfu[bot]
4e1a26aad0 Update sass to version 1.69.4 2023-10-20 01:59:33 +00:00
depfu[bot]
d26a51fae8 Update parcel to version 2.10.0 2023-10-18 07:15:32 +00:00
depfu[bot]
56d8a0b598 Update resolve to version 1.22.8 2023-10-18 01:19:00 +00:00
2hu
a1bcfa2479
Allow plugins from a parent document to be used in an iframe (#12208)
* Fix cross iframe isPlainObject check

* Update changelog

---------

Co-authored-by: Jordan Pittman <jordan@cryptica.me>
2023-10-17 10:41:53 -04:00
Jordan Pittman
0b0862b20c
Fix crash when watching renamed files on FreeBSD (#12193)
* Fix file watching bug when renaming files on FreeBSD

* Update changelog

* Add delay to test

* Bump delay

* Update test
2023-10-17 09:50:35 -04:00
Simon He
e9ca7ab453
Speed up CSS math function check (#12215)
* perf(cssMathFnRE): Dynamically create regular rules

* Cleanup code

---------

Co-authored-by: Jordan Pittman <jordan@cryptica.me>
2023-10-16 20:18:17 -04:00
depfu[bot]
44fb67b98d Update eslint to version 8.51.0 2023-10-13 21:49:58 +00:00
depfu[bot]
e8a50fb120 Update turbo to version 1.10.15 2023-10-13 20:34:40 +00:00
depfu[bot]
27b6530599 Update @swc/core to version 1.3.92 2023-10-12 09:49:09 +00:00
Adam Wathan
0170662c3c Update CHANGELOG 2023-10-11 21:01:50 -04:00
bandogora
41abd500f5
Equal number of grid columns and rows (#12180)
Update test snapshots
2023-10-11 21:00:22 -04:00
Robin Malfait
fa9be73c15
Ensure variants with arbitrary values and a modifier are correctly matched in the RegEx based parser (#12179)
* add failing test

* ensure variants can have modifiers in regex

* update changelog
2023-10-11 16:38:30 +02:00
Jordan Pittman
51ac627491 Fix spelling 2023-10-10 16:17:08 -04:00
depfu[bot]
edfb51c5ed Update vite to version 4.4.11 2023-10-10 19:00:57 +00:00
Jordan Pittman
ad66635c15
Fix sorting of utilities that share multiple candidates (#12173)
* Fix sorting of utilities that share multiple candidates

* Update changelog
2023-10-10 13:50:46 -04:00
Robin Malfait
31a80b1794
Reduce quickPluginTest and quickVariantPluginTest snapshot size (#12170)
* sync package-lock.json

* reduce generated examples

By default we use the default config when creating the quick tests for a
given plugin. However, this can result in _a lot_ of changes. For
example, when you update the opacity values, then these values will be
generated for each color, and for each plugin that uses that color.

You can see that behaviour in Adam's PR (https://github.com/tailwindlabs/tailwindcss/pull/11832).
He added 6 values to the opacity configuration. This resulted in a diff
that looked like this:
```
+219,436 −9
```

This reduces the amount of examples for plugins that generate _a lot_ of
output otherwise.

* use `toMatchSnapshot`

This way all the `quickPluginTest` and `quickVariantPluginTest`
implementations are the same. This also allows us to update tests after
config changes in an easier way because they use snapshot tests right
now.

* use real colors for reduced red

This will make it a tiny bit easier to debug what's going on if we need
it in the future since it's using the same values as the real colors.
2023-10-09 16:49:20 +02:00
depfu[bot]
5f00c18bd9 Update rollup to version 3.29.4 2023-10-08 06:20:06 +00:00
depfu[bot]
614c7e2a36 Update browserslist to version 4.22.1 2023-10-04 00:36:35 +00:00
Jordan Pittman
09369d27ec Enable error recovery in Lightning CSS 2023-10-03 13:04:17 -04:00
depfu[bot]
0d205f9376 Update postcss to version 8.4.31 2023-10-03 16:26:45 +00:00
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