Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023-09-07のJS: Node.js v20.6.0(.env)、Rspackのアーキテクチャデザイン、 #1115

Merged
merged 13 commits into from
Sep 7, 2023

Conversation

azu
Copy link
Member

@azu azu commented Sep 7, 2023

Node.js v20.6.0がリリースされました

.envをビルトインサポート、import.meta.resolveをフラグなしで利用できるように、module.register() APIの追加などが行われています。
Loaderのload hookがCommonJSをサポートし、非推奨のrequire.extensionsを使わなくてもCommonJSを扱うcustom loaderを書けるようになるなどといった変更も含まれています。

しかし、このv20.6.0ではこのloaderの変更によりBabelなどが動かなくなっているため、v20.6.1で修正される予定です。


Design Trade-offs in Bundler: The Rationale Behind Creating Rspack · web-infra-dev/wg · Discussion #1に、Rspackの開発の目的やwebpack/parcel/esbuild/rollupなどのbundlerのアーキテクチャについて書かれています。

それぞれのbundlerには長所と短所がありますが、出発点としてはesbuildとRollupのいいところを取り込んだRustバージョン作るところから始まった点について書かれています。
その過程でプラグインAPIやJavaScript以外の言語を扱う仕組みの必要性などから、webpackのアーキテクチャと似たものが必要なことが分かり、Rspackはwebpack互換のアーキテクチャを採用することになったことが書かれています。

それぞれのbundlerのアーキテクチャ、Rspackの現在の課題、今後の方向性などについても書かれています。

@azu azu merged commit 5641dd3 into develop Sep 7, 2023
@azu azu deleted the jser-week-659 branch September 7, 2023 06:47
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