A simple rush prompt to run multiple rush projects in one terminal.
npm install @telia/rush-select
- Make sure you are in a directory underneath a rush repository.
- Run
rush-select
, orrush-select --help
in the terminal.
License: MIT License
Really cool project! Pete Gonzalez put me onto it (https://rushstack.zulipchat.com/#narrow/stream/262513-general/topic/Include.20a.20lib.20without.20building.20it.3F/near/219680585)
One thing I would love to see if colored build output.
For example if I:
cd libs/shared
rushx dev
Then I introduce a compile error in one of my ts files I get the following nice error:
But if I rush-select and choose "dev" for "libs/shared" then I get the followng:
Which lacks the coloring and the underlined error.
Just wondering if there is something that can be done to reduce the size of the label for each task for those of us that are horizontal'ly impared ;)
Perhaps we could have a config "rush-select.json" that lets you specify a label mapping and some other things
{
"projects": {
"@battletabs/ash-ecs": {
"label": "ash", // lets us choose what label to use,
"include": { // lets us choose which tasks to include, excludes everything else
"compile": {
"label": "C", // Can shorten the label to whatever we like
"selected": "auto" // whether it is automatically selected, defaults to "auto" which means "use whatever was last selected"
},
"dev": {
"label": "๐ป", // can even supply emojis for labels
"selected": true
},
"build": {
"label": "B",
"selected": false
}
}
},
"@battletabs/server": {
// If an object is supplied to label instead of string then we can provide some styling info
"label": {
"value": "server",
"color": "teal",
"background": "red"
},
// Can provide a list of tasks to exclude
"exclude": ["deploy"]
}
// Any project not explicitly specified is still included in the list but uses default values
}
}
We could then execute with rush-select -c ./common/config/rush-select.config.json
or it can look for it in a few default locations if you dont sepecify explicitly.
Multiple "profiles" are supported by having multiple configs.
Just wondering why on successant runs of rush-select smart build defaults to being on even if you told it not to run on the previous run?
can we do rush-select --execute-this-immeidatel start
Hi,
first of all thanks for this nice package! I have noticed there is an issue with using nodemon as cli started by rush-select
.
Rush-select is not starting the execution at all and hangs:
Steps to reproduce:
package.json
"serve": "pnpx nodemon ./server/index.js --config ./tasks/nodemon.config.json"
rush-select
This should be already enough to reproduce.
If you need any further information, just let me know.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.