-
Notifications
You must be signed in to change notification settings - Fork 801
/
Copy pathstencil
executable file
·57 lines (50 loc) · 1.76 KB
/
stencil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env node
'use strict';
var minimumVersion = '16.0';
var futureDeprecationMinVersion = '16.0';
var recommendedVersion = '18.16';
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 older 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();
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);
});