タグ

webpackとbundlerに関するefclのブックマーク (9)

  • JavaScriptビルドツールの整理 各ツールの機能と依存関係

    フロントエンドのビルドツールが色々ありすぎて、何がどうなっているのかがわかりづらいため、 各ツールができること、特徴 ツール間がどのように依存しあっているか を一気に調べて整理した。(情報は2023/10時点) 概要 ツールの依存関係整理 上層: dev server付きのバンドラ/ビルドツール。アプリ開発者が直接configなどを書いて取り扱うのはここが多いと思われる。(Next.jsに関しては、ビルド機能に着目した場合) 下層: やや基盤的なdev serverなしのツール群。 矢印は、明示的な依存関係を表す。実際には、明示的な依存関係がなくても、下層のツール群は上層のバンドラ(やRollup)に対してプラグインを提供していることが多い。 各ツールのできること整理 ツールごとに、大まかな機能区分で、できることとできないことをまとめた。 各機能区分の定義は次セクションを参照。 ツールごと

    JavaScriptビルドツールの整理 各ツールの機能と依存関係
    efcl
    efcl 2023/10/26
    Vite/Parcel/webpack/Rspack/Turbopack/Next.js/Rollup/esbuild/SWC/Bun/Babel/Terser の特徴と依存関係について。
  • Release 0.2.5 · web-infra-dev/rspack

    What's Changed Exciting New Features 🎉 feat(config): zod schema for output by @xinxinhe1810 in #3595 feat: filename per entry by @ahabhgk in #3662 feat: worker support by @ahabhgk in #3617 feat: support module decorator to give warning for mix harmony-commonjs by @underfin in #3667 Bug Fixes 🐞 fix(commonjs_scanner): ignore unresolve require span by @suxin2017 in #3591 fix: 🤖 pr number by @IWANA

    Release 0.2.5 · web-infra-dev/rspack
    efcl
    efcl 2023/07/05
    rspack 0.2.5リリース。 Web Workerのサポート、entryの`filename`オプションのサポート、HMRでCJSとESMが混在している場合にwarningを出すようになるなど
  • Release v0.1.12 · web-infra-dev/rspack

    efcl
    efcl 2023/05/24
    rspack v0.1.12リリース。 `resolve.exportsFields`をサポート、Data URIのimportをサポートなど
  • Rspack

    efcl
    efcl 2023/03/11
    Rustで書かれたwebpack互換のbundler。 webpackを使うプロジェクトとの互換性や移行性を考慮していて、オプションやloaderも互換性ある形で実装している。 出力するランタイムコードもwebpackの出力との互換性を考慮していて、プ
  • GitHub - DataDog/build-plugin: Track your build performances like never before.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - DataDog/build-plugin: Track your build performances like never before.
    efcl
    efcl 2022/01/25
    どのloader/plugin/依存関係などでビルド時間がかかっているかを表示するwebpackとesbuildのプラグイン。 Datadogと連携する機能も持っている。
  • ABEMAにesbuildを導入してWebのバンドル処理を69倍高速化した話 | CyberAgent Developers Blog

    こんにちは,テレビ&ビデオエンターテインメント「ABEMA」で Web エンジニアをしている野口 (@nodaguti) です.今回は,ABEMA の開発組織で行われている「改善week」という制度を使って esbuild というバンドラーを ABEMA Web に導入し,開発ビルドのバンドル処理を最大 69 倍高速化した話をご紹介します. 改善weekとは ABEMA では事業の成長に合わせて機能開発も活発に行われています.そのため,今でもスプリントごとに新しい機能の追加や既存機能の改善など数多くの施策がリリースされています. 各事業施策は目標としている KPI の達成を目的として設計されています.それゆえに KPI と直接関連しにくい部分のデザイン改善やリファクタリング,開発体験 (DX) 向上などは施策の合間に行う形になりがちでした.また,アニメーションの見直しやアプリの Debug

    ABEMAにesbuildを導入してWebのバンドル処理を69倍高速化した話 | CyberAgent Developers Blog
    efcl
    efcl 2020/07/29
    esbuildを開発時のローカルビルド使えるようにした話
  • module bundlerの作り方(準備編) - hiroppy's site

    今回は中身がどう動いているかを解説したいと思います。 最初のこの記事では、最低限の実装を説明していくことにします。 webpack のアルゴリズムの仕組みはこちらを読んでください。 必要なステップ 必要なステップは以下の 3 つです。 エントリーポイントからのすべてのモジュールを走査し、requireを解決後にユニーク id を付与していく コード内のモジュールパス(requireの引数(e.g. ./module.js))を id へ置換する runtime のコードテンプレートの作成 IIFE(即時関数)箇所とそれに付随する引数の module 群 この実装されあれば、動くコードはできます。(2 つめは optional でもいいけど後からつらくなる) モジュール解決 今回は説明しやすいように関数を 2 つに分けています。 すべてのモジュールの把握と ID 作成 コード内の requi

    module bundlerの作り方(準備編) - hiroppy's site
    efcl
    efcl 2020/05/25
    BabelのJavaScriptパーサを使って基本的なmodule bundlerを作成するチュートリアル
  • JSerレポート #2: Node.jsコアモジュールとBundler(webpackなど)によるpolyfillのギャップ - JSer.info

    このレポートは、現在進行形で機能追加や仕様変更が行われているNode.jsコアモジュールとブラウザ向けpolyfillにおける挙動の違い(ギャップ)が広がってきている問題について調べたものです。 ここでは https://nodejs.org/api/ に掲載されているうち assertのようにNode.jsにバンドルされているモジュールのことをNode.jsコアモジュールと呼びます。コアモジュールはNode.jsでの利用のみを想定しているため、Node.jsに依存した処理を多く含んでいます。そのため、コアモジュールのコードをコピーしてブラウザなどで動かすことは難しいです。 webpackやbrowserifyなどのbundlerは、コード中にあるコアモジュールを代替モジュールへとすり替えます。この代替モジュールはブラウザ向けpolyfillライブラリとよび、このpolyfillライブラリ

    JSerレポート #2: Node.jsコアモジュールとBundler(webpackなど)によるpolyfillのギャップ - JSer.info
    efcl
    efcl 2018/12/25
    bundlerによるNodeコアモジュールとpolyfillのNode.jsの実装のギャップについて。 またNodeモジュールをブラウザ向けに変換するといった目的から始まったbundleの用途の変化について
  • Release v4.10.0 · webpack/webpack

    Features Export and import name strings in them wasm are mangled Unused exports in wasm are removed (Tree Shaking) Don't expect size improvements yet since there is not minimizer for WASM yet which does the Dead Code Elimination, which is the second part for this optimization Direct WASM dependencies are enforced for: functions imports with i64 parameters or return values memory and table imports

    Release v4.10.0 · webpack/webpack
    efcl
    efcl 2018/05/29
    webpack v4.10.0リリース。 WebAssemblyのTree SHakingをサポート(Dead Code Eliminationは未実装)、wasmのruntimeのファイルサイズを軽量化など
  • 1