@sasjs/cli 3.19.3 → 3.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commands/job/internal/execute/sas9.js +11 -44
- package/build/commands/job/internal/execute/sasjs.d.ts +3 -7
- package/build/commands/job/internal/execute/sasjs.js +11 -11
- package/build/commands/job/internal/utils.d.ts +1 -0
- package/build/commands/job/internal/utils.js +36 -1
- package/build/commands/job/jobCommand.js +10 -5
- package/package.json +2 -2
|
@@ -35,15 +35,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
39
|
exports.executeJobSas9 = void 0;
|
|
43
|
-
var
|
|
44
|
-
var utils_1 = require("@sasjs/utils");
|
|
45
|
-
var displayResult_1 = require("../../../../utils/displayResult");
|
|
46
|
-
var utils_2 = require("../utils");
|
|
40
|
+
var utils_1 = require("../utils");
|
|
47
41
|
var parseSourceFile_1 = require("../../../../utils/parseSourceFile");
|
|
48
42
|
/**
|
|
49
43
|
* Triggers an existing Stored Process for execution as a "job". See online documentation here: https://cli.sasjs.io/job/
|
|
@@ -56,7 +50,7 @@ var parseSourceFile_1 = require("../../../../utils/parseSourceFile");
|
|
|
56
50
|
*/
|
|
57
51
|
function executeJobSas9(sasjs, config, jobPath, logFile, output, source) {
|
|
58
52
|
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
-
var macroVars, startTime, result, endTime
|
|
53
|
+
var macroVars, startTime, result, endTime;
|
|
60
54
|
return __generator(this, function (_a) {
|
|
61
55
|
switch (_a.label) {
|
|
62
56
|
case 0:
|
|
@@ -72,51 +66,24 @@ function executeJobSas9(sasjs, config, jobPath, logFile, output, source) {
|
|
|
72
66
|
case 3:
|
|
73
67
|
result = _a.sent();
|
|
74
68
|
endTime = new Date().getTime();
|
|
75
|
-
if (!result) return [3 /*break*/,
|
|
76
|
-
if (!(result.status === 200)) return [3 /*break*/,
|
|
69
|
+
if (!result) return [3 /*break*/, 7];
|
|
70
|
+
if (!(result.status === 200)) return [3 /*break*/, 6];
|
|
77
71
|
process.logger.success("Job executed successfully! in ".concat((endTime - startTime) / 1000, " seconds"));
|
|
78
72
|
if (!(!!logFile && result.log)) return [3 /*break*/, 5];
|
|
79
|
-
return [4 /*yield*/, (0,
|
|
73
|
+
return [4 /*yield*/, (0, utils_1.saveLog)(result.log, logFile, jobPath, false)];
|
|
80
74
|
case 4:
|
|
81
75
|
_a.sent();
|
|
82
76
|
_a.label = 5;
|
|
83
77
|
case 5:
|
|
84
|
-
if (
|
|
85
|
-
|
|
78
|
+
if (!!output && result.result) {
|
|
79
|
+
(0, utils_1.saveOutput)(result.result, output, false);
|
|
80
|
+
}
|
|
81
|
+
return [3 /*break*/, 7];
|
|
86
82
|
case 6:
|
|
87
|
-
_a.trys.push([6, 11, , 12]);
|
|
88
|
-
outputJson = JSON.stringify(result.result, null, 2);
|
|
89
|
-
currentDirPath = path_1.default.isAbsolute(output)
|
|
90
|
-
? ''
|
|
91
|
-
: process.projectDir;
|
|
92
|
-
outputPath = path_1.default.join(currentDirPath, /\.[a-z]{3,4}$/i.test(output)
|
|
93
|
-
? output
|
|
94
|
-
: path_1.default.join(output, 'output.json'));
|
|
95
|
-
folderPath = outputPath.split(path_1.default.sep);
|
|
96
|
-
folderPath.pop();
|
|
97
|
-
parentFolderPath = folderPath.join(path_1.default.sep);
|
|
98
|
-
return [4 /*yield*/, (0, utils_1.folderExists)(parentFolderPath)];
|
|
99
|
-
case 7:
|
|
100
|
-
if (!!(_a.sent())) return [3 /*break*/, 9];
|
|
101
|
-
return [4 /*yield*/, (0, utils_1.createFolder)(parentFolderPath)];
|
|
102
|
-
case 8:
|
|
103
|
-
_a.sent();
|
|
104
|
-
_a.label = 9;
|
|
105
|
-
case 9: return [4 /*yield*/, (0, utils_1.createFile)(outputPath, outputJson)];
|
|
106
|
-
case 10:
|
|
107
|
-
_a.sent();
|
|
108
|
-
(0, displayResult_1.displaySuccess)("Output saved to: ".concat(outputPath));
|
|
109
|
-
return [3 /*break*/, 12];
|
|
110
|
-
case 11:
|
|
111
|
-
error_1 = _a.sent();
|
|
112
|
-
(0, displayResult_1.displayError)(error_1, 'An error has occurred when parsing an output of the job.');
|
|
113
|
-
return [3 /*break*/, 12];
|
|
114
|
-
case 12: return [3 /*break*/, 14];
|
|
115
|
-
case 13:
|
|
116
83
|
process.logger.error(result.message);
|
|
117
84
|
process.logger.error(JSON.stringify(result.error, null, 2));
|
|
118
|
-
_a.label =
|
|
119
|
-
case
|
|
85
|
+
_a.label = 7;
|
|
86
|
+
case 7: return [2 /*return*/, result];
|
|
120
87
|
}
|
|
121
88
|
});
|
|
122
89
|
});
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import SASjs from '@sasjs/adapter/node';
|
|
2
2
|
import { AuthConfig } from '@sasjs/utils';
|
|
3
|
-
export declare function executeJobSasjs(sasjs: SASjs, jobPath: string, logFile
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
log?: string | undefined;
|
|
7
|
-
logPath?: string | undefined;
|
|
8
|
-
error?: {} | undefined;
|
|
9
|
-
_webout?: string | undefined;
|
|
3
|
+
export declare function executeJobSasjs(sasjs: SASjs, jobPath: string, logFile?: string, output?: string, authConfig?: AuthConfig): Promise<{
|
|
4
|
+
result: any;
|
|
5
|
+
log: any;
|
|
10
6
|
} | undefined>;
|
|
@@ -38,30 +38,30 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.executeJobSasjs = void 0;
|
|
40
40
|
var utils_1 = require("../utils");
|
|
41
|
-
function executeJobSasjs(sasjs, jobPath, logFile, authConfig) {
|
|
41
|
+
function executeJobSasjs(sasjs, jobPath, logFile, output, authConfig) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var
|
|
43
|
+
var response;
|
|
44
44
|
return __generator(this, function (_a) {
|
|
45
45
|
switch (_a.label) {
|
|
46
46
|
case 0: return [4 /*yield*/, sasjs.executeJobSASjs({
|
|
47
47
|
_program: jobPath
|
|
48
48
|
}, authConfig)];
|
|
49
49
|
case 1:
|
|
50
|
-
|
|
51
|
-
if (!
|
|
52
|
-
if (!(result.status === 'success')) return [3 /*break*/, 4];
|
|
50
|
+
response = _a.sent();
|
|
51
|
+
if (!response) return [3 /*break*/, 5];
|
|
53
52
|
process.logger.success('Job executed successfully!');
|
|
54
|
-
if (!(logFile &&
|
|
55
|
-
return [4 /*yield*/, (0, utils_1.saveLog)(
|
|
53
|
+
if (!(!!logFile && response.log)) return [3 /*break*/, 3];
|
|
54
|
+
return [4 /*yield*/, (0, utils_1.saveLog)(response.log, logFile, jobPath, false)];
|
|
56
55
|
case 2:
|
|
57
56
|
_a.sent();
|
|
58
57
|
_a.label = 3;
|
|
59
|
-
case 3:
|
|
58
|
+
case 3:
|
|
59
|
+
if (!(!!output && response.result)) return [3 /*break*/, 5];
|
|
60
|
+
return [4 /*yield*/, (0, utils_1.saveOutput)(response.result, output, false)];
|
|
60
61
|
case 4:
|
|
61
|
-
|
|
62
|
-
process.logger.error(JSON.stringify(result.error, null, 2));
|
|
62
|
+
_a.sent();
|
|
63
63
|
_a.label = 5;
|
|
64
|
-
case 5: return [2 /*return*/,
|
|
64
|
+
case 5: return [2 /*return*/, response];
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
});
|
|
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.saveLog = void 0;
|
|
42
|
+
exports.saveOutput = exports.saveLog = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var utils_1 = require("@sasjs/utils");
|
|
45
45
|
var utils_2 = require("../../../utils/utils");
|
|
@@ -77,3 +77,38 @@ var saveLog = function (logData, logFile, jobPath, returnStatusOnly) { return __
|
|
|
77
77
|
});
|
|
78
78
|
}); };
|
|
79
79
|
exports.saveLog = saveLog;
|
|
80
|
+
var saveOutput = function (outputData, outputFile, returnStatusOnly) { return __awaiter(void 0, void 0, void 0, function () {
|
|
81
|
+
var currentDirPath, outputPath, folderPath, parentFolderPath;
|
|
82
|
+
return __generator(this, function (_a) {
|
|
83
|
+
switch (_a.label) {
|
|
84
|
+
case 0:
|
|
85
|
+
try {
|
|
86
|
+
outputData = JSON.stringify(outputData, null, 2);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
(0, displayResult_1.displayError)(error, 'An error has occurred when parsing the output of the job.');
|
|
90
|
+
}
|
|
91
|
+
currentDirPath = path_1.default.isAbsolute(outputFile) ? '' : process.projectDir;
|
|
92
|
+
outputPath = path_1.default.join(currentDirPath, /\.[a-z]{3,4}$/i.test(outputFile)
|
|
93
|
+
? outputFile
|
|
94
|
+
: path_1.default.join(outputFile, 'output.json'));
|
|
95
|
+
folderPath = outputPath.split(path_1.default.sep);
|
|
96
|
+
folderPath.pop();
|
|
97
|
+
parentFolderPath = folderPath.join(path_1.default.sep);
|
|
98
|
+
return [4 /*yield*/, (0, utils_1.folderExists)(parentFolderPath)];
|
|
99
|
+
case 1:
|
|
100
|
+
if (!!(_a.sent())) return [3 /*break*/, 3];
|
|
101
|
+
return [4 /*yield*/, (0, utils_1.createFolder)(parentFolderPath)];
|
|
102
|
+
case 2:
|
|
103
|
+
_a.sent();
|
|
104
|
+
_a.label = 3;
|
|
105
|
+
case 3: return [4 /*yield*/, (0, utils_1.createFile)(outputPath, outputData)];
|
|
106
|
+
case 4:
|
|
107
|
+
_a.sent();
|
|
108
|
+
if (!returnStatusOnly)
|
|
109
|
+
(0, displayResult_1.displaySuccess)("Output saved to: ".concat(outputPath));
|
|
110
|
+
return [2 /*return*/];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}); };
|
|
114
|
+
exports.saveOutput = saveOutput;
|
|
@@ -241,13 +241,18 @@ var JobCommand = /** @class */ (function (_super) {
|
|
|
241
241
|
});
|
|
242
242
|
};
|
|
243
243
|
JobCommand.prototype.executeJobSasjs = function (sasjs, target, authConfig) {
|
|
244
|
+
var _a;
|
|
244
245
|
return __awaiter(this, void 0, void 0, function () {
|
|
245
|
-
var jobPath, returnCode;
|
|
246
|
-
return __generator(this, function (
|
|
247
|
-
switch (
|
|
246
|
+
var jobPath, log, output, returnCode;
|
|
247
|
+
return __generator(this, function (_b) {
|
|
248
|
+
switch (_b.label) {
|
|
248
249
|
case 0:
|
|
249
250
|
jobPath = (0, prefixAppLoc_1.prefixAppLoc)(target.appLoc, this.parsed.jobPath);
|
|
250
|
-
|
|
251
|
+
log = (0, getLogFilePath_1.getLogFilePath)(this.parsed.log, jobPath);
|
|
252
|
+
output = ((_a = this.parsed.output) === null || _a === void 0 ? void 0 : _a.length)
|
|
253
|
+
? this.parsed.output
|
|
254
|
+
: undefined;
|
|
255
|
+
return [4 /*yield*/, (0, execute_1.executeJobSasjs)(sasjs, jobPath, log, output, authConfig)
|
|
251
256
|
.then(function () { return command_1.ReturnCode.Success; })
|
|
252
257
|
.catch(function (err) {
|
|
253
258
|
var _a;
|
|
@@ -255,7 +260,7 @@ var JobCommand = /** @class */ (function (_super) {
|
|
|
255
260
|
return command_1.ReturnCode.InternalError;
|
|
256
261
|
})];
|
|
257
262
|
case 1:
|
|
258
|
-
returnCode =
|
|
263
|
+
returnCode = _b.sent();
|
|
259
264
|
return [2 /*return*/, returnCode];
|
|
260
265
|
}
|
|
261
266
|
});
|
package/package.json
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@sasjs/adapter": "3.10.
|
|
51
|
+
"@sasjs/adapter": "3.10.16",
|
|
52
52
|
"@sasjs/core": "4.35.3",
|
|
53
53
|
"@sasjs/lint": "1.12.0",
|
|
54
54
|
"@sasjs/utils": "2.47.1",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"typescript": "4.5.4",
|
|
98
98
|
"util": "0.12.4"
|
|
99
99
|
},
|
|
100
|
-
"version": "3.19.
|
|
100
|
+
"version": "3.19.4"
|
|
101
101
|
}
|