Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
1.7 kB · 22 lines
JavaScript
at main
1234567891011121314151617181920212223// npm ci --ignore-scripts --no-audit --no-fund && node build.mjsimport { build } from 'esbuild';import { readFile, writeFile, copyFile } from 'node:fs/promises';import { createHash } from 'node:crypto';import { fileURLToPath } from 'node:url';import { dirname, resolve } from 'node:path';const dir = dirname(fileURLToPath(import.meta.url));const output = resolve(dir, '../../public/braincells/vendor');await build({ entryPoints:[resolve(dir, 'entry.mjs')], bundle:true, platform:'browser', format:'iife', globalName:'beacon', minify:true, inject:[resolve(dir, 'globals.mjs')], define:{ 'process.env.NODE_ENV':'"production"' }, alias:{ crypto:resolve(dir, 'empty-crypto.mjs') }, outfile:resolve(output, 'beacon-sdk.min.js') });// Normalize whitespace only in esbuild's appended license comment.const bundlePath = resolve(output, 'beacon-sdk.min.js');const bundle = await readFile(bundlePath, 'utf8');const licensesAt = bundle.indexOf('\n/*! Bundled license information:');if (licensesAt >= 0) await writeFile(bundlePath, bundle.slice(0, licensesAt) + bundle.slice(licensesAt).replace(/[ \t]+$/gm, ''));const lock = JSON.parse(await readFile(resolve(dir, 'package-lock.json')));const dependency = lock.packages['node_modules/@airgap/beacon-dapp'];await copyFile(resolve(dir, 'node_modules/@airgap/beacon-dapp/LICENCE'), resolve(output, 'LICENSE.txt'));await writeFile(resolve(output, 'beacon-sdk.json'), JSON.stringify({ package:'@airgap/beacon-dapp', version:dependency.version, source:dependency.resolved, integrity:dependency.integrity, build:'system/scripts/beacon-vendor/build.mjs', sha256:createHash('sha256').update(await readFile(resolve(output, 'beacon-sdk.min.js'))).digest('hex') }, null, 2)+'\n');