mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
* FEAT: add jsconfig.json file * FEAT: add new script createSymlink FEAT: add new file tools/create-symlink.mjs FEAT: add d.ts files FIX: add new foundry symlink to .gitignore --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com>
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
import fs from "fs";
|
|
import path from "path";
|
|
import readline from "readline";
|
|
|
|
console.log("Reforging Symlinks");
|
|
|
|
const askQuestion = (question) => {
|
|
const rl = readline.createInterface({
|
|
input: process.stdin,
|
|
output: process.stdout
|
|
});
|
|
|
|
return new Promise((resolve) =>
|
|
rl.question(question, (answer) => {
|
|
rl.close();
|
|
resolve(answer);
|
|
})
|
|
);
|
|
};
|
|
|
|
const installPath = await askQuestion("Enter your Foundry install path: ");
|
|
|
|
// Determine if it's an Electron install (nested structure)
|
|
const nested = fs.existsSync(path.join(installPath, "resources", "app"));
|
|
const fileRoot = nested
|
|
? path.join(installPath, "resources", "app")
|
|
: installPath;
|
|
|
|
try {
|
|
await fs.promises.mkdir("foundry");
|
|
} catch (e) {
|
|
if (e.code !== "EEXIST") throw e;
|
|
}
|
|
|
|
// JavaScript files
|
|
for (const p of ["client", "common", "tsconfig.json"]) {
|
|
try {
|
|
await fs.promises.symlink(path.join(fileRoot, p), path.join("foundry", p));
|
|
} catch (e) {
|
|
if (e.code !== "EEXIST") throw e;
|
|
}
|
|
}
|
|
|
|
// Language files
|
|
try {
|
|
await fs.promises.symlink(
|
|
path.join(fileRoot, "public", "lang"),
|
|
path.join("foundry", "lang")
|
|
);
|
|
} catch (e) {
|
|
if (e.code !== "EEXIST") throw e;
|
|
}
|