Conversation
Deploy now runs the Catalyst build pipeline before bundling, so users no longer need to manually run `catalyst build && catalyst deploy`.
skip build step when --prebuilt is passed; fail with actionable error when .bigcommerce/dist/ is missing or empty.
* feat(cli): map ignition error codes to actionable messages
* feat(cli): add crash reporting with trace ids Centralized error handling via withErrorHandler HOF, singleton telemetry with UUID trace ids, X-Correlation-Id headers on all API calls, and global uncaught exception handlers. On any CLI error, a trace ID is displayed for support debugging. * refactor(cli): remove traceId() and trackError() abstractions * fix(cli): update deploy tests to match error handler string output The error handler extracts the message string from Error objects before passing to consola.error, so tests should expect strings, not Error objects. * refactor(cli): move error handling from per-command HOF to top-level try/catch Replace the withErrorHandler() HOF pattern with a single try/catch around program.parseAsync() in the entry point. This makes error handling automatic for all commands instead of requiring each command author to remember to wrap their action. - Add commandName property to Telemetry, set by preAction hook via Commander's actionCommand parameter - Delete error-handler.ts and its spec - Update tests to assert error propagation via rejects.toThrow() * fix(cli): address PR feedback on error handling - Remove redundant closeAndFlush() from try block (postAction hook already handles it) - Only show trace ID when telemetry is enabled; prompt disabled users to enable telemetry without showing an unlookable trace ID * fix(cli): wrap entry point in IIFE for module compatibility
OAuth device code flow for browser-based authentication. Stores credentials in .bigcommerce/project.json.
…tility (#2888) Add resolveCredentials() that resolves storeHash/accessToken from flags, env vars, or stored config, with unified error message mentioning `catalyst auth login`. Apply to project create/list/link and deploy.
users should run next dev directly instead
start command now only runs opennextjs-cloudflare preview. vanilla next.js users should run next start directly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…reate (#3061) Merchants now receive a clean standalone project instead of the full monorepo. `catalyst create` downloads the core/ subdirectory as a tarball from GitHub's codeload endpoint and stream-extracts it to the project root, resolves workspace: dependencies to their published npm versions, detects the invoking package manager (npm/pnpm/yarn/bun) from npm_config_user_agent, and initializes a fresh git repository. Previously create cloned the entire bigcommerce/catalyst monorepo (full history, packages/*, turbo) and built the workspace packages locally. The core/ contents are now flattened to the project root, so deploy/project/ commerce-hosting no longer assume a core/ subdirectory. Refs LTRAC-468 Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Adds the foundational layer for `catalyst upgrade`: small fs utilities, ref parsing, base-version similarity scoring, and the per-file 3-way merge engine (`git merge-file`). Refs TRAC-924 Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Adds the whole-tree merge engine (`git merge-tree --write-tree`) as the default strategy, plus `applyIndexState` which registers conflicts as real unmerged index entries so editors surface the merge UI. Refs TRAC-925 Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…d tests Completes the `catalyst upgrade` command: project layout detection, tarball download/cache, base ref resolution, the full CLI action, and the integration and action-level test suite. Refs TRAC-926, TRAC-927 Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
* TRAC-499: feat - implement query logs in catalyst cli * TRAC-499: test - implement tests for query logs
…catalyst create` (#3053) * LTRAC-910: ref(cli) - Reduce create-catalyst to a thin wrapper over `catalyst create` create-catalyst now delegates to `@bigcommerce/catalyst`: its entry resolves the catalyst bin from its own dependency tree and spawns `catalyst create`, forwarding all args (stdio inherited, exit code and signals propagated). All scaffolding logic now lives in @bigcommerce/catalyst. - Add @bigcommerce/catalyst as a workspace dependency; drop the ~20 runtime deps the old in-package commands needed. - Delete the duplicated commands/, utils/, prompts/, and hooks/. - Bump the tsup target to node24 so esbuild preserves `import.meta.url`. Package name and `bin` are unchanged, so `pnpm create catalyst` / `npx create-catalyst` keep working. The dropped init/integration/telemetry subcommands are superseded by `catalyst channel link`, (integration dropped), and `catalyst telemetry`. Refs LTRAC-910 Co-Authored-By: Claude <noreply@anthropic.com> * LTRAC-910: chore - Add changeset for create-catalyst thin wrapper Refs LTRAC-910 Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
* LTRAC-988: feat(cli) - Add custom domain command Add a domains command group with a create-domain API client and wait support for pending domain verification. Refs LTRAC-988 * LTRAC-988: fix(cli) - Clarify domain API server errors Include the HTTP status and correlation ID when domain API requests fail with a server-side response so 502 Bad Gateway errors are actionable. Refs LTRAC-988 * LTRAC-988: fix(cli) - Avoid duplicate correlation ID Keep domain API server error messages concise because the CLI fatal error handler already prints the correlation ID for support. Refs LTRAC-988
Add domain listing support with optional domain and verification-status filters so users can scan configured Native Hosting domains from the CLI. Refs LTRAC-989
Add a domains status command that fetches one domain, renders its color-coded state, and can wait for pending verification to finish. Refs LTRAC-990
Add a domains remove command that checks current status, confirms active domain removal, and deletes the domain through the Native Hosting API. Refs LTRAC-991
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bundle Size ReportComparing against baseline from No bundle size changes detected. |
Collapse the 11 individual @bigcommerce/catalyst changesets accumulated across the alpha prerelease series into one comprehensive major changeset so the stable 1.0.0 changelog reads as a single release announcement. Refresh the command surface to include create, channel, env, domains, and upgrade. No change to the resulting version bump (still major -> 1.0.0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 1a8f688 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Run `changeset pre exit` so the Version Packages step produces stable versions (@bigcommerce/catalyst 1.0.0, @bigcommerce/create-catalyst 2.0.0) instead of continuing the 1.0.0-alpha.* prerelease series. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Infrastructure API 403 error messages told users to reach out 'if you are part of the alpha'. The Native Hosting program is now in beta, so update the copy across project, domains, and logs error paths (and the matching test assertions). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Use `catalyst project`, `catalyst auth`, `catalyst logs`, and `catalyst channel` in the release-note command table instead of listing each subcommand row, for a more concise changelog. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Unlighthouse Performance Comparison — VercelComparing PR preview deployment Unlighthouse scores vs production Unlighthouse scores. Summary ScoreAggregate score across all categories as reported by Unlighthouse.
Category Scores
Core Web Vitals
|
| import { getWranglerConfig } from '../lib/wrangler-config'; | ||
|
|
||
| const WRANGLER_VERSION = '4.24.3'; | ||
| const WRANGLER_VERSION = '4.90.0'; |
There was a problem hiding this comment.
🍹 We should probably provide a CLI flag to be able to build with a different wrangler version.
| .addCommand(channel) | ||
| .addCommand(auth) | ||
| .addCommand(upgrade) | ||
| .addCommand(telemetry) |
There was a problem hiding this comment.
🍹 We might want to add a debug command that merchants can provide us with any bug issues.
What/Why?
Merges the
alphabranch intocanaryto stage the first stable release of the Catalyst CLI and the major rewrite ofcreate-catalyst.alphahas been rebased onto the currentcanary, so this is a linear, conflict-free merge.Staged package releases (highest bump per package across queued changesets):
@bigcommerce/catalyst(CLI)1.0.0-alpha.61.0.0@bigcommerce/create-catalyst1.0.32.0.0Headlines:
@bigcommerce/catalystgraduates from alpha to its first stable1.0.0— the consolidated CLI for building/deploying Catalyst to BigCommerce Native Hosting (auth, project, build, deploy, start, logs tail, upgrade, telemetry). See.changeset/alpha-release-notes.mdfor the full command surface.@bigcommerce/create-catalyst→2.0.0— reduced to a thin wrapper that delegates tocatalyst create. Theinit,integration, and standalonetelemetrysubcommands are removed (usecatalyst channel link/catalyst telemetry).This branch is in changeset prerelease mode: it adds
.changeset/pre.json(mode: pre,tag: alpha) tocanary. If merged as-is,canaryinherits alpha pre mode and the Version Packages step will produce1.0.0-alpha.7/2.0.0-alpha.0instead of stable versions.Required: run
pnpm changeset pre exitand commit thepre.jsonremoval (either onto this branch before merge, or as the first action after merge and before the Version Packages PR is versioned) so the release resolves to stable1.0.0/2.0.0.Testing
1.0.0-alpha.1…1.0.0-alpha.6) have been dogfooded through the full auth → project → build → deploy → logs flow against Native Hosting.@bigcommerce/catalyst@1.0.0and@bigcommerce/create-catalyst@2.0.0(not-alpha.*) — that confirms pre mode was exited correctly.Migration
@bigcommerce/create-catalyst@2.0.0is a breaking change:create-catalyst init,create-catalyst integration, and the standalonecreate-catalyst telemetrysubcommands are removed.pnpm create catalyst/npx create-catalyststill scaffold a project (now viacatalyst create); usecatalyst channel linkandcatalyst telemetryfor the removed subcommands.