Skip to content

fix: exclude @tailwindcss/oxide from dep optimization + add navigation default export#850

Open
467469274 wants to merge 1 commit intocloudflare:mainfrom
467469274:feat/add-missing-shims-and-fixes
Open

fix: exclude @tailwindcss/oxide from dep optimization + add navigation default export#850
467469274 wants to merge 1 commit intocloudflare:mainfrom
467469274:feat/add-missing-shims-and-fixes

Conversation

@467469274
Copy link
Copy Markdown

Summary

  • Exclude @tailwindcss/oxide from Vite's dependency optimization — Rolldown cannot process native .node binaries
  • Add default export to next/navigation shim for third-party library compatibility

@tailwindcss/oxide exclusion

Rolldown cannot process native .node binary files. When a project uses Tailwind CSS v4, @tailwindcss/oxide contains platform-specific native bindings (tailwindcss-oxide.darwin-arm64.node) that cause Rolldown to fail with UNLOADABLE_DEPENDENCY during dependency optimization.

Error:

[UNLOADABLE_DEPENDENCY] Error: Could not load @tailwindcss/oxide-darwin-arm64/tailwindcss-oxide.darwin-arm64.node
  stream did not contain valid UTF-8

Fix: Added @tailwindcss/oxide to the default optimizeDeps.exclude list alongside vinext and @vercel/og.

next/navigation default export

Some third-party libraries (e.g. @clerk/nextjs) use import navigation from 'next/navigation' (default import) instead of named imports. The navigation shim only had named exports, causing:

SyntaxError: The requested module does not provide an export named 'default'

Fix: Added a default export object containing all standard Next.js navigation APIs.

Test plan

🤖 Generated with Claude Code

…n default export

## @tailwindcss/oxide exclusion

Rolldown cannot process native `.node` binary files. When a project uses
Tailwind CSS v4, the `@tailwindcss/oxide` package contains platform-specific
native bindings (`tailwindcss-oxide.darwin-arm64.node`) that cause Rolldown
to fail with `UNLOADABLE_DEPENDENCY` during dependency optimization.

Added `@tailwindcss/oxide` to the default `optimizeDeps.exclude` list
alongside `vinext` and `@vercel/og`.

Reproduction: any project with `@tailwindcss/vite` or `@tailwindcss/postcss`
installed, running on Vite 8 with Rolldown.

## next/navigation default export

Some third-party libraries use `import navigation from 'next/navigation'`
(default import) instead of named imports. The navigation shim only had
named exports, causing `SyntaxError: does not provide an export named 'default'`.

Added a default export object containing all standard Next.js navigation APIs
(useRouter, usePathname, useSearchParams, redirect, notFound, etc.).

Found while testing vinext against next-shadcn-dashboard-starter
(https://github.com/Kiranism/next-shadcn-dashboard-starter).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant