.. | ||
bin | ||
config | ||
src | ||
.eslintrc.js | ||
.npmignore | ||
CHANGELOG.json | ||
CHANGELOG.md | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json |
Sparo
Is Git too slow in your frontend monorepo?
By default git clone
will download every file in your Git repository, as well as the complete history of every file. For small repositories, that's no big deal. But as your monorepo accumulates projects and years of history, Git operations become slower and slower, until one day git status
is taking 10 seconds or more. What to do?
Clone faster!
Sparo optimizes performance of Git operations for your large frontend monorepo.
Key features
-
Familiar interface: The
sparo
command-line interface (CLI) wrapper offers better defaults and performance suggestions without altering the familiargit
syntax. (The nativegit
CLI is also supported.) -
A proven solution: Git provides quite a lot of ingredients for optimizing very large repos; Sparo is your recipe for combining these features intelligently.
-
Simplified sparse checkout: Work with sparse checkout profiles instead of confusing "cones" and globs
-
Frontend integration: Sparo leverages Rush and PNPM workspace configurations, including the ability to automatically checkout project dependencies
-
Dual workflows: The
sparo-ci
tool implements a specialized checkout model optimized for continuous integration (CI) pipelines -
Extra safeguards: Avoid common Git mistakes such as checkouts with staged files outside the active view
-
Go beyond Git hooks: Optionally collect anonymized Git timing metrics in your monorepo, enabling your build team to set data-driven goals for local developer experience (not just CI!)
(Metrics are transmitted to your own service and are not accessible by any other party.)
Links
- Quick demo: See for yourself in 3 minutes!
- Getting Started: Step by step instructions
- CHANGELOG.md: Find out what's new in the latest version