From 056260ad552b436109462fbadd89c7aab894a8b0 Mon Sep 17 00:00:00 2001 From: Holly Date: Thu, 5 Oct 2023 11:13:19 +0100 Subject: [PATCH] improve tooling --- package-lock.json | 19 ++++++------------- package.json | 1 + tooling/cleanup.ts | 11 +++++------ tooling/mangle.ts | 5 +++-- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index de9e4c7..446b14b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "check-outdated": "^2.12.0", "nodemon": "^3.0.1", "npm-run-all": "^4.1.5", + "terser": "^5.21.0", "ts-loader": "^9.4.4", "ts-node": "^10.9.1", "typescript": "^5.2.2" @@ -45,7 +46,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -69,7 +69,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "peer": true, "engines": { "node": ">=6.0.0" } @@ -79,7 +78,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -635,8 +633,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", @@ -774,8 +771,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", @@ -2376,7 +2372,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -2386,7 +2381,6 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2545,11 +2539,10 @@ } }, "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz", + "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", diff --git a/package.json b/package.json index b88d368..b527a95 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "check-outdated": "^2.12.0", "nodemon": "^3.0.1", "npm-run-all": "^4.1.5", + "terser": "^5.21.0", "ts-loader": "^9.4.4", "ts-node": "^10.9.1", "typescript": "^5.2.2" diff --git a/tooling/cleanup.ts b/tooling/cleanup.ts index cebb778..2851a28 100644 --- a/tooling/cleanup.ts +++ b/tooling/cleanup.ts @@ -1,12 +1,11 @@ -import { readdirSync, rmSync, renameSync } from "fs"; +import { readdirSync, rmSync, readFileSync } from "fs"; const libFiles = readdirSync("./build"); +const mangled = readFileSync("./build/.MANGLED").toString() === "false"; + for (const file of libFiles) { - if (!file.startsWith("Binato.min.js")) { + if (!file.startsWith(mangled ? "Binato.min.js" : "Binato.js")) { rmSync(`./build/${file}`, { recursive: true }); } -} - -//renameSync("./build/combined.js", "./build/index.js"); -//renameSync("./build/combined.d.ts", "./build/index.d.ts"); \ No newline at end of file +} \ No newline at end of file diff --git a/tooling/mangle.ts b/tooling/mangle.ts index a8dba8d..c117282 100644 --- a/tooling/mangle.ts +++ b/tooling/mangle.ts @@ -1,10 +1,11 @@ import { readFileSync, writeFileSync } from "fs"; import { minify } from "terser"; -const DISABLE = false; +const DISABLE = true; +writeFileSync("./build/.MANGLED", `${DISABLE}`); if (DISABLE) { - writeFileSync("./build/Binato.min.js", readFileSync("./build/combined.js")); + writeFileSync("./build/Binato.js", readFileSync("./build/combined.js")); console.warn("[WARNING] mangle.ts is disabled!"); } else { (async () => {