/nx-starter

Monorepo template build for TypeScript React projects. Fully configured ESLint, Prettier, CommitLint, and Commitzin. Configured Jest for DOM, Fetch, and Accessibliity. Sample Data layer via SWR and Orval. And so many other modules, hooks, utilities, and components to reuse.

Primary LanguageTypeScriptMIT LicenseMIT

@nx-starter

LICENSE Top language Downloads Pull requests

Features

  • Powered by NX and Yarn workspaces, built for React projects
  • Fully TypeScript with production-ready and strict configurations
  • Scalable Jest configuration with Fetch, DOM, Match Media, and Accessibility setups
  • Powerful eslint integrated with Prettier, TypeScript, Jest, Imports, React, and A11Y configurations
  • Strong husky with lint-staged, commitlint, commitizen, and branchlint integrations
  • Organized output directory that represents build, coverage, storybook, and tsc
  • Conventional release, auto generate-able changelog via Trunked based development for monorepos

Modules

  • Fetcher module on top of fetch, with default configuration and custom event handlers
  • Analytics module implementation with react hooks, independent DOM event tracking, and simple tracking
  • Media Queries module for making responsive pages in JavaScript with supports for SSR
  • Sample React UI library with styled-components, that supports Storybook and Unit testing
  • SWR data layer with generated functions via Orval

Applications

  • Next.js application
  • Create react application
  • Add a ReactNative application
  • Add a Nest.js application, or a pure express Back-End application

TODO

  • Git rebase, Git squash and Merge process
  • GitFlow! Github actions for linting, creating artifacts, and publishing the project
  • Take a look at GraphQL architecture to see if it fits or not
  • Publish some of the modules like Fetcher or Analytics
  • Add some generators since I changed the style of libs/apps

The general idea about the features and modules has been inspired by other boilerplate of mine Next boilerplate

yarn 2> >(grep -v warning 1>&2)