aboutsummaryrefslogtreecommitdiff
path: root/build/compiler.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/compiler.js')
-rw-r--r--build/compiler.js118
1 files changed, 118 insertions, 0 deletions
diff --git a/build/compiler.js b/build/compiler.js
new file mode 100644
index 0000000..cd9041f
--- /dev/null
+++ b/build/compiler.js
@@ -0,0 +1,118 @@
+console.log("...");
+global.fs = require('fs');
+
+if (fs.existsSync("./incoming")) {
+ fs.rmdirSync("./incoming", {recursive:true});
+}
+if (!fs.existsSync("./incoming")) {
+ fs.mkdirSync("./incoming");
+}
+
+function analyse(folder) {
+ try {
+ console.log(" F " + folder);
+ fol.push(folder);
+ list = fs.readdirSync(folder);
+ list.forEach((item) => {
+ try {
+ file = fs.statSync(folder + "/" + item).isFile();
+ } catch (e) {
+ file = null;
+ }
+
+ if (file !== null) {
+ if (file) {
+ if (!item.startsWith(".")) {
+ if (item.endsWith(".js")) {
+ console.log(" A " + folder + "/" + item);
+ jsf.push(folder + "/" + item);
+ } else {
+ console.log(" D " + folder + "/" + item);
+ njs.push(folder + "/" + item);
+ }
+ }
+ } else {
+ if (item !== "node_modules" && !item.startsWith(".")) {
+ analyse(folder + "/" + item);
+ }
+ }
+ }
+ })
+ } catch (e) {}
+}
+
+function analysem(folder) {
+ try {
+ console.log("MF " + folder);
+ mfol.push(folder);
+ list = fs.readdirSync(folder);
+ list.forEach((item) => {
+ try {
+ file = fs.statSync(folder + "/" + item).isFile();
+ } catch (e) {
+ file = null;
+ }
+
+ if (file !== null) {
+ if (file) {
+ console.log("M A " + folder + "/" + item);
+ mnjs.push(folder + "/" + item);
+ } else {
+ analysem(folder + "/" + item);
+ }
+ }
+ })
+ } catch (e) {}
+}
+
+global.jsf = [];
+global.njs = [];
+global.fol = [];
+global.mnjs = [];
+global.mfol = [];
+analyse("..");
+analysem("../node_modules");
+console.log(jsf.length + " JSF\n" + njs.length + " OMF\n" + fol.length + " DIR\n" + (mnjs.length + mfol.length) + " MOD");
+setTimeout(() => {
+ mfol.forEach((fol) => {
+ console.log("M M " + fol);
+ if (!fs.existsSync("./incoming/" + fol.substr(3))) {
+ fs.mkdirSync("./incoming/" + fol.substr(3));
+ }
+ })
+ fol.forEach((fol) => {
+ console.log(" M " + fol);
+ if (!fs.existsSync("./incoming/" + fol.substr(3))) {
+ fs.mkdirSync("./incoming/" + fol.substr(3));
+ }
+ })
+ njs.forEach((file) => {
+ console.log(" C " + file);
+ fs.copyFileSync(file, "./incoming/" + file.substr(3));
+ })
+ mnjs.forEach((file) => {
+ console.log("M C " + file);
+ fs.copyFileSync(file, "./incoming/" + file.substr(3));
+ })
+ jsf.forEach((file) => {
+ console.log(" CC " + file);
+ /*var obfuscationResult = JavaScriptObfuscator.obfuscate(fs.readFileSync(file).toString(),
+ {
+ compact: true,
+ controlFlowFlattening: true,
+ controlFlowFlatteningThreshold: 1,
+ numbersToExpressions: true,
+ stringArray: true,
+ debugProtection: true,
+ selfDefending: true,
+ target: "node",
+ transformObjectKeys: true,
+ shuffleStringArray: true,
+ splitStrings: true,
+ stringArrayThreshold: 1
+ }
+ );
+ fs.writeFileSync("./incoming/" + file.substr(3), obfuscationResult.getObfuscatedCode());*/
+ fs.copyFileSync(file, "./incoming/" + file.substr(3));
+ })
+}, 10000)