57 lines
1.4 KiB
JavaScript
57 lines
1.4 KiB
JavaScript
import { cp, mkdir, rm } from "node:fs/promises";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { build } from "tsup";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
const projectRoot = path.resolve(__dirname, "..");
|
|
const distDir = path.join(projectRoot, "dist");
|
|
|
|
await rm(distDir, { recursive: true, force: true });
|
|
await mkdir(path.join(distDir, "content"), { recursive: true });
|
|
await mkdir(path.join(distDir, "background"), { recursive: true });
|
|
|
|
await build({
|
|
entry: {
|
|
index: path.join(projectRoot, "src/content/index.ts"),
|
|
"market-page-bridge": path.join(
|
|
projectRoot,
|
|
"src/content/market/page-bridge.ts"
|
|
)
|
|
},
|
|
format: ["iife"],
|
|
platform: "browser",
|
|
target: "chrome114",
|
|
outDir: path.join(distDir, "content"),
|
|
clean: false,
|
|
splitting: false,
|
|
sourcemap: false,
|
|
minify: false,
|
|
outExtension() {
|
|
return { js: ".js" };
|
|
}
|
|
});
|
|
|
|
await build({
|
|
entry: {
|
|
index: path.join(projectRoot, "src/background/index.ts")
|
|
},
|
|
format: ["iife"],
|
|
platform: "browser",
|
|
target: "chrome114",
|
|
outDir: path.join(distDir, "background"),
|
|
clean: false,
|
|
splitting: false,
|
|
sourcemap: false,
|
|
minify: false,
|
|
outExtension() {
|
|
return { js: ".js" };
|
|
}
|
|
});
|
|
|
|
await cp(
|
|
path.join(projectRoot, "src/manifest.json"),
|
|
path.join(distDir, "manifest.json")
|
|
);
|