Skip to content

feat: setup bundle workflow - #22

Merged
bengl merged 1 commit into
nodejs:mainfrom
legendecas:export
Nov 1, 2026
Merged

bengl merged 1 commit into
nodejs:mainfrom
legendecas:export

Conversation

@legendecas

Copy link
Copy Markdown
Member

Comment thread package.json
},
"devDependencies": {
"@opentelemetry/semantic-conventions": "1.43.0",
"esbuild": "0.28.2",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can I advocate for us trying https://viteplus.dev/ here? rolldown is easier to grok for me, and I'm sure we can get a lot of support from the vite team if we need help

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My experience was that it needs more configurations than esbuild to do a simple bundle. Here the only thing we need is creating a bundle for Node.js core to integrate. I'd prefer avoiding unnecessary tool layers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's fair. IMO it's not too much because it's just configuring a single vite.config.js file, but I don't want to block.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can I advocate for us trying viteplus.dev here? rolldown is easier to grok for me, and I'm sure we can get a lot of support from the vite team if we need help

My question is why does this project even need a build step? Why do we need this complication?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for Node.js core integration. Not intended for npm publishing.

Core embeds its JS sources with js2c, and vendored deps there ship as one prebuilt file. undici ships deps/undici/undici.js and amaro ships deps/amaro/dist/index.js. With one file, the core updater script just copies it in. Nobody has to map our internal require('./lib/...') graph onto lib/internal/deps/... paths by hand on every update.

Comment thread package.json
},
"devDependencies": {
"@opentelemetry/semantic-conventions": "1.43.0",
"esbuild": "0.28.2",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's fair. IMO it's not too much because it's just configuring a single vite.config.js file, but I don't want to block.

@bengl
bengl merged commit 7d679ae into nodejs:main Nov 1, 2026
3 checks passed
@legendecas
legendecas deleted the export branch November 1, 2026 18:28
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.

4 participants