| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env node
- 'use strict';
- // IMPORTANT: This file uses ES5 syntax to avoid syntax errors in older Node
- // versions (mostly 0.12). See https://node.green for syntax support.
- process.title = 'ionic';
- process.on('unhandledRejection', function(r) { process.stderr.write(String(r)); process.exit(1); });
- var events = require('events');
- var path = require('path');
- var evt = new events.EventEmitter();
- var cli;
- process.on('message', function(msg) {
- evt.once('ready', function() {
- cli.receive(msg);
- });
- });
- var semver = require('semver');
- var version = semver.parse(process.version);
- var minversion = 'v16.0.0';
- if (semver.lt(version, minversion)) {
- var details = version.major === 10
- ? ' Node.js 10 reached end-of-life on 2021-04-30 and is no longer supported.'
- : version.major === 12
- ? ' Node.js 12 reached end-of-life on 2022-04-30 and is no longer supported.'
- : version.major === 14
- ? ' Node.js 14 reached end-of-life on 2023-04-30 and is no longer supported.'
- : '';
- process.stderr.write('ERR: Your Node.js version is ' + version.raw + '.' + details + ' Please update to the latest Node LTS version.\n');
- process.exit(1);
- }
- if (process.argv.includes('--verbose')) {
- process.env.DEBUG = '*';
- }
- if (process.argv.includes('--no-color')) {
- process.env.DEBUG_COLORS = '0';
- }
- var pargv = process.argv.slice(2);
- var lib = path.resolve(__dirname, '..');
- process.env.IONIC_CLI_BIN = __filename;
- process.env.IONIC_CLI_LIB = lib;
- var bootstrap = require(path.resolve(lib, 'bootstrap'));
- bootstrap.detectLocalCLI()
- .then(function(localPath) {
- cli = require(localPath);
- return cli.run(pargv, process.env);
- }, function(err) {
- cli = require(lib);
- if (typeof err !== 'string') {
- throw err;
- }
- process.env.IONIC_CLI_LOCAL_ERROR = err;
- return cli.run(pargv, process.env);
- })
- .then(function() {
- evt.emit('ready');
- });
|