Skip to content

feat: Astro landing for @bearstudio/ui-state - #6

Open
HugoPerard wants to merge 46 commits into
mainfrom
feat/landing-astro
Open

HugoPerard wants to merge 46 commits into
mainfrom
feat/landing-astro

Conversation

@HugoPerard

@HugoPerard HugoPerard commented Aug 26, 2026 •

Copy link
Copy Markdown
Member

Summary

Marketing landing for @bearstudio/ui-state as an Astro 6 SSG app at apps/landing, against this TS 7 / oxlint / oxfmt branch. Unpublished; no changeset. Does not touch draft PR #1.

English at /. One primary CTA: GitHub + pnpm add @bearstudio/ui-state. Hero is zero-JS product UI (README match + exhaustive sample + pending/error/default cards). One React island (StateDemo, client:visible) uses workspace:* and demos pending / error / default with match + exhaustive and when. Public API not widened.

How to run

From repo root (Node 24, pnpm 10.34.5):

pnpm install
pnpm --filter landing dev

Root pnpm dev / pnpm build / pnpm check-types / pnpm lint include the app via turbo. Landing dev has dependsOn: ["^build"] so packages/ui-state dist exists before the island imports it.

App: check-types = tsc --noEmit on the island. Lint = oxlint. Format = oxfmt. astro check is not the source of truth (TypeScript 7 has no compiler API).

Stack

  • Astro 6.4.8 SSG + @astrojs/react 6.0.4 island
  • Tailwind 4.3.3 via @tailwindcss/vite (not @astrojs/tailwind); tokens in @theme inline
  • Fonts: Astro 6 Fonts API, Fontsource, IBM Plex Sans/Mono, latin + latin-ext, self-hosted (no fonts.googleapis.com). Sans preloaded; mono not
  • No GA4, CMP, cookie banner, fake stats/testimonials

tsconfig split

  • Library unchanged: NodeNext via react-library.json
  • Landing does not extend react-library.json. It extends new packages/typescript-config/astro.json (module: ESNext, moduleResolution: Bundler, noEmit)

Files

Workspace / toolchain:

  • pnpm-workspace.yaml (apps/*)
  • .gitignore (.astro)
  • .oxlintrc.json (**/.astro/**)
  • turbo.json (dev.dependsOn: ["^build"])
  • packages/typescript-config/astro.json

App:

  • apps/landing/package.json
  • apps/landing/tsconfig.json
  • apps/landing/astro.config.ts
  • apps/landing/README.md
  • apps/landing/public/favicon.svg
  • apps/landing/src/env.d.ts
  • apps/landing/src/styles/global.css
  • apps/landing/src/layouts/Layout.astro
  • apps/landing/src/pages/index.astro
  • apps/landing/src/components/HeroCode.astro
  • apps/landing/src/components/NestedTernary.astro
  • apps/landing/src/components/StateDemo.tsx

Lockfile / what failed remotely

pnpm-lock.yaml is still the PR #4 lockfile (importers: root + packages/* only). Could not run pnpm install or tsc here (no git clone; package-manager invocations were blocked). After checkout: pnpm install from root, then pnpm --filter landing check-types / build. CI on this PR is the first real install + build.

Canonical/OG URL is the GitHub repo (no production host yet). Static samples escape {/} with Astro expressions or HTML entities.

Test plan

  • pnpm install (updates lockfile with landing deps)
  • pnpm --filter landing check-types (tsc --noEmit)
  • pnpm --filter landing lint (oxlint)
  • pnpm --filter landing build
  • pnpm --filter landing dev — hero has no JS; island hydrates on view; pending/error/default all render via exhaustive()
  • Disable JS: page copy, code samples, GitHub CTA still work

Result

image

@changeset-bot

changeset-bot Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 0fa8476

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Base automatically changed from chore/ts7-oxlint-oxfmt to main August 26, 2026 13:23
@HugoPerard HugoPerard changed the title feat: Astro 6 marketing landing for @bearstudio/ui-state feat: Astro landing for @bearstudio/ui-state Aug 26, 2026
HugoPerard and others added 26 commits August 27, 2026 11:04
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