BetterDiscordApp-v2/scripts/install.js

42 lines
1.7 KiB
JavaScript

const process = require('process');
const fs = require('fs-extra');
const path = require('path');
// Copy the node-sass bindings to node_modules/node-sass/vendor
const node_sass_path = path.resolve(require.resolve('node-sass'), '..', '..');
const prebuilt_node_sass_bindings_path = path.resolve(__dirname, '..', 'other', 'node_sass_bindings');
for (const node_sass_binding_name of fs.readdirSync(prebuilt_node_sass_bindings_path)) {
const binding_path = path.join(prebuilt_node_sass_bindings_path, node_sass_binding_name);
const installation_path = path.join(node_sass_path, 'vendor', node_sass_binding_name);
if (fs.existsSync(installation_path)) continue;
console.log('Copying node-sass binding from', binding_path, 'to', installation_path);
fs.copySync(binding_path, installation_path);
}
// Copy the keytar bindings to node_modules/keytar/vendor
const keytar_path = path.resolve(require.resolve('keytar'), '..', '..');
const prebuilt_keytar_bindings_path = path.resolve(__dirname, '..', 'other', 'keytar', 'keytar.node');
const keytar_release_path = path.join(keytar_path, 'build', 'Release');
const keytar_binding_path = path.join(keytar_release_path, 'keytar.node');
if (fs.existsSync(path.join(keytar_release_path, 'keytar.node'))) {
const stat = fs.statSync(path.join(keytar_release_path, 'keytar.node'));
// if (stat.isFile()) {
console.log('Deleting keytar binding');
fs.removeSync(path.join(keytar_path, 'build'));
// }
}
if (!fs.existsSync(path.join(keytar_release_path, 'keytar.node'))) {
fs.mkdirpSync(keytar_release_path);
console.log('Copying keytar bindings from', prebuilt_keytar_bindings_path, 'to', keytar_binding_path);
fs.copySync(prebuilt_keytar_bindings_path, keytar_binding_path);
}