1.0.1 • Published 5 months ago
mono-vir v1.0.1
mono-vir
Super simple npm mono-repo tooling.
Uses npm workspaces and package.json
dependencies to determine build order.
Features
- runs commands for each package in correct order based on each package's dependency graph
- relies on
package.json
'sworkspaces
property: no need to duplicate this information in another config - TSConfig reference paths are not required
- TSConfig
composite
option is not required - TSConfig
declarationMap
option is not required
Installation
npm i mono-vir
Usage
Note: You must first setup npm workspaces (use a workspaces
property in your package.json
).
mono-vir <command> <command-inputs>
<command>
: themono-vir
command you wish to run.<command-inputs>
: inputs to themono-vir
command in the bullet above.
for-each
for-each
will run a given bash command for each workspace package. The <command-inputs>
are considered the bash command to run. Projects will be run in order based on their dependency graph.
Examples:
- run type checking for each workspace package:
npx mono-vir for-each tsc --noEmit
- run "npm start" for each workspace package:
npx mono-vir for-each npm start
for-each-async
for-each-async
is exactly the same as for-each
but it runs the command for each package in parallel.
Full Example
To see an example repo setup that this package works for, go to this package's test files: https://github.com/electrovir/mono-vir/tree/main/test-files/augment-vir