No description
  • JavaScript 55.3%
  • CSS 22.1%
  • HTML 17.5%
  • TypeScript 3.3%
  • Python 1.6%
  • Other 0.1%
Find a file
Sponge 81c271e625
All checks were successful
build / build-verify-deploy (push) Successful in 3m33s
Merge develop into main: unblock TTS audio (media-src CSP) + fix text-model dropdown fetch
2026-07-05 20:54:49 -07:00
.forgejo/workflows ci: base64-decode deploy key (survive secret newline mangling) 2026-06-13 20:54:09 -07:00
.husky Wire pre-push gate: build + Playwright E2E before every push 2026-05-29 14:17:52 -07:00
.well-known SEO: Comprehensive search engine optimization overhaul 2025-12-17 21:04:22 -08:00
docs fix(csp/models): allow data: audio in media-src + normalize /v1/models text-model wrapper 2026-07-05 20:54:42 -07:00
old-site Snapshot: move entire pre-rewrite site into old-site/ 2026-05-26 11:37:58 -07:00
public fix(csp/models): allow data: audio in media-src + normalize /v1/models text-model wrapper 2026-07-05 20:54:42 -07:00
scripts refactor(css): split monolithic index.css into Codex UI modules 2026-06-01 17:19:15 -07:00
src feat(brand): propagate new Vortex mark across the site, retire old eclipse 2026-06-21 01:08:25 -07:00
tests perf(network): add hand-written service worker (cache-first assets, offline) 2026-06-03 11:47:38 -07:00
.gitignore Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
.npmrc Config: fix Vite dep-scan noise + npm peer-dep resolution 2026-05-27 16:22:04 -07:00
.prettierignore chore: prettier-ignore public/vendor (keep vendored libs pristine) 2026-05-30 14:11:26 -07:00
.prettierrc Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
.stylelintignore perf(network): inline fonts to hit ≤3 requests, add caching policy, self-host demo libs 2026-05-29 22:55:10 -07:00
.stylelintrc.json Port: full v5 page suite — all 9 pages fleshed out from old-site stubs 2026-05-26 14:14:12 -07:00
eslint.config.js Verify v5 rewrite: restore dropped infra/SEO + content, add E2E suite 2026-05-29 14:04:10 -07:00
index.html feat(brand): ship new 'dark side of AI' logo (E) to all favicon slots 2026-06-20 22:35:28 -07:00
package-lock.json feat(a11y): fix nested-interactive + muted-grey contrast (WCAG AA) 2026-05-31 12:43:54 -07:00
package.json feat(a11y): fix nested-interactive + muted-grey contrast (WCAG AA) 2026-05-31 12:43:54 -07:00
playwright.config.ts Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
README.md Init: Vite + React 19 + TypeScript scaffold 2026-05-26 11:49:13 -07:00
tsconfig.app.json Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
tsconfig.json Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
tsconfig.node.json Setup: full tooling stack — Prettier, ESLint, Stylelint, Vitest, Playwright, Husky, lint-staged, react-router-dom, nodemon 2026-05-26 12:11:33 -07:00
vite.config.ts ci: Forgejo Actions pipeline + generic pages deploy 2026-06-12 16:16:52 -07: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:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

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

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])