Hopp til hovedinnhold

TypeScript og Node.js

API-er, integrasjoner og automatisering i TypeScript og Node.js — med typer fra ende til ende og tester som gjør det trygt å endre.

Håndtegnet illustrasjon for TypeScript og Node.js

Verktøy og rammeverk vi bruker

  • TypeScript
  • Node.js 22 og 24
  • Express
  • Zod
  • openapi-typescript
  • pnpm
  • Vitest
  • Supertest
  • node:test
  • Docker
  • Cloudflare Workers
  • MCP-servere
  • Playwright og Puppeteer

Backend-utvikling i TypeScript og Node.js

Mange løsninger trenger en backend som er rask å utvikle, lett å forstå og enkel å drifte. Vi bygger API-er og tjenester i TypeScript på Node.js 22 og 24, med Express, validering i Zod og typede kontrakter fra OpenAPI. Prosjektene settes opp med pnpm, kjører i Docker og testes med Vitest, Supertest og node:test.

Fordi typene følger dataene fra database til nettleser, oppdages mange feil allerede når koden skrives. Det gjør det tryggere å endre løsningen over tid, også når flere team jobber i den samme kodebasen.

Arkitekturvalg i Node.js-backends

Node.js gir stor frihet, og det er nettopp derfor vi tar noen valg tidlig:

  • Kontrakten først. API-et beskrives i OpenAPI før det implementeres. openapi-typescript genererer typer for klientene, og spesifikasjonen blir samtidig dokumentasjonen.
  • Zod ved hver grense. Forespørsler, svar fra eksterne API-er, miljøvariabler og webhooks valideres med Zod. Inne i tjenesten kan koden da stole på typene.
  • Tynt rammeverk, ren logikk. Express håndterer HTTP, mens forretningslogikken ligger i vanlige funksjoner som kan testes uten å starte en server.
  • Riktig kjøremiljø. Små, tilstandsløse tjenester og webhooks passer godt på Cloudflare Workers. Tjenester med lange jobber, tunge avhengigheter eller behov for hele Node.js-plattformen pakkes i Docker.
  • Workspaces i pnpm. Når flere tjenester og klienter deler typer, samler vi dem i et monorepo med pnpm workspaces i stedet for å kopiere kode mellom prosjekter.

Node.js er et godt standardvalg for API-er og integrasjoner. Når en tjeneste har høye krav til ytelse, minnebruk eller drift uten tilsyn over lang tid, vurderer vi heller Rust eller Go.

Automatisering og verktøy for utviklerteam

TypeScript og Node.js egner seg godt for interne verktøy. Vi har laget boter som varsler teamet i Microsoft Teams om deploy og nye app-versjoner, med data hentet fra Azure DevOps, App Store Connect og Google Play. Vi bygger også MCP-servere som gir AI-agenter avgrenset tilgang til interne systemer, og bruker Playwright og Puppeteer til å automatisere oppgaver i nettleseren. Målet er at teamet skal bruke mindre tid på rutinearbeid og mer tid på produktet.

Typiske oppdrag

API-er og backend-tjenester

Vi bygger REST-API-er i Node.js med validering i Zod, typede kontrakter fra OpenAPI og tester som dekker de viktigste flytene.

Integrasjoner mellom systemer

Vi kobler sammen tjenester via API-er og webhooks, med typede klienter generert fra OpenAPI-spesifikasjoner.

Automatisering av utviklerflyten

Vi lager interne verktøy som varsler om bygg, deploy og app-publiseringer i Microsoft Teams, og henter status fra Azure DevOps, App Store Connect og Google Play.

MCP-servere og verktøy for AI-agenter

Vi bygger MCP-servere i TypeScript som gir AI-agenter trygg og avgrenset tilgang til interne systemer og data.

Vanlige spørsmål

Hvorfor TypeScript på backend?

Med TypeScript på både frontend og backend kan typer og valideringsregler deles, og mange feil oppdages før koden kjøres. Det gjør det enklere for ett team å jobbe på tvers av hele løsningen.

Hvordan holder dere API-er og klienter i takt?

Vi tar utgangspunkt i en OpenAPI-spesifikasjon og genererer typede klienter med openapi-typescript. Endringer i API-et blir da synlige som typefeil der de må håndteres.

Hvor kjører løsningene?

Det avhenger av behovet. Vi pakker tjenester i Docker for skyplattformer som Azure, og bruker Cloudflare Workers for små, raske tjenester nær brukeren.

Kan dere automatisere release-rutinene våre?

Ja. Vi har laget verktøy som følger bygg og publiseringer i Azure DevOps, App Store Connect og Google Play, og sender oppdateringer til teamet i Microsoft Teams.

Hvordan tester dere Node.js-tjenester?

Vi bruker Vitest eller node:test for enhetstester, Supertest for API-tester og Playwright der flyten går gjennom en nettleser.

Trenger dere hjelp med TypeScript og Node.js?

Fortell kort om produktet, teamet eller systemet. Vi svarer med et konkret forslag til neste steg — enten det er en hel leveranse, senior kapasitet i teamet eller tekniske råd.

E-postadressen og meldingen brukes bare til å svare på henvendelsen din.

Telefon
920 50 946
Sted
Oslo, Norge