mast/mast-react-vite
Anish Lakhwara 0ca396148b working nix builds
can compile both the react application statically so it can be served by
nginx
and then builds a docker container with nginx for easy deployment to
something like fly.io
I mean since it's static I could probably host it for free on a website
like netlify or something, but I still wanted a docker container for
now.

Notably I did have to move the generated javascript parser into the
mast-react-vite folder so that `buildNpmPackage` was scoped to the
mast-react-vite folder. I'm not sure how to get it working in a truly
monorepo style build working for it yet, but I'm not exactly inclined to
make it super shiny right now either.
2024-11-15 22:46:53 -08:00
..
public init mast-react 2024-11-02 17:29:52 -07:00
src working nix builds 2024-11-15 22:46:53 -08:00
.gitignore init mast-react 2024-11-02 17:29:52 -07:00
components.json a little nicer looking, but i still don't really understand where to set 2024-11-06 22:21:58 -08:00
eslint.config.js init mast-react 2024-11-02 17:29:52 -07:00
index.html init mast-react 2024-11-02 17:29:52 -07:00
package-lock.json working nix builds 2024-11-15 22:46:53 -08:00
package.json working nix builds 2024-11-15 22:46:53 -08:00
postcss.config.js init mast-react 2024-11-02 17:29:52 -07:00
README.md init mast-react 2024-11-02 17:29:52 -07:00
tailwind.config.js a little nicer looking, but i still don't really understand where to set 2024-11-06 22:21:58 -08:00
tsconfig.app.json init mast-react 2024-11-02 17:29:52 -07:00
tsconfig.json working nix builds 2024-11-15 22:46:53 -08:00
tsconfig.node.json init mast-react 2024-11-02 17:29:52 -07:00
vite.config.ts init mast-react 2024-11-02 17:29: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:

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