UNPKG

1.38 kBPlain TextView Raw
1#!/usr/bin/env node
2"use strict";
3
4const ver = require('semver').major(process.versions.node);
5
6if (ver < 8) {
7 const colors = require('colors');
8 console.error(colors.red('Pandora.js requires Node.js >= 8.0.0, current version is ' + process.versions.node));
9 process.exit(1);
10}
11
12// FIX ISSUE LIKE: https://github.com/npm/npm/issues/4603
13const {spawn} = require('child_process');
14if (process.env.npm_config_argv && !process.env.npm_run_pandora_l2) {
15 spawn(process.argv[0], process.argv.slice(1), {
16 stdio: 'inherit',
17 env: Object.assign({
18 npm_run_pandora_l2: 'true'
19 }, process.env)
20 });
21 return;
22}
23
24require('source-map-support').install();
25const fs = require('fs');
26const path = require('path');
27const yargs = require('yargs');
28
29const logo = fs.readFileSync(path.join(__dirname, '../logo')).toString();
30const version = `${logo}
31BaseDir: ${process.cwd()}
32Pandora: ${require('../package.json').version} (${__dirname})
33Node: ${process.version} ${process.alinode ? '(Alinode: ' + process.alinode + ')' : ''}`;
34
35process.on('uncaughtException', function (e) {
36 console.error(e.stack);
37 process.exit(1);
38});
39
40yargs
41 .demand(1)
42 .help()
43 .version(version)
44 .alias('v', 'version')
45 .command(require('../cli/init'))
46 .command(require('../cli/start'))
47 // .command(require('../cli/pid'))
48 .wrap(Math.max(40, yargs.terminalWidth() - 8))
49 .locale('en')
50 .argv;