mirror of
https://fastgit.cc/github.com/hicccc77/WeFlow
synced 2026-04-20 21:01:15 +08:00
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
const runtimeNames = [
|
|
'msvcp140.dll',
|
|
'msvcp140_1.dll',
|
|
'vcruntime140.dll',
|
|
'vcruntime140_1.dll',
|
|
];
|
|
|
|
function copyIfDifferent(sourcePath, targetPath) {
|
|
const source = fs.statSync(sourcePath);
|
|
const targetExists = fs.existsSync(targetPath);
|
|
|
|
if (targetExists) {
|
|
const target = fs.statSync(targetPath);
|
|
if (target.size === source.size && target.mtimeMs >= source.mtimeMs) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
fs.copyFileSync(sourcePath, targetPath);
|
|
return true;
|
|
}
|
|
|
|
function main() {
|
|
if (process.platform !== 'win32') {
|
|
return;
|
|
}
|
|
|
|
const projectRoot = path.resolve(__dirname, '..');
|
|
const sourceDir = path.join(projectRoot, 'resources', 'runtime', 'win32');
|
|
const targetDir = path.join(projectRoot, 'node_modules', 'electron', 'dist');
|
|
|
|
if (!fs.existsSync(sourceDir) || !fs.existsSync(targetDir)) {
|
|
return;
|
|
}
|
|
|
|
let copiedCount = 0;
|
|
|
|
for (const name of runtimeNames) {
|
|
const sourcePath = path.join(sourceDir, name);
|
|
const targetPath = path.join(targetDir, name);
|
|
if (!fs.existsSync(sourcePath)) {
|
|
continue;
|
|
}
|
|
if (copyIfDifferent(sourcePath, targetPath)) {
|
|
copiedCount += 1;
|
|
}
|
|
}
|
|
|
|
if (copiedCount > 0) {
|
|
console.log(`[prepare-electron-runtime] synced ${copiedCount} runtime DLL(s) to ${targetDir}`);
|
|
}
|
|
}
|
|
|
|
main();
|