mirror of
https://github.com/revoltchat/revite.git
synced 2024-12-04 21:00:58 -05:00
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
/* eslint-disable */
|
|
const { copy, remove, access, readFile, writeFile } = require("fs-extra");
|
|
const klaw = require("klaw");
|
|
|
|
let target = /__API_URL__/g;
|
|
let replacement = process.env.REVOLT_PUBLIC_URL;
|
|
let BUILD_DIRECTORY = "dist";
|
|
let OUT_DIRECTORY = "dist_injected";
|
|
|
|
if (typeof replacement === "undefined") {
|
|
console.error("No REVOLT_PUBLIC_URL specified in environment variables.");
|
|
process.exit(1);
|
|
}
|
|
|
|
(async () => {
|
|
console.log("Ensuring project has been built at least once.");
|
|
try {
|
|
await access(BUILD_DIRECTORY);
|
|
} catch (err) {
|
|
console.error("Build project at least once!");
|
|
return process.exit(1);
|
|
}
|
|
|
|
console.log("Determining if injected build already exists...");
|
|
try {
|
|
await access(OUT_DIRECTORY);
|
|
|
|
console.log("Deleting existing build...");
|
|
await remove(OUT_DIRECTORY);
|
|
} catch (err) {}
|
|
|
|
await copy(BUILD_DIRECTORY, OUT_DIRECTORY);
|
|
|
|
console.log("Processing bundles...");
|
|
for await (const file of klaw(OUT_DIRECTORY)) {
|
|
let path = file.path;
|
|
if (path.endsWith(".js")) {
|
|
let data = await readFile(path);
|
|
if (target.test(data)) {
|
|
console.log("Matched file", path);
|
|
|
|
let processed = data.toString().replace(target, replacement);
|
|
await writeFile(path, processed);
|
|
}
|
|
}
|
|
}
|
|
|
|
console.log("Complete.");
|
|
})();
|