UNPKG

2.05 kBJavaScriptView Raw
1"use strict";
2
3var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
4
5var _chalk = _interopRequireDefault(require("chalk"));
6
7var _utils = require("../utils");
8
9function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
11process.env.SCRIPT_CI = "true";
12const unnecessaryArgumentsCount = 2;
13const args = process.argv.slice(unnecessaryArgumentsCount);
14const gdScripts = (0, _utils.isGdScripts)();
15const executor = gdScripts ? "ts-node" : "gd-scripts";
16
17const getArgsSpawn = script => gdScripts ? ["src", script, ...args] : [script, ...args];
18
19const isTypescript = (0, _utils.hasFile)("tsconfig.json");
20(0, _utils.logScriptMessage)("CI");
21
22const resultLint = _crossSpawn.default.sync((0, _utils.resolveBin)(executor), [...getArgsSpawn("lint")], {
23 stdio: "inherit"
24});
25
26const packageHasTests = (0, _utils.hasTests)();
27let resultTypecheck = {
28 status: 0
29};
30let resultTest = {
31 status: 0
32};
33
34if (isTypescript) {
35 resultTypecheck = _crossSpawn.default.sync((0, _utils.resolveBin)(executor), [...getArgsSpawn("typecheck")], {
36 stdio: "inherit"
37 });
38}
39
40if (packageHasTests) {
41 resultTest = _crossSpawn.default.sync((0, _utils.resolveBin)(executor), [...getArgsSpawn("test")], {
42 stdio: "inherit"
43 });
44}
45
46const resultBuild = _crossSpawn.default.sync((0, _utils.resolveBin)(executor), [...getArgsSpawn("build")], {
47 stdio: "inherit"
48});
49
50const finalResult = [resultLint.status, resultTest.status, resultTypecheck.status, resultBuild.status].some(x => x === 1) ? 1 : 0;
51console.log(`\n${_chalk.default.cyan("CI RESULTS:")}`);
52
53const logStatus = (script, status) => {
54 console.log(`${script}${status === 0 ? _chalk.default.green("SUCCESS") : _chalk.default.red("ERROR")}`);
55};
56
57console.log();
58logStatus("Lint\t ", resultLint.status);
59
60if (isTypescript) {
61 logStatus("Typecheck ", resultTypecheck.status);
62}
63
64if (packageHasTests) {
65 logStatus("Test\t ", resultTest.status);
66}
67
68logStatus("Build\t ", resultBuild.status);
69console.log();
70process.exit(finalResult);
71//# sourceMappingURL=ci.js.map
\No newline at end of file