1 | #!/usr/bin/env node
|
2 | 'use strict';
|
3 |
|
4 | var _liftoff = require('liftoff');
|
5 |
|
6 | var _liftoff2 = _interopRequireDefault(_liftoff);
|
7 |
|
8 | var _commander = require('commander');
|
9 |
|
10 | var _commander2 = _interopRequireDefault(_commander);
|
11 |
|
12 | var _debug = require('debug');
|
13 |
|
14 | var _debug2 = _interopRequireDefault(_debug);
|
15 |
|
16 | var _interpret = require('interpret');
|
17 |
|
18 | var _package = require('../package.json');
|
19 |
|
20 | var _package2 = _interopRequireDefault(_package);
|
21 |
|
22 | var _compiler = require('./compiler');
|
23 |
|
24 | var _server = require('./cli/server');
|
25 |
|
26 | var _server2 = _interopRequireDefault(_server);
|
27 |
|
28 | var _builder = require('./cli/builder');
|
29 |
|
30 | var _builder2 = _interopRequireDefault(_builder);
|
31 |
|
32 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
33 |
|
34 |
|
35 | var version = _package2.default.version;
|
36 |
|
37 | var debug = (0, _debug2.default)('cyboard.cli');
|
38 |
|
39 | if (!process.env.NODE_ENV) {
|
40 | process.env.NODE_ENV = 'production';
|
41 | }
|
42 |
|
43 | var cli = new _liftoff2.default({
|
44 | name: 'Cyboard',
|
45 | extensions: Object.assign({}, _interpret.jsVariants, {
|
46 | '.jsx': 'babel-register'
|
47 | })
|
48 | });
|
49 |
|
50 | function validateConfigPath(env) {
|
51 | if (!env.configPath) {
|
52 | console.log('No ' + cli.configName + ' found.');
|
53 | return false;
|
54 | }
|
55 | debug('Using Cyboardfile from ' + env.configPath);
|
56 | return true;
|
57 | }
|
58 |
|
59 | cli.on('require', function (name) {
|
60 | return debug('Requiring external module %s', name);
|
61 | });
|
62 | cli.on('requireFail', function (name) {
|
63 | return debug('Loading module %s failed', name);
|
64 | });
|
65 | cli.on('respawn', function (flags, child) {
|
66 | console.log('Detected node flags:', flags);
|
67 | console.log('Respawned to PID:', child.pid);
|
68 | });
|
69 |
|
70 | _commander2.default.version(version).option('--cwd [path]', 'Sets the current working directory').option('--cache [path]', 'Set the directory for caching', './.cyboard').option('--require [path]', 'Require additional modules to run the server');
|
71 |
|
72 | _commander2.default.command('start [cyboardfile]').description('Starts a cyboard server').option('-p, --port [number]', 'Sets the used port number for catalog server', '3000').option('-c, --credentials [path]', 'Sets the path to the credentials file', './credentials.json').option('-d, --dev', 'Start the server in devmode, which runs an internal webpack devserver').action(function (configPath, _ref) {
|
73 | var port = _ref.port,
|
74 | credentials = _ref.credentials,
|
75 | dev = _ref.dev,
|
76 | _ref$parent = _ref.parent,
|
77 | cache = _ref$parent.cache,
|
78 | cwd = _ref$parent.cwd,
|
79 | require = _ref$parent.require;
|
80 |
|
81 | cli.launch({ cwd: cwd, configPath: configPath, require: require }, function (env) {
|
82 | return validateConfigPath(env) && (0, _server2.default)(Object.assign({}, env, { cache: cache, credentials: credentials, port: port, isDev: !!dev }));
|
83 | });
|
84 | });
|
85 |
|
86 | _commander2.default.command('warmup [cyboardfile]').description('Warm up cache with static frontend build').action(function (configPath, _ref2) {
|
87 | var _ref2$parent = _ref2.parent,
|
88 | cache = _ref2$parent.cache,
|
89 | cwd = _ref2$parent.cwd,
|
90 | require = _ref2$parent.require;
|
91 |
|
92 | cli.launch({ cwd: cwd, configPath: configPath, require: require }, function (env) {
|
93 | return validateConfigPath(env) && (0, _builder2.default)(Object.assign({}, env, { cache: cache }));
|
94 | });
|
95 | });
|
96 |
|
97 | _commander2.default.parse(process.argv);
|
98 |
|
99 | if (!_commander2.default.args.length) _commander2.default.help(); |
\ | No newline at end of file |