The @tailwindcss/oxide package.json currently sets:
"engines": {
"node": ">= 20"
}
This prevents installation and usage on Node.js versions below 20, even though the package's prebuilt native binaries are compiled against N-API version 3.
Expected behavior
The engines.node field should reflect runtime compatibility, not build-time requirements. Since @tailwindcss/oxide uses N-API 3, the runtime compatibility should be:
"engines": {
"node": ">= 10"
}
Why this matters
-
N-API 3 is stable and supported since Node.js 10.0.0 (and experimentally since 8.11.0).
See: N-API version matrix
-
The >= 20 constraint is only necessary for building from source, not for consuming the prebuilt binaries distributed via npm.
-
Many projects (CI/CD pipelines, Docker images, legacy systems) still run on Node.js 14/16/18 LTS versions that fully support N-API 3. The current engines restriction forces unnecessary upgrades.
-
Other N-API packages in the ecosystem (e.g. via napi-rs) typically set engines to match the N-API version they target, not the toolchain used to build them.
Proposed change
Update package.json to:
"engines": {
"node": ">= 10"
}
Or, if you prefer a more conservative lower bound that still aligns with N-API 3:
"engines": {
"node": ">= 12"
}
Additional context
- Package name:
@tailwindcss/oxide
- Current version: (e.g.
4.3.3)
- N-API version used: 3
- Build toolchain: likely
napi-rs based on project structure
Thank you for considering this change! Appreciate all the work on Tailwind CSS.
The
@tailwindcss/oxidepackage.json currently sets:This prevents installation and usage on Node.js versions below 20, even though the package's prebuilt native binaries are compiled against N-API version 3.
Expected behavior
The
engines.nodefield should reflect runtime compatibility, not build-time requirements. Since@tailwindcss/oxideuses N-API 3, the runtime compatibility should be:Why this matters
N-API 3 is stable and supported since Node.js 10.0.0 (and experimentally since 8.11.0).
See: N-API version matrix
The
>= 20constraint is only necessary for building from source, not for consuming the prebuilt binaries distributed via npm.Many projects (CI/CD pipelines, Docker images, legacy systems) still run on Node.js 14/16/18 LTS versions that fully support N-API 3. The current
enginesrestriction forces unnecessary upgrades.Other N-API packages in the ecosystem (e.g. via
napi-rs) typically setenginesto match the N-API version they target, not the toolchain used to build them.Proposed change
Update
package.jsonto:Or, if you prefer a more conservative lower bound that still aligns with N-API 3:
Additional context
@tailwindcss/oxide4.3.3)napi-rsbased on project structureThank you for considering this change! Appreciate all the work on Tailwind CSS.