📝esbuildのoption対応 (scrapbox-bundler)
やること
動機
折角なので他のoptionにも対応させるタスクとしてこのページを作ってみた
調査方法
shdeno run -A -r=https://scrapbox.io --no-check "https://scrapbox.io/api/code/takker/📝esbuildのoption対応_(scrapbox-bundler)/test.ts"
test.tsimport { build, initialize, WASM_URL } from "../esbuild-wasm/mod.ts";
await initialize({
wasmURL: WASM_URL,
worker: false,
});
const result = await build({
stdin: {
contents: "console.log('hello, world');",
sourcefile: "test.ts",
resolveDir: Deno.cwd(),
},
bundle: true,
minify: true,
splitting: true,
outdir: "out",
format: "esm",
});
console.log(result);
対応リスト
見方

対応した

部分的に対応した

対応(し|でき)ない

Bundle

Entry points
file systemが存在しない

External

Format
Inject
Loader

Minify
Outdir
指定すると path: "/:outdir/stdin.js"
などとなる
Outfile
指定すると path: "/:outfile.js"
などとなる
Platform

Sourcemap
inline
のみ
Splitting
Target

Watch
エラーは出ないが、ファイルを監視できないので意味がない

Write
どの値を指定しても write: false
扱いとなる

Allow overwrite
無効
Analyze
Asset names
Banner

Charset
UTF-8を使用しないかどうかを示す noUtf8
として提供
Chunk names
Color
効果ない?
Conditions
効果ない?
Entry names
Footer
Global name
Ignore annotations
Incremental
JSX

JSX factory

JSX fragment
Keep names
Legal comments
Log level
Log limit
Main fields
効果ない?
Metafile

Node paths
指定しても意味ない
Out extension
効果ない?
Outbase
効果ない?
Preserve symlinks
Public path
Pure
Resolve extensions
Source Root
Sourcefile
Sources Content

Stdin
常に使用している
Tree shaking

Tsconfig
エラーは出ないが、ファイルを読み込めないので無意味
Tsconfig raw
Working directory
/
から始まる文字列が使える