Wydanie M1 alpha udostępnia pnpm package: build, kontrolę ZIP, SHA-256 i raport walidacji. Zobacz instrukcję generatora. Generator przypina wersje paczek npm. ZIP trzeba rozpakować przed importem.
Zbuduj wydanie
Dział zatytułowany „Zbuduj wydanie”W projekcie utworzonym generatorem wykonaj:
pnpm checkpnpm packagepackage ponownie wykonuje build, sprawdza kompletność folderu, tworzy ZIP, rozpakowuje go kontrolnie i porównuje pliki. Nie publikuje niczego do npm, GitHub ani sklepu pluginów. Zwiększ version w plugin.json przed kolejnym wydaniem; package.json nie określa nazwy artefaktu.
| Plik | Zawartość |
|---|---|
<id>-<version>.zip |
Gotowy plugin z plugin.json w korzeniu archiwum |
<id>-<version>.sha256 |
Suma SHA-256 ZIP oraz jego nazwa |
<id>-<version>.validation.json |
Wersje CLI i SDK, SHA-256 ZIP, lista plików z rozmiarami i hashami, desktopTested: false |
Artefakty powstają w artifacts/. Jeżeli plik o tej nazwie już istnieje, CLI zgłasza PLUGIN_RELEASE_EXISTS; nie nadpisuje wydania. Suma ZIP pozwala porównać pobrane archiwum z plikiem autora. To inny identyfikator niż rewizja zawartości, którą Lomi zatwierdza przy włączaniu pluginu. Żaden z nich sam nie potwierdza tożsamości autora.
Wynik budowania
Dział zatytułowany „Wynik budowania”package/ zawiera gotowy ESM, manifest i jawnie dołączone zasoby. Build celuje w przeglądarkowy ES2022. Współdzieli React i SDK z hostem, dołącza pozostałe zgodne biblioteki i sprawdza względne importy. Nie używa aliasów Vite ani prywatnych źródeł aplikacji.
Udany build zastępuje poprzedni wynik, a błąd zachowuje ostatni poprawny folder. Mapy źródeł zawierają ścieżki bez osadzonego tekstu źródeł; pliki deklaracji nie są generowane. Konfigurację CLI opisują narzędzia, a wszystkie opcje buildPlugin() znajdziesz w ręcznym przykładzie SDK.
Udostępnienie folderu
Dział zatytułowany „Udostępnienie folderu”Udostępnij zawartość package/. Jeśli przesyłasz archiwum, odbiorca musi je rozpakować i wskazać otrzymany folder w Import plugin. Instalacja nie wykonuje pnpm install, komend budowania ani skryptów instalacyjnych.
Przy dołączaniu motywu dodaj jego katalog do assets i wskaż go w contributes.themes[].path. Motyw będzie dostępny po imporcie bez uruchamiania kodu. Motywy należące do pluginów są tylko do odczytu; użytkownik może je zduplikować przed edycją.
Limity pakietu
Dział zatytułowany „Limity pakietu”| Element | Limit |
|---|---|
| Zainstalowane pakiety | 128 |
| Jeden pakiet | 64 MiB |
| Pliki i katalogi | 2048 wpisów |
| Zagnieżdżenie katalogów | 16 poziomów |
| Jeden plik | 20 MiB |
| Metadane manifestu | 256 KiB |
Natywny importer odrzuca niepoprawne ścieżki, dowiązania symboliczne i pliki specjalne. Nie dołączaj node_modules, pamięci podręcznej ani całego repozytorium źródeł do instalowanego pakietu.
Wymiana rewizji
Dział zatytułowany „Wymiana rewizji”- Wyłącz zainstalowany plugin i rozstrzygnij niezapisane widoki.
- Zbuduj i zaimportuj nowy folder z tym samym ID pluginu.
- Sprawdź i włącz nową rewizję.
- Uruchom aplikację ponownie, jeśli pojawi się Restart required.
Zaufanie dotyczy skrótu całej zawartości pakietu. Ponowny import instaluje rewizję wyłączoną i bez zatwierdzonego zaufania. Sama zmiana numeru wersji nie omija zatwierdzenia. Raz wykonanych modułów JavaScript nie można usunąć z silnika, więc zmiana rewizji wymaga restartu. Tę samą rewizję można poprawnie dezaktywować i aktywować ponownie.
Przed usunięciem pakietu dostarczającego wybrane motywy przełącz jego aktywny motyw kolorów i ikon na warianty wbudowane. Natywna kontrola usuwania obejmuje wszystkie rodzaje wybranych motywów.
Cofnij aktualizację
Dział zatytułowany „Cofnij aktualizację”Zachowaj poprzedni rozpakowany pakiet. Wyłącz nową rewizję, zaimportuj poprzedni folder z tym samym ID, przejrzyj go i zatwierdź. Jeśli wykonano już kod innej rewizji, będzie potrzebny restart. Cofnięcie numeru wersji nie przywraca automatycznie zgodności stanu: poprzedni kod musi rozumieć zapisane stateVersion i placement.
Co przekazać odbiorcy
Dział zatytułowany „Co przekazać odbiorcy”Do ZIP dołącz krótki opis instalacji, wersję pluginu, wspierane i faktycznie sprawdzone wersje Lomi oraz systemy, licencję i listę zmian. Opisz, czy plugin potrzebuje sieci i jak zapisuje dane. Odbiorca potrzebuje gotowego pakietu, a nie Node, Rust czy konta npm. Przed wydaniem wykonaj kwalifikację desktopową.
Rozpoznawanie problemu
Dział zatytułowany „Rozpoznawanie problemu”| Objaw | Co sprawdzić |
|---|---|
Undeclared contribution |
Rejestrowane ID musi istnieć w plugin.json. |
Plugin view unavailable |
Włącz plugin i sprawdź zapisaną wersję stateVersion oraz miejsce widoku. |
Restart required |
Uruchom aplikację ponownie po rozstrzygnięciu niezapisanej pracy. |
Lomi host is missing |
Uruchom zbudowany pakiet w aplikacji desktopowej, nie jako samodzielną stronę. |
| Import zgłasza brak pliku | Sprawdź wygenerowany package/, ścieżki manifestu i assets. |
| Brak kontrolki na pasku stanu | Sprawdź aktywację: elementy fill w pluginie lazy wymagają innego wyzwalacza. |
| Komendy nie widać lub nie można jej uruchomić | Sprawdź włączenie pluginu, context.workspace, viewTypes i deklarację komendy. |
| Skrót nie działa | Sprawdź Settings > Keybinds, konflikt, kod klawisza i textInput. |
| Zmiana kodu nie jest widoczna | Sprawdź sukces buildu, ponowny import package/, zaufanie i restart. |
| Stan wraca do wartości domyślnej | Sprawdź, czy używasz setState(), tego samego ID widoku i właściwego workspace. |
Plugin activation was disposed. |
Nie używaj starego kontekstu po await; sprawdź signal.aborted. |
| Nie da się usunąć pakietu z motywem | Przełącz wszystkie aktywne motywy pochodzące z tego pakietu. |
Settings > Plugins > Details pokazuje ID, źródło, zaufanie i stan wykonania pakietu. Przy błędzie renderowania dostępne jest Retry view, a przy błędzie aktywacji może pojawić się Retry activation. Obsługuj również błędy własnych operacji asynchronicznych pluginu.
Tryb bezpieczny
Dział zatytułowany „Tryb bezpieczny”Zamknij aplikację, a następnie uruchom jej plik wykonywalny z --safe-mode. W repozytorium deweloperskim:
pnpm tauri dev -- -- --safe-modeDla instalacji Linuksa z plikiem wykonywalnym w PATH:
lomi --safe-modeNa macOS aplikację zainstalowaną w Aplikacjach możesz uruchomić bezpośrednio:
/Applications/Lomi.app/Contents/MacOS/lomi --safe-modeNa Windows przekaż --safe-mode do zainstalowanego lomi.exe, używając jego rzeczywistej ścieżki.
Tryb bezpieczny pomija kod pluginów i niestandardowe motywy przed ich wykonaniem. Wyłącz wadliwy plugin w Settings, a następnie zamknij i uruchom aplikację normalnie. --disable-plugins również wybiera motyw bazowy. Zmienna LOMI_SAFE_MODE włącza tryb bezpieczny zawsze, gdy jest obecna, nawet z wartością 0.
Jeśli plik katalogu pluginów plugins/installed.json jest uszkodzony, zamknij aplikację i zmień jego nazwę na plugins/installed.backup.json w katalogu danych aplikacji. Uruchom tryb bezpieczny i zaimportuj potrzebne pakiety ponownie. Zachowaj foldery pakietów i plik sesji. Plugin blokujący główny wątek może wymagać zakończenia procesu, zanim da się uruchomić tryb bezpieczny.
Kod źródłowy: narzędzie budowania, przechowywanie pakietów i tryb bezpieczny.