Comparing donglua:master...APKLab:master · donglua/APKLab
Commits on Apr 4, 2026
-
deps: upgrade to ESLint 10, TypeScript 6, and update all dependencies
- ESLint 9 → 10 (flat config already in use, no config changes needed) - TypeScript 5.9 → 6.0, esbuild 0.26 → 0.28, prettier 3.6 → 3.8 - typescript-eslint 8.46 → 8.58, @vscode/vsce 3.7.0 → 3.7.1 - Remove @types/glob (unused), drop --ext from eslint scripts - Fix useless assignment flagged by ESLint 10 (no-useless-assignment) - Fix Mocha import for TypeScript 6 strict module resolution
-
feat: update for apktool 3.0.0 compatibility
- Remove --use-aapt1 rebuild option (aapt1 dropped in apktool 3.0) - Rename --debug → --debuggable for rebuild - Replace --only-main-classes with --all-src (main-only is now default) - Remove short flag reference from --no-debug-info description - Update empty-framework-dir → clean-frameworks command
-
refactor: improve code quality across extension
- Convert .then()/.catch() promise chains to async/await in extension.ts - Fix git.ts: replace process.chdir() with cwd option on spawn (process.chdir affects the entire extension host, causing subtle bugs) - Add cwd support to executeProcess options - Fix CallableFunction type to proper () => void | Promise<void>
-
refactor: enable esModuleInterop, fix error handling for update check
- Enable esModuleInterop in tsconfig (cleaner default imports for CJS deps) - Clean up import syntax for mocha and extract-zip - Move tool download error handling into checkAndInstallTools itself so callers don't need try-catch wrappers - Remove redundant try-catch blocks from all extension commands
-
feat: integrate Smali LSP server into APKLab
- Add vscode-languageclient dependency for LSP protocol support - Bundle smali language grammar (TextMate) and language configuration replacing the external LoyieKing.smalise extension dependency - Create src/tools/smali-lsp.ts: LSP client that lazily starts when a .smali file is opened, auto-detects APKTool project root - Java 17+ version check before server launch - Server JAR resolved via apklab.smaliLspPath config (populated by the existing tool download system when remote config is updated) - Add deactivate() to cleanly stop the language server - Add skipLibCheck for vscode-languageclient TS6 compat New settings: apklab.smaliLspPath, apklab.javaPath, smaliLsp.trace.server
-
refactor: extract common getJavaPath utility
- Create src/utils/java.ts with getJavaPath() reading apklab.javaPath config - Update apktool.ts to use getJavaPath() instead of hardcoded 'java' - Update uber-apk-signer.ts to use getJavaPath()