UNPKG

2.01 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.commands = exports.topics = undefined;
7
8var _fsExtra = require('fs-extra');
9
10var _fsExtra2 = _interopRequireDefault(_fsExtra);
11
12var _path = require('path');
13
14var _path2 = _interopRequireDefault(_path);
15
16var _lodash = require('lodash.flatten');
17
18var _lodash2 = _interopRequireDefault(_lodash);
19
20function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
22const topics = exports.topics = [{ name: 'apps', description: 'manage apps' }, { name: 'auth', description: 'heroku authentication' }, { name: 'buildpacks', description: 'manage the buildpacks for an app' }, { name: 'config', description: 'manage app config vars' }, { name: 'domains', description: 'manage the domains for an app' }, { name: 'drains', description: 'list all log drains' }, { name: 'dyno', hidden: true }, { name: 'features', description: 'manage optional features' }, { name: 'keys', description: 'manage ssh keys' }, { name: 'labs', description: 'experimental features' }, { name: 'maintenance', description: 'manage maintenance mode for an app' }, { name: 'notifications', description: 'display notifications' }, { name: 'ps', description: 'manage dynos (dynos, workers)' }, { name: 'regions', description: 'list available regions' }, { name: 'releases', description: 'manage app releases' }];
23
24function getCommands(dir) {
25 function requireCommand(f) {
26 // $FlowFixMe
27 let c = require(f);
28 return c.default ? c.default : c;
29 }
30
31 let all = _fsExtra2.default.readdirSync(dir).map(f => _path2.default.join(dir, f));
32 let commands = all.filter(f => _path2.default.extname(f) === '.js' && !f.endsWith('.test.js')).map(requireCommand);
33 let subs = all.filter(f => _fsExtra2.default.lstatSync(f).isDirectory()).map(getCommands);
34 return (0, _lodash2.default)(commands.concat((0, _lodash2.default)(subs)));
35}
36
37const commands = exports.commands = getCommands(_path2.default.join(__dirname, 'commands'));
\No newline at end of file