open-cli-tools / open-cli-tools/concurrently

Expand wildcards from command input

Open
#453 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

pull request welcome
Dominant language
TypeScript
Stars
7.9k
Forks
281
Avg merge
17h 12m
Merged PRs (30d)
1

Description

First of all, I love wildcard feature. It reduced my package.json size 3x.

Can we get the same behaviour to match all files, not only npm scripts?

Consider following project structure:

  • src/
  • other_files
  • package.json
  • webpack.config.base.js
  • webpack.config.prod.js
  • webpack.config.dev.js
  • webpack.config.staging.js
  • webpack.config.qa.js
  • webpack.config.etc.js

I would like to be able to run a command
conc webpack --config webpack.config.*(!base).js

The result should be the same as with following bash command:
conc 'webpack --config webpack.config.prod.js' 'webpack --config webpack.config.dev.js' 'webpack --config webpack.config.staging.js' 'webpack --config webpack.config.qa.js' 'webpack --config webpack.config.etc.js'

or for arbitrary number of configs:

find webpack.config.*.js | grep -v config.base | xargs node -e 'console.log(process.argv.slice(1).map(_ => `"webpack --config ${_}"`).join(` `))' | xargs conc

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The payload names no files or tests; begin by tracing the existing wildcard expansion for npm scripts from the CLI command-input path. The change is complete when file globs such as webpack.config.*(!base).js expand into commands for matching files while excluding webpack.config.base.js, including an arbitrary number of configurations.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.