bin/webgme-new-decorator
#!/usr/bin/env node
'use strict';
var Command = require('commander').Command,
DecoratorManager = require('../src/DecoratorManager'),
program = new Command(),
nop = require('nop');
program
.arguments('<decoratorName>')
.action(function(decoratorName) {
// FIXME: This is only called if an arg is passed!
// Otherwise, it fails silently
var manager = new DecoratorManager();
program.decoratorName = decoratorName;
manager.new(program, nop);
});
// Get the config
var options = DecoratorManager.prototype._getOptions()
.filter(function(opt) { // Remove the id
return opt.name !== '--decorator-name';
}),
args,
regex;
for (var i = options.length; i--;) {
args = [options[i].name, options[i].desc];
if (options[i].type !== 'boolean') {
args[0] += ' <value>';
}
if (options[i].items) {
regex = new RegExp('^(' + options[i].items.join('|') + ')$');
args.push(regex);
}
program.option.apply(program, args);
}
program.parse(process.argv);