You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
57 lines
1.7 KiB
/*
|
|
* grunt
|
|
* http://gruntjs.com/
|
|
*
|
|
* Copyright (c) 2012 "Cowboy" Ben Alman
|
|
* Licensed under the MIT license.
|
|
* https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
|
|
*/
|
|
|
|
// Basic template description.
|
|
exports.description = 'Create a Node.js module, including Nodeunit unit tests.';
|
|
|
|
// Template-specific notes to be displayed before question prompts.
|
|
exports.notes = '_Project name_ shouldn\'t contain "node" or "js" and should ' +
|
|
'be a unique ID not already in use at search.npmjs.org.';
|
|
|
|
// Any existing file or directory matching this wildcard will cause a warning.
|
|
exports.warnOn = '*';
|
|
|
|
// The actual init template.
|
|
exports.template = function(grunt, init, done) {
|
|
|
|
grunt.helper('prompt', {type: 'node'}, [
|
|
// Prompt for these values.
|
|
grunt.helper('prompt_for', 'name'),
|
|
grunt.helper('prompt_for', 'description'),
|
|
grunt.helper('prompt_for', 'version'),
|
|
grunt.helper('prompt_for', 'repository'),
|
|
grunt.helper('prompt_for', 'homepage'),
|
|
grunt.helper('prompt_for', 'bugs'),
|
|
grunt.helper('prompt_for', 'licenses'),
|
|
grunt.helper('prompt_for', 'author_name'),
|
|
grunt.helper('prompt_for', 'author_email'),
|
|
grunt.helper('prompt_for', 'author_url'),
|
|
grunt.helper('prompt_for', 'node_version'),
|
|
grunt.helper('prompt_for', 'main'),
|
|
grunt.helper('prompt_for', 'npm_test')
|
|
], function(err, props) {
|
|
props.keywords = [];
|
|
|
|
// Files to copy (and process).
|
|
var files = init.filesToCopy(props);
|
|
|
|
// Add properly-named license files.
|
|
init.addLicenseFiles(files, props.licenses);
|
|
|
|
// Actually copy (and process) files.
|
|
init.copyAndProcess(files, props);
|
|
|
|
// Generate package.json file.
|
|
init.writePackageJSON('package.json', props);
|
|
|
|
// All done!
|
|
done();
|
|
});
|
|
|
|
};
|