@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.
@@ -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 path_1 = __importDefault(require("path"));
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, outputJson, currentDirPath, outputPath, folderPath, parentFolderPath, error_1;
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*/, 14];
76
- if (!(result.status === 200)) return [3 /*break*/, 13];
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, utils_2.saveLog)(result.log, logFile, jobPath, false)];
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 (!(!!output && result.result)) return [3 /*break*/, 12];
85
- _a.label = 6;
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 = 14;
119
- case 14: return [2 /*return*/, result];
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: string | undefined, authConfig?: AuthConfig): Promise<{
4
- status: string;
5
- message: string;
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 result;
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
- result = _a.sent();
51
- if (!result) return [3 /*break*/, 5];
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 && result.log)) return [3 /*break*/, 3];
55
- return [4 /*yield*/, (0, utils_1.saveLog)(result.log, logFile, jobPath, false)];
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: return [3 /*break*/, 5];
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
- process.logger.error(result.message);
62
- process.logger.error(JSON.stringify(result.error, null, 2));
62
+ _a.sent();
63
63
  _a.label = 5;
64
- case 5: return [2 /*return*/, result];
64
+ case 5: return [2 /*return*/, response];
65
65
  }
66
66
  });
67
67
  });
@@ -1 +1,2 @@
1
1
  export declare const saveLog: (logData: any, logFile: string | undefined, jobPath: string, returnStatusOnly: boolean) => Promise<void>;
2
+ export declare const saveOutput: (outputData: any, outputFile: string, returnStatusOnly: boolean) => Promise<void>;
@@ -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 (_a) {
247
- switch (_a.label) {
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
- return [4 /*yield*/, (0, execute_1.executeJobSasjs)(sasjs, jobPath, this.parsed.log, authConfig)
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 = _a.sent();
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.15",
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.3"
100
+ "version": "3.19.4"
101
101
  }