Monorepo Starter

screenshot of Monorepo Starter
react

Monorepo starter project for Kotlin, Python, TypeScript x React

Overview:

The Monorepo Starter is a polyglot monorepo boilerplate created by The Palmer Group. It is a starter monorepo that includes TypeScript apps/packages, JVM and Python placeholder apps, and an example deployment workflow. The repository is powered by Lerna and Yarn, with Lerna responsible for bootstrapping, installing, and symlinking all of the packages and apps together.

Features:

  • Multiple Packages and Applications: The repo includes multiple packages and applications for a hypothetical project called mono, including mono-common (shared utilities), mono-ui (component library), mono-cra (Create React App x TypeScript), mono-razzle (Razzle x TypeScript), mono-jvm (Dropwizard x Kotlin), and circle (example CircleCI v2 workflows).
  • Customization: Users can tweak the boilerplate for their own projects by running a search and replace on the word "mono" and replacing it with their project name. They can also rename folders from mono-xxx to match their project structure.
  • TypeScript Support: The monorepo supports TypeScript and allows packages to be referenced within other packages/app files by importing from @<name>/<folder> (similar to npm scoped packages).
  • Development Tools: Lerna provides useful development commands, including yarn start to run the start command in every project, yarn test to run the test command in every project, and yarn build to build all projects. There is also a clean command to remove node_modules and a bootstrap command to rerun Lerna's bootstrap command.

Summary:

The Monorepo Starter is a comprehensive boilerplate for creating polyglot monorepos. It includes support for TypeScript, multiple packages and applications, and useful development tools. Users can easily customize the boilerplate for their own projects. Overall, the Monorepo Starter provides a solid foundation for managing and developing complex projects within a monorepo structure.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.