Skip to content

Releases: system-inc/base

v1.1.1

Choose a tag to compare

@kamsheffield kamsheffield released this 15 Sep 04:23
7afb1aa

Fixed

  • GraphQL: Yoga's own logging goes through the framework Logger under
    the gql category, so LOG_LEVEL governs it like everything else a worker
    emits. Yoga's error channel is demoted to debug: it fired for every resolver
    error the mask function replaced, so an expected client error (a 404 from a
    lookup, a validation failure) was logged at error level with a stack trace
    on every request. Masked 5xx errors are still logged at error level by
    gqlMaskError.

Full Changelog: v1.1.0...v1.1.1

Base 1.1.0

Choose a tag to compare

@kamsheffield kamsheffield released this 10 Sep 21:52
d6e0bee

Added

  • ORM: limit and order on conditions-based update and delete
    (OrmUpdateOptions / OrmDeleteOptions). Bounds a bulk write to a slice
    of the matching rows so retention sweeps and backfills can batch — hosted
    MySQL (PlanetScale) aborts a single statement past 100,000 rows. Works on
    every backend: MySQL natively, SQLite (Durable Objects, D1, better-sqlite3)
    via SQLITE_ENABLE_UPDATE_DELETE_LIMIT. A non-positive or non-integer
    limit is rejected before reaching the driver.

Base 1.0.0

Choose a tag to compare

@kamsheffield kamsheffield released this 17 Aug 22:16

Initial public release. All five packages publish together at 1.0.0:
@system-inc/base-foundation, @system-inc/base-cli, @system-inc/base-client,
@system-inc/base-common, and @system-inc/base-lint.

Added

  • Declarative module system — compose a Cloudflare Worker from decorated
    services, GraphQL resolvers, RPC services, queue processors, scheduled
    tasks, WebSocket delegates, and ORM entities, wired through a scoped
    dependency-injection container.
  • First-class dispatchers for HTTP, GraphQL (type-graphql + yoga), RPC,
    queues, cron/scheduled tasks, and WebSockets, with one consistent
    validation pipeline across them.
  • Drizzle-backed ORM — decorator-defined entities, per-worker migration
    ledgers with shared-database ownership checks, mapped joins, filters,
    pagination, and Durable Object SQLite support.
  • The base CLI — scaffold workspaces and workers, develop locally,
    check configuration, run integration tests, manage migrations, generate
    GraphQL schemas, and deploy to Cloudflare.
  • Node as a first-class target — the same app model runs on Node (minus
    Cloudflare bindings) via a platform delegate.
  • Apache-2.0 license, contribution guidelines, code of conduct, and security
    policy.

Get started

npx @system-inc/base-cli workspace create my-app
cd my-app && npm run base -- develop -w app

Documentation: https://base-framework.dev/documentation