Skip to content

Repository files navigation

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,
  },
})

Documentation site

The Fumadocs documentation is published under /docs and built with the website. See docs-site/README.md for local development, editing local content in docs-site/content/, languages, and deployment.

Browser caching

Cloudflare Pages uses public/_headers (copied into dist/_headers); the container uses nginx.conf. HTML, documentation RSC payloads, search indexes, and fixed-name files must revalidate on every request. Only fingerprinted files in /assets/, /docs/_next/static/, and /docs/content-assets/ receive a one-year immutable cache. Keep fixed-name public resources outside those directories. The build fingerprints the blocking theme initializer as well.

Pages already defaults to public, max-age=0, must-revalidate for other files. Do not override this with a site-wide browser TTL or a Cache Everything rule in the CDN dashboard. Deploy the complete artifact, including _headers. A new visit fetches or validates the entry page, which references the current asset URLs; existing open tabs are not automatically reloaded. These rules do not force a network request when merely switching to an existing tab or restoring a page from browser history.

About

Cherry Studio Official Website

Resources

Stars

8 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages