From 3dcfe65854a35e9b8a8b3125620ab4c5c30fdca7 Mon Sep 17 00:00:00 2001 From: Geoff Schmidt Date: Mon, 9 Apr 2012 18:32:17 -0700 Subject: [PATCH] 'meteor create': prose improvements --- app/meteor/meteor.js | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/app/meteor/meteor.js b/app/meteor/meteor.js index a78336f09f2..c642fd0c582 100644 --- a/app/meteor/meteor.js +++ b/app/meteor/meteor.js @@ -133,16 +133,19 @@ Commands.push({ func: function (argv) { // reparse args var opt = require('optimist') - .describe('example', 'Name of example application.') + .describe('example', 'Example template to use.') .boolean('list') .describe('list', 'Show list of available examples.') .usage( "Usage: meteor create \n" + " meteor create --example []\n" + +" meteor create --list\n" + "\n" + "Make a subdirectory named and create a new Meteor project\n" + -"there. You can also pass an absolute or relative path. Specify an\n" + -"example name to start with one of the example applications\n"); +"there. You can also pass an absolute or relative path.\n" + +"\n" + +"You can pass --example to start off with a copy of one of the Meteor\n" + +"sample applications. Use --list to see the available examples."); var new_argv = opt.argv; var appname; @@ -163,6 +166,8 @@ Commands.push({ _.each(examples, function (e) { process.stdout.write(" " + e + "\n"); }); + process.stdout.write("\n" + +"Create a project from an example with 'meteor create --example '.\n") process.exit(1); }; @@ -188,13 +193,13 @@ Commands.push({ if (new_argv.example) { if (examples.indexOf(new_argv.example) === -1) { - process.stderr.write("No such example application. Available examples include:\n"); - _.each(examples, function (e) { - process.stdout.write(" " + e + "\n"); - }); + process.stderr.write(new_argv.example + ": no such example\n\n"); + process.stderr.write("List available applications with 'meteor create --list'.\n"); process.exit(1); } else { - files.cp_r(path.join(example_dir, new_argv.example), appname); + files.cp_r(path.join(example_dir, new_argv.example), appname, { + ignore: [/^local$/] + }); } } else { files.cp_r(path.join(__dirname, 'skel'), appname, { @@ -206,9 +211,21 @@ Commands.push({ return new Buffer(transform(contents.toString())); else return contents; - } + }, + ignore: [/^local$/] }); } + + process.stderr.write(appname + ": created"); + if (new_argv.example && + new_argv.example !== appname) + process.stderr.write(" (from '" + new_argv.example + "' template)"); + process.stderr.write(".\n\n"); + + process.stderr.write( +"To run your new app:\n" + +" cd " + appname + "\n" + +" meteor\n"); } });