diff --git a/app/templates/_cli.js b/app/templates/_cli.js index 2d7867e..ed91495 100644 --- a/app/templates/_cli.js +++ b/app/templates/_cli.js @@ -1,16 +1,16 @@ -#! /usr/bin/env node - +#!/usr/bin/env node 'use strict'; - +var meow = require('meow'); var <%= safeSlugname %> = require('./lib/<%= slugname %>'); -var userArgs = process.argv; -var searchParam = userArgs[2]; - -if (userArgs.indexOf('-h') !== -1 || userArgs.indexOf('--help') !== -1 || searchParam === undefined) { - return console.log('cli help'); -} +var cli = meow({ + help: [ + 'Usage', + ' <%= slugname %> ', + '', + 'Example', + ' <%= slugname %> Unicorn' + ].join('\n') +}); -if (userArgs.indexOf('-v') !== -1 || userArgs.indexOf('--version') !== -1) { - return console.log(require('./package').version); -} +<%= safeSlugname %>(cli.input[0]); diff --git a/app/templates/_package.json b/app/templates/_package.json index 4e982c1..eb8fdef 100644 --- a/app/templates/_package.json +++ b/app/templates/_package.json @@ -31,6 +31,9 @@ "<%= keywords[i] %>" <% } %> ], + "dependencies": {<% if (props.cli) { %> + "meow": "^2.0.0" + <% } %>}, "devDependencies": { "grunt-contrib-jshint": "^0.10.0", "grunt-contrib-nodeunit": "^0.3.3", diff --git a/app/templates/lib/name.js b/app/templates/lib/name.js index 840ac88..fc158ca 100644 --- a/app/templates/lib/name.js +++ b/app/templates/lib/name.js @@ -8,6 +8,6 @@ 'use strict'; -exports.awesome = function() { - return 'awesome'; +module.exports = function (str) { + console.log(str || 'Rainbow'); }; diff --git a/package.json b/package.json index cf88693..ee3a847 100644 --- a/package.json +++ b/package.json @@ -16,15 +16,16 @@ "url": "https://github.com/yeoman/generator-node.git" }, "scripts": { - "test": "mocha --timeout 3500" + "test": "mocha --timeout 50000" }, "dependencies": { "npm-name": "~0.1.0", "yeoman-generator": "~0.17.3" }, "devDependencies": { + "grunt": "~0.4.5", "mocha": "*", - "grunt": "~0.4.5" + "shelljs": "^0.3.0" }, "peerDependencies": { "yo": ">=1.0.3" diff --git a/test/test-creation.js b/test/test-creation.js index 5e5d86f..ce84aed 100644 --- a/test/test-creation.js +++ b/test/test-creation.js @@ -4,6 +4,7 @@ var path = require('path'); var assert = require('yeoman-generator').assert; var helpers = require('yeoman-generator').test; +var shelljs = require('shelljs'); describe('node generator', function () { beforeEach(function (done) { @@ -49,6 +50,8 @@ describe('node generator', function () { 'browser': true }); + shelljs.exec('npm install meow', {silent: true}); + this.app.run({}, function () { assert.file(expected); assert.fileContent('package.json', /"name": "mymodule"/);