📝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
/
から始まる文字列が使える