wechat-web-devtools-linux/tools/patch-wechat-devtools-node
2022-02-05 10:22:50 +08:00

37 lines
1.4 KiB
JavaScript
Executable File

#!/usr/bin/env node
const path = require("path");
const fs = require("fs");
const { spawn } = require("child_process");
let code = fs.readFileSync(path.resolve(__dirname, "../package.nw/js/unpack/hackrequire/index.js"), {encoding:"utf8"});
let signatureBegin = "/* patch wechat devtools begin */\n";
let signatureEnd = "/* patch wechat devtools end */\n";
let index = code.indexOf(signatureBegin);
let patch = fs.readdirSync(path.resolve(__dirname, "../patch")).map((file) => {
console.log(file)
if ((file !== ".") && (file.endsWith(".js"))) {
return (`/* ${file} */\n` +
"(() => {\n\n" +
" try {\n\n" +
fs.readFileSync(path.resolve(__dirname, "../patch", file), {encoding:"utf8"}).trim().split("\n").map((line) => {
return " " + line;
}).join("\n") + "\n\n" +
" } catch (error) {\n" +
" process.stderr.write(error.message);\n" +
" process.stderr.write(error.stack);\n" +
" }\n\n" +
"})();");
}
return "";
}).join("\n").trim() + "\n";
if (code.indexOf(signatureBegin) !== -1) {
code = code.split(signatureEnd).slice(1).join(signatureEnd);
}
fs.writeFileSync(path.resolve(__dirname, "../package.nw/js/unpack/hackrequire/index.js"),
signatureBegin + patch + signatureEnd + code);