From f0c9fbd0d01b255bdafe29017c6fd14567d4c064 Mon Sep 17 00:00:00 2001 From: Seismix Date: Fri, 23 Jan 2026 09:03:05 +0100 Subject: [PATCH] refactor: change Android script from JavaScript to TypeScript This is to align with the rest of the codebase. --- package.json | 2 +- pnpm-lock.yaml | 68 +++++++++++++++------- scripts/{dev-android.js => dev-android.ts} | 10 ++-- 3 files changed, 54 insertions(+), 26 deletions(-) rename scripts/{dev-android.js => dev-android.ts} (91%) diff --git a/package.json b/package.json index d7e254a..19af7a3 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "dev": "wxt", "dev:firefox": "wxt -b firefox", - "dev:android": "node scripts/dev-android.js", + "dev:android": "node scripts/dev-android.ts", "build": "wxt build", "build:firefox": "wxt build -b firefox", "zip": "wxt zip", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6149c30..ce5b4a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ importers: version: 25.0.9 '@wxt-dev/module-svelte': specifier: ^2.0.4 - version: 2.0.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1))(wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(yaml@2.7.1)) + version: 2.0.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1))(wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(tsx@4.21.0)(yaml@2.7.1)) prettier: specifier: ^3.8.0 version: 3.8.0 @@ -50,7 +50,7 @@ importers: version: 9.2.0(jiti@2.6.1) wxt: specifier: ^0.20.13 - version: 0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(yaml@2.7.1) + version: 0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(tsx@4.21.0)(yaml@2.7.1) packages: @@ -1209,6 +1209,9 @@ packages: get-port-please@3.2.0: resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + giget@2.0.0: resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} hasBin: true @@ -1861,6 +1864,9 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -2075,6 +2081,11 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -2644,22 +2655,22 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)))(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)))(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)) obug: 2.1.1 svelte: 5.47.1 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)))(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)))(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)) deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.47.1 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) - vitefu: 1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) + vitefu: 1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)) '@tsconfig/svelte@5.0.6': {} @@ -2705,11 +2716,11 @@ snapshots: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.16 - '@wxt-dev/module-svelte@2.0.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1))(wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(yaml@2.7.1))': + '@wxt-dev/module-svelte@2.0.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1))(wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(tsx@4.21.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.47.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)) svelte: 5.47.1 - wxt: 0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(yaml@2.7.1) + wxt: 0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(tsx@4.21.0)(yaml@2.7.1) transitivePeerDependencies: - vite @@ -3361,6 +3372,11 @@ snapshots: get-port-please@3.2.0: {} + get-tsconfig@4.13.0: + dependencies: + resolve-pkg-maps: 1.0.0 + optional: true + giget@2.0.0: dependencies: citty: 0.1.6 @@ -3999,6 +4015,9 @@ snapshots: resolve-from@4.0.0: {} + resolve-pkg-maps@1.0.0: + optional: true + restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -4228,6 +4247,14 @@ snapshots: tslib@2.8.1: {} + tsx@4.21.0: + dependencies: + esbuild: 0.27.2 + get-tsconfig: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -4302,13 +4329,13 @@ snapshots: uuid@8.3.2: {} - vite-node@5.3.0(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1): + vite-node@5.3.0(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1): dependencies: cac: 6.7.14 es-module-lexer: 2.0.0 obug: 2.1.1 pathe: 2.0.3 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) transitivePeerDependencies: - '@types/node' - jiti @@ -4322,7 +4349,7 @@ snapshots: - tsx - yaml - vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1): + vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -4334,11 +4361,12 @@ snapshots: '@types/node': 25.0.9 fsevents: 2.3.3 jiti: 2.6.1 + tsx: 4.21.0 yaml: 2.7.1 - vitefu@1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1)): + vitefu@1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1)): optionalDependencies: - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) watchpack@2.4.4: dependencies: @@ -4461,7 +4489,7 @@ snapshots: is-wsl: 3.1.0 powershell-utils: 0.1.0 - wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(yaml@2.7.1): + wxt@0.20.13(@types/node@25.0.9)(jiti@2.6.1)(rollup@4.55.3)(tsx@4.21.0)(yaml@2.7.1): dependencies: '@1natsu/wait-element': 4.1.2 '@aklinker1/rollup-plugin-visualizer': 5.12.0(rollup@4.55.3) @@ -4505,8 +4533,8 @@ snapshots: publish-browser-extension: 3.0.3 scule: 1.3.0 unimport: 5.6.0 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) - vite-node: 5.3.0(@types/node@25.0.9)(jiti@2.6.1)(yaml@2.7.1) + vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) + vite-node: 5.3.0(@types/node@25.0.9)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.7.1) web-ext-run: 0.2.4 transitivePeerDependencies: - '@types/node' diff --git a/scripts/dev-android.js b/scripts/dev-android.ts similarity index 91% rename from scripts/dev-android.js rename to scripts/dev-android.ts index 9486f81..2da2060 100644 --- a/scripts/dev-android.js +++ b/scripts/dev-android.ts @@ -8,7 +8,7 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // Get the device ID from command line arguments -const deviceId = process.argv[2]; +const deviceId: string | undefined = process.argv[2]; if (!deviceId) { console.error('Usage: pnpm dev:android [web-ext flags...]'); console.error('Example: pnpm dev:android emulator-5554 --source-dir ./custom-dir'); @@ -16,10 +16,10 @@ if (!deviceId) { } // Get any additional flags to pass to web-ext -const additionalFlags = process.argv.slice(3); +const additionalFlags: string[] = process.argv.slice(3); // Extract custom source directory if provided -let customSourceDir = null; +let customSourceDir: string | null = null; const sourceDirIndex = additionalFlags.findIndex(flag => flag === '--source-dir' || flag === '-s'); if (sourceDirIndex !== -1) { @@ -38,7 +38,7 @@ const wxtOutDir = customSourceDir || '.output'; const actualBuildDir = `${wxtOutDir}/firefox-mv2`; // Remove source-dir flags from additional flags (we'll set it ourselves) -const filteredFlags = []; +const filteredFlags: string[] = []; for (let i = 0; i < additionalFlags.length; i++) { const flag = additionalFlags[i]; if (flag === '--source-dir' || flag === '-s') { @@ -67,7 +67,7 @@ try { console.log(`Running on Android device ${deviceId}...`); execSync(webExtCommand, { stdio: 'inherit', cwd: path.dirname(__dirname) }); -} catch (error) { +} catch (error: any) { console.error('Command failed:', error.message); process.exit(1); }