The project is based on React, Typescript and Vite. It uses [Tailwind](https://tailwindcss.com/docs)
for styling, and [Storybook](https://storybook.js.org/docs/react/get-started/why-storybook)
as documentation.
-[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
Aside from hosting the documentation at Astron, there is also an idea to publish this
-[@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
repository as a component library for other Astron apps to use:
## Expanding the ESLint configuration
<imgsrc="src/assets/workflow.png"height=500/>
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
## Deployment
None yet.
- Configure the top-level `parserOptions` property like this:
## Contact
This repository is maintained by Team Rainbow. Feel free to contact us on
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
General documentation that is not related to any component in particular are written as `.mdx`
files in the `src/docs/` directory, and can be viewed at http://localhost:6006/?path=/docs/.
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
Each component is paired with a story file, which is responsible for showcasing said component
on the Storybook. The story file for `src/components/ComponentName` shall be found at
`src/stories/ComponentName.stories.ts`.
### Linting
Imports are absolute and sorted by the `npm run lint` command.
> ⚠️
There is currently a pre-commit that does linting, but it also adds all changes to the
commit as a result. Be aware of this when you only want to commit some of the changes! In
that case, please lint your changes and then commit with the flag `--no-verify` for now.
Please use [semantic commit messages](https://www.conventionalcommits.org/en/v1.0.0/#summary)
when committing, this is to enable automatic releases and changelogs.
### Dependencies
All additional dependencies should be in the `devDependencies` category. There should be nothing in