chore(package.json): początek dodawania abstrakcji w build-time #125

Merged
kuba merged 4 commits from refactor/build_time_abstraction into develop 2025-09-22 12:10:19 +02:00
Collaborator
  • wprowadzenie rozróżnienia w buildach dla firefox i chrome
  • dodanie @types/chrome do rozpoznania przez typescript
- wprowadzenie rozróżnienia w buildach dla firefox i chrome - dodanie @types/chrome do rozpoznania przez typescript
am0 added 1 commit 2025-08-11 18:06:01 +02:00
- wprowadzenie rozróżnienia w buildach dla firefox i chrome
- dodanie @types/chrome do rozpoznania przez typescript
am0 changed title from WIP: chore(package.json): początek dodawania abstrakcji w build-time to chore(package.json): początek dodawania abstrakcji w build-time 2025-08-11 18:08:44 +02:00
am0 added 1 commit 2025-08-29 11:05:37 +02:00
Wygenerowanie wersji PNG (16px, 20px i 24px) wszystkich ikon SVG przy użyciu komendy Inkscape z wiersza poleceń

Główna ikona wtyczki (dla manifest.json) Chrome oczekuje konkretnych rozmiarów, stadndardowych dla Chrome (16, 32, 48, 128), ale ikony interfejsu (używane wewnątrz stron rozszerzenia) Chrome mogą mieć dowolny rozmiar, ponieważ to zwykłe obrazy w HTML. Ustawiłem je zgodnie z naszymi obecnymi rozmiarami (16, 20, 24px)

użyta komenda for svg in assets/icons/*.svg; do basename=$(basename "$svg" .svg); for size in 16 20 24; do inkscape --export-type=png --export-width=$size --export-height=$size --export-background-opacity=0 "$svg" --export-filename="assets/icons/${basename}-${size}.png"; done; done
am0 added 1 commit 2025-09-07 15:39:21 +02:00
am0 added 1 commit 2025-09-08 11:00:57 +02:00
Wprowadza infrastrukturę umożliwiającą budowanie rozszerzenia dla Chrome i Firefox z jednej bazy kodu. Mapuje różnice w API między przeglądarkami na ujednolicone interfejsy.

ZMIANY:
* lib/browser-api/types.ts - typy oparte na analizie rzeczywistego użycia API w kodzie
* lib/browser-api/firefox.ts - adapter mapujący browser.* na BrowserAPI
* lib/browser-api/chrome.ts - adapter mapujący chrome.* na BrowserAPI
* lib/browser-api/index.ts - build-time selection adaptera na podstawie TARGET

KLUCZOWE RÓŻNICE OBSŁUŻONE:
- Firefox: browser.browserAction.* vs Chrome: chrome.action.*
- Firefox: browser.tabs.* vs Chrome: chrome.tabs.*
- Firefox: browser.cookies.* vs Chrome: chrome.cookies.*
- Firefox: browser.webRequest.* vs Chrome: chrome.webRequest.*

TYPY OPARTE NA FAKTYCZNYM UŻYCIU:
Przeanalizowano 4 pliki używające browser API:
- memory.ts: badge, webRequest, cookies, extension API
- toolbar.tsx: tabs.query, tabs.onUpdated, windows.WINDOW_ID_CURRENT
- tab-dropdown.tsx: tabs.query
- util.ts: tabs.query

STATUS: Preparatory change - istniejący kod pozostaje niezmieniony.
Kolejne commity będą refaktorować pliki do używania nowej abstrakcji.

TARGET: Umożliwienie
> rentgen@0.1.10 build:firefox
> TARGET=firefox node esbuild.config.js

Add-on was built i
> rentgen@0.1.10 build:chrome
> TARGET=chrome node esbuild.config.js

Add-on was built
kuba merged commit f1b1b6e720 into develop 2025-09-22 12:10:19 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Reference: icd/rentgen#125
No description provided.