multipack
đ± A monorepo template repository. Ideal for building shareable JavaScript packages or React modules.
Site
| Getting Started
| API
| Blog

Features
Lerna structure to build monorepo packages
ESLint and Prettier to enforce code style.
- Pre-commit hooks with
husky and lint-staged
Docusaurus docs generator preconfigured to work well with Github Pages
- Preconfigured
Jest and react-testing-library to test (ts|tsx) files and colect coverage from all packages
- Preconfigured
Github workflow actions to run tests after each pushed commit
Getting started.
- Clone the project:
git clone --depth=1 https://github.com/episclera/multipack.git <YOUR_PROJECT_NAME>
- Setup project:
npm install and npm run link:packages
Running npm run link:packages will installing all packages dependencies and linking any cross-dependencies. This command is crucial, as it allows you to use your package names in require() as if the packages were already existing and available in your node_modules folder.
CLI Commands
npm run build:packages - build all packages with webpack in production mode
npm run watch:packages - start webpack in watch mode to rebuild packages on each change
npm run watch:packages - start in watch mode (aplications,apis docs) packages
npm run start:packages - build and serve (aplications,apis) packages
npm run version:packages - Bump package versions and Create release tags and Changelogs
npm run publish:packages:npm - publish packages where the latest version is not present in the NPM registry
npm run publish:packages:github - publish packages where the latest version is not present in the GitHub registry
npm run link:packages - will installing all packages dependencies and linking any cross-dependencies in each package
npm run test:packages - run jest tests in each package and colect coverage from all packages
npm run watch:test:packages - run and watch all tests for changes
npm run lint:packages - lint all packages
npm run lint:packages:styles - lint all packages styles
npm run fix:packages - lint and fix all packages
npm run watch:docs - start a Docusaurus server that serve files from /docs folder predestinated for docs.
npm run publish:docs - publish generated docs with Docusaurus to Github Pages
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D

Author
@episclera/multipack © Episclera, Released under the MIT License.
Authored and maintained by Episclera with help from contributors (list).
If you like this repository starâ and watchđ on GitHub