2023-10-31 08:27:46 +00:00
|
|
|
import { bundle } from "https://deno.land/x/emit@0.31.0/mod.ts";
|
2024-01-01 17:28:10 +00:00
|
|
|
import { logo, main_module } from "./_build-common.ts";
|
2023-10-31 08:27:46 +00:00
|
|
|
|
|
|
|
const exists = async (filename: string): Promise<boolean> => {
|
|
|
|
try {
|
|
|
|
await Deno.stat(filename);
|
|
|
|
return true;
|
|
|
|
} catch (error) {
|
|
|
|
if (error instanceof Deno.errors.NotFound) {
|
|
|
|
return false;
|
|
|
|
} else {
|
|
|
|
throw error;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const folderName = "build-extension";
|
|
|
|
|
|
|
|
if (await exists(folderName)) {
|
|
|
|
await Deno.remove(folderName, { recursive: true });
|
|
|
|
}
|
|
|
|
|
|
|
|
await Deno.mkdir(folderName);
|
2024-01-01 17:28:10 +00:00
|
|
|
const url = new URL(main_module, import.meta.url);
|
2023-10-31 08:27:46 +00:00
|
|
|
const res = await bundle(url);
|
|
|
|
await Deno.writeTextFile(`./${folderName}/main.mjs`, res.code);
|
|
|
|
await Deno.copyFile("./deploy/alby-logo.svg", `./${folderName}/alby-logo.svg`);
|
|
|
|
await Deno.copyFile("./deploy/index-extension.html", `./${folderName}/index.html`);
|
2023-12-15 16:11:47 +00:00
|
|
|
await Deno.copyFile(logo, `./${folderName}/logo.ico`);
|
2023-12-24 07:19:24 +00:00
|
|
|
await Deno.copyFile(logo, `./${folderName}/logo.webp`);
|
2023-10-31 08:27:46 +00:00
|
|
|
await Deno.copyFile("./deploy/manifest-extension.json", `./${folderName}/manifest.json`);
|