Skip to content

feat(css): support node_modules packages in Sass#812

Merged
sxzz merged 1 commit intomainfrom
sxzz/css-url-rebase-fix
Mar 9, 2026
Merged

feat(css): support node_modules packages in Sass#812
sxzz merged 1 commit intomainfrom
sxzz/css-url-rebase-fix

Conversation

@sxzz
Copy link
Copy Markdown
Member

@sxzz sxzz commented Mar 9, 2026

Summary

Extract shared ResolverFactory logic into resolve.ts module and add node_modules package resolution support for Sass @use/@import statements. The Sass resolver now falls back to oxc's module resolver (matching Vite's approach) when local file resolution fails, enabling packages like @vuepress/helper to be imported directly without manual NodePackageImporter configuration.

Fixes #811

Test Coverage

Added test case sass resolves node_modules packages that verifies @use '@my-lib/styles/vars' correctly resolves scoped packages from node_modules using the oxc resolver with proper sass and style condition/mainFields support.

🤖 Generated with Claude Code

Extract shared ResolverFactory logic into resolve.ts module with getCssResolver() for CSS and getSassResolver() for Sass. Update tryResolveScss() to fall back to node_modules resolution via oxc resolver when local file resolution fails, matching Vite's behavior.

Fixes #811

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 9, 2026

Deploy Preview for tsdown-main ready!

Name Link
🔨 Latest commit 4046b1f
🔍 Latest deploy log https://app.netlify.com/projects/tsdown-main/deploys/69ae714ad38c710008efc25b
😎 Deploy Preview https://deploy-preview-812--tsdown-main.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 9, 2026

Open in StackBlitz

tsdown

pnpm add https://pkg.pr.new/tsdown@812 -D
npm i https://pkg.pr.new/tsdown@812 -D
yarn add https://pkg.pr.new/tsdown@812.tgz -D

create-tsdown

pnpm add https://pkg.pr.new/create-tsdown@812 -D
npm i https://pkg.pr.new/create-tsdown@812 -D
yarn add https://pkg.pr.new/create-tsdown@812.tgz -D

@tsdown/css

pnpm add https://pkg.pr.new/@tsdown/css@812 -D
npm i https://pkg.pr.new/@tsdown/css@812 -D
yarn add https://pkg.pr.new/@tsdown/css@812.tgz -D

@tsdown/exe

pnpm add https://pkg.pr.new/@tsdown/exe@812 -D
npm i https://pkg.pr.new/@tsdown/exe@812 -D
yarn add https://pkg.pr.new/@tsdown/exe@812.tgz -D

tsdown-migrate

pnpm add https://pkg.pr.new/tsdown-migrate@812 -D
npm i https://pkg.pr.new/tsdown-migrate@812 -D
yarn add https://pkg.pr.new/tsdown-migrate@812.tgz -D

commit: f3916b7

@sxzz sxzz enabled auto-merge (squash) March 9, 2026 07:06
@sxzz sxzz disabled auto-merge March 9, 2026 07:06
@sxzz sxzz merged commit b06b421 into main Mar 9, 2026
15 checks passed
@sxzz sxzz deleted the sxzz/css-url-rebase-fix branch March 9, 2026 07:06
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.

node package resolution not handled by @tsdown/css

1 participant