rush-select icon indicating copy to clipboard operation
rush-select copied to clipboard

[Suggestion] Config file

Open mikecann opened this issue 5 years ago • 0 comments

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 ;)

image

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.

mikecann avatar Dec 29 '20 01:12 mikecann