/
stencil
executable file
·56 lines (47 loc) · 1.66 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
#!/usr/bin/env node
'use strict';
var minimumVersion = '12.10';
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 install latest version of Node (https://github.com/nodejs/Release).\n',
);
process.exit(1);
}
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 (https://github.com/nodejs/Release).\n',
);
}
if (process.argv.indexOf('--next') > -1) {
console.warn('\nThe next compiler is now the default and the --next flag is no longer needed.\n');
}
if (typeof globalThis === 'undefined') {
// globalThis not added until node 12
global.globalThis = global;
}
var cli = require('../cli/index.cjs.js');
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
});