Bump dependencies (#20381)

This PR bumps dependencies and dev dependencies and applies required
changes due to version bumps.

- Moved `@parcel/watcher` related dependencies to the
`pnpm-workflow.yaml` catalog
- Bumped Lightning CSS + updated tests with improvements
- Bumped napi related dependencies
- Tackled a Vitest warning

## Test plan

All tests should still pass on all platforms [ci-all]
This commit is contained in:
Robin Malfait 2026-08-04 13:55:03 +02:00 • committed by GitHub
parent 50daebded0
commit 05c3a87627
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 906 additions and 1065 deletions

View file

@ -27,8 +27,10 @@ jobs:
- name: Linux
os: namespace-profile-default
# Playwright 1.62+ dropped WebKit support for macOS 14, and hangs
# instead of failing when launching WebKit on a macos-14 runner.
- name: macOS
os: macos-14
os: macos-15
# Exclude windows and macos from being built on feature branches
run-all:

57
Cargo.lock generated
View file

@ -104,19 +104,9 @@ checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
[[package]]
name = "ctor"
version = "0.10.1"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf"
dependencies = [
"ctor-proc-macro",
"dtor",
]
[[package]]
name = "ctor-proc-macro"
version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a949c44fcacbbbb7ada007dc7acb34603dd97cd47de5d054f2b6493ecebb483"
checksum = "2d83cb7e7a873830708d6b02a78cd36a592c6fa14bf267b68725103b85c0d77f"
[[package]]
name = "diff"
@ -124,21 +114,6 @@ version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
[[package]]
name = "dtor"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b"
dependencies = [
"dtor-proc-macro",
]
[[package]]
name = "dtor-proc-macro"
version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2647271c92754afcb174e758003cfd1cbf1e43e5a7853d7b1813e63e19e39a73"
[[package]]
name = "dunce"
version = "1.0.5"
@ -387,9 +362,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "napi"
version = "3.8.5"
version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa73b028610e2b26e9e40bd2c8ff8a98e6d7ed5d67d89ebf4bfd2f992616b024"
checksum = "de33522036981030a75c231829566bc63414e08101a6f5ff4ac6cef19c8e0941"
dependencies = [
"bitflags",
"ctor",
@ -402,15 +377,15 @@ dependencies = [
[[package]]
name = "napi-build"
version = "2.3.1"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d376940fd5b723c6893cd1ee3f33abbfd86acb1cd1ec079f3ab04a2a3bc4d3b1"
checksum = "c9c366d2c8c60b86fa632df75f745509b52f9128f91a6bad4c796e44abb505e1"
[[package]]
name = "napi-derive"
version = "3.5.4"
version = "3.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7430702d3cc05cf55f0a2c9e41d991c3b7a53f91e6146a8f282b1bfc7f3fd133"
checksum = "a49c513341a61a16a10af6efcce46b30d0822ba2d4fb197d24d33dfc199c78d5"
dependencies = [
"convert_case",
"ctor",
@ -422,9 +397,9 @@ dependencies = [
[[package]]
name = "napi-derive-backend"
version = "5.0.3"
version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ca5a083f2c9b49a0c7d33ec75c083498849c6fcc46f5497317faa39ea77f5d5"
checksum = "d60b5d773ad46c698c8cc2cd9fde0b283d39cbb7f71c04bee633c7bdba4423bd"
dependencies = [
"convert_case",
"proc-macro2",
@ -435,9 +410,9 @@ dependencies = [
[[package]]
name = "napi-sys"
version = "3.2.1"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eb602b84d7c1edae45e50bbf1374696548f36ae179dfa667f577e384bb90c2b"
checksum = "85fbf1fa9f1babfe396d74bbbf52b3643770243e8f5b0b46715d4caf7f0dfc9a"
dependencies = [
"libloading",
]
@ -516,9 +491,9 @@ dependencies = [
[[package]]
name = "rayon"
version = "1.10.0"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
dependencies = [
"either",
"rayon-core",
@ -526,9 +501,9 @@ dependencies = [
[[package]]
name = "rayon-core"
version = "1.12.1"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
dependencies = [
"crossbeam-deque",
"crossbeam-utils",

View file

@ -202,5 +202,6 @@ index.js
browser.js
tailwindcss-oxide.wasi-browser.js
tailwindcss-oxide.wasi.cjs
tailwindcss-oxide.wasi.d.cts
wasi-worker-browser.mjs
wasi-worker.mjs

View file

@ -8,10 +8,10 @@ crate-type = ["cdylib"]
[dependencies]
# Default enable napi4 feature, see https://nodejs.org/api/n-api.html#node-api-version-matrix
napi = { version = "3.8.5", default-features = false, features = ["napi4"] }
napi-derive = "3.5.4"
napi = { version = "3.11.0", default-features = false, features = ["napi4"] }
napi-derive = "3.6.0"
tailwindcss-oxide = { path = "../oxide" }
rayon = "1.10.0"
rayon = "1.12.0"
[build-dependencies]
napi-build = "2.3.1"
napi-build = "2.3.2"

View file

@ -14,7 +14,7 @@
],
"license": "MIT",
"engines": {
"node": ">=14.0.0"
"node": "^20.19.0 || ^22.13.0 || >=23.5.0"
},
"publishConfig": {
"provenance": true,
@ -27,11 +27,11 @@
},
"browser": "tailwindcss-oxide.wasi-browser.js",
"dependencies": {
"@napi-rs/wasm-runtime": "^1.1.4",
"@emnapi/core": "^1.11.1",
"@emnapi/runtime": "^1.11.1",
"@tybys/wasm-util": "^0.10.2",
"@emnapi/wasi-threads": "^1.2.2",
"@napi-rs/wasm-runtime": "^1.2.2",
"@emnapi/core": "^1.11.3",
"@emnapi/runtime": "^1.11.3",
"@tybys/wasm-util": "^0.10.3",
"@emnapi/wasi-threads": "^1.2.3",
"tslib": "^2.8.1"
},
"bundledDependencies": [

View file

@ -33,9 +33,11 @@
},
"license": "MIT",
"devDependencies": {
"@napi-rs/cli": "3.7.0",
"@napi-rs/wasm-runtime": "^1.1.5",
"emnapi": "1.11.1"
"@emnapi/core": "1.11.3",
"@emnapi/runtime": "1.11.3",
"@napi-rs/cli": "3.7.4",
"@napi-rs/wasm-runtime": "^1.2.2",
"emnapi": "1.11.3"
},
"engines": {
"node": ">= 20"

View file

@ -48,7 +48,7 @@
},
"license": "MIT",
"devDependencies": {
"@playwright/test": "^1.61.1",
"@playwright/test": "^1.62.1",
"@types/node": "catalog:",
"postcss": "catalog:",
"postcss-import": "^16.1.1",
@ -56,9 +56,9 @@
"prettier-plugin-embed": "^0.5.1",
"prettier-plugin-organize-imports": "^4.3.0",
"tsup": "^8.5.1",
"turbo": "^2.9.18",
"turbo": "^2.10.8",
"typescript": "^5.9.3",
"vitest": "^4.1.9"
"vitest": "^4.1.10"
},
"packageManager": "pnpm@11.9.0"
}

View file

@ -31,7 +31,7 @@
},
"devDependencies": {
"h3": "^1.15.11",
"listhen": "^1.10.0",
"listhen": "^1.10.1",
"tailwindcss": "workspace:*"
}
}

View file

@ -29,7 +29,7 @@
"access": "public"
},
"dependencies": {
"@parcel/watcher": "2.5.1",
"@parcel/watcher": "catalog:",
"@tailwindcss/node": "workspace:*",
"@tailwindcss/oxide": "workspace:*",
"enhanced-resolve": "catalog:",

View file

@ -57,7 +57,7 @@
"enhanced-resolve": "catalog:",
"jiti": "^2.7.0",
"lightningcss": "catalog:",
"magic-string": "^0.30.21",
"magic-string": "^1.1.0",
"source-map-js": "^1.2.1",
"tailwindcss": "workspace:*"
}

View file

@ -68,13 +68,6 @@ export function optimize(
return false
}
// Ignore warnings about unknown at-rules.
//
// TODO: drop `@position-try` once https://github.com/parcel-bundler/lightningcss/pull/1238 lands
if (/Unknown at rule: @position-try/.test(warning.message)) {
return false
}
return true
})

View file

@ -56,6 +56,7 @@ describe('fixRelativePathsPlugin', () => {
@plugin './plugin-in-sibling.ts';
@plugin '../plugin-in-sibling.ts';
@plugin 'plugin-in-sibling';
@plugin './plugin-in-root.ts';
@plugin '../plugin-in-root.ts';
@plugin 'plugin-in-root';

View file

@ -35,13 +35,13 @@
},
"__notes": "These binary packages must be included so Bun can build the CLI for all supported platforms. We also rely on Lightning CSS and Parcel being patched so Bun can statically analyze the executables.",
"devDependencies": {
"@parcel/watcher-darwin-arm64": "^2.5.6",
"@parcel/watcher-darwin-x64": "^2.5.6",
"@parcel/watcher-linux-arm64-glibc": "^2.5.6",
"@parcel/watcher-linux-arm64-musl": "^2.5.6",
"@parcel/watcher-linux-x64-glibc": "^2.5.6",
"@parcel/watcher-linux-x64-musl": "^2.5.6",
"@parcel/watcher-win32-x64": "^2.5.6",
"@parcel/watcher-darwin-arm64": "catalog:",
"@parcel/watcher-darwin-x64": "catalog:",
"@parcel/watcher-linux-arm64-glibc": "catalog:",
"@parcel/watcher-linux-arm64-musl": "catalog:",
"@parcel/watcher-linux-x64-glibc": "catalog:",
"@parcel/watcher-linux-x64-musl": "catalog:",
"@parcel/watcher-win32-x64": "catalog:",
"@types/bun": "^1.3.14",
"bun": "^1.3.14",
"lightningcss-darwin-arm64": "catalog:",

View file

@ -31,7 +31,7 @@
"@tailwindcss/oxide": "workspace:*",
"dedent": "catalog:",
"enhanced-resolve": "catalog:",
"globby": "^16.2.0",
"globby": "^16.2.2",
"jiti": "^2.7.0",
"mri": "^1.2.0",
"picocolors": "^1.1.1",
@ -39,14 +39,14 @@
"postcss-import": "^16.1.1",
"postcss-selector-parser": "^7.1.4",
"prettier": "catalog:",
"semver": "^7.8.4",
"semver": "^7.8.5",
"tailwindcss": "workspace:*",
"tree-sitter": "^0.22.4",
"tree-sitter": "^0.25.1",
"tree-sitter-typescript": "^0.23.2"
},
"devDependencies": {
"@types/node": "catalog:",
"@types/postcss-import": "^14.0.3",
"@types/semver": "^7.7.1"
"@types/semver": "^7.8.0"
}
}

View file

@ -769,6 +769,7 @@ describe('comments', () => {
).toMatchInlineSnapshot(`
"
/* Start of utilities: */
@utility foo {
/* Utility #1 */
/* Declarations: */
@ -793,6 +794,7 @@ describe('comments', () => {
).toMatchInlineSnapshot(`
"
/* Start of utilities: */
@utility foo {
/* Foo & Bar */
& .bar {
@ -800,6 +802,7 @@ describe('comments', () => {
color: red;
}
}
@utility bar {
/* Foo & Bar */
.foo & {
@ -829,6 +832,7 @@ describe('comments', () => {
).toMatchInlineSnapshot(`
"
/* Start of utilities: */
@utility foo {
/* Mobile only */
@media (width <= 640px) {
@ -878,6 +882,7 @@ describe('comments', () => {
).toMatchInlineSnapshot(`
"
/* Tailwind Utilities: */
@utility no-scrollbar {
/* Chrome, Safari and Opera */
/* Second comment */

View file

@ -132,7 +132,7 @@
"@types/node": "catalog:",
"dedent": "catalog:",
"lightningcss": "catalog:",
"magic-string": "^0.30.21",
"magic-string": "^1.1.0",
"source-map-js": "^1.2.1"
}
}

View file

@ -1784,7 +1784,7 @@ test('The theme() function does not try indexing into strings', async () => {
).toMatchInlineSnapshot(`
"
:root, :host {
--color-what: light-dark(red, red);
--color-what: red;
}
.text-what {

View file

@ -904,42 +904,17 @@ describe('@apply', () => {
}
`
// TODO: once Lightning CSS properly supports it, then we can drop this section:
{
let compiler = await compile(input)
expect(compiler.build([])).toMatchInlineSnapshot(`
".foo {
text-decoration-line: underline;
@apply --my-mixin-1;
@apply --my-mixin-1();
@apply --my-mixin-1 --my-mixin-2;
@apply --my-mixin-1() --my-mixin-2();
@apply --my-mixin-3 {
color: red;
}
}
"
`)
}
// TODO: this output is currently broken because Lightning CSS doesn't
// handle this case correctly yet
expect(await compileCss(input)).toMatchInlineSnapshot(`
"
.foo {
text-decoration-line: underline;
}
@apply --my-mixin-1;
@apply --my-mixin-1();
@apply --my-mixin-1 --my-mixin-2;
@apply --my-mixin-1() --my-mixin-2();
@apply --my-mixin-3 {
color: red;
@apply --my-mixin-1;
@apply --my-mixin-1();
@apply --my-mixin-1 --my-mixin-2;
@apply --my-mixin-1() --my-mixin-2();
@apply --my-mixin-3 {
color: red;
}
}
"
`)

View file

@ -12120,7 +12120,7 @@ test('rounded', async () => {
}
.rounded-full {
border-radius: 3.40282e38px;
border-radius: 2147483647px;
}
.rounded-none {

View file

@ -1,13 +1,14 @@
diff --git a/index.js b/index.js
index 8afb2b1126dcc687b7ff9b631589da252c1f9c22..f28fd092644ccfb8aff2618b966cb5219a181a02 100644
index 78ee744d74900c39a839cafa46b295258fc86307..f28fd092644ccfb8aff2618b966cb5219a181a02 100644
--- a/index.js
+++ b/index.js
@@ -1,40 +1,32 @@
@@ -1,43 +1,32 @@
const {createWrapper} = require('./wrapper');
-let name = `@parcel/watcher-${process.platform}-${process.arch}`;
-if (process.platform === 'linux') {
- const { MUSL, family } = require('detect-libc');
- const {MUSL, familySync} = require('detect-libc');
- const family = familySync();
- if (family === MUSL) {
- name += '-musl';
- } else {
@ -39,7 +40,9 @@ index 8afb2b1126dcc687b7ff9b631589da252c1f9c22..f28fd092644ccfb8aff2618b966cb521
- binding = require('./build/Debug/watcher.node');
- } catch (err) {
- handleError(err);
- throw new Error(`No prebuild or local build of @parcel/watcher found. Tried ${name}. Please ensure it is installed (don't use --no-optional when installing with npm). Otherwise it is possible we don't support your platform yet. If this is the case, please report an issue to https://github.com/parcel-bundler/watcher.`);
- throw new Error(
- `No prebuild or local build of @parcel/watcher found. Tried ${name}. Please ensure it is installed (don't use --no-optional when installing with npm). Otherwise it is possible we don't support your platform yet. If this is the case, please report an issue to https://github.com/parcel-bundler/watcher.`,
- );
- }
- }
-}

1736
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -6,25 +6,33 @@ packages:
- 'integrations'
patchedDependencies:
'@parcel/watcher@2.5.1': patches/@parcel__watcher@2.5.1.patch
lightningcss@1.32.0: patches/lightningcss@1.32.0.patch
'@parcel/watcher@2.6.0': patches/@parcel__watcher@2.6.0.patch
lightningcss@1.33.0: patches/lightningcss@1.33.0.patch
catalog:
'@types/node': 22.19.21
'@types/node': 22.20.1
dedent: 1.7.2
enhanced-resolve: ^5.24.1
lightningcss-darwin-arm64: 1.32.0
lightningcss-darwin-x64: 1.32.0
lightningcss-linux-arm64-gnu: 1.32.0
lightningcss-linux-arm64-musl: 1.32.0
lightningcss-linux-x64-gnu: 1.32.0
lightningcss-linux-x64-musl: 1.32.0
lightningcss-win32-x64-msvc: 1.32.0
lightningcss: 1.32.0
postcss: ^8.5.16
prettier: 3.9.4
vite: ^8.1.2
webpack: ^5.108.3
enhanced-resolve: ^5.24.5
lightningcss-darwin-arm64: 1.33.0
lightningcss-darwin-x64: 1.33.0
lightningcss-linux-arm64-gnu: 1.33.0
lightningcss-linux-arm64-musl: 1.33.0
lightningcss-linux-x64-gnu: 1.33.0
lightningcss-linux-x64-musl: 1.33.0
lightningcss-win32-x64-msvc: 1.33.0
lightningcss: 1.33.0
'@parcel/watcher-darwin-arm64': 2.6.0
'@parcel/watcher-darwin-x64': 2.6.0
'@parcel/watcher-linux-arm64-glibc': 2.6.0
'@parcel/watcher-linux-arm64-musl': 2.6.0
'@parcel/watcher-linux-x64-glibc': 2.6.0
'@parcel/watcher-linux-x64-musl': 2.6.0
'@parcel/watcher-win32-x64': 2.6.0
'@parcel/watcher': 2.6.0
postcss: ^8.5.25
prettier: 3.9.6
vite: ^8.2.0
webpack: ^5.109.2
onlyBuiltDependencies:
- '@parcel/watcher'

View file

@ -1,5 +1,5 @@
{
"$schema": "https://turbo.build/schema.json",
"$schema": "https://v2-10-8.turborepo.dev/schema.json",
"ui": "tui",
"tasks": {
"@tailwindcss/oxide#build": {