@sasjs/cli 3.20.4 → 3.21.0

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.
@@ -1,5 +1,5 @@
1
1
  import { CompileTree } from '@sasjs/utils';
2
- import { Target, ServerType, SASJsFileType } from '@sasjs/utils/types';
2
+ import { Target, SASJsFileType } from '@sasjs/utils/types';
3
3
  /**
4
4
  * Compiles file dependencies.
5
5
  * @param {Target} target - SAS server configuration.
@@ -12,4 +12,3 @@ import { Target, ServerType, SASJsFileType } from '@sasjs/utils/types';
12
12
  * @param {string} sourceFolder - folder path of the source folder.
13
13
  */
14
14
  export declare function compileFile(target: Target, filePath: string, macroFolders: string[], programFolders: string[], programVar: string | undefined, compileTree: CompileTree, fileType: SASJsFileType, sourceFolder: string): Promise<void>;
15
- export declare function getPreCodeForServicePack(serverType: ServerType): Promise<string>;
@@ -39,12 +39,10 @@ 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.getPreCodeForServicePack = exports.compileFile = void 0;
42
+ exports.compileFile = void 0;
43
43
  var utils_1 = require("@sasjs/utils");
44
44
  var types_1 = require("@sasjs/utils/types");
45
- var error_1 = require("@sasjs/utils/error");
46
45
  var loadDependencies_1 = require("./loadDependencies");
47
- var getServerType_1 = require("./getServerType");
48
46
  var path_1 = __importDefault(require("path"));
49
47
  /**
50
48
  * Compiles file dependencies.
@@ -60,7 +58,7 @@ var path_1 = __importDefault(require("path"));
60
58
  function compileFile(target, filePath, macroFolders, programFolders, programVar, compileTree, fileType, sourceFolder) {
61
59
  if (programVar === void 0) { programVar = ''; }
62
60
  return __awaiter(this, void 0, void 0, function () {
63
- var dependencies, serverType, preCode;
61
+ var dependencies;
64
62
  return __generator(this, function (_a) {
65
63
  switch (_a.label) {
66
64
  case 0: return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, sourceFolder
@@ -68,20 +66,14 @@ function compileFile(target, filePath, macroFolders, programFolders, programVar,
68
66
  : filePath, macroFolders, programFolders, (0, utils_1.isTestFile)(filePath) ? types_1.SASJsFileType.test : fileType, compileTree)];
69
67
  case 1:
70
68
  dependencies = _a.sent();
71
- if (!(fileType === types_1.SASJsFileType.service)) return [3 /*break*/, 4];
72
- return [4 /*yield*/, (0, getServerType_1.getServerType)(target)];
69
+ if (fileType === types_1.SASJsFileType.service) {
70
+ dependencies = "".concat(programVar, "\n").concat(dependencies);
71
+ }
72
+ else {
73
+ dependencies = "".concat(programVar ? programVar + '\n' : '').concat(dependencies);
74
+ }
75
+ return [4 /*yield*/, (0, utils_1.createFile)(filePath, dependencies)];
73
76
  case 2:
74
- serverType = _a.sent();
75
- return [4 /*yield*/, getPreCodeForServicePack(serverType)];
76
- case 3:
77
- preCode = _a.sent();
78
- dependencies = "".concat(programVar, "\n").concat(preCode, "\n").concat(dependencies);
79
- return [3 /*break*/, 5];
80
- case 4:
81
- dependencies = "".concat(programVar ? programVar + '\n' : '').concat(dependencies);
82
- _a.label = 5;
83
- case 5: return [4 /*yield*/, (0, utils_1.createFile)(filePath, dependencies)];
84
- case 6:
85
77
  _a.sent();
86
78
  return [2 /*return*/];
87
79
  }
@@ -89,103 +81,3 @@ function compileFile(target, filePath, macroFolders, programFolders, programVar,
89
81
  });
90
82
  }
91
83
  exports.compileFile = compileFile;
92
- function getPreCodeForServicePack(serverType) {
93
- return __awaiter(this, void 0, void 0, function () {
94
- var content, macroCorePath, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
95
- return __generator(this, function (_l) {
96
- switch (_l.label) {
97
- case 0:
98
- content = '';
99
- macroCorePath = process.sasjsConstants.macroCorePath;
100
- _a = serverType;
101
- switch (_a) {
102
- case types_1.ServerType.SasViya: return [3 /*break*/, 1];
103
- case types_1.ServerType.Sas9: return [3 /*break*/, 5];
104
- case types_1.ServerType.Sasjs: return [3 /*break*/, 9];
105
- }
106
- return [3 /*break*/, 13];
107
- case 1:
108
- _b = content;
109
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mf_getuser.sas"))];
110
- case 2:
111
- content = _b + _l.sent();
112
- _c = content;
113
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mp_jsonout.sas"))];
114
- case 3:
115
- content = _c + _l.sent();
116
- _d = content;
117
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/viya/mv_webout.sas"))];
118
- case 4:
119
- content = _d + _l.sent();
120
- content +=
121
- '/* if calling viya service with _job param, _program will conflict */\n' +
122
- '/* so we provide instead as __program */\n' +
123
- '%global __program _program;\n' +
124
- '%let _program=%sysfunc(coalescec(&__program,&_program));\n' +
125
- '%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n' +
126
- ' %mv_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n' +
127
- ' ,missing=&missing\n' +
128
- ' ,showmeta=&showmeta\n' +
129
- ' ,maxobs=&maxobs\n' +
130
- ' )' +
131
- '%mend;\n';
132
- return [3 /*break*/, 14];
133
- case 5:
134
- _e = content;
135
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mf_getuser.sas"))];
136
- case 6:
137
- content = _e + _l.sent();
138
- _f = content;
139
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mp_jsonout.sas"))];
140
- case 7:
141
- content = _f + _l.sent();
142
- _g = content;
143
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/meta/mm_webout.sas"))];
144
- case 8:
145
- content = _g + _l.sent();
146
- content +=
147
- ' %macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n' +
148
- ' %mm_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n' +
149
- ' ,missing=&missing\n' +
150
- ' ,showmeta=&showmeta\n' +
151
- ' ,maxobs=&maxobs\n' +
152
- ' )' +
153
- ' %mend;\n';
154
- return [3 /*break*/, 14];
155
- case 9:
156
- _h = content;
157
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mf_getuser.sas"))];
158
- case 10:
159
- content = _h + _l.sent();
160
- _j = content;
161
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/base/mp_jsonout.sas"))];
162
- case 11:
163
- content = _j + _l.sent();
164
- _k = content;
165
- return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/server/ms_webout.sas"))];
166
- case 12:
167
- content = _k + _l.sent();
168
- content +=
169
- ' %macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n' +
170
- ' %ms_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n' +
171
- ' ,missing=&missing\n' +
172
- ' ,showmeta=&showmeta\n' +
173
- ' ,maxobs=&maxobs\n' +
174
- ' )' +
175
- ' %mend;\n';
176
- return [3 /*break*/, 14];
177
- case 13: throw new error_1.ServerTypeError();
178
- case 14:
179
- content +=
180
- '/* provide additional debug info */\n' +
181
- '%global _program;\n' +
182
- '%put &=syscc;\n' +
183
- '%put user=%mf_getuser();\n' +
184
- '%put pgm=&_program;\n' +
185
- '%put timestamp=%sysfunc(datetime(),datetime19.);\n';
186
- return [2 /*return*/, content];
187
- }
188
- });
189
- });
190
- }
191
- exports.getPreCodeForServicePack = getPreCodeForServicePack;
@@ -72,7 +72,6 @@ var loadDependencies_1 = require("./loadDependencies");
72
72
  var file_1 = require("../../../utils/file");
73
73
  var chalk_1 = __importDefault(require("chalk"));
74
74
  var config_1 = require("../../../utils/config");
75
- var compileFile_1 = require("./compileFile");
76
75
  var testsBuildFolder = function () {
77
76
  return path_1.default.join(process.projectDir, 'sasjsbuild', 'tests');
78
77
  };
@@ -82,7 +81,7 @@ function compileTestFile(target, filePath, testVar, saveToRoot, removeOriginalFi
82
81
  if (saveToRoot === void 0) { saveToRoot = true; }
83
82
  if (removeOriginalFile === void 0) { removeOriginalFile = true; }
84
83
  return __awaiter(this, void 0, void 0, function () {
85
- var dependencies, _a, _b, preCode, destinationPath;
84
+ var dependencies, _a, _b, destinationPath;
86
85
  return __generator(this, function (_c) {
87
86
  switch (_c.label) {
88
87
  case 0:
@@ -97,10 +96,7 @@ function compileTestFile(target, filePath, testVar, saveToRoot, removeOriginalFi
97
96
  compileTree]))];
98
97
  case 3:
99
98
  dependencies = _c.sent();
100
- return [4 /*yield*/, (0, compileFile_1.getPreCodeForServicePack)(target.serverType)];
101
- case 4:
102
- preCode = _c.sent();
103
- dependencies = "".concat(testVar ? testVar + '\n' : '', "\n").concat(preCode, "\n").concat(dependencies);
99
+ dependencies = "".concat(testVar ? testVar + '\n' : '', "\n").concat(dependencies);
104
100
  destinationPath = path_1.default.join(testsBuildFolder(), saveToRoot
105
101
  ? filePath.split(path_1.default.sep).pop() || ''
106
102
  : filePath
@@ -112,14 +108,14 @@ function compileTestFile(target, filePath, testVar, saveToRoot, removeOriginalFi
112
108
  }, [])
113
109
  .join(path_1.default.sep));
114
110
  return [4 /*yield*/, (0, utils_1.createFile)(destinationPath, dependencies)];
115
- case 5:
111
+ case 4:
116
112
  _c.sent();
117
- if (!removeOriginalFile) return [3 /*break*/, 7];
113
+ if (!removeOriginalFile) return [3 /*break*/, 6];
118
114
  return [4 /*yield*/, (0, utils_1.deleteFile)(filePath)];
119
- case 6:
115
+ case 5:
120
116
  _c.sent();
121
- _c.label = 7;
122
- case 7: return [2 /*return*/];
117
+ _c.label = 6;
118
+ case 6: return [2 /*return*/];
123
119
  }
124
120
  });
125
121
  });
@@ -137,7 +137,7 @@ describe('CompileCommand', function () {
137
137
  targetInfo = _a.sent();
138
138
  expect(command.name).toEqual('compile');
139
139
  expect(command.subCommand).toEqual('');
140
- expect(targetInfo.target).toEqual(target);
140
+ expect(JSON.stringify(targetInfo.target)).toEqual(JSON.stringify(target));
141
141
  expect(targetInfo.isLocal).toBeTrue();
142
142
  return [2 /*return*/];
143
143
  }
@@ -264,7 +264,7 @@ describe('CompileCommand', function () {
264
264
  targetInfo = _a.sent();
265
265
  expect(command.name).toEqual('compile');
266
266
  expect(command.subCommand).toEqual('job');
267
- expect(targetInfo.target).toEqual(target);
267
+ expect(JSON.stringify(targetInfo.target)).toEqual(JSON.stringify(target));
268
268
  expect(targetInfo.isLocal).toBeTrue();
269
269
  return [2 /*return*/];
270
270
  }
@@ -289,14 +289,14 @@ describe('CompileCommand', function () {
289
289
  targetInfo = _a.sent();
290
290
  expect(command.name).toEqual('compile');
291
291
  expect(command.subCommand).toEqual('job');
292
- expect(targetInfo.target).toEqual(target);
292
+ expect(JSON.stringify(targetInfo.target)).toEqual(JSON.stringify(target));
293
293
  expect(targetInfo.isLocal).toBeTrue();
294
294
  return [2 /*return*/];
295
295
  }
296
296
  });
297
297
  }); });
298
298
  it('should call the compileSingleFile handler when executed with the correct target', function () { return __awaiter(void 0, void 0, void 0, function () {
299
- var args, command;
299
+ var args, command, expectedTarget;
300
300
  return __generator(this, function (_a) {
301
301
  switch (_a.label) {
302
302
  case 0:
@@ -312,7 +312,12 @@ describe('CompileCommand', function () {
312
312
  return [4 /*yield*/, command.execute()];
313
313
  case 1:
314
314
  _a.sent();
315
- expect(compileSingleFileModule.compileSingleFile).toHaveBeenCalledWith(target, 'job', path_1.default.join(os_1.default.homedir(), 'test.sas'), expect.anything());
315
+ expectedTarget = {};
316
+ Object.keys(target).forEach(function (key) {
317
+ expectedTarget[key] = target[key];
318
+ });
319
+ delete expectedTarget.getConfig;
320
+ expect(compileSingleFileModule.compileSingleFile).toHaveBeenCalledWith(expect.objectContaining(expectedTarget), 'job', path_1.default.join(os_1.default.homedir(), 'test.sas'), expect.anything());
316
321
  return [2 /*return*/];
317
322
  }
318
323
  });
@@ -76,6 +76,7 @@ var getInitTerm_1 = require("@sasjs/utils/sasjsCli/getInitTerm");
76
76
  var test_1 = require("../../../utils/test");
77
77
  var utils_2 = require("../../../utils");
78
78
  var loadDependencies_1 = require("../internal/loadDependencies");
79
+ var getAllFolders_1 = require("../internal/getAllFolders");
79
80
  var fakeInit = "/**\n @file serviceinit.sas\n @brief this file is called with every service\n @details This file is included in *every* service, *after* the macros and *before* the service code.\n\n ".concat(utils_1.DependencyHeader.Macro, "\n @li mf_abort.sas\n\n**/\n\noptions\n DATASTMTCHK=ALLKEYWORDS /* some sites have this enabled */\n PS=MAX /* reduce log size slightly */\n;\n%put service is starting!!;");
80
81
  var fakeTerm = "/**\n @file serviceterm.sas\n @brief this file is called at the end of every service\n @details This file is included at the *end* of every service.\n\n ".concat(utils_1.DependencyHeader.Macro, "\n @li mf_abort.sas\n @li mf_existds.sas\n\n**/\n\n%put service is finishing. Thanks, SASjs!;");
81
82
  var fakeInit2 = "/**\n @file serviceinit.sas\n @brief this file is called with every service\n @details This file is included in *every* service, *after* the macros and *before* the service code.\n\n ".concat(utils_1.DependencyHeader.Macro, "\n @li mf_abort.sas\n\n**/\n\noptions\n DATASTMTCHK=ALLKEYWORDS /* some sites have this enabled */\n PS=MAX /* reduce log size slightly */\n;\n%put service is starting!!;");
@@ -123,7 +124,7 @@ var serviceConfig = function (root) {
123
124
  }
124
125
  });
125
126
  };
126
- var compiledVars = function (type) { return "* ".concat(type, " Variables start;\n\n%let macrovar1=macro ").concat(type.toLowerCase(), " value configuration 1;\n%let macrovar2=macro ").concat(type.toLowerCase(), " value target 2;\n%let macrovar3=macro ").concat(type.toLowerCase(), " value target 3;\n\n* ").concat(type, " Variables end;"); };
127
+ var compiledVars = function (type) { return "* ".concat((0, utils_1.capitalizeFirstChar)(type), " Variables start;\n\n%let macrovar1=macro ").concat(type.toLowerCase(), " value configuration 1;\n%let macrovar2=macro ").concat(type.toLowerCase(), " value target 2;\n%let macrovar3=macro ").concat(type.toLowerCase(), " value target 3;\n\n* ").concat((0, utils_1.capitalizeFirstChar)(type), " Variables end;"); };
127
128
  describe('loadDependencies', function () {
128
129
  var appName = "cli-tests-load-dependencies-".concat((0, utils_1.generateTimestamp)());
129
130
  var temp = (0, test_1.generateTestTarget)(appName, '/Public/app', {
@@ -173,7 +174,7 @@ describe('loadDependencies', function () {
173
174
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [], [], utils_1.SASJsFileType.service, compileTree)];
174
175
  case 1:
175
176
  dependencies = _a.sent();
176
- expect(dependencies).toStartWith(compiledVars('Service'));
177
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
177
178
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
178
179
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
179
180
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -193,7 +194,7 @@ describe('loadDependencies', function () {
193
194
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [], [], utils_1.SASJsFileType.job, compileTree)];
194
195
  case 1:
195
196
  dependencies = _a.sent();
196
- expect(dependencies).toStartWith(compiledVars('Job'));
197
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
197
198
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
198
199
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
199
200
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -213,7 +214,7 @@ describe('loadDependencies', function () {
213
214
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [], [], utils_1.SASJsFileType.service, compileTree)];
214
215
  case 1:
215
216
  dependencies = _a.sent();
216
- expect(dependencies).toStartWith(compiledVars('Service'));
217
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
217
218
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
218
219
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
219
220
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -233,7 +234,7 @@ describe('loadDependencies', function () {
233
234
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [], [], utils_1.SASJsFileType.job, compileTree)];
234
235
  case 1:
235
236
  dependencies = _a.sent();
236
- expect(dependencies).toStartWith(compiledVars('Job'));
237
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
237
238
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
238
239
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
239
240
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -253,7 +254,7 @@ describe('loadDependencies', function () {
253
254
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.service, compileTree)];
254
255
  case 1:
255
256
  dependencies = _a.sent();
256
- expect(dependencies).toStartWith(compiledVars('Service'));
257
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
257
258
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
258
259
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
259
260
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -273,7 +274,7 @@ describe('loadDependencies', function () {
273
274
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.job, compileTree)];
274
275
  case 1:
275
276
  dependencies = _a.sent();
276
- expect(dependencies).toStartWith(compiledVars('Job'));
277
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
277
278
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
278
279
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
279
280
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -293,7 +294,7 @@ describe('loadDependencies', function () {
293
294
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.service, compileTree)];
294
295
  case 1:
295
296
  dependencies = _a.sent();
296
- expect(dependencies).toStartWith(compiledVars('Service'));
297
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
297
298
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
298
299
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
299
300
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -313,7 +314,7 @@ describe('loadDependencies', function () {
313
314
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.job, compileTree)];
314
315
  case 1:
315
316
  dependencies = _a.sent();
316
- expect(dependencies).toStartWith(compiledVars('Job'));
317
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
317
318
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
318
319
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
319
320
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -333,7 +334,7 @@ describe('loadDependencies', function () {
333
334
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.job, compileTree)];
334
335
  case 1:
335
336
  dependencies = _a.sent();
336
- expect(dependencies).toStartWith(compiledVars('Job'));
337
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
337
338
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
338
339
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
339
340
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -356,7 +357,7 @@ describe('loadDependencies', function () {
356
357
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.job, compileTree)];
357
358
  case 1:
358
359
  dependencies = _a.sent();
359
- expect(dependencies).toStartWith(compiledVars('Job'));
360
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Job));
360
361
  expect(/\* JobInit start;/.test(dependencies)).toEqual(true);
361
362
  expect(/\* JobInit end;/.test(dependencies)).toEqual(true);
362
363
  expect(/\* JobTerm start;/.test(dependencies)).toEqual(true);
@@ -378,7 +379,7 @@ describe('loadDependencies', function () {
378
379
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.service, compileTree)];
379
380
  case 1:
380
381
  dependencies = _a.sent();
381
- expect(dependencies).toStartWith(compiledVars('Service'));
382
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
382
383
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
383
384
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
384
385
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -401,7 +402,7 @@ describe('loadDependencies', function () {
401
402
  return [4 /*yield*/, (0, loadDependencies_1.loadDependencies)(target, path_1.default.join(__dirname, './service.sas'), [path_1.default.join(__dirname, './macros')], [path_1.default.join(__dirname, './'), path_1.default.join(__dirname, './services')], utils_1.SASJsFileType.service, compileTree)];
402
403
  case 1:
403
404
  dependencies = _a.sent();
404
- expect(dependencies).toStartWith(compiledVars('Service'));
405
+ expect(dependencies).toContain(compiledVars(getAllFolders_1.SasFileType.Service));
405
406
  expect(/\* ServiceInit start;/.test(dependencies)).toEqual(true);
406
407
  expect(/\* ServiceInit end;/.test(dependencies)).toEqual(true);
407
408
  expect(/\* ServiceTerm start;/.test(dependencies)).toEqual(true);
@@ -151,13 +151,7 @@ describe('sasjs cbd with server type SASJS', function () {
151
151
  return [4 /*yield*/, (0, utils_1.readFile)("".concat(macroCorePath, "/server/ms_webout.sas"))];
152
152
  case 8:
153
153
  ms_webout = _b.sent();
154
- webout = ' %macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n' +
155
- ' %ms_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n' +
156
- ' ,missing=&missing\n' +
157
- ' ,showmeta=&showmeta\n' +
158
- ' ,maxobs=&maxobs\n' +
159
- ' )' +
160
- ' %mend;\n';
154
+ webout = "%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n %ms_webout(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n ,missing=&missing\n ,showmeta=&showmeta\n ,maxobs=&maxobs\n ) %mend;\n";
161
155
  mocksPath = path_1.default.join(__dirname, appName, 'sasjs', 'mocks');
162
156
  appinitJSPath = path_1.default.join(mocksPath, 'services', 'common', 'appinit.js');
163
157
  getdataJSPath = path_1.default.join(mocksPath, 'services', 'common', 'getdata.js');
@@ -131,9 +131,8 @@ function findTargetInConfiguration(targetName, targetScope) {
131
131
  case 0: return [4 /*yield*/, getProjectRoot()];
132
132
  case 1:
133
133
  rootDir = _g.sent();
134
- if (rootDir !== process.projectDir) {
134
+ if (rootDir !== process.projectDir)
135
135
  process.projectDir = rootDir;
136
- }
137
136
  if (!(targetScope === targetScope_1.TargetScope.Local)) return [3 /*break*/, 6];
138
137
  if (!targetName) return [3 /*break*/, 3];
139
138
  _c = {};
@@ -258,7 +257,7 @@ function getLocalTarget(targetName) {
258
257
  case 2:
259
258
  _b.httpsAgentOptions =
260
259
  _c.sent();
261
- return [2 /*return*/, new utils_1.Target(targetJson)];
260
+ return [2 /*return*/, new utils_1.Target(targetJson, localConfig)];
262
261
  case 3: throw new Error(ERROR_MESSAGE(targetName).NOT_FOUND_TARGET_NAME);
263
262
  }
264
263
  });
@@ -293,7 +292,7 @@ function getLocalFallbackTarget() {
293
292
  return [4 /*yield*/, (0, utils_2.loadEnvVariables)(".env.".concat(fallBackTargetJson.name))];
294
293
  case 3:
295
294
  _d.sent();
296
- return [2 /*return*/, new utils_1.Target(fallBackTargetJson)];
295
+ return [2 /*return*/, new utils_1.Target(fallBackTargetJson, localConfig)];
297
296
  case 4: throw new Error(ERROR_MESSAGE().NOT_FOUND_FALLBACK);
298
297
  }
299
298
  });
@@ -322,7 +321,7 @@ function getGlobalTarget(targetName) {
322
321
  case 2:
323
322
  _b.httpsAgentOptions =
324
323
  _c.sent();
325
- return [2 /*return*/, new utils_1.Target(targetJson)];
324
+ return [2 /*return*/, new utils_1.Target(targetJson, globalConfig)];
326
325
  case 3: throw new Error(ERROR_MESSAGE(targetName).NOT_FOUND_TARGET_NAME);
327
326
  }
328
327
  });
@@ -353,7 +352,7 @@ function getGlobalFallbackTarget() {
353
352
  case 2:
354
353
  _c.httpsAgentOptions =
355
354
  _d.sent();
356
- return [2 /*return*/, new utils_1.Target(fallBackTargetJson)];
355
+ return [2 /*return*/, new utils_1.Target(fallBackTargetJson, globalConfig)];
357
356
  case 3: throw new Error(ERROR_MESSAGE().NOT_FOUND_FALLBACK);
358
357
  }
359
358
  });
@@ -251,12 +251,12 @@ var loadDocsSubmodule = function (docsUrl, folderPath, zipPath) { return __await
251
251
  return __generator(this, function (_a) {
252
252
  switch (_a.label) {
253
253
  case 0:
254
- docsFolderPath = "".concat(folderPath, "/public/docs") //We first look if docs submodule is inside `public` folder. (react-seed-app for example)
254
+ docsFolderPath = "".concat(folderPath, "/public/docs") // We first look if docs submodule is inside `public` folder. (react-seed-app for example)
255
255
  ;
256
256
  return [4 /*yield*/, (0, utils_1.fileExists)(docsFolderPath)];
257
257
  case 1:
258
258
  if (!(_a.sent()))
259
- docsFolderPath = "".concat(folderPath, "/docs"); //If not, we load submodule in root
259
+ docsFolderPath = "".concat(folderPath, "/docs"); // If not, we load submodule in root
260
260
  downloadFile("".concat(docsUrl).concat(zipPath));
261
261
  zip = new adm_zip_1.default('main.zip');
262
262
  zip.extractAllTo('./', true);
package/package.json CHANGED
@@ -53,7 +53,7 @@
53
53
  "@sasjs/adapter": "4.0.1",
54
54
  "@sasjs/core": "4.43.1",
55
55
  "@sasjs/lint": "1.13.0",
56
- "@sasjs/utils": "2.49.3",
56
+ "@sasjs/utils": "2.51.0",
57
57
  "adm-zip": "0.5.9",
58
58
  "chalk": "4.1.2",
59
59
  "csv-stringify": "5.6.5",
@@ -99,5 +99,5 @@
99
99
  "typescript": "4.5.4",
100
100
  "util": "0.12.4"
101
101
  },
102
- "version": "3.20.4"
102
+ "version": "3.21.0"
103
103
  }