From 82a55ff3d5ecb3d3697ad64398310a5829e20c53 Mon Sep 17 00:00:00 2001 From: Vladimir Guguiev Date: Sun, 19 Feb 2017 13:29:58 +0100 Subject: [PATCH] refactor(cli): allow cli to accept flags affects: lerna-semantic-release also print --help message with usage documentation --- .../bin/lerna-semantic-release.js | 24 ++++++++++++++++++- packages/lerna-semantic-release/package.json | 9 +++---- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/packages/lerna-semantic-release/bin/lerna-semantic-release.js b/packages/lerna-semantic-release/bin/lerna-semantic-release.js index bea8047a6c..acf039c0b8 100755 --- a/packages/lerna-semantic-release/bin/lerna-semantic-release.js +++ b/packages/lerna-semantic-release/bin/lerna-semantic-release.js @@ -1,9 +1,30 @@ #!/usr/bin/env node -var task = process.argv[2]; +var meow = require('meow'); var io = require('lerna-semantic-release-io').default; var log = require('lerna-semantic-release-utils').log; +var cli = meow( + { + help: ` + Usage + $ lerna-semantic-release [command] + + Commands: + pre Set up the versions, tags and commits + perform Publishes to npm + post Generates a changelog in each package in a file named CHANGELOG.md - will not commit or push that file. If you want to do something with it, you will need to do this manually. + `, + }, + { + alias: { + h: 'help' + } + } +); + +var task = cli.input && cli.input[0]; + var tasks = { pre: require('lerna-semantic-release-pre'), perform: require('lerna-semantic-release-perform'), @@ -17,6 +38,7 @@ function errorHandler(err) { try { tasks[task]({ + flags: cli.flags, io: io, callback: errorHandler }); diff --git a/packages/lerna-semantic-release/package.json b/packages/lerna-semantic-release/package.json index 744fc6be64..299e9bb00a 100644 --- a/packages/lerna-semantic-release/package.json +++ b/packages/lerna-semantic-release/package.json @@ -14,11 +14,12 @@ } }, "dependencies": { - "lerna-semantic-release-pre": "^4.1.1", - "lerna-semantic-release-post": "^6.0.0", - "lerna-semantic-release-perform": "^4.0.15", "lerna-semantic-release-io": "^7.0.0", - "lerna-semantic-release-utils": "^4.0.0" + "lerna-semantic-release-perform": "^4.0.15", + "lerna-semantic-release-post": "^6.0.0", + "lerna-semantic-release-pre": "^4.1.1", + "lerna-semantic-release-utils": "^4.0.0", + "meow": "^3.7.0" }, "peerDependencies": { "lerna": "^2.0.0-beta.31"