Starter template for building a project using React, Typescript, Next.js, Jest, TailwindCSS and ESLint.
- Clone or download the project.
- cdin the project directory.
- If you cloned the project, make sure you remove the remote reference to this project by running git remote rm origin.
- Copy .env.exampleto.envas that file is used to load up all your environment variables.
- Run yarn installornpm installto install all dependencies.
- 
yarn dev: To start a local development server.
- 
yarn test: To run the entire unit test suite usingjest.
- 
yarn test:ci: To run tests on CI.
- 
yarn lint: To run the ESLint based linter to find out the issues in the project.
- 
yarn lint:fix: To autoformat all the issues.
- 
yarn export: Run this after runningyarn analyzeto export a build copy.
- 
yarn production: To export a production build. Useyarn startto serve that.
- 
yarn upgrade --latest: To upgrade all packages to their latest versions (could include breaking changes).
All source code is located in the src/ directory.
- 
All Next.js entrypoints are housed in the src/pagesdirectory as a default.- Currently has _app.tsxwhich imports TailwindCSS.
- There's also a sample index.tsx.
 NOTE: Feel free to move pagesoutside ofsrc/if that's what you prefer. You'll just need to restart your local development server and everything should continue working as normal.
- Currently has 
- 
src/componentsare all stateless reusable components.
- 
src/cssfolder is there just to house any CSS.- Currently contains the TailwindCSS initialization CSS file.
 
- 
All env variables are available in .envfiles (.envfile isn't committed). Whenever you update.env, please update.env.exampleand.env.testandnext.config.jsto proxy all environment variables properly.- You can access these variables in the app source code anywhere using process.env.<VAR_NAME>.
 
- You can access these variables in the app source code anywhere using 
If you feel like changing the directory structure, please change the appropriate settings in the following files:
- jest.config.js
- postcss.config.js
- tsconfig.json
- The lintand thelint:fixscripts inpackage.json