generated at
Snowpack

開発者はFred K. Schott
以前はpika/webという名前だった
2020/4ごろにメンテ終了している

リリース状況 ref
2021/5/15現在の最新はv3.4.0


内部でRollup.jsを使用
Tree Shakingもする
と、どこかで書いてた気がする

esbuild を内部的に使ったビルドツール
npmのpackageをES Modulesの形式に変換する
よってブラウザでも読み込めるようになる
外部ライブラリのimportは今までと同じノリでできる

現状ES Modulesがあればだいたいなんとかなる
しかし、使用したい外部ライブラリ(例えばReact)が、ES Modulesに未対応だと
webpackなどのbundlerを使わないと import React ... みたいな構文が使えない
ここで、ReactがESModuleに対応していれば、bundlerを使わずに、この構文で書ける
じゃあ、ESM未対応のライブラリをESMに変換すればいい
それがSnowpackがやってること
これによってbundlerが不要になる

使用したいライブラリを一度ESMに変換しちゃえばそれ以降変換掛ける必要がない
だから、「コードを修正するたびにbundle」みたいな処理が不要になる


チャンク分割が簡単になる
コレナンデ7日いまいちよくわからん #??


内部のmoduleは誰がbundleしたりするの #??
esmならそのままできるってことか?
ESMが対応していないブラウザならbundlerないと無理なので無理ってことか
node_modulesはもはやlocalに置かないのか

↓あまり良く知らないのでこんなふうにメモってるが、触ったりして理解進めばこういうメモは不要mrsekut


@pika/web時代の記事


v1時代
外部ライブラリのESM変換部分のみをやる
自分らで書く部分であるアプリケーションコードはノータッチ
だから、TSと使ってるとBabelかなんかでESMに変換する必要がある
importの構文は import React from '/web_modules/react.js'


v2時代の記事
開発サーバーが組み込みに
ここでいう開発サーバーってなに #??
後のskypackかmrsekut
importの構文は import React from 'react'
内部でESBuildを使い始めたのもv2から?
v1からの変更点など


v3時代の記事
Skypack CDNからfetchする
localでbundleしない
import "preact" import "https://pkg.snowpack.dev/preact" に変換される
Denoっぽいmrsekut
オフラインではキャッシュを使用