🧹
[esbuild] ビルド時にデバッグ用コードを削除する
ビルド時にデバッグ用コードを削除する方法の一覧
Drop labels
(方法1)- ✨ v0.18.13
sample.js
const n = Date.now()
DEBUG: {
console.log(n)
}
esbuild sample.js --drop-labels=DEBUG
const n = Date.now();
Define + Minify(minify syntax)
(方法2)sample.js
const n = Date.now()
if (DEBUG) {
console.log(n)
}
esbuild sample.js --define:DEBUG=false --minify-syntax
const n = Date.now();
デバッグ用コードを削除しない場合
--define:DEBUG=true
TypeScript: Cannot find name 'DEBUG'. (2304)
- 変数
DEBUG
に警告が出るのでアンビエント宣言が必要 -
DEBUG.d.ts
など適当な名前の型定義ファイルをソースコードと同階層に配置する
declare const DEBUG: boolean
利用機能の詳細
Drop
(方法3)- ✨ v0.14.10
(※) 下記のデバッグ関連の機能を一括削除
sample.js
console.time()
const n = Date.now()
console.timeEnd()
debugger
console.log(n)
esbuild sample.js --drop:debugger --drop:console
const n = Date.now();
Discussion