github Start9Labs/start-technologies start-sdk/v3.0.0
Start SDK v3.0.0

latest release: start-sdk/v3.0.1
2 hours ago

Start SDK 3.0.0 ships the package toolchain with the SDK and targets StartOS 0.4.0.2. Updating a package to it takes a handful of mechanical edits — see Important below.

Highlights

  • A package declares the SDK and nothing else. TypeScript, Prettier, ESLint and @vercel/ncc install with @start9labs/start-sdk, and s9pk.mk runs each build step itself.
  • The build gate rejects unformatted startos/, and make format writes it. The shared config is the four settings every package already declared.
  • @start9labs/start-core is the only bundled dependency, so a package can clear a security advisory anywhere in the SDK's dependency tree with its own overrides entry instead of waiting for an SDK release.
  • effects.getServicePortForward resolves null instead of throwing when the binding does not exist.

Full changelog for v3.0.0 — every change in this release.

Important

Four changes need edits in an existing package:

  1. z.object strips unknown keys — every file-model shape must use z.looseObject, at every nesting level, or the next merge() discards whatever the user's config file holds that the shape doesn't declare. A .loose() or .passthrough() already on a shape is now redundant.
  2. Drop the toolchain from package.json — remove typescript, @types/node, @vercel/ncc and prettier from devDependencies, remove the build, check and prettier scripts and the prettier config block, and add a .prettierrc containing "@start9labs/start-sdk/prettier.config.json".
  3. mountDependency no longer accepts type — a dependency mount has been a directory since StartOS 0.4.0-alpha.16, so passing it is now a compile error. To reach a single file, mount the directory holding it.
  4. addSsl.alpn is the list of protocols itself — ['h2'], or null for no filter. { specified: [...] } and 'reflect' are gone; bindings already stored on a server are converted on update.

Packages built with this SDK write osVersion: 0.4.0.2, so they require StartOS 0.4.0.2 or newer.

Don't miss a new start-technologies release

NewReleases is sending notifications on new releases.