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