Buckets:
| const esbuild = require("esbuild") | |
| const production = process.argv.includes("--production") | |
| const watch = process.argv.includes("--watch") | |
| /** | |
| * @type {import('esbuild').Plugin} | |
| */ | |
| const esbuildProblemMatcherPlugin = { | |
| name: "esbuild-problem-matcher", | |
| setup(build) { | |
| build.onStart(() => { | |
| console.log("[watch] build started") | |
| }) | |
| build.onEnd((result) => { | |
| result.errors.forEach(({ text, location }) => { | |
| console.error(`✘ [ERROR] ${text}`) | |
| console.error(` ${location.file}:${location.line}:${location.column}:`) | |
| }) | |
| console.log("[watch] build finished") | |
| }) | |
| }, | |
| } | |
| async function main() { | |
| const ctx = await esbuild.context({ | |
| entryPoints: ["src/extension.ts"], | |
| bundle: true, | |
| format: "cjs", | |
| minify: production, | |
| sourcemap: !production, | |
| sourcesContent: false, | |
| platform: "node", | |
| outfile: "dist/extension.js", | |
| external: ["vscode"], | |
| logLevel: "silent", | |
| plugins: [ | |
| /* add to the end of plugins array */ | |
| esbuildProblemMatcherPlugin, | |
| ], | |
| }) | |
| if (watch) { | |
| await ctx.watch() | |
| } else { | |
| await ctx.rebuild() | |
| await ctx.dispose() | |
| } | |
| } | |
| main().catch((e) => { | |
| console.error(e) | |
| process.exit(1) | |
| }) | |
Xet Storage Details
- Size:
- 1.23 kB
- Xet hash:
- 307404c8b240a7fa7dea33e1c705d756a5d434b5c5aea9a26154531128bb902a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.