Interop 2026 er i gang, Typescript 6.0 i beta, og raskere globale typer

spennende oppdatering av fetch()-APIet, og mye mer i ukas < forrigeUke /> fra utviklerne i Bekk.

Publisert

✍ leserinnlegg

Dette er et leserinnlegg fra en ekstern skribent, som betyr at innholdet ikke nødvendigvis speiler kode24s meninger. Vil du også bidra? Send oss en epost på [email protected], eller les mer her!

Dette var uken for skriveleif ✍️, illusjoner 🐮 og doom-scrolling📱 — og 749 ting som skjedde i frontend-verdenen.

TypeScript 6.0 Beta 🌐

Forrige uke annonserte Microsoft TypeScript 6.0 Beta. Det unike med 6.0-versjonen er at det er den siste som vil bli skrevet i JavaScript. TypeScript 7.0 blir en komplett omskriving i Go, noe som ifølge Microsoft vil kunne gi opptil 10x raskere kompilering 🚀

Målet med versjon 6 er at det skal gi en glattere overgang til den såkalte "native" 7.0-versjonen. Med det kommer en rekke endringer i TypeScripts standardinstillinger.

strict: true ☝️😠

En viktig endring er at strict nå er satt til true som standard. Det betyr at nye prosjekter automatisk får strengere typesjekking uten å måtte konfigurere dette eksplisitt. Microsoft skriver at det er voksende apetitt for strengere typesjekking, og at fremtidige endringer vil gjenspeile hvordan TypeScript-økosystemet faktisk brukes i dag. Kan dette tolkes som et signal om at strict-mode vil bli påkrevd i fremtidige Typescript-versjoner? Hvis jeg var eier av et TypeScript-prosjekt uten strict-mode, hadde jeg iallefall vurdert å skru det på nå.

Raskere innlasting av globale typer 🏎️

Type-definisjoner for mange populære JavaScript-biblioteker publiseres som egne @types-pakker. For eksempel leveres typene for Node.js gjennom @types/node. Enkelte av disse pakkene legger til deklarasjoner i globalt scope slik at vi kan bruke de uten eksplisitte importer, som process i Node eller describe() i Jest.

For å muliggjøre typesjekking av slike globale variabler og funksjoner har TypeScript frem til nå automatisk lastet inn alle @types-pakker som finnes i node_modules. I moderne prosjekter kan dette innebære hundrevis eller tusenvis av deklarasjonsfiler, noe som gjør TypeScript-kompileringen unødvendig tung og tidkrevende.

I TypeScript 6.0 endres standardoppførselen: dersom types-feltet i tsconfig.json ikke er spesifisert, behandles det som en tom liste. Det betyr at ingen globale type-definisjoner lastes inn automatisk. I praksis må man derfor eksplisitt angi hvilke globale @types-pakker prosjektet faktisk trenger, for eksempel "types": ["node", "jest"].

Denne endringen gjør typeinnlasting mer eksplisitt og kan gi betydelige forbedringer i byggetid, særlig i større prosjekter og monorepoer!

Få oversikt over hvordan den nye TypeScript-versjonen vil påvirke prosjektet ditt med innlegget til Daniel Rosenwasser 👇

devblogs.microsoft.comAnnouncing TypeScript 6.0 Beta - TypeScript

Interop 2025 er ferdig. Interop 2026 🔜

Interop (kort for interoperabilitet) er et årlig samarbeid mellom de største nettleserleverandørene for å forbedre kompatibiliteten på tvers av nettlesere. Teamene bak Chrome, Firefox, Safari og Edge blir enige om felles satsingsområder og bruker delte testsett for å sikre at web-funksjonalitet som APIer og CSS-regler oppfører seg likt i alle nettlesere.

Alle de store nettlesermotorene gjorde betydelig fremgang i 2025. Ett av fjorårets fokusområder som er verdt å trekke frem er anchor positioning, som hjelper oss med å posisjonere elementer relativt til andre elementer, og passer perfekt til tooltips, popovers og dropdown-menyer. Før anchor positioning måtte man bruke position og enten inset eller transform til å plassere elementer der man ønsket. Men så fort brukeren bladde på siden eller zoomet inn, kunne elementet havne utenfor viewporten. Dette kunne bare løses ved å bruke JavaScript til å sjekke om elementet er synlig, og korrigere posisjonen deretter. Anchor positioning gjør dette enkelt, og helt uten JavaScript! Derfor er det deilig at det nå vil oppføre seg likt i forskjellige nettlesere.

I 2026 fortsetter Interop-samarbeidet med 20 fokusområder, og anchor positioning er med igjen som et carry-over fra 2025 der målet nå er å finpusse spesifikasjonen, rydde opp i tester og gjøre funksjonaliteten enda mer pålitelig i alle nettlesere. På CSS-fronten vil det blant mine favoritter bli lagt fokus på attr()-funksjonen som kan lese verdien av attributter på HTML-elementer, og ::highlight-pseudo-elementet som lar oss fremheve tekst uten eksplisitte -tags i DOMen. I tillegg kommer en spennende oppdatering av fetch()-APIet, som snart vil kunne ta inn en ReadableStream request body, og dermed støtte opplasting av store filer uten å måtte lese alt inn i minnet først.

Det er betryggende å se at konkurrerende selskaper klarer å samarbeide for å gjøre livet et ørlite grann enklere for oss utviklere. Les om alle fokusområdene i Interop 2026 her 👇

webkit.orgAnnouncing Interop 2026

Powered by Labrador CMS