How can I write my own terminal commands for an NPM project, which would replace the gulp command without relying on npm run?
My project contains the following Gulp and http-server custom commands...
## COMMANDS I CURRENTLY HAVE
|        Command        |            Task             |
|-----------------------|-----------------------------|
|      npm run boom     | "Builds then watches files" |
| npm run boom -- build |  "Builds the assets files"  |
|    npm run launch     |   "Starts a local server"   |
This is because of the scripts in its package.json file...
/// package.json
{
  "scripts": {
    "boom": "gulp",
    "launch": "http-server -o"
  },
    "devDependencies": {
      "gulp": "^3.9.0",
      "gulp-sass": "^2.1.0",
      "http-server": "^0.8.5"
    }
}
Here is what I would actually like my custom commands to be...
## COMMANDS I WANT TO HAVE
|   Command   |            Task             |
|-------------|-----------------------------|
|    boom     | "Builds then watches files" |
| boom build  |  "Builds the assets files"  |
| boom launch |   "Starts a local server"   |
"Can I add a debug script to NPM?" is not the same as what I am asking.  I've already defined scripts in my package.json file, which is how I ended up with my current commands.  What I want is to write my own project commands/scripts that do the same things as what I have listed, without having to type npm run.
Example
npm run boom commandgulp commandboom commandI usually do this by writing a small CLI using commander then adding a bin entry into the package.json pointing to the CLI file.
    {
      ...
      "author": "",
      "license": "ISC",
      "bin":{
        "boom": "boom-cli.js"
      ...
    }
Then running either npm install -g or npm link -g from the root of the project.
If I recall correctly, npm link -g creates a symlink between your package and wherever your globally installed npm packages are kept which is preferable for me since I like to change things frequently.
This is a good resource on the topic.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With