import JsZip from "jszip";
import fs from "node:fs";
const zip = new JsZip();
export async function main() {
const paths = "./dist/x_component_require";
const filePaths = fs.readdirSync(`${paths}`, { recursive: true });
filePaths.forEach((item) => {
const currentPath = `${paths}/${item}`;
const zipPathArray = currentPath.split("/");
zipPathArray.shift();
const zipPath = zipPathArray.join("/");
if (isFile(currentPath)) {
const uniArray8 = new Uint8Array(fs.readFileSync(currentPath));
zip.file(zipPath, uniArray8);
}
});
const content = await zip.generateAsync({
type: "uint8array",
compression: "DEFLATE",
compressionOptions: {
level: 9,
},
});
fs.writeFileSync("./dist/x_component_require.zip", content);
}
function isFile(path: string) {
const res = fs.lstatSync(path).isFile();
return res;
}
main()