@sasjs/cli 3.8.1 → 3.8.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.
@@ -160,7 +160,7 @@ function getAndValidateServerUrl(target) {
160
160
  case 0: return [4 /*yield*/, (0, input_1.getUrl)('Please enter a target server URL (including port, if relevant): ', 'Server URL is required.', target === null || target === void 0 ? void 0 : target.serverUrl)];
161
161
  case 1:
162
162
  serverUrl = _a.sent();
163
- return [2 /*return*/, serverUrl];
163
+ return [2 /*return*/, serverUrl.replace(/\/$/, '')];
164
164
  }
165
165
  });
166
166
  });
@@ -221,7 +221,7 @@ function getBuildInfo(target, streamWeb) {
221
221
  ];
222
222
  case 5:
223
223
  dependencyFilePathsForCreateFile = _a.sent();
224
- return [4 /*yield*/, (0, utils_1.readFile)("".concat((0, config_1.getMacroCorePath)(), "/base/mp_gsubfile.sas"))];
224
+ return [4 /*yield*/, (0, utils_1.readFile)("".concat((0, config_1.getMacroCorePath)(), "/base/mp_replace.sas"))];
225
225
  case 6:
226
226
  gsubScript = _a.sent();
227
227
  buildConfig += "".concat(gsubScript, "\n");
@@ -4,7 +4,7 @@ exports.getLaunchPageCode = void 0;
4
4
  var error_1 = require("@sasjs/utils/error");
5
5
  var types_1 = require("@sasjs/utils/types");
6
6
  var SAS9Code = function (streamServiceName) { return "\noptions notes;\ndata _null_;\n format url $256.;\n rc=METADATA_GETURI(\"Stored Process Web App\",url);\n url=coalescec(url,\"localhost/SASStoredProcess\");\n urlEscaped = tranwrd(trim(url),\" \",\"%20\");\n putlog \"NOTE: SASjs Streaming App Created! Check it out here:\" ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\n putlog \"NOTE- \" urlEscaped +(-1) \"?_program=&appLoc/services/".concat(streamServiceName, "\" ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\nrun;\n"); };
7
- var SASViyaCode = function (streamServiceName) { return "\n\n/**\n * The streamService we just deployed (as a _FILE) had the compile-time appLoc\n * In this section we replace with the deploy-time appLoc\n */\n\nfilename _homein filesrvc\n folderPath=\"&apploc/services\"\n filename=\"".concat(streamServiceName, ".html\"\n recfm=v\n lrecl=1048544;\n\n%let local_file=%sysfunc(pathname(work))/service.html;\nfilename _homeout \"&local_file\";\n\ndata _null_;\n rc=fcopy('_homein','_homeout');\n put rc=;\nrun;\n\n%mp_gsubfile(file=&local_file, patternvar=compiled_apploc, replacevar=apploc)\n\ndata _null_;\n rc=fcopy('_homeout','_homein');\n put rc=;\nrun;\n\n/* Tell the user where the app was deployed so they can open it */\noptions notes;\ndata _null_;\n if symexist('_baseurl') then do;\n url=symget('_baseurl');\n if subpad(url,length(url)-9,9)='SASStudio'\n then url=substr(url,1,length(url)-11);\n else url=\"&systcpiphostname\";\n end;\n else url=\"&systcpiphostname\";\n url=cats(url,\"/SASJobExecution?_FILE=&appLoc/services/\");\n urlEscaped = tranwrd(trim(url),\" \",\"%20\");\n putlog \"NOTE: SASjs Streaming App Created! Check it out here:\" ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\n putlog \"NOTE- \" urlEscaped +(-1) '").concat(streamServiceName, ".html&_debug=2' ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\nrun;\n"); };
7
+ var SASViyaCode = function (streamServiceName) { return "\n\n/**\n * The streamService we just deployed (as a _FILE) had the compile-time appLoc\n * In this section we replace with the deploy-time appLoc\n */\n\nfilename _homein filesrvc\n folderPath=\"&apploc/services\"\n filename=\"".concat(streamServiceName, ".html\"\n recfm=v\n lrecl=1048544;\n\n%let local_file=%sysfunc(pathname(work))/service.html;\nfilename _homeout \"&local_file\";\n\ndata _null_;\n rc=fcopy('_homein','_homeout');\n put rc=;\nrun;\n\n%mp_replace(infile=\"&local_file\", findvar=compiled_apploc, replacevar=apploc)\n\ndata _null_;\n rc=fcopy('_homeout','_homein');\n put rc=;\nrun;\n\n/* Tell the user where the app was deployed so they can open it */\noptions notes;\ndata _null_;\n if symexist('_baseurl') then do;\n url=symget('_baseurl');\n if subpad(url,length(url)-9,9)='SASStudio'\n then url=substr(url,1,length(url)-11);\n else url=\"&systcpiphostname\";\n end;\n else url=\"&systcpiphostname\";\n url=cats(url,\"/SASJobExecution?_FILE=&appLoc/services/\");\n urlEscaped = tranwrd(trim(url),\" \",\"%20\");\n putlog \"NOTE: SASjs Streaming App Created! Check it out here:\" ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\n putlog \"NOTE- \" urlEscaped +(-1) '").concat(streamServiceName, ".html&_debug=2' ;\n putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";putlog \"NOTE- \";\nrun;\n"); };
8
8
  var getLaunchPageCode = function (serverType, streamServiceName) {
9
9
  switch (serverType) {
10
10
  case types_1.ServerType.SasViya:
@@ -0,0 +1,3 @@
1
+ export declare const testResponses: {
2
+ [key: string]: any;
3
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testResponses = void 0;
4
+ exports.testResponses = {
5
+ 'dostuff.test.0': [
6
+ {
7
+ TEST_DESCRIPTION: 'dostuff 0 test description',
8
+ TEST_RESULT: 'FAIL'
9
+ }
10
+ ],
11
+ 'dostuff.test.1': [
12
+ {
13
+ TEST_DESCRIPTION: 'dostuff 1 test description',
14
+ TEST_RESULT: 'PASS'
15
+ }
16
+ ],
17
+ 'examplemacro.test': [
18
+ {
19
+ TEST_DESCRIPTION: 'examplemacro test.1 description',
20
+ TEST_RESULT: 'PASS'
21
+ }
22
+ ]
23
+ };
@@ -10,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
13
32
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
33
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
34
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -54,9 +73,11 @@ var path_1 = __importDefault(require("path"));
54
73
  var test_1 = require("../test");
55
74
  var utils_1 = require("@sasjs/utils");
56
75
  var test_2 = require("../../../utils/test");
57
- var utils_2 = require("../../../utils");
76
+ var setConstants_1 = require("../../../utils/setConstants");
58
77
  var dotenv_1 = __importDefault(require("dotenv"));
59
78
  var __1 = require("../..");
79
+ var sasJsModules = __importStar(require("../../../utils/createSASjsInstance"));
80
+ var testResponses_1 = require("./mockedAdapter/testResponses");
60
81
  describe('sasjs test', function () {
61
82
  var expectedCoverageLcov = "TN:testsetup.sas\nSF:standalone\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:exampleprogram.test.sas\nSF:jobs/jobs/exampleprogram.sas\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:standalone.test.sas\nSF:standalone\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:examplemacro.test.sas\nSF:standalone\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:shouldFail.test.sas\nSF:standalone\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:dostuff.test.0.sas\nSF:services/admin/dostuff.sas\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:dostuff.test.1.sas\nSF:services/admin/dostuff.sas\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record\nTN:testteardown.sas\nSF:standalone\nFNF:1\nFNH:1\nLF:1\nLH:1\nBRF:1\nBRH:1\nend_of_record";
62
83
  describe('SASVIYA', function () {
@@ -76,23 +97,20 @@ describe('sasjs test', function () {
76
97
  _a.sent();
77
98
  return [4 /*yield*/, (0, __1.build)(target)];
78
99
  case 3:
79
- _a.sent();
80
- return [4 /*yield*/, (0, __1.deploy)(target, false)];
81
- case 4:
82
100
  _a.sent();
83
101
  process.logger = new utils_1.Logger(utils_1.LogLevel.Off);
84
102
  return [2 /*return*/];
85
103
  }
86
104
  });
87
105
  }); });
106
+ beforeEach(function () {
107
+ setupMocksForSASVIYA();
108
+ });
88
109
  afterAll(function () { return __awaiter(void 0, void 0, void 0, function () {
89
110
  return __generator(this, function (_a) {
90
111
  switch (_a.label) {
91
- case 0: return [4 /*yield*/, (0, test_2.removeTestServerFolder)("/Public/app/cli-tests/".concat(target.name), target)];
112
+ case 0: return [4 /*yield*/, (0, test_2.removeTestApp)(__dirname, target.name)];
92
113
  case 1:
93
- _a.sent();
94
- return [4 /*yield*/, (0, test_2.removeTestApp)(__dirname, target.name)];
95
- case 2:
96
114
  _a.sent();
97
115
  return [2 /*return*/];
98
116
  }
@@ -382,15 +400,15 @@ describe('sasjs test', function () {
382
400
  _a.sent();
383
401
  return [4 /*yield*/, (0, __1.build)(target)];
384
402
  case 3:
385
- _a.sent();
386
- return [4 /*yield*/, (0, __1.deploy)(target, false)];
387
- case 4:
388
403
  _a.sent();
389
404
  process.logger = new utils_1.Logger(utils_1.LogLevel.Off);
390
405
  return [2 /*return*/];
391
406
  }
392
407
  });
393
408
  }); });
409
+ beforeEach(function () {
410
+ setupMocksForSASJS();
411
+ });
394
412
  afterAll(function () { return __awaiter(void 0, void 0, void 0, function () {
395
413
  return __generator(this, function (_a) {
396
414
  switch (_a.label) {
@@ -574,7 +592,7 @@ function generateTarget(serverType) {
574
592
  ? process.env.SAS9_SERVER_URL
575
593
  : process.env.SASJS_SERVER_URL),
576
594
  appLoc: "/Public/app/cli-tests/".concat(targetName),
577
- contextName: utils_2.contextName,
595
+ contextName: setConstants_1.contextName,
578
596
  macroFolders: ['sasjs/macros'],
579
597
  serviceConfig: {
580
598
  serviceFolders: [],
@@ -631,3 +649,43 @@ var copyTestFiles = function (appName) { return __awaiter(void 0, void 0, void 0
631
649
  }
632
650
  });
633
651
  }); };
652
+ var setupMocksForSASVIYA = function () {
653
+ jest
654
+ .spyOn(sasJsModules, 'createSASjsInstance')
655
+ .mockImplementation(function (config) {
656
+ return {
657
+ request: function (sasJob) { return __awaiter(void 0, void 0, void 0, function () {
658
+ var testName;
659
+ return __generator(this, function (_a) {
660
+ testName = sasJob.split('/').pop() || '';
661
+ if (testName === 'shouldFail.test') {
662
+ throw {
663
+ errorCode: 404,
664
+ error: { details: { result: 'some log from server' } }
665
+ };
666
+ }
667
+ return [2 /*return*/, {
668
+ result: { test_results: testResponses_1.testResponses[testName] },
669
+ log: 'some log from server'
670
+ }];
671
+ });
672
+ }); }
673
+ };
674
+ });
675
+ };
676
+ var setupMocksForSASJS = function () {
677
+ jest
678
+ .spyOn(sasJsModules, 'createSASjsInstance')
679
+ .mockImplementation(function (config) {
680
+ return {
681
+ request: function (sasJob) { return __awaiter(void 0, void 0, void 0, function () {
682
+ var testName, test_results;
683
+ return __generator(this, function (_a) {
684
+ testName = sasJob.split('/').pop() || '';
685
+ test_results = testResponses_1.testResponses[testName];
686
+ return [2 /*return*/, { result: { test_results: test_results } }];
687
+ });
688
+ }); }
689
+ };
690
+ });
691
+ };
@@ -82,10 +82,10 @@ var file_1 = require("../../utils/file");
82
82
  var config_1 = require("../../utils/config");
83
83
  var displayResult_1 = require("../../utils/displayResult");
84
84
  var utils_1 = require("@sasjs/utils");
85
- var node_1 = __importDefault(require("@sasjs/adapter/node"));
86
85
  var path_1 = __importDefault(require("path"));
87
86
  var chalk_1 = __importDefault(require("chalk"));
88
87
  var utils_2 = require("../../utils/utils");
88
+ var createSASjsInstance_1 = require("../../utils/createSASjsInstance");
89
89
  function runTest(target, testRegExps, outDirectory, flowSourcePath) {
90
90
  var _a, _b;
91
91
  if (testRegExps === void 0) { testRegExps = []; }
@@ -146,7 +146,7 @@ function runTest(target, testRegExps, outDirectory, flowSourcePath) {
146
146
  })), false);
147
147
  if (testFlow.testTearDown)
148
148
  flow.push(testFlow.testTearDown);
149
- sasjs = new node_1.default({
149
+ sasjs = (0, createSASjsInstance_1.createSASjsInstance)({
150
150
  serverUrl: target.serverUrl,
151
151
  httpsAgentOptions: target.httpsAgentOptions,
152
152
  appLoc: target.appLoc,
@@ -204,14 +204,15 @@ function runTest(target, testRegExps, outDirectory, flowSourcePath) {
204
204
  }
205
205
  };
206
206
  return [4 /*yield*/, (0, utils_1.asyncForEach)(flow, function (test) { return __awaiter(_this, void 0, void 0, function () {
207
- var sasJobLocation, testTarget, testId, testUrl, printTestUrl, handleRes;
207
+ var pathSepRegExp, sasJobLocation, testTarget, testId, testUrl, printTestUrl;
208
208
  var _this = this;
209
209
  return __generator(this, function (_a) {
210
210
  switch (_a.label) {
211
211
  case 0:
212
+ pathSepRegExp = new RegExp(path_1.default.sep.replace(/\\/g, '\\\\'), 'g');
212
213
  sasJobLocation = [
213
214
  target.appLoc,
214
- test.replace(file_1.sasFileRegExp, '')
215
+ test.replace(pathSepRegExp, '/').replace(file_1.sasFileRegExp, '')
215
216
  ].join('/');
216
217
  testTarget = test
217
218
  .split('/')
@@ -224,108 +225,105 @@ function runTest(target, testRegExps, outDirectory, flowSourcePath) {
224
225
  }
225
226
  printTestUrl = function () { return process.logger.info("Test URL: ".concat(testUrl)); };
226
227
  printTestUrl();
227
- handleRes = function (res) { return __awaiter(_this, void 0, void 0, function () {
228
- var lineBreak, test_results, existingTestTarget, existingTestTarget;
229
- var _a, _b;
230
- return __generator(this, function (_c) {
231
- switch (_c.label) {
232
- case 0:
233
- lineBreak = true;
234
- test_results = (_a = res.result) === null || _a === void 0 ? void 0 : _a.test_results;
235
- if (!test_results) {
236
- (0, displayResult_1.displayError)({}, "Job did not return a response, to debug click ".concat(testUrl));
237
- printCodeExample();
238
- lineBreak = false;
239
- existingTestTarget = result.sasjs_test_meta.find(function (testResult) { return testResult.test_target === testTarget; });
240
- if (existingTestTarget) {
241
- existingTestTarget.results.push({
242
- test_loc: test,
243
- sasjs_test_id: testId,
244
- result: types_1.TestResultStatus.notProvided,
245
- test_url: testUrl
246
- });
247
- }
248
- else {
249
- result.sasjs_test_meta.push({
250
- test_target: testTarget,
251
- results: [
252
- {
253
- test_loc: test,
254
- sasjs_test_id: testId,
255
- result: types_1.TestResultStatus.notProvided,
256
- test_url: testUrl
257
- }
258
- ]
259
- });
260
- }
261
- }
262
- if (!res.log) return [3 /*break*/, 2];
263
- return [4 /*yield*/, (0, saveOutput_1.saveLog)(outDirectory, test, res.log, lineBreak)];
264
- case 1:
265
- _c.sent();
266
- _c.label = 2;
267
- case 2:
268
- if ((_b = res.result) === null || _b === void 0 ? void 0 : _b.test_results) {
269
- existingTestTarget = result.sasjs_test_meta.find(function (testResult) { return testResult.test_target === testTarget; });
270
- if (existingTestTarget) {
271
- existingTestTarget.results.push({
272
- test_loc: test,
273
- sasjs_test_id: testId,
274
- result: res.result.test_results,
275
- test_url: testUrl
276
- });
277
- }
278
- else {
279
- result.sasjs_test_meta.push({
280
- test_target: testTarget,
281
- results: [
282
- {
283
- test_loc: test,
284
- sasjs_test_id: testId,
285
- result: res.result.test_results,
286
- test_url: testUrl
287
- }
288
- ]
289
- });
290
- }
291
- }
292
- else if (target.serverType !== utils_1.ServerType.Sasjs) {
293
- (0, displayResult_1.displayError)({}, "'test_results' not found in server response, to debug click ".concat(testUrl));
294
- printCodeExample();
295
- }
296
- return [2 /*return*/];
297
- }
298
- });
299
- }); };
300
228
  return [4 /*yield*/, sasjs
301
229
  .request(sasJobLocation, {}, { username: username, password: password }, function () {
302
230
  (0, displayResult_1.displayError)(null, 'Login callback called. Request failed.');
303
231
  }, authConfig, ['log'])
304
- .then(handleRes)
305
- .catch(function (err) { return __awaiter(_this, void 0, void 0, function () {
306
- var _a, _b, _c;
307
- return __generator(this, function (_d) {
308
- switch (_d.label) {
232
+ .then(function (res) { return __awaiter(_this, void 0, void 0, function () {
233
+ var lineBreak, test_results, existingTestTarget, existingTestTarget;
234
+ var _a;
235
+ return __generator(this, function (_b) {
236
+ switch (_b.label) {
309
237
  case 0:
310
- if (!(((_a = err.error) === null || _a === void 0 ? void 0 : _a.message) === 'Error: invalid Json string')) return [3 /*break*/, 2];
311
- return [4 /*yield*/, handleRes({})];
238
+ lineBreak = true;
239
+ test_results = (_a = res.result) === null || _a === void 0 ? void 0 : _a.test_results;
240
+ if (!test_results) {
241
+ (0, displayResult_1.displayError)({}, "Job did not return a response, to debug click ".concat(testUrl));
242
+ printCodeExample();
243
+ lineBreak = false;
244
+ existingTestTarget = result.sasjs_test_meta.find(function (testResult) {
245
+ return testResult.test_target === testTarget;
246
+ });
247
+ if (existingTestTarget) {
248
+ existingTestTarget.results.push({
249
+ test_loc: test,
250
+ sasjs_test_id: testId,
251
+ result: types_1.TestResultStatus.notProvided,
252
+ test_url: testUrl
253
+ });
254
+ }
255
+ else {
256
+ result.sasjs_test_meta.push({
257
+ test_target: testTarget,
258
+ results: [
259
+ {
260
+ test_loc: test,
261
+ sasjs_test_id: testId,
262
+ result: types_1.TestResultStatus.notProvided,
263
+ test_url: testUrl
264
+ }
265
+ ]
266
+ });
267
+ }
268
+ }
269
+ if (!res.log) return [3 /*break*/, 2];
270
+ return [4 /*yield*/, (0, saveOutput_1.saveLog)(outDirectory, test, res.log, lineBreak)];
312
271
  case 1:
313
- _d.sent();
314
- return [2 /*return*/];
272
+ _b.sent();
273
+ _b.label = 2;
315
274
  case 2:
275
+ if (test_results) {
276
+ existingTestTarget = result.sasjs_test_meta.find(function (testResult) {
277
+ return testResult.test_target === testTarget;
278
+ });
279
+ if (existingTestTarget) {
280
+ existingTestTarget.results.push({
281
+ test_loc: test,
282
+ sasjs_test_id: testId,
283
+ result: test_results,
284
+ test_url: testUrl
285
+ });
286
+ }
287
+ else {
288
+ result.sasjs_test_meta.push({
289
+ test_target: testTarget,
290
+ results: [
291
+ {
292
+ test_loc: test,
293
+ sasjs_test_id: testId,
294
+ result: test_results,
295
+ test_url: testUrl
296
+ }
297
+ ]
298
+ });
299
+ }
300
+ }
301
+ else if (target.serverType !== utils_1.ServerType.Sasjs) {
302
+ (0, displayResult_1.displayError)({}, "'test_results' not found in server response, to debug click ".concat(testUrl));
303
+ printCodeExample();
304
+ }
305
+ return [2 /*return*/];
306
+ }
307
+ });
308
+ }); })
309
+ .catch(function (err) { return __awaiter(_this, void 0, void 0, function () {
310
+ var _a, _b;
311
+ return __generator(this, function (_c) {
312
+ switch (_c.label) {
313
+ case 0:
316
314
  printTestUrl();
317
- if (err && err.errorCode === 404) {
315
+ if ((err === null || err === void 0 ? void 0 : err.errorCode) === 404) {
318
316
  (0, utils_2.displaySasjsRunnerError)(username);
319
317
  }
320
318
  else {
321
319
  (0, displayResult_1.displayError)({}, "An error occurred while executing the request. Job location: ".concat(sasJobLocation));
322
320
  }
323
- if (!((_c = (_b = err === null || err === void 0 ? void 0 : err.error) === null || _b === void 0 ? void 0 : _b.details) === null || _c === void 0 ? void 0 : _c.result)) return [3 /*break*/, 4];
321
+ if (!((_b = (_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.details) === null || _b === void 0 ? void 0 : _b.result)) return [3 /*break*/, 2];
324
322
  return [4 /*yield*/, (0, saveOutput_1.saveLog)(outDirectory, test, err.error.details.result)];
325
- case 3:
326
- _d.sent();
327
- _d.label = 4;
328
- case 4: return [2 /*return*/];
323
+ case 1:
324
+ _c.sent();
325
+ _c.label = 2;
326
+ case 2: return [2 /*return*/];
329
327
  }
330
328
  });
331
329
  }); })];
@@ -0,0 +1,2 @@
1
+ import SASjs, { SASjsConfig } from '@sasjs/adapter/node';
2
+ export declare const createSASjsInstance: (config: Partial<SASjsConfig>) => SASjs;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createSASjsInstance = void 0;
7
+ var node_1 = __importDefault(require("@sasjs/adapter/node"));
8
+ var createSASjsInstance = function (config) {
9
+ return new node_1.default(config);
10
+ };
11
+ exports.createSASjsInstance = createSASjsInstance;
@@ -511,8 +511,8 @@ function getAdapterInstance(target) {
511
511
  exports.getAdapterInstance = getAdapterInstance;
512
512
  function displaySasjsRunnerError(username) {
513
513
  var _a;
514
- var sasjsRunnerCode = "\nfilename mc url \"https://raw.githubusercontent.com/sasjs/core/main/all.sas\";\n%inc mc;\nfilename ft15f001 temp;\nparmcards4;\n%macro sasjs_runner();\n%if %symexist(_webin_fileref) %then %do;\n%inc &_webin_fileref;\n%end;\n%mend sasjs_runner;\n%sasjs_runner()\n;;;;\n%mm_createwebservice(path=/User Folders/&sysuserid/My Folder/sasjs,name=runner)\n";
515
- var message = "The SASjs runner was not found in your user folder at /User Folders/".concat(username, "/My Folder/sasjs/runner.");
514
+ var sasjsRunnerCode = "\nfilename mc url \"https://raw.githubusercontent.com/sasjs/core/main/all.sas\";\n%inc mc;\nfilename ft15f001 temp;\nparmcards4;\n%macro sasjs_runner();\n%if %symexist(_webin_fileref) %then %do;\n%inc &_webin_fileref;\n%end;\n%mend sasjs_runner;\n%sasjs_runner()\n;;;;\n%mm_createwebservice(path=/User Folders/&_metauser/My Folder/sasjs,name=runner)\n";
515
+ var message = "The SASjs runner was not found in your user folder at /User Folders/&_metauser/My Folder/sasjs/runner.";
516
516
  (0, displayResult_1.displayError)(message, 'An error occurred while executing the request.');
517
517
  (_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("Please deploy the SASjs runner by running the code below and try again:\n".concat(sasjsRunnerCode));
518
518
  }
package/package.json CHANGED
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@sasjs/adapter": "3.7.8",
51
- "@sasjs/core": "4.12.0",
51
+ "@sasjs/core": "4.15.3",
52
52
  "@sasjs/lint": "1.11.2",
53
53
  "@sasjs/utils": "2.36.0",
54
54
  "chalk": "4.1.2",
@@ -94,5 +94,5 @@
94
94
  "typescript": "4.5.4",
95
95
  "util": "0.12.4"
96
96
  },
97
- "version": "3.8.1"
97
+ "version": "3.8.4"
98
98
  }