From 73840ac25dc6fe5a40b5f2732f5e3aca152aa3a3 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Mon, 18 Aug 2025 10:33:38 +0700 Subject: [PATCH 1/6] chore: update id-id.json --- src/lang/id-id.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index ed06e9b09..d456a0da9 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -423,9 +423,9 @@ "allFileAccess": "Semua akses berkas", "fonts": "Huruf", "sponsor": "Sponsor", - "downloads": "downloads", - "reviews": "reviews", - "overview": "Overview", - "contributors": "Contributors", - "quicktools:hyphen": "Insert hyphen symbol" + "downloads": "Unduhan", + "reviews": "Ulasan", + "overview": "Ikhtisar", + "contributors": "Kontributor", + "quicktools:hyphen": "Masukkan simbol tanda hubung" } From 0c4fe92be52ea20782a94daca2aa0b208557541d Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Fri, 5 Sep 2025 06:20:13 +0700 Subject: [PATCH 2/6] fix(i18n): fix typo in ./src/lang/id-id.json --- src/lang/id-id.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index d456a0da9..b03d1e78a 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -85,7 +85,7 @@ "soft tab": "Tab lunak", "sort by name": "Urutkan berdasarkan nama", "success": "Sukses", - "tab size": "Ukuram Tab", + "tab size": "Ukuran Tab", "text wrap": "Bungkus Teks", "theme": "Tema", "unable to delete file": "Tidak dapat menghapus berkas", From c2749819cc27d46079984704531771ffcd4ac866 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Thu, 16 Oct 2025 17:15:11 +0700 Subject: [PATCH 3/6] chore(i18n): update id-id.json with new strings --- src/lang/id-id.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index e23b654d4..9bef5e06d 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -428,9 +428,9 @@ "overview": "Ikhtisar", "contributors": "Kontributor", "quicktools:hyphen": "Masukkan simbol tanda hubung", - "check for app updates": "Check for app updates", - "prompt update check consent message": "Acode can check for new app updates when you're online. Enable update checks?", - "keywords": "Keywords", - "author": "Author", - "filtered by": "Filtered by" + "check for app updates": "Periksa pembaruan aplikasi", + "prompt update check consent message": "Acode dapat memeriksa pembaruan aplikasi baru saat Anda online. Aktifkan pemeriksaan pembaruan?", + "keywords": "Kata kunci", + "author": "Pembuat", + "filtered by": "Disaring oleh" } From 9ed27a6a63abe2249d93a1cf2304202f12ee4e11 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Sat, 31 Jan 2026 21:27:11 +0700 Subject: [PATCH 4/6] chore: add acorn --- package-lock.json | 2 +- package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index c7cfe4767..ab369bdf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@xterm/addon-web-links": "^0.11.0", "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", + "acorn": "^8.15.0", "autosize": "^6.0.1", "cordova": "13.0.0", "core-js": "^3.45.0", @@ -3321,7 +3322,6 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, "license": "MIT", "peer": true, "bin": { diff --git a/package.json b/package.json index fda4fc929..a2f6b8a3a 100644 --- a/package.json +++ b/package.json @@ -108,6 +108,7 @@ "@xterm/addon-web-links": "^0.11.0", "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", + "acorn": "^8.15.0", "autosize": "^6.0.1", "cordova": "13.0.0", "core-js": "^3.45.0", From ff82ce08983da11ee51a68bb577493d3fcb4aa72 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Sat, 31 Jan 2026 21:44:19 +0700 Subject: [PATCH 5/6] refactor: replace esprima with acorn --- src/lib/console.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/lib/console.js b/src/lib/console.js index 0d2a19a48..370052a6c 100644 --- a/src/lib/console.js +++ b/src/lib/console.js @@ -1,6 +1,6 @@ import "core-js/stable"; import "html-tag-js/dist/polyfill"; -import * as esprima from "esprima"; +import { parse } from "acorn"; import css from "styles/console.m.scss"; import loadPolyFill from "utils/polyfill"; @@ -374,16 +374,21 @@ import loadPolyFill from "utils/polyfill"; }); } + /** @type {import("acorn").Options} */ + const acornOptions = { + ecmaVersion: "latest", + }; + function parseFunction(data) { let parsed; let str; try { - parsed = esprima.parse(data.toString()).body[0]; + parsed = parse(data.toString(), acornOptions).body[0]; } catch (error) { try { const fun = ("(" + data.toString() + ")").replace(/\{.*\}/, "{}"); - parsed = esprima.parse(fun).body[0]; + parsed = parse(fun, acornOptions).body[0]; } catch (error) { return data .toString() @@ -632,9 +637,7 @@ import loadPolyFill from "utils/polyfill"; function execute(code) { let res = null; try { - const parsed = esprima.parse(code, { - range: true, - }).body; + const parsed = parse(code, acornOptions).body; res = execParsedCode(parsed); } catch (e) { res = execParsedCode([]); @@ -648,8 +651,7 @@ import loadPolyFill from "utils/polyfill"; if (st.type === "VariableDeclaration") { if (["const", "let"].indexOf(st.kind) < 0) return; - const range = st.range; - const exCode = code.substring(range[0], range[1]) + ";"; + const exCode = code.substring(st.start, st.end) + ";"; extra += exCode; } }); From e0f45181d5099c79e18f3d768f7c4a46db824ae1 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Sat, 31 Jan 2026 21:46:28 +0700 Subject: [PATCH 6/6] chore: remove esprima --- package-lock.json | 12 ------------ package.json | 1 - 2 files changed, 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab369bdf8..cb95a30ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,6 @@ "crypto-js": "^4.2.0", "dompurify": "^3.2.6", "escape-string-regexp": "^5.0.0", - "esprima": "^4.0.1", "filesize": "^11.0.2", "html-tag-js": "^2.4.15", "js-base64": "^3.7.7", @@ -4993,17 +4992,6 @@ "node": ">=8.0.0" } }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "dev": true, diff --git a/package.json b/package.json index a2f6b8a3a..094875d7b 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,6 @@ "crypto-js": "^4.2.0", "dompurify": "^3.2.6", "escape-string-regexp": "^5.0.0", - "esprima": "^4.0.1", "filesize": "^11.0.2", "html-tag-js": "^2.4.15", "js-base64": "^3.7.7",