Skip to content

Publish as @samebase/convex-hosting with license notices and PR previews - #4

Merged
nicu-chiciuc merged 8 commits into
mainfrom
nicu-package-identity
Oct 11, 2026
Merged

nicu-chiciuc merged 8 commits into
mainfrom
nicu-package-identity

Conversation

@nicu-chiciuc

@nicu-chiciuc nicu-chiciuc commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • CLI: setup and init are gone. They wrote the same three setup steps the README already shows. upload and deploy stay, because only a local process can read the built files.
  • Names: the package is @samebase/convex-hosting 0.3.0 and the CLI command is convex-hosting. The component is hosting (components.hosting), following published Convex components, which drop "convex" from their component name. The default deployment query module is convex/hosting.ts, and the build variable is CONVEX_HOSTING_BASE_PATH. The repository metadata points at this repository, as npm trusted publishing requires.
  • Adapter: the TanStack Start adapter is @samebase/convex-hosting-tanstack-start. Convex already has get-convex/convex-tanstack-start for querying data, so the old name read like that integration. It stays a separate package because its React 19 requirement would otherwise fail installs of React 18 apps.
  • Switching: the CLI still probes staticHosting when the default name has no instance, so an app can mount the new package with { name: "staticHosting" } and keep its uploaded files and URLs. The README has a "Switching from @convex-dev/static-hosting" section.
  • License: each package carries the Apache-2.0 LICENSE. The hosting package also ships a NOTICE that names upstream static-hosting and says Samebase changed the files. The READMEs say the project is not affiliated with or endorsed by Convex.
  • Docs: the full README moves into packages/convex-hosting, because npm shows only the package's own README. The root README is a short overview. Upstream's 0.1.x migration guide and demo videos are removed; the docs link to the upstream guide.
  • Previews: CI publishes a pkg.pr.new preview of both packages per commit after the checks pass.

Publishing to npm is not part of this PR. The first publish of each new package name is manual, and a release workflow follows after it.

Naming evidence

defineComponent names in published components: flags, revenuecat, notification, apiKeys, rateLimiter, workpool, r2, resend, staticHosting; only one of ten keeps "convex". Third-party npm packages mostly use @scope/convex-<capability>. A Codex design debate reached the same names.

Verification

  • pnpm run build and pnpm run check: all 4 packages build and typecheck, 103 tests pass
  • pnpm audit signatures, --prod, and --dev --audit-level=critical: no findings
  • actionlint 1.7.12: no findings
  • pnpm pack of both packages: the hosting tarball has README.md, LICENSE, NOTICE, CHANGELOG.md, INTEGRATION.md, dist, and src with resolved catalog: versions; the adapter tarball installs outside the workspace and its Vite plugin loads
  • convex-hosting --help lists only deploy and upload

🤖 Generated with Claude Code

nicu-chiciuc and others added 5 commits October 11, 2026 20:06
setup wrote the same component registration and deploy script that the
README and INTEGRATION.md already describe step by step, and init only
printed instructions. The docs now point to those steps. upload and deploy
stay: only a local process can read the built files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The package, the CLI command (convex-hosting), the component
(convexHosting), and the CONVEX_HOSTING_BASE_PATH build variable now
share one name, and the repository metadata points at
samebase/convex-hosting. The CLI still finds an instance that keeps the
@convex-dev/static-hosting name staticHosting, so an app can switch
packages without re-uploading. The examples' generated API files change
only by the renamed key and import path; codegen needs a deployment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both packages carry their own copy of the Apache-2.0 LICENSE, and the
hosting package lists NOTICE in its files, because npm does not include
NOTICE by itself. NOTICE names the upstream static-hosting project and
says that Samebase changed the files. The README says the same and that
the project is not affiliated with or endorsed by Convex.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
npm shows only a package's own README, so the full documentation moves to
packages/convex-hosting and the root README becomes a short overview of
both packages. Upstream's 0.1.x to 0.2.x migration guide and its demo
videos are gone; the docs link to the upstream guide instead. A new
section explains how to switch from @convex-dev/static-hosting while
keeping the staticHosting instance, and the changelog has a 0.3.0 entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
After the checks pass, CI publishes one preview of each package per commit
to pkg.pr.new, so a consumer such as Scout can install a PR build before
an npm release. pkg-pr-new is a locked dev dependency, and --pnpm packs
with pnpm so catalog and workspace versions resolve. A failure now fails
the job instead of being hidden.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread .github/workflows/ci.yml
# One pkg.pr.new preview per commit for both packages, so a consumer can install a PR build
# before an npm release. --pnpm packs with pnpm, which resolves catalog and workspace versions.
- name: Publish preview packages
run: pnpm exec pkg-pr-new publish --pnpm --packageManager=pnpm './packages/*'
@pkg-pr-new

pkg-pr-new Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

pnpm add https://pkg.pr.new/samebase/convex-hosting/@samebase/convex-hosting@4
pnpm add https://pkg.pr.new/samebase/convex-hosting/@samebase/convex-hosting-tanstack-start@4

commit: e3c6739

nicu-chiciuc and others added 3 commits October 11, 2026 20:16
A text replacement of static-hosting would turn npx @convex-dev/static-hosting
into a package that does not exist, so the step now names the full package
replacement. The React helpers look up convexHosting:getCurrentDeployment
by default, so the steps now rename convex/staticHosting.ts or pass the old
query explicitly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Published Convex components almost always drop "convex" from their
defineComponent name (flags, apiKeys, rateLimiter, staticHosting), because
it adds nothing inside a Convex app. The component, its CLI default, and the
default deployment query module (convex/hosting.ts) are now hosting. The
npm package and the CLI keep the convex- prefix, where the name space is
shared with non-Convex packages and commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Convex already has get-convex/convex-tanstack-start for querying Convex
data from TanStack Start, so @samebase/convex-tanstack-start read like that
integration. The new name places the adapter in the convex-hosting family
and says what it does. It stays a separate package: its React 19
requirement would otherwise fail installs of React 18 apps that use only
the hosting component.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nicu-chiciuc
nicu-chiciuc merged commit 513b32f into main Oct 11, 2026
6 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.

2 participants