#!/usr/bin/env bash set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")/.." export CI=true # Amp's base image supplies Node. Vite 8 needs Node 20.19+ # or 22.12+; use the modern Node line supplied by the orb. echo "Checking orb toolchain" node -e 'const [major, minor] = process.versions.node.split(".").map(Number); if (major < 22 || (major === 22 && minor < 12)) { console.error("Node >=22.12 is required; update the orb base toolchain."); process.exit(1); }' node --version # pnpm 12 ships a native executable; older Corepack assumes a pnpm.cjs entry. pnpm_version="$(node -p 'require("./package.json").packageManager.slice(5)')" if ! command -v pnpm >/dev/null || [[ "$(pnpm --version)" != "$pnpm_version" ]]; then echo "Installing pnpm $pnpm_version" time sudo npm install --global "pnpm@$pnpm_version" fi echo "Installing locked dependencies (including development tools)" time NODE_ENV=development pnpm install --frozen-lockfile # This local link is part of the upstream manifest, not a registry package. # Do not silently substitute another Kumo implementation or clone a guessed repo. if [[ ! -f ../octane-kumo/packages/kumo/package.json ]]; then echo "WARNING: @cloudflare/kumo requires ../octane-kumo/packages/kumo; provide the sibling checkout before using Kumo." >&2 fi