@sasjs/cli 4.0.6 → 4.0.7

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.
@@ -76,6 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
76
76
  exports.compileJobsServicesTests = exports.copyFilesToBuildFolder = exports.compile = void 0;
77
77
  var utils_1 = require("@sasjs/utils");
78
78
  var types_1 = require("@sasjs/utils/types");
79
+ var error_1 = require("@sasjs/utils/error");
79
80
  var path_1 = __importDefault(require("path"));
80
81
  var config_1 = require("../../utils/config");
81
82
  var file_1 = require("../../utils/file");
@@ -173,7 +174,7 @@ exports.compile = compile;
173
174
  function copyFilesToBuildFolder(target) {
174
175
  var _a, _b;
175
176
  return __awaiter(this, void 0, void 0, function () {
176
- var buildDestinationFolder, serviceFolders, jobFolders, error_1;
177
+ var buildDestinationFolder, serviceFolders, jobFolders, error_2;
177
178
  var _this = this;
178
179
  return __generator(this, function (_c) {
179
180
  switch (_c.label) {
@@ -228,9 +229,9 @@ function copyFilesToBuildFolder(target) {
228
229
  _c.sent();
229
230
  return [3 /*break*/, 8];
230
231
  case 7:
231
- error_1 = _c.sent();
232
+ error_2 = _c.sent();
232
233
  (_b = process.logger) === null || _b === void 0 ? void 0 : _b.error("An error has occurred when copying files to ".concat(buildDestinationFolder, " ."));
233
- throw error_1;
234
+ throw error_2;
234
235
  case 8: return [2 /*return*/];
235
236
  }
236
237
  });
@@ -238,43 +239,46 @@ function copyFilesToBuildFolder(target) {
238
239
  }
239
240
  exports.copyFilesToBuildFolder = copyFilesToBuildFolder;
240
241
  function compileJobsServicesTests(target, compileTree) {
241
- var _a;
242
242
  return __awaiter(this, void 0, void 0, function () {
243
- var serviceFolders, jobFolders, macroFolders_1, programFolders_2, testSetUp, testTearDown, error_2;
243
+ var serviceFolders, jobFolders, macroFolders_1, programFolders_2, testSetUp, testTearDown, error_3;
244
244
  var _this = this;
245
- return __generator(this, function (_b) {
246
- switch (_b.label) {
245
+ return __generator(this, function (_a) {
246
+ switch (_a.label) {
247
247
  case 0:
248
- _b.trys.push([0, 13, , 14]);
248
+ _a.trys.push([0, 13, , 14]);
249
249
  return [4 /*yield*/, (0, getAllFolders_1.getAllFolders)(target, getAllFolders_1.SasFileType.Service)];
250
250
  case 1:
251
- serviceFolders = _b.sent();
251
+ serviceFolders = _a.sent();
252
252
  return [4 /*yield*/, (0, getAllFolders_1.getAllFolders)(target, getAllFolders_1.SasFileType.Job)];
253
253
  case 2:
254
- jobFolders = _b.sent();
254
+ jobFolders = _a.sent();
255
255
  return [4 /*yield*/, (0, config_1.getMacroFolders)(target)];
256
256
  case 3:
257
- macroFolders_1 = _b.sent();
257
+ macroFolders_1 = _a.sent();
258
258
  return [4 /*yield*/, (0, config_1.getProgramFolders)(target)];
259
259
  case 4:
260
- programFolders_2 = _b.sent();
260
+ programFolders_2 = _a.sent();
261
261
  return [4 /*yield*/, (0, config_1.getTestSetUp)(target)];
262
262
  case 5:
263
- testSetUp = _b.sent();
263
+ testSetUp = _a.sent();
264
264
  return [4 /*yield*/, (0, config_1.getTestTearDown)(target)];
265
265
  case 6:
266
- testTearDown = _b.sent();
266
+ testTearDown = _a.sent();
267
267
  if (!testSetUp) return [3 /*break*/, 8];
268
- return [4 /*yield*/, (0, compileTestFile_1.compileTestFile)(target, testSetUp, '', true, false, compileTree).catch(function (err) { var _a; return (_a = process.logger) === null || _a === void 0 ? void 0 : _a.error('Test set up compilation has failed.'); })];
268
+ return [4 /*yield*/, (0, compileTestFile_1.compileTestFile)(target, testSetUp, '', true, false, compileTree).catch(function (err) {
269
+ throw (0, error_1.prefixMessage)(err, 'Test set up compilation has failed. ');
270
+ })];
269
271
  case 7:
270
- _b.sent();
271
- _b.label = 8;
272
+ _a.sent();
273
+ _a.label = 8;
272
274
  case 8:
273
275
  if (!testTearDown) return [3 /*break*/, 10];
274
- return [4 /*yield*/, (0, compileTestFile_1.compileTestFile)(target, testTearDown, '', true, false, compileTree).catch(function (err) { var _a; return (_a = process.logger) === null || _a === void 0 ? void 0 : _a.error('Test tear down compilation has failed.'); })];
276
+ return [4 /*yield*/, (0, compileTestFile_1.compileTestFile)(target, testTearDown, '', true, false, compileTree).catch(function (err) {
277
+ throw (0, error_1.prefixMessage)(err, 'Test tear down compilation has failed. ');
278
+ })];
275
279
  case 9:
276
- _b.sent();
277
- _b.label = 10;
280
+ _a.sent();
281
+ _a.label = 10;
278
282
  case 10: return [4 /*yield*/, (0, utils_1.asyncForEach)(serviceFolders, function (serviceFolder) { return __awaiter(_this, void 0, void 0, function () {
279
283
  return __generator(this, function (_a) {
280
284
  switch (_a.label) {
@@ -286,7 +290,7 @@ function compileJobsServicesTests(target, compileTree) {
286
290
  });
287
291
  }); })];
288
292
  case 11:
289
- _b.sent();
293
+ _a.sent();
290
294
  return [4 /*yield*/, (0, utils_1.asyncForEach)(jobFolders, function (jobFolder) { return __awaiter(_this, void 0, void 0, function () {
291
295
  return __generator(this, function (_a) {
292
296
  switch (_a.label) {
@@ -298,12 +302,11 @@ function compileJobsServicesTests(target, compileTree) {
298
302
  });
299
303
  }); })];
300
304
  case 12:
301
- _b.sent();
305
+ _a.sent();
302
306
  return [3 /*break*/, 14];
303
307
  case 13:
304
- error_2 = _b.sent();
305
- (_a = process.logger) === null || _a === void 0 ? void 0 : _a.error('An error has occurred when compiling your jobs and services.');
306
- throw error_2;
308
+ error_3 = _a.sent();
309
+ throw error_3;
307
310
  case 14: return [2 /*return*/];
308
311
  }
309
312
  });
@@ -169,7 +169,7 @@ var CompileCommand = /** @class */ (function (_super) {
169
169
  return command_1.ReturnCode.Success;
170
170
  })
171
171
  .catch(function (err) {
172
- (0, utils_1.displayError)(err, 'An error has occurred when compiling services.');
172
+ (0, utils_1.displayError)(err, 'An error has occurred during compilation.');
173
173
  return command_1.ReturnCode.InternalError;
174
174
  })];
175
175
  case 2: return [2 /*return*/, _a.sent()];
@@ -82,6 +82,8 @@ var compileSingleFile_1 = require("../compileSingleFile");
82
82
  var compileFile = __importStar(require("../internal/compileFile"));
83
83
  var utils_2 = require("../../../utils");
84
84
  var compileCommand_1 = require("../compileCommand");
85
+ var error_1 = require("@sasjs/utils/error");
86
+ var compileTestFileModule = __importStar(require("../internal/compileTestFile"));
85
87
  describe('sasjs compile', function () {
86
88
  var sharedAppName;
87
89
  var appName;
@@ -280,6 +282,46 @@ describe('sasjs compile', function () {
280
282
  }
281
283
  });
282
284
  }); });
285
+ it('should fail to compile if testSetUp is present and test file compilation failed', function () { return __awaiter(void 0, void 0, void 0, function () {
286
+ var testSetUpFile, compileTestFileError, testTarget, expectedError;
287
+ return __generator(this, function (_a) {
288
+ switch (_a.label) {
289
+ case 0:
290
+ testSetUpFile = 'WRONG.sas';
291
+ compileTestFileError = "ENOENT: no such file or directory, open '".concat(testSetUpFile, "'");
292
+ testTarget = __assign({}, target);
293
+ testTarget.testConfig = { testSetUp: testSetUpFile };
294
+ jest
295
+ .spyOn(compileTestFileModule, 'compileTestFile')
296
+ .mockImplementation(function () { return Promise.reject(compileTestFileError); });
297
+ expectedError = (0, error_1.prefixMessage)(compileTestFileError, 'Test set up compilation has failed. ');
298
+ return [4 /*yield*/, expect(compileModule.compile(testTarget)).rejects.toEqual(expectedError)];
299
+ case 1:
300
+ _a.sent();
301
+ return [2 /*return*/];
302
+ }
303
+ });
304
+ }); });
305
+ it('should fail to compile if testTearDown is present and test file compilation failed', function () { return __awaiter(void 0, void 0, void 0, function () {
306
+ var testTearDownFile, compileTestFileError, testTarget, expectedError;
307
+ return __generator(this, function (_a) {
308
+ switch (_a.label) {
309
+ case 0:
310
+ testTearDownFile = 'WRONG.sas';
311
+ compileTestFileError = "ENOENT: no such file or directory, open '".concat(testTearDownFile, "'");
312
+ testTarget = __assign({}, target);
313
+ testTarget.testConfig = { testTearDown: testTearDownFile };
314
+ jest
315
+ .spyOn(compileTestFileModule, 'compileTestFile')
316
+ .mockImplementation(function () { return Promise.reject(compileTestFileError); });
317
+ expectedError = (0, error_1.prefixMessage)(compileTestFileError, 'Test tear down compilation has failed. ');
318
+ return [4 /*yield*/, expect(compileModule.compile(testTarget)).rejects.toEqual(expectedError)];
319
+ case 1:
320
+ _a.sent();
321
+ return [2 /*return*/];
322
+ }
323
+ });
324
+ }); });
283
325
  });
284
326
  describe('sasjs compile single file', function () {
285
327
  var appName;
package/package.json CHANGED
@@ -102,5 +102,5 @@
102
102
  "typescript": "4.9.5",
103
103
  "util": "0.12.4"
104
104
  },
105
- "version": "4.0.6"
105
+ "version": "4.0.7"
106
106
  }