56 lines
1.7 KiB
JavaScript
56 lines
1.7 KiB
JavaScript
"use strict";
|
|
|
|
var GitIgnore = require('./library');
|
|
var fs = require('fs');
|
|
var OS = require('os');
|
|
|
|
(function() {
|
|
var types = process.argv.slice(2);
|
|
|
|
if (!types || types.length === 0) {
|
|
console.log("Usage: gitignore [PROJECT TYPE]");
|
|
console.log("Example: gitignore rails");
|
|
console.log("Available project types can be found by running `gitignore -types` or at https://github.com/github/gitignore");
|
|
return;
|
|
}
|
|
|
|
if (/^((--?)?types|-t)$/i.test(types.join())) {
|
|
console.log("Fetching available types...");
|
|
GitIgnore.getTypes(function(err, types){
|
|
if(err){
|
|
if(err.statusCode){
|
|
console.error("Could not access file from GitHub. Recieved status code "+err.statusCode);
|
|
} else {
|
|
console.error("An unexpected error occurred.");
|
|
console.error(err);
|
|
}
|
|
return;
|
|
}
|
|
console.log(types.join(OS.EOL));
|
|
});
|
|
} else {
|
|
types.forEach(function(type) {
|
|
type = type.charAt(0).toUpperCase() + type.slice(1);
|
|
var file = fs.createWriteStream(".gitignore", {'flags': 'a'});
|
|
GitIgnore.writeFile({
|
|
type: type,
|
|
file: file
|
|
}, function(err){
|
|
if(err){
|
|
if(err.statusCode){
|
|
console.log("There is no gitignore for " + type);
|
|
console.log("Available project types can be found by running `gitignore -types` or at https://github.com/github/gitignore");
|
|
console.error("Recieved status code "+err.statusCode);
|
|
} else {
|
|
console.error("An unexpected error occurred.");
|
|
console.error(err);
|
|
}
|
|
return;
|
|
}
|
|
console.log("Created .gitignore file for type "+type+" :)");
|
|
});
|
|
});
|
|
}
|
|
|
|
}).call(this);
|