123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!/usr/bin/env node
- 'use strict';
- var minimumVersion = '12.10';
- var futureDeprecationMinVersion = '14.0';
- var recommendedVersion = '14.5';
- var currentVersion = process.versions.node;
- function isNodeLT(v) {
- var check = v.split('.').map(Number);
- var node = currentVersion.split('.').map(Number);
- return node[0] < check[0] || (node[0] === check[0] && node[1] < check[1]);
- }
- if (isNodeLT(minimumVersion)) {
- console.error(
- '\nYour current version of Node is v' +
- currentVersion +
- ', however Stencil requires v' +
- minimumVersion +
- '.0 or greater. It is recommended to use an Active LTS version of Node (https://nodejs.org/en/about/releases/).\n'
- );
- process.exit(1);
- }
- if (isNodeLT(futureDeprecationMinVersion)) {
- console.warn(
- '\nIn an upcoming major release of Stencil, Node v' + recommendedVersion + '.0 or higher will be required.\n'
- );
- } else if (isNodeLT(recommendedVersion)) {
- console.warn(
- '\nYour current version of Node is v' +
- currentVersion +
- ", however Stencil's recommendation is v" +
- recommendedVersion +
- '.0 or greater. Note that future versions of Stencil will eventually remove support for non-LTS Node versions and an Active LTS version is recommended (https://nodejs.org/en/about/releases/).\n'
- );
- }
- var cli = require('../cli/index.cjs');
- var nodeApi = require('../sys/node/index.js');
- var nodeLogger = nodeApi.createNodeLogger({ process: process });
- var nodeSys = nodeApi.createNodeSys({ process: process, logger: nodeLogger });
- nodeApi.setupNodeProcess({ process: process, logger: nodeLogger });
- cli
- .run({
- args: process.argv.slice(2),
- logger: nodeLogger,
- sys: nodeSys,
- checkVersion: nodeApi.checkVersion,
- })
- .catch(function (err) {
- console.error('uncaught error', err);
- process.exit(1);
- });
|