1import { cp, mkdir, rm } from 'node:fs/promises'2import { build } from 'esbuild'34const output = new URL('../dist/', import.meta.url)5const source = new URL('../vendor/assets/', import.meta.url)6await rm(output, { recursive: true, force: true })7await mkdir(output, { recursive: true })8await cp(source, output, { recursive: true })9await mkdir(new URL('licenses/', output), { recursive: true })10await cp(new URL('../unit/index.html', import.meta.url), new URL('index.html', output))11await cp(new URL('../unit/_headers', import.meta.url), new URL('_headers', output))12await cp(new URL('../README.md', import.meta.url), new URL('SOURCE.md', output))13await cp(new URL('../../../../../licenses/svgbob-license.txt', import.meta.url), new URL('licenses/Apache-2.0.txt', output))14await cp(new URL('../vendor/assets/img/LICENSE', import.meta.url), new URL('licenses/ASSET-TERMS.txt', output))15await build({16 entryPoints: [new URL('../src/frame.js', import.meta.url).pathname],17 bundle: true,18 minify: true,19 format: 'iife',20 platform: 'browser',21 outfile: new URL('frame-v1.js', output).pathname,22 sourcemap: false,23})