Project

Roadmap

What has shipped, and what is being explored next for StreetJS.

This page tracks the direction of StreetJS. Priorities shift based on community feedback — open an issue or discussion to influence it.

Current release: v1.0.9. Much of what earlier drafts of this roadmap listed as “future” has already landed in the 1.0.x line. The list below reflects what is actually in the codebase today. Items are verified against the published streetjs package, the @streetjs/* packages, and the docs.


Shipped — available now

Core runtime

  • HTTP server on node:http; compiled-regex router with parameter extraction
  • IoC container with constructor injection and circular-dependency detection
  • Middleware pipeline, typed context, @Validate schemas
  • OpenAPI 3.1 generation from decorators (served at /openapi.json)
  • API versioning@ApiVersion / @Deprecated with Deprecation/Sunset headers
  • Clustering (node:cluster, IPC heartbeat, auto-restart), telemetry (ring buffer, P50/P99)
  • LRU cache, webhook dispatcher (HMAC + exponential backoff), streaming multipart upload

Database

  • Native PostgreSQL wire driver (protocol v3, SCRAM-SHA-256 / MD5 / cleartext)
  • Native MySQL / MariaDB driver
  • SQLite support
  • Connection pool with bounded acquire queue; repository pattern (parameterized queries)
  • SQL migration runner, query builder, schema introspection, seeder, query profiler
  • First-party ORM — @streetjs/orm (dialects, metadata, migrations, repositories)

Auth & security

  • JWT (HMAC-SHA256, timingSafeEqual), AES-256-GCM sessions, scrypt vault
  • OAuth 2.0 / OIDC, WebAuthn / passkeys, MFA, mTLS
  • RBAC decorators and helpers
  • Sliding-window rate limiter, recursive XSS sanitizer, security headers, CORS, CSRF

Realtime & messaging

  • Bounded WebSocket server (heartbeat, typed events) + channels/presence
  • Server-Sent Events (heartbeat, backpressure)
  • Transports: Kafka, RabbitMQ, Redis (RESP/Streams), NATS (plugin)

Observability

  • OpenTelemetry (OTLP traces/metrics/logs), structured JSON logger with correlation IDs
  • Prometheus /metrics + recording/alerting rules, Grafana dashboard, health checks, analytics

Microservices & architecture

  • HTTP/2 server, gRPC (Protocol Buffers parser + server)
  • Circuit breaker, service registry (discovery), distributed lock, CQRS, saga, event bus/store
  • Edge runtime@streetjs/edge

Developer experience

  • CLI: create, dev, build, start, test, generate, migrate, seed
  • CLI: info, doctor, diagnostics, audit, certify, deploy, plugin, registry, upgrade, add
  • Project templates (app, saas, ecommerce, realtime-chat, dating-app) + --frontend react|next
  • SDK generators — TypeScript and Python clients from the OpenAPI spec
  • Docker multi-stage build; GitHub Actions CI/CD with npm provenance + signed plugins

Exploring next

These are directions under consideration, not commitments. They are largely ecosystem- and adoption-driven rather than core-runtime gaps.

  • More official plugins — expanding the signed @streetjs/plugin-* catalog (payments, messaging, regional providers).
  • More database dialects & tooling — broader introspection and migration diffing.
  • Tutorials & runnable examples — growing the catalog incrementally (see the Tutorials & Examples Program).
  • Community & governance growth — see the Adoption & Go-To-Market Roadmap.

The honest current gaps are awareness, ecosystem breadth, and community size — not core capabilities.


How to influence the roadmap