stack/examples/react-example
BilalG1 b270c0f2ef Fix env-rename gaps from PR review: prod-build conflict, dual-read holes
Addresses correctness/coverage issues found reviewing the STACK_*->HEXCLAVE_*
rename, including a confirmed production-breaking dashboard build failure.

- dashboard/.env: empty out non-empty committed NEXT_PUBLIC_HEXCLAVE_* values
  (ENABLE_DEVELOPMENT_FEATURES_PROJECT_IDS, HEAD_TAGS) that collided with the
  platform-set legacy NEXT_PUBLIC_STACK_* values at build time and threw in the
  inline conflict check; move the local-dev default to .env.development.
- backend polyfill: expand the ${PORT_PREFIX} sentinel for HEXCLAVE_/
  NEXT_PUBLIC_HEXCLAVE_ keys too (renamed DB/Svix/S3 URLs were being skipped).
- codegen-prisma: set only HEXCLAVE_DATABASE_CONNECTION_STRING (prefer existing
  HEXCLAVE/STACK, else placeholder) so it never diverges from a real STACK value
  and trips prisma.config.ts's conflict check.
- backend DB tests: centralize a dual-read resolveTestDatabaseConnectionString()
  and use it in bulldozer/payments suites (were legacy-STACK_-only).
- dashboard next.config: dual-read NEXT_PUBLIC_HEXCLAVE_IS_PREVIEW for the
  X-Frame-Options gate.
- RDE manager: inject canonical HEXCLAVE_* names alongside legacy STACK_* ones.
- vite examples: restore VITE_HEXCLAVE_* || VITE_STACK_* fallback.
- cli auth: dual-read HEXCLAVE_API_URL / HEXCLAVE_DASHBOARD_URL.
- shared env: make getEnvVarWithHexclaveFallback two-way so canonical callers
  also fall back to the legacy name; add tests.
- convex example: replace non-null assertion with ?? throwErr(...).
2026-06-16 11:39:46 -07:00
..
src Fix env-rename gaps from PR review: prod-build conflict, dual-read holes 2026-06-16 11:39:46 -07:00
.env.development chore: rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read 2026-06-11 16:23:50 -07:00
index.html feat(hexclave): PR 2 — visible rebrand (Hexclave brand goes public) (#1481) 2026-05-26 19:18:20 -07:00
package.json chore: update package versions 2026-06-11 17:19:24 +00:00
README.md React SDK (#462) 2025-02-27 01:55:45 +01:00
tsconfig.app.json Improve verify-data-integrity 2025-04-27 17:31:28 -07:00
tsconfig.json React SDK (#462) 2025-02-27 01:55:45 +01:00
tsconfig.node.json Improve verify-data-integrity 2025-04-27 17:31:28 -07:00
vite.config.ts React SDK (#462) 2025-02-27 01:55:45 +01:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

  • Configure the top-level parserOptions property like this:
export default tseslint.config({
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})
  • Replace tseslint.configs.recommended to tseslint.configs.recommendedTypeChecked or tseslint.configs.strictTypeChecked
  • Optionally add ...tseslint.configs.stylisticTypeChecked
  • Install eslint-plugin-react and update the config:
// eslint.config.js
import react from 'eslint-plugin-react'

export default tseslint.config({
  // Set the react version
  settings: { react: { version: '18.3' } },
  plugins: {
    // Add the react plugin
    react,
  },
  rules: {
    // other rules...
    // Enable its recommended rules
    ...react.configs.recommended.rules,
    ...react.configs['jsx-runtime'].rules,
  },
})