grid-apps-cmms/bin/install-pre.js

32 lines
1.1 KiB
JavaScript
Raw Normal View History

const os = require('os');
const fs = require('fs-extra');
const path = require('path');
async function main() {
console.log('npm pre running');
2025-07-06 19:47:22 -04:00
const links = fs.readFileSync("conf/links.csv")
.toString()
.trim()
.split('\n')
.map(line => line.trim())
.map(line => line.split(',').map(v => v.trim()));
if (os.platform() === 'win32') {
// convert links to the contents of the files/directories they reference
for (let [link, target] of links) {
const absoluteTarget = path.resolve(path.dirname(link), target);
try {
console.log({ win32_replace: link });
await fs.remove(link).catch(error => console.log({ remove_error: error }));
await fs.copy(absoluteTarget, link, { dereference: true }).catch(error => console.log({ copy_error: error }));
} catch (err) {
console.error(`Error creating symlink: ${link} -> ${absoluteTarget}`, err);
}
}
} else {
console.log('skipping symlink conversion');
}
}
main().catch(err => console.error('Error', err));