parse_options.js 749 B

1234567891011121314151617181920212223242526272829303132333435
  1. var extend = require('extend');
  2. module.exports = function(opts) {
  3. var defaults = {
  4. extensions: {
  5. '.js': null,
  6. '.json': null,
  7. },
  8. searchPaths: [],
  9. };
  10. if (!opts) {
  11. opts = {};
  12. }
  13. if (opts.name) {
  14. if (!opts.processTitle) {
  15. opts.processTitle = opts.name;
  16. }
  17. if (!opts.configName) {
  18. opts.configName = opts.name + 'file';
  19. }
  20. if (!opts.moduleName) {
  21. opts.moduleName = opts.name;
  22. }
  23. }
  24. if (!opts.processTitle) {
  25. throw new Error('You must specify a processTitle.');
  26. }
  27. if (!opts.configName) {
  28. throw new Error('You must specify a configName.');
  29. }
  30. if (!opts.moduleName) {
  31. throw new Error('You must specify a moduleName.');
  32. }
  33. return extend(defaults, opts);
  34. };