auto-post-marketplace-facebook/vite.config.ts

60 lines
1.6 KiB
TypeScript

import fs from "fs";
import fse from "fs-extra";
import path, { resolve } from "path";
import { defineConfig } from "vite";
import pkg from "./package.json";
import mnf from "./public/manifest.json";
export default defineConfig({
plugins: [
{
name: "copy-content-script",
closeBundle: async () => {
const src = resolve(__dirname, "dist-content/content/content.js");
const destDir = resolve(
__dirname,
`${pkg.name}_${mnf.version}`,
"content"
);
const dest = resolve(destDir, "content.js");
if (!fs.existsSync(src)) {
console.warn(
"⚠️ content.js chưa được build từ vite.config.content.ts"
);
return;
}
await fse.ensureDir(destDir);
await fse.copyFile(src, dest);
console.log(`✅ Copied content.js → ${dest}`);
},
},
{
name: "copy-release-folder",
closeBundle: async () => {
const buildDir = resolve(__dirname, `${pkg.name}_${mnf.version}`);
const releaseDir = resolve(
__dirname,
"releases",
`${pkg.name}_${mnf.version}`
);
if (!fs.existsSync(buildDir)) {
console.warn("⚠️ Build folder chưa được tạo:", buildDir);
return;
}
await fse.ensureDir(path.dirname(releaseDir));
await fse.copy(buildDir, releaseDir, { overwrite: true });
console.log(`📦 Copied ${buildDir}${releaseDir}`);
},
},
],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
});