Skip to content

Rebrand to @mondaycom scope and add release workflow#1

Merged
YossiSaadi merged 8 commits intomasterfrom
rebrand-mondaycom-scope-and-release-workflow
Mar 10, 2026
Merged

Rebrand to @mondaycom scope and add release workflow#1
YossiSaadi merged 8 commits intomasterfrom
rebrand-mondaycom-scope-and-release-workflow

Conversation

@YossiSaadi
Copy link
Collaborator

@YossiSaadi YossiSaadi commented Mar 10, 2026

What

  • Renamed npm package scope from @mondaydotcomorg to @mondaycom across the entire repo
  • Added a GitHub Actions release workflow for publishing to npm
  • Fixed pre-existing TypeScript strict mode errors that were failing CI
  • Added .nvmrc for consistent Node version management

Scope rename

All three packages updated:

  • @mondaydotcomorg/hatcha-core@mondaycom/hatcha-core
  • @mondaydotcomorg/hatcha-server@mondaycom/hatcha-server
  • @mondaydotcomorg/hatcha-react@mondaycom/hatcha-react

This touches package.json files, source imports, the example app, docs, and the lockfile.

Release workflow

New .github/workflows/release.yml — a manual workflow you trigger from the Actions tab:

  • Inputs: version bump type (patch/minor/major) and per-package toggles
  • Pipeline: validate → bump versions → build → test → typecheck → publish → commit & tag → GitHub Releases
  • Publishes to npm with provenance attestation
  • Publishes core before server/react to respect the dependency chain
  • Blocks releasing server/react without core to prevent broken dependency versions
  • Concurrency-safe (only one release can run at a time)
  • Release commits use [skip ci] to avoid redundant CI runs
  • Atomic git push ensures commit and tags land together

TypeScript fixes

  • crypto.ts: fixed Uint8Array<ArrayBufferLike> type error with crypto.subtle.verify by merging try-catch blocks (lets TS infer narrower type via const)
  • e2e.test.ts, handler.test.ts: replaced unsafe as Record<string, unknown> casts with idiomatic in operator checks

Other

  • Added .nvmrc (Node 22.14) — used by the release workflow and local development
  • Fixed stale @hatcha/core reference in CONTRIBUTING.md

Prerequisites

  • NPM_TOKEN secret added
  • Workflow permissions set to read & write
  • @mondaycom npm org exists

Testing

  • pnpm build
  • pnpm test ✅ (43 tests)
  • pnpm typecheck
  • Verified zero remaining @mondaydotcomorg references

YossiSaadi and others added 5 commits March 10, 2026 15:15
Update the npm scope across all three publishable packages:
- @mondaydotcomorg/hatcha-core → @mondaycom/hatcha-core
- @mondaydotcomorg/hatcha-server → @mondaycom/hatcha-server
- @mondaydotcomorg/hatcha-react → @mondaycom/hatcha-react

Includes package.json name fields, workspace:* dependency
references, and all source-level imports/re-exports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename all @mondaydotcomorg references in the Next.js example app:
- package.json workspace dependencies
- API route imports (challenge, verify)
- Layout provider and CSS imports
- Page hook import

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- README.md: update install commands, code examples, and packages
  table to use @mondaycom scope
- CONTRIBUTING.md: fix stale @hatcha/core reference to
  @mondaycom/hatcha-core

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Lockfile regenerated after renaming all workspace packages
from @mondaydotcomorg to @mondaycom.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add workflow_dispatch release workflow with:
- Input fields: bump type (patch/minor/major) with semver hints,
  per-package release toggles (core, server, react)
- Validation: requires at least one package, blocks releasing
  server/react without core
- Pipeline: bump versions → update lockfile → build → test →
  typecheck → publish to npm → commit & tag → GitHub Releases
- Security: npm provenance attestation (--provenance), env vars
  for all expressions, concurrency control
- Publish order: core first, then server, then react (respects
  dependency graph)
- npm publish happens before git push to prevent orphaned
  version bumps on publish failure
- GitHub Releases with auto-generated notes
- Summary table in workflow run UI

Requires NPM_TOKEN repository secret and contents:write +
id-token:write permissions (configured in workflow).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@YossiSaadi YossiSaadi requested a review from ormaypaz March 10, 2026 13:43
YossiSaadi and others added 3 commits March 10, 2026 16:44
- crypto.ts: merge split try-catch blocks so Uint8Array uses const
  inference (Uint8Array<ArrayBuffer>) instead of let annotation
  (Uint8Array<ArrayBufferLike>), fixing TS2345 with crypto.subtle.verify
- e2e.test.ts: replace unsafe cast to Record<string, unknown> with
  idiomatic "answer" in challenge check, fixing TS2352
- handler.test.ts: same Record cast fix for ChallengeDisplay, and
  use "error" in result for union type narrowing on VerifyResult

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add .nvmrc with Node 22.14 as the project-level Node version.
Update release workflow to read from .nvmrc instead of
hardcoding the version.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Node 18 reached end-of-life in April 2025 and does not support
the global Web Crypto API (crypto.subtle) that the codebase
uses. This caused all tests to fail with "crypto is not defined",
and fail-fast cancelled the Node 20/22 jobs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@YossiSaadi YossiSaadi merged commit 48092c8 into master Mar 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant