Skip to content
Product Docs

Flash Launch Documentation

Deploy a Node.js Runtime

Use the dedicated runtime panel to save a Node.js GitHub source, run deploy preflight, and ship a server runtime with optional Firestore-backed project data.

2 min readAudience: Builders shipping a server-side app with request-time logicUpdated 2026-04-18

Flash Launch now has a dedicated runtime deploy workflow for Node.js server apps. This is separate from the Static Site panel.

What this flow supports

  • Node.js server runtimes only
  • Runtime GitHub sources saved directly from the Runtime panel
  • Runtime deploy preflight before you ship
  • Firestore-backed project data attachment preview
  • A thin server SDK for runtime data access

Supported starter profiles today:

  • generic-node
  • next-route-handlers
  • express
  • fastify

Runtime source setup

The Runtime panel saves a dedicated runtime source with:

  • repository clone URL
  • GitHub token
  • branch
  • root directory
  • install command
  • build command
  • start command
  • optional Node version
  • optional package manager
  • runtime framework profile

This source is not shared with the Static Site panel.

Preflight behavior

Before deploy, the Runtime panel refreshes preflight and shows whether deploy can continue.

Blocking cases:

  • no saved runtime source
  • runtime source validation failed
  • unsupported runtime profile
  • missing startCommand
  • Firestore is active but the platform cannot derive a public runtime data API URL

Warning-only cases:

  • Firestore is not enabled
  • Firestore is enabled but the Firestore config has not been published yet

Current warning copy:

  • Firestore is not enabled. Deploy can continue, but project data will not be attached.
  • Firestore is active, but rules/indexes are not published yet. Deploy can continue, but shared config may lag behind this runtime.

Runtime SDK

Use @flash-launch/runtime-node-sdk inside your server code.

Key helpers:

  • getProjectDataClient()
  • getProjectDataClient({ optional: true })
  • getProjectDataBinding()
  • createProjectDataClient(config)

If project data is not attached, getProjectDataClient({ optional: true }) returns null so your server can fall back cleanly.

Starter packages

Workspace examples:

  • examples/runtime-node-next-route-handlers
  • examples/runtime-node-express
  • examples/runtime-node-fastify

Each starter includes:

  • one read endpoint
  • one write endpoint
  • process.env.PORT
  • graceful fallback when Firestore is not attached