This repo hosts a collection of third-party plugins for RushJS.
When you want to create a new project in your monorepo. There are highly chances you need copy and paste from a project already inside your monorepo. Why not reuse them, like create a project template and used in your monorepo. Yes, rush-init-project-plugin
is for you!
When you maintain a Rush.js managed monorepo, and you write some toolkit based on rush related module, such as microsoft/rush-lib
, @rushstack/node-core-library
. Things become trivial if you want to upgrade Rush.js to latest version. You need keep the versions of those dependencies in consistency. rush-upgrade-self-plugin
comes into rescue, it aims to help you upgrade/downgrade Rush.js version in one line.
This plugin leverages the great work of sort-package-json to sort package.json
in your monorepo, and keep it consistent.
Are you finding alternative to husky
in your monorepo? Rush takes care of Git hooks natively by sync hook scripts under common/git-hooks/
folder into .git/hooks
. So, all you need is lint-staged
. Use this plugin to setup lint-staged
in your monorepo!
Sometimes build errors are collapsed in a remote machine, use this plugin to print the entire log if error occurs.
After you have tons of project in monorepo, install time gets slower, manage dependencies becomes harder, while some projects are eventually inactive. You just want a way to archive projects properly, and maybe retrieve one day :) Now, it's time to give this plugin a try!
Use of rush build cache is a great way to speed up your build. But, how to know if the configuration for cache is working as expected? This plugin is for you!
Git LFS was commonly used to managed large files/binary files in your git repository. This plugin can help you to check if newly added files are correctly managed by Git LFS and prevent users from wrongly commit their local large files.
The rush subspace is a new feature that intends to move common projects into 1 workspace. Teams that want to take advantage of this feature need to manually migrate these projects. This script automates most of these required steps to speed up the migration process.
Are you struggling with the complex dependencies between packages? This plugin helps you visualize the dependency relationships between packages.