A brief description of your project.
To use this template, create a new repository and select template-react-tailwind
as the template to create from.
Next, clone the repository and install the dependencies. yarn
is preffered.
yarn
or
npm install
yarn build
: Cleans the project, compiles TypeScript files, and builds the project using Vite.
yarn clean
: Removes the dist directory.
yarn dev
: Starts the Vite development server with production environment variables.
yarn format
: Formats all files in the project using Prettier.
yarn lint:fix
: Fixes linting issues in the project using ESLint.
yarn lint:check
: Checks for linting issues in the project using ESLint.
yarn preview
: Starts the Vite preview server.
yarn test
: Runs Jest tests in a sequential manner.
yarn test
:updateSnapshot: Updates Jest snapshots.
yarn test
:coverage: Runs Jest tests and generates a coverage report.
yarn prepare
: Sets up Husky for Git hooks.
yarn pre-commit
: Runs lint-staged to check for linting issues in staged files before committing.
yarn vis
: Visualizes the bundle size using vite-bundle-visualizer.
The following development tools will require configuration before they are used.
In the github secrets of the repository, set the following:
FIREBASE_CI_SERVICE_ACCOUNT
GITHUB_TOKEN
More details on configuration here
We use Firebase for hosting feature branches on temporary URL's that expire after 2 weeks. These are deployed via the firebase github action using the PR action and the production site is deployed with the production action
TODO: configure style dictionary with figma tooling scripts
We use style-dictionary to transform style tokens into a format consumable by tailwind.
In the github secrets of the repository, set the following:
SENTRY_AUTH_TOKEN
SENTRY_ORG
SENTRY_PROJECT
SENTRY_DSN_PUBLIC_KEY
SENTRY_DSN_PROJECT_URI
SENTRY_DSN_PROJECT_ID
We use sentry for application status and alerts
In the github variables of the repository, set the following:
DOMAIN_NAME
(e.g. google.com, this will set the CNAME record)We use Github pages for hosting our staging branch with the build_and_test action
useGlobalState
hook created in the services
folder with the theme
and setTheme
state and reducer.pages
folder with the route set up in the App.tsx file.See App.tsx for the default Home page configuration.
services
folder and have both unit and integration tests.services
folder.