mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 08:25:34 +02:00
[PR #138] [MERGED] feat: optimize barrel imports for RSC-incompatible packages #342
Labels
No labels
enhancement
enhancement
good first issue
help wanted
nextjs-tracking
nextjs-tracking
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/vinext#342
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/cloudflare/vinext/pull/138
Author: @gentritbiba
Created: 2/26/2026
Status: ✅ Merged
Merged: 3/21/2026
Merged by: @james-elicx
Base:
main← Head:feat/optimize-package-imports📝 Commits (10+)
8584d7afeat: add vinext:optimize-imports plugin for barrel import rewriting670812ffix: add missing packages to DEFAULT_OPTIMIZE_PACKAGES2bb4f9eMerge upstream/main and address review feedbacke662891Merge origin/main into feat/optimize-package-imports922ff5efix: address bonk review — entryPathCache, buildStart init, Windows path fix, trailing semicolons, fixture-based transform tests347cc19fix: correct bySource grouping for mixed namespace+named imports, clear barrelCaches on rebuilda90df2cfix: resolve relative barrel re-export paths to absolute, emit default imports for default re-exports507911crefactor: extract barrel optimization to plugins/optimize-imports.ts, add Windows path fix and react-server TODO901d4dffix(optimize-imports): address sixth-pass review commentsed65085fix(optimize-imports): remove EnvironmentPluginContext cast, expand subpkgOrigin comment📊 Changes
6 files changed (+1888 additions, -6 deletions)
View changed files
📝
README.md(+7 -6)📝
packages/vinext/src/config/next-config.ts(+10 -0)📝
packages/vinext/src/index.ts(+10 -0)➕
packages/vinext/src/plugins/optimize-imports.ts(+922 -0)📝
tests/next-config.test.ts(+1 -0)➕
tests/optimize-imports.test.ts(+938 -0)📄 Description
Summary
vinext:optimize-importsVite plugin that rewrites barrel imports into direct sub-module imports on the serverReact.createContext()at module top-levelexport * as X,export { A, B },export { default as X },import * as X; export { X })resolveIdhook for pnpm strict hoisting compatibilityexperimental.optimizePackageImportsfromnext.configwith sensible defaults matching Next.jsSet<string>for O(1) package lookupsCloses #100
Closes #137
Test plan
React.createContextcrash🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.