Teraz, keď bol repozitár SvelteKit nedobrovoľne zverejnený v snahe zvýšiť dostupné zásoby GitHub Actions pre projekt, máme všetci možnosť nahliadnuť do niektorých diskusií, ktoré vývojový tím momentálne vedie alebo v nedávnej minulosti viedol.
Bol som medzi mnohými, čo si zvykli opakovane otvárať jeho npm stránku v nádeji, že počas dlhých zimných mesiacov uvidia nejaké sľubné správy súvisiace s vydaním. Ak ste v tom čase nesledovali dianie v komunite Svelte, tu je krátke zhrnutie.
Rich Harris, hlavný správca Svelte oznámil, že Svelte sa transformuje, aby mohli vývojári využívať jednotnejší ekosystém. Väčšina vývoja odvtedy prebiehala na základe snowpack (rýchlejší frontend build nástroj). Ten však narazil na viacero prekážok, ktoré bolo ťažké prekonať, takže pred niekoľkými týždňami tím prešiel na vite (frontend nástroje novej generácie) a projekt odvtedy napreduje rýchlo. Tu sú moje postrehy:
Škaredé #
Service workers. Vo vývoji. Vôbec som nedokázal pochopiť, čo sa deje. Existuje issue, ktoré je už uzavreté cez PR, takže by malo existovať nejaké oficiálne riešenie, ale nepreskúmal som to dostatočne hlboko. Zatiaľ si myslím, že je jednoduchšie počkať, kým dokumentácia dobehne.
Zlé #
Projekt, na ktorom som robil tieto experimenty, mal testy napísané v Cypress. SvelteKit zatiaľ nešipuje s odporúčaniami pre testovací framework (hej, vlastne vôbec ešte nešipuje). Kým bolo na Svelte projektoch jednoduché a dokonca odporúčané používať Cypress, s aktuálnou verziou SvelteKit to také jednoduché nebolo.
Dôvod je ten, že SvelteKit teraz predvolene obsahuje "type": "module" vo
svojom package.json. To má rôzne dôsledky, pričom najväčší je, že kód
teraz môže priamo importovať moduly namiesto ich requireovania. To nie
je niečo, čo Cypress v svojej konfigurácii očakáva, a preto sa sťažuje.
Riešenia
existujú, ale SvelteKit a Cypress sú momentálne jednoducho nekompatibilné
hneď po nainštalovaní.
Dobré #
Napriek tomu, že to nie je oficiálne vydané, môžeme si už vychutnať niektoré plody ťažkej práce, ktorá do toho šla. Pre mňa je najzjavnejšia rýchlosť. Štart je takmer okamžitý a časy zostavenia sú bleskové.
Ďalšia vec, ktorá sa mi páči, sú takzvané adders. S adders môžete mať Tailwind CSS vo svojom SvelteKit projekte za menej ako dve minúty:
npm init svelte@next
npx apply svelte-add/postcss
npx apply svelte-add/tailwindcss
Všetky moje predchádzajúce pokusy kombinovať Svelte a Tailwind mali nejaké vážne problémy. Najbližšie som sa dostal k nastaveniu, kde Tailwind, PostCSS s purge a IntelliSense vo vime fungovali, ale HMR nefungovalo. Obnovenie prebehlo pri uložení súboru, ale čím väčší bol projekt, tým dlhšie som musel čakať na manuálne obnovenie, aby sa aktualizácie zobrazili na obrazovke. Teraz vidíme, že s funkciou adders by mohlo byť skutočne jednoduché robiť pekné integračné kombinácie. Skvelá práca!
Toto je 5. príspevok z #100daystooffload.