5270 Commits

Author SHA1 Message Date
Robin Malfait
d68a4af58e
Prepare next 4.0.0-alpha.7 release (#13163)
* bump versions to `4.0.0-alpha.7`

* update changelog
2024-03-08 21:46:03 +01:00
Adam Wathan
4c598d002a Tweak changelog entries 2024-03-08 15:38:03 -05:00
Robin Malfait
6d6df58db1
merge Added sections in the CHANGELOG 2024-03-08 21:31:23 +01:00
Robin Malfait
0b44cbbcf5
Add missing Android packages to version-packages script (#13161)
* add missing `android` packages to `version-packages` script

* update CHANGELOG
2024-03-08 21:30:32 +01:00
Kris Braun
065bbd3c99
[v4] Add provenance to all published packages (#13160)
* Add provenance to all packages

Based on #13097 by @saibotk

Add [provenance](https://docs.npmjs.com/generating-provenance-statements) for all published packages.

---
Co-authored-by: saibotk <git@saibotk.de>

* Document reason for id-token permission

* Update changelog
2024-03-08 21:30:13 +01:00
Adam Wathan
277e2cdd4c
Parse CSS files with CRLF line endings (#13162)
* Parse CSS files with CRLF line endings

* Update changelog

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-03-08 21:28:58 +01:00
Kris Braun
5d1e48de14
Include percent sign in font-stretch utilities (#13158)
Include a percent sign in `font-stretch` utilities (e.g. `font-stretch-50%` rather than `font-stretch-50`) to make the meaning of the value clearer.
2024-03-08 13:32:45 -05:00
Robin Malfait
c550a62be4
[v4] Make CSS optimization and minification configurable (#13130)
* only run Lightning CSS when passing `--minify` to the CLI

* only optimize the CSS when creating a production build

* add `optimize` option to PostCSS plugin

- The optimize option can be set to `true`, which will optimize
  (unnesting, adding browser prefixes, lowering values) and minify
- The optimize option can also be set to `{ minify: false }`, which will
  optimize but not minify.

* default `optimize` option to the true for `NODE_ENV=production`

* add `--optimize` flag to CLI

This will only optimize the CSS output without minification.

* update `--minify` description

* update changelog
2024-03-08 18:36:07 +01:00
Kris Braun
7132875d02
[v4] Add font-stretch utilities (#13153)
* [v4] Add `font-stretch` utilities

Based on #12171 y @Gregory-Gerard.

Add [`font-stretch`](https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch) utilities. Naming with `font-stretch` rather than `stretch` since the latter isn't clearly associated with fonts. Named values (e.g. `font-stretch-ulta-expanded`) and percentages (e.g. `font-stretch-50`) are supported.
2024-03-08 12:10:29 -05:00
Can Kolay
0e1af11b30
[v4] Android binaries for Oxide (#13115) 2024-03-08 12:08:24 -05:00
Adam Wathan
0a57d33a7d
Don't error on @apply with extra whitespace (#13144)
* Don't crash on @apply with extra whitespace

* Update changelog

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-03-07 22:00:15 -05:00
Kris Braun
eca02424f5
v4 changelog (#13131)
---------

Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
2024-03-07 14:26:35 -05:00
Robin Malfait
d288c52780
bump versions to 4.0.0-alpha.6 2024-03-07 16:00:23 +01:00
Robin Malfait
324273ce8d
[v4] Only allow CSS variables in @theme (#13125)
* add `WalkAction` to indicate how the `walk` function should behave

You can `Continue` its execution (the default behaviour), `Skip` walking
the current node, or `Stop` walking entirely.

* walk the nodes of `@theme` directly

There is no need to walk the `@theme` itself or to create a temporary
array here.

* improvement: skip walking

* only allow CSS variables inside `@theme`

* update error message
2024-03-07 15:59:59 +01:00
Adam Wathan
d27f4cee32
Update CONTRIBUTING.md 2024-03-07 09:34:19 -05:00
Adam Wathan
fcaff7c613
[v4] Only set border-style for appropriate border side (#13124)
* Only set border-style for appropriate border side

Fixes #13121.

Something to consider is that this implementation will still have issues if we ever implement support for utilities like `border-r-dashed`. 6am and I just woke up and am going to the gym now but leaving this as a note to consider when I get back before merging :)

* Fix typos in test names

* Revert playground change

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-03-07 09:11:28 -05:00
Robin Malfait
9864b9c9cd
bump versions to 4.0.0-alpha.5 2024-03-07 00:40:10 +01:00
Robin Malfait
f6d93d1151
replace the homemade clearAnsiEscapes with the native stripVTControlCharacters (#13117) 2024-03-07 00:27:59 +01:00
Jordan Pittman
e2dcbad153
Always honor git ignore files (#13119) 2024-03-06 18:24:34 -05:00
Robin Malfait
722f436956
bump versions to 4.0.0-alpha.4 (#13113) 2024-03-06 21:00:27 +01:00
Robin Malfait
9bfc1cc30b
add extension less exports for all exported CSS files (#13110) 2024-03-06 20:56:52 +01:00
Robin Malfait
dd2c68080b
bump versions to 4.0.0-alpha.3 (#13106) 2024-03-06 17:27:17 +01:00
Robin Malfait
99e3fdbceb
drop deprecated decoration-slice and decoration-clone utilities (#13107) 2024-03-06 16:57:23 +01:00
Robin Malfait
813aa45009
[v4] Improve CI by linting before installing playwright browsers (#13105)
* improve CI by linting before building and intalling playwright browsers

* move lint below build
2024-03-06 16:57:13 +01:00
Adam Wathan
b3b2debdd9
[v4] Support old important modifier position (#13103)
* Support old important modifier position

* update

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
Co-authored-by: Jordan Pittman <jordan@cryptica.me>
2024-03-06 10:56:56 -05:00
Robin Malfait
19fcd0ebba
use fs.readFileSync instead of an import (#13104)
In some environments, depending on the Node version importing a `.json`
file without a `with` or `assert` doesn't work.

Let's play it safe and use an `fs.readFileSync` instead.
2024-03-06 10:43:22 -05:00
Robin Malfait
0a2b319ada
bump versions to 4.0.0-alpha.2 2024-03-06 15:13:45 +01:00
Robin Malfait
2ba42fe53d
Copy README file to every package (#13096)
* copy README file to every package

* point workflow status badge to correct workflow file
2024-03-06 08:49:31 -05:00
Robin Malfait
0597489604
Move the CLI to its own package @tailwindcss/cli (#13095)
* move `cli` to its own package `@tailwindcss/cli`

* minify builds when using `tsup`

* prefer tsup cli flag over tsup.config.ts file

* add `--clean`, to make sure `dist/` folders are cleaned before building

* make CLI esm only

* use version of `tailwindcss` instead of the version of `@tailwindcss/cli`
2024-03-06 05:41:12 -05:00
Robin Malfait
bab74da932
Prep alpha release (#13089)
* use `next` as default release channel

* bump versions to `4.0.0-alpha.1`
2024-03-05 14:46:10 -05:00
Kris Braun
abb702bf8f
Add README, LICENSE, and CONTRIBUTING (#13088)
* Add README, LICENSE, CONTRIBUTING, and CODE_OF_CONDUCT

* Add alpha status to README.

* Remove intro sentence

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-03-05 14:45:39 -05:00
Robin Malfait
ca07ca8c69
Only output @property foo once instead of N times (#13087)
* only output `@property foo` once instead of N times

* compute the indent once

* improve performance by using strings and for-loops

* drop unnecessary new line
2024-03-05 18:04:33 +01:00
Robin Malfait
191643f663
pretty print generated CSS by default (#13086)
The pretty printing is fairly basic, but it adds some space between
properties `color: red;`, adds newlines after `;`, `{`, and `}`.

Last but not least, it indents nested CSS based on depth with 2 spaces.
2024-03-05 17:58:17 +01:00
Robin Malfait
86e71194e7
use oxide tag instead of internal tag by default
This will allow us to install `tailwindcss@oxide`
2024-03-05 15:26:37 +01:00
Robin Malfait
1988978fc3
rename release.yml to release-oxide.yml
This way we can re-use the workflow that already exists on the `master`
branch and it will allow us to trigger manual releases from the `next`
branch without making changes to the `master` branch.
2024-03-05 14:50:40 +01:00
Robin Malfait
117ceefe70
ensure CI runs against PRs that have to go into next 2024-03-05 14:43:40 +01:00
Robin Malfait
a500854a9f
run CI on master and next branch 2024-03-05 14:31:08 +01:00
Robin Malfait
a68de1df27
introduce v4 codebase 2024-03-05 14:29:15 +01:00
Robin Malfait
32cf8aa0fb
remove v3 codebase 2024-03-05 13:29:12 +01:00
N
4429ab8010
Update CHANGELOG.md 3.4.1 release date (#13024) 2024-02-26 07:38:32 -05:00
Kris Braun
780163c58a feat: add contain utilities (#12993)
* feat: add contain utilities

* chore: lint

* Support mulptiple contain properites

Support multiple contain properties, such as "contain-size contain-layout". Drop contain-unset as we haven't added -unset variants for other utilities.

* Update Vite; fix test regex

Vite is generating files like "index--T9oO-MP.css", which required relaxing the regex used in tests.

---------

Co-authored-by: Alexander <github@lichter.io>
2024-02-23 18:16:15 -05:00
Clement Chang
576798620c Add mix-blend-plus-darker utility (#12923)
* feat: add plus-darker support for mix-blend-mode

* Fix failing test

* Update changelog

* Formatting

---------

Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
2024-02-23 16:37:32 -05:00
Robin Malfait
f2a7c2c453 Improve glob handling for folders with (, ), [ or ] in the file path (#12715)
* sync package-lock.json

* modify `normalizePath` to keep `\\[`, `\\]`, `\\(` and `\\)` into account

* manually escape () and [] characters in globs

* update changelog
2024-02-23 16:35:49 -05:00
Jordan Pittman
89f0f54751 Update changelog 2024-02-13 14:17:59 -05:00
Jordan Pittman
240a0addd3 Sort arbitrary properties alphabetically across multiple class lists (#12911)
* Sort arbitrary properties alphabetically across multiple files

* Update test
2024-02-13 14:17:23 -05:00
Jordan Pittman
9e62bf2043 Split :has rules when using experimental.optimizeUniversalDefaults (#12736)
* Split `:has` rules when using optimizeUniversalDefaults

* Update changelog
2024-01-09 15:10:58 -05:00
Adam Wathan
50fa6dd13e Ensure max specificity of 0,0,1 for button and input Preflight rules (#12735)
* Ensure max specificity of 001 in all Preflight rules

* Update changelog

* Update changelog

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
Co-authored-by: Jordan Pittman <jordan@cryptica.me>
2024-01-09 11:08:11 -05:00
Jordan Pittman
7361468f77 3.4.1 v3.4.1 2024-01-05 15:31:16 -05:00
Jordan Pittman
508e7f2349 Fix code style 2024-01-05 15:23:38 -05:00
Jordan Pittman
3fb57e55ab Restore old behavior for class dark mode, add new selector and variant options for dark mode (#12717)
* Add dark mode variant option

* Tweak warning messages

* Add legacy dark mode option

* wip

* Use `class` for legacy behavior, `selector` for new behavior

* Add simplified failing apply/where test case

* Switch to `where` list, apply changes to `dir` variants

* Don’t let `:where`, `:is:`, or `:has` be attached to pseudo elements

* Updating tests...

* Finish updating tests

* Remove `variant` dark mode strategy

* Update types

* Update comments

* Update changelog

* Revert "Remove `variant` dark mode strategy"

This reverts commit 185250438ccb2f61ba876d4676823c1807891122.

* Add variant back to types

* wip

* Update comments

* Update tests

* Rename variable

* Update changelog

* Update changelog

* Update changelog

* Fix CS

---------

Co-authored-by: Adam Wathan <4323180+adamwathan@users.noreply.github.com>
2024-01-05 15:20:11 -05:00