Nuxt 4 Detection
Nuxamine checks multiple sources to determine if a module supports Nuxt 4.
Detection Sources
We check 4 different sources for Nuxt 4 compatibility signals:
- Nuxt API Compatibility String
- GitHub Topics
- npm Keywords
- Release Notes
Compatibility String Logic
The Nuxt Modules API provides a compatibility string (e.g., ^3.0.0, >=3.0.0). We parse this using semver rules:
| String | Nuxt 4? | Reason |
|---|---|---|
^3.0.0 | No | Semver caret = >=3.0.0 <4.0.0 |
>=3.0.0 | Yes | Open-ended, includes 4.x |
>=3.0.0 <4.0.0 | No | Explicitly excludes 4 |
^4 or >=4 | Yes | Explicitly requires Nuxt 4 |
* | Yes | Wildcard matches everything |
Why
^3.0.0 means Nuxt 3 only:In semver, the caret (^) allows changes that don't modify the left-most non-zero digit. So ^3.0.0 means >=3.0.0 <4.0.0 - it locks the major version.GitHub Topics
We look for these topics on the repository:
nuxt4ornuxt-4→ Nuxt 4 confirmednuxt3ornuxt-3→ Nuxt 3 (no Nuxt 4 signal)
npm Keywords
Package keywords are checked for:
nuxt4ornuxt-4→ Nuxt 4 confirmednuxt3ornuxt-3→ Nuxt 3 only
Release Notes
Recent releases (last 5) are scanned for mentions of "Nuxt 4" in:
- Release title
- Release body/description
Result Display
In the UI, modules show compatibility badges:
- Nuxt 4 (green) - Confirmed Nuxt 4 support
- Nuxt 3 (blue) - Nuxt 3 only, no Nuxt 4 signal
- Compat? (gray) - Unknown, no clear signals
Note: The absence of Nuxt 4 signals doesn't mean a module won't work with Nuxt 4. Many modules are compatible but haven't updated their metadata yet.
Future Improvements
The Nuxt team is working on a new API format (PR #1353) that will provide explicit version arrays like "nuxt": [3, 4]. When this lands, detection will be more reliable.
