build.mjs 768 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * Bundle extension entrypoints (mavi-core + vault) for the browser.
  3. */
  4. import { mkdirSync } from "node:fs";
  5. import { join, dirname } from "node:path";
  6. import { fileURLToPath } from "node:url";
  7. const root = join(dirname(fileURLToPath(import.meta.url)), "..");
  8. const outdir = join(root, "dist");
  9. mkdirSync(outdir, { recursive: true });
  10. const entries = ["popup.ts", "create.ts", "import.ts"];
  11. for (const entry of entries) {
  12. const result = await Bun.build({
  13. entrypoints: [join(root, "src", entry)],
  14. outdir,
  15. target: "browser",
  16. format: "esm",
  17. minify: true,
  18. sourcemap: "none",
  19. });
  20. if (!result.success) {
  21. console.error(result.logs);
  22. process.exit(1);
  23. }
  24. console.log("built", entry);
  25. }
  26. console.log("Extension JS →", outdir);