/nextjs-boilerplate

๐Ÿš€ Next.js 13+ boilerplate with typescript, husky, lint-staged, eslint, prettier, jest, react-testing-library, storybook, ghaction and plop.

Primary LanguageTypeScriptMIT LicenseMIT

Boilerplate and Starter for Next JS 13+, Tailwind CSS 3 and TypeScript

๐Ÿš€ Boilerplate and Starter for Next.js, Tailwind CSS and TypeScript โšก๏ธ Made with developer experience first: Next.js, TypeScript, ESLint, Prettier, Husky, Lint-Staged, Jest, React Testing Library, PostCSS, Tailwind CSS, Storybook, Plop, GH actions.

Cover

๐Ÿš€ Features

Developer experience first:

๐Ÿ“… Plans

๐Ÿงช Testing

All tests are collocated with the source code inside the same directory. So, it makes it easier to find them. Unfortunately, it is not possible with the pages folder used by Next.js for routing (app/ soon ๐ŸคŸ๐Ÿป). So, what is why we have a __tests__ folder to write tests from files located in pages folder. Coverage threshold is set to 70%. In the .jest folder there is a custom provider for the all tests.

โ„น๏ธ How To Use

To use this template you can simply click in Use this template or create your Next.js app based on this template by running:

yarn create next-app -e https://github.com/hadrysm/nextjs-boilerplate

๐Ÿš€ Deploy to production

You can see the results locally in production mode with:

yarn build
yarn start

โš™๏ธ Generating components

yarn generate Button

Result (if you chose an atom component):

โ””โ”€โ”€ components
      โ””โ”€โ”€ atoms
        โ””โ”€โ”€ Button
          โ”œโ”€โ”€ index.ts
          โ”œโ”€โ”€ Button.stories.tsx
          โ”œโ”€โ”€ Button.test.tsx
          โ””โ”€โ”€ Button.tsx

๐Ÿค Contributing

  1. Fork this repository;
  2. Create your branch: git checkout -b my-awesome-contribution;
  3. Commit your changes: git commit -m 'feat: Add some awesome contribution';
  4. Push to the branch: git push origin my-awesome-contribution.

License

Licensed under the MIT License, Copyright ยฉ 2022

See LICENSE for more information.


Made with much โค๏ธ and ๐Ÿ’ช by Mateusz Hadryล› ๐Ÿ˜Š My Contact