@sasjs/cli 3.5.1 → 3.6.3
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/cli.js +4 -4
- package/build/cli.spec.js +6 -6
- package/build/commands/add/addCommand.js +2 -2
- package/build/commands/add/addCredential.js +27 -27
- package/build/commands/add/addTarget.js +10 -10
- package/build/commands/add/internal/input.js +30 -30
- package/build/commands/add/internal/saveConfig.js +2 -2
- package/build/commands/add/spec/addCommand.spec.js +24 -20
- package/build/commands/add/spec/addCredential.spec.js +14 -14
- package/build/commands/add/spec/addTarget.spec.js +22 -22
- package/build/commands/build/build.js +81 -77
- package/build/commands/build/buildCommand.js +3 -3
- package/build/commands/build/compileBuildCommand.js +4 -4
- package/build/commands/build/internal/config.js +8 -8
- package/build/commands/build/internal/getLaunchPageCode.js +2 -2
- package/build/commands/build/spec/build.spec.js +10 -10
- package/build/commands/build/spec/buildCommand.spec.js +16 -12
- package/build/commands/build/spec/cb.spec.server.js +18 -18
- package/build/commands/build/spec/compileBuildCommand.spec.js +17 -13
- package/build/commands/compile/compile.js +61 -61
- package/build/commands/compile/compileCommand.js +10 -10
- package/build/commands/compile/compileSingleFile.js +17 -17
- package/build/commands/compile/internal/checkCompileStatus.js +11 -11
- package/build/commands/compile/internal/compareFolders.js +11 -11
- package/build/commands/compile/internal/compileJobFile.js +3 -3
- package/build/commands/compile/internal/compileServiceFile.js +14 -14
- package/build/commands/compile/internal/compileTestFile.js +41 -37
- package/build/commands/compile/internal/getAllJobFolders.js +13 -9
- package/build/commands/compile/internal/getAllServiceFolders.js +13 -9
- package/build/commands/compile/internal/getServerType.js +1 -1
- package/build/commands/compile/internal/identifySasFile.js +2 -2
- package/build/commands/compile/internal/loadDependencies.js +11 -7
- package/build/commands/compile/internal/spec/compileTestFile.spec.js +41 -41
- package/build/commands/compile/spec/compareFolders.spec.js +27 -27
- package/build/commands/compile/spec/compile.spec.js +93 -93
- package/build/commands/compile/spec/compileCommand.spec.js +37 -33
- package/build/commands/compile/spec/compileJobFile.spec.js +12 -22
- package/build/commands/compile/spec/compileServiceFile.spec.js +12 -22
- package/build/commands/compile/spec/copyFilesToBuildFolder.spec.js +7 -7
- package/build/commands/compile/spec/loadDependencies.spec.js +31 -162
- package/build/commands/context/contextCommand.js +16 -16
- package/build/commands/context/create.js +1 -1
- package/build/commands/context/delete.js +2 -2
- package/build/commands/context/edit.js +1 -1
- package/build/commands/context/export.js +5 -5
- package/build/commands/context/internal/validateConfigPath.js +1 -1
- package/build/commands/context/list.js +4 -4
- package/build/commands/context/spec/contextCommand.spec.js +80 -76
- package/build/commands/context/spec/create.spec.js +3 -3
- package/build/commands/context/spec/delete.spec.js +3 -3
- package/build/commands/context/spec/edit.spec.js +3 -3
- package/build/commands/context/spec/export.spec.js +8 -8
- package/build/commands/context/spec/list.spec.js +5 -5
- package/build/commands/create/create.js +12 -12
- package/build/commands/create/createCommand.js +2 -2
- package/build/commands/create/internal/createReadme.js +2 -2
- package/build/commands/create/spec/create.spec.js +39 -39
- package/build/commands/create/spec/createCommand.spec.js +14 -10
- package/build/commands/db/db.js +22 -22
- package/build/commands/db/dbCommand.js +1 -1
- package/build/commands/db/spec/db.spec.js +8 -8
- package/build/commands/db/spec/dbCommand.spec.js +11 -7
- package/build/commands/deploy/compileBuildDeployCommand.js +6 -6
- package/build/commands/deploy/deploy.js +39 -39
- package/build/commands/deploy/deployCommand.js +2 -2
- package/build/commands/deploy/internal/getDeployScripts.js +14 -10
- package/build/commands/deploy/spec/cbd.spec.js +16 -16
- package/build/commands/deploy/spec/cbd.spec.server.js +40 -40
- package/build/commands/deploy/spec/compileBuildDeployCommand.spec.js +18 -14
- package/build/commands/deploy/spec/deployCommand.spec.js +15 -11
- package/build/commands/deploy/spec/getDeployScripts.spec.js +8 -8
- package/build/commands/deploy/spec/utils.js +17 -17
- package/build/commands/docs/docsCommand.js +7 -7
- package/build/commands/docs/generateDocs.js +33 -29
- package/build/commands/docs/generateDot.js +12 -8
- package/build/commands/docs/initDocs.js +1 -1
- package/build/commands/docs/internal/createDotFiles.js +6 -6
- package/build/commands/docs/internal/getDotFileContent.js +17 -17
- package/build/commands/docs/internal/getFileInputs.js +1 -1
- package/build/commands/docs/internal/getFileOutputs.js +1 -1
- package/build/commands/docs/internal/getFoldersForDocs.js +4 -4
- package/build/commands/docs/internal/populateNodeDictionary.js +1 -1
- package/build/commands/docs/spec/docsCommand.spec.js +25 -21
- package/build/commands/docs/spec/generateDocs.spec.js +60 -60
- package/build/commands/docs/spec/generateDot.spec.js +23 -23
- package/build/commands/docs/spec/getDocConfig.spec.js +2 -2
- package/build/commands/docs/spec/initDocs.spec.js +7 -7
- package/build/commands/flow/execute.js +8 -8
- package/build/commands/flow/flowCommand.js +5 -5
- package/build/commands/flow/internal/checkPredecessorDeadlock.js +11 -7
- package/build/commands/flow/internal/executeFlow.js +23 -23
- package/build/commands/flow/internal/failAllSuccessors.js +1 -1
- package/build/commands/flow/internal/generateFileName.js +2 -2
- package/build/commands/flow/internal/normalizeFilePath.js +1 -1
- package/build/commands/flow/internal/parseJobDetails.js +3 -3
- package/build/commands/flow/internal/printError.js +1 -1
- package/build/commands/flow/internal/saveLog.js +8 -8
- package/build/commands/flow/internal/saveToCsv.js +2 -2
- package/build/commands/flow/internal/spec/allFlowsCompleted.spec.js +4 -4
- package/build/commands/flow/internal/spec/checkPredecessorDeadlock.spec.js +4 -4
- package/build/commands/flow/internal/spec/executeFlow.spec.js +10 -10
- package/build/commands/flow/internal/spec/failAllSuccessors.spec.js +1 -1
- package/build/commands/flow/internal/spec/saveToCsv.spec.js +16 -16
- package/build/commands/flow/internal/spec/validateParams.spec.js +33 -33
- package/build/commands/flow/internal/validateParams.js +17 -17
- package/build/commands/flow/spec/flow.spec.js +1 -1
- package/build/commands/flow/spec/flow.spec.server.js +60 -60
- package/build/commands/flow/spec/flowCommand.spec.js +16 -12
- package/build/commands/folder/create.js +2 -2
- package/build/commands/folder/delete.js +2 -2
- package/build/commands/folder/folderCommand.js +11 -11
- package/build/commands/folder/move.js +2 -2
- package/build/commands/folder/spec/folder.spec.server.js +35 -35
- package/build/commands/folder/spec/folderCommand.spec.js +23 -19
- package/build/commands/help/help.js +46 -46
- package/build/commands/help/helpCommand.js +1 -1
- package/build/commands/help/spec/help.spec.js +8 -8
- package/build/commands/help/spec/helpCommand.spec.js +11 -7
- package/build/commands/init/init.js +7 -7
- package/build/commands/init/initCommand.js +1 -1
- package/build/commands/init/spec/init.spec.server.js +17 -17
- package/build/commands/init/spec/initCommand.spec.js +11 -7
- package/build/commands/job/internal/execute/sasjs.js +1 -1
- package/build/commands/job/internal/execute/viya.js +35 -35
- package/build/commands/job/internal/utils.js +6 -6
- package/build/commands/job/jobCommand.js +6 -6
- package/build/commands/job/spec/execute.spec.js +6 -6
- package/build/commands/job/spec/getContextName.spec.js +2 -2
- package/build/commands/job/spec/job.spec.server.js +53 -53
- package/build/commands/job/spec/jobCommand.spec.js +17 -13
- package/build/commands/lint/initLint.js +2 -2
- package/build/commands/lint/lintCommand.js +10 -10
- package/build/commands/lint/processLint.js +5 -5
- package/build/commands/lint/spec/lintCommand.spec.js +19 -15
- package/build/commands/request/request.js +16 -16
- package/build/commands/request/requestCommand.js +5 -5
- package/build/commands/request/spec/request.spec.server.js +210 -178
- package/build/commands/request/spec/requestCommand.spec.js +17 -13
- package/build/commands/run/run.js +23 -23
- package/build/commands/run/runCommand.js +2 -2
- package/build/commands/run/spec/run.spec.server.js +51 -51
- package/build/commands/run/spec/runCommand.spec.js +10 -6
- package/build/commands/servicepack/deploy.js +6 -6
- package/build/commands/servicepack/servicePackCommand.js +3 -3
- package/build/commands/servicepack/spec/servicepack.spec.server.js +6 -6
- package/build/commands/servicepack/spec/servicepackCommand.spec.js +10 -6
- package/build/commands/shared/createConfigFile.js +2 -2
- package/build/commands/shared/createFileStructure.js +6 -6
- package/build/commands/shared/createLintConfigFile.js +1 -1
- package/build/commands/shared/deployToSasViyaWithServicePack.js +4 -4
- package/build/commands/shared/fetchLogFileContent.js +10 -6
- package/build/commands/testing/internal/saveOutput.js +39 -35
- package/build/commands/testing/spec/testCommand.spec.js +17 -13
- package/build/commands/testing/spec/testing.spec.server.js +38 -38
- package/build/commands/testing/test.js +45 -41
- package/build/commands/testing/testCommand.js +2 -2
- package/build/commands/version/spec/version.spec.js +1 -1
- package/build/commands/version/spec/versionCommand.spec.js +11 -7
- package/build/commands/version/version.js +3 -3
- package/build/commands/version/versionCommand.js +2 -2
- package/build/commands/web/internal/createAssetServices.js +28 -24
- package/build/commands/web/internal/getWebServiceContent.js +6 -6
- package/build/commands/web/internal/sasjsout.d.ts +1 -1
- package/build/commands/web/internal/sasjsout.js +1 -1
- package/build/commands/web/internal/spec/updateLinkTag.spec.js +2 -2
- package/build/commands/web/internal/spec/updateScriptTag.spec.js +10 -10
- package/build/commands/web/internal/updateAllTags.js +19 -15
- package/build/commands/web/internal/updateLinkTag.js +2 -2
- package/build/commands/web/internal/updateScriptTag.js +6 -6
- package/build/commands/web/spec/web.spec.js +23 -23
- package/build/commands/web/spec/webCommand.spec.js +16 -12
- package/build/commands/web/web.js +25 -25
- package/build/commands/web/webCommand.js +3 -3
- package/build/config.json +1 -0
- package/build/types/command/commandBase.js +19 -15
- package/build/types/command/parse.js +1 -1
- package/build/types/command/spec/commandBase.spec.js +16 -12
- package/build/types/command/targetCommand.js +4 -4
- package/build/types/command/unalias.js +9 -5
- package/build/utils/auth.js +7 -7
- package/build/utils/config.d.ts +1 -0
- package/build/utils/config.js +78 -48
- package/build/utils/displayResult.js +4 -4
- package/build/utils/file.js +11 -11
- package/build/utils/fileStructures/builtFiles.js +2 -2
- package/build/utils/fileStructures/builtFilesCustom1.js +2 -2
- package/build/utils/getLogFilePath.js +2 -3
- package/build/utils/loadEnvVariables.js +3 -3
- package/build/utils/prefixAppLoc.js +1 -1
- package/build/utils/saveLog.js +7 -7
- package/build/utils/setConstants.js +4 -4
- package/build/utils/setProjectDir.js +2 -2
- package/build/utils/spec/config.spec.js +80 -80
- package/build/utils/spec/displayResult.spec.js +7 -7
- package/build/utils/spec/file.spec.js +15 -15
- package/build/utils/spec/removeComments.spec.js +11 -11
- package/build/utils/spec/setConstants.spec.js +3 -3
- package/build/utils/spec/utils.spec.js +55 -55
- package/build/utils/test.js +62 -60
- package/build/utils/utils.js +47 -43
- package/package.json +14 -14
package/build/utils/test.js
CHANGED
|
@@ -70,12 +70,12 @@ var createTestApp = function (parentFolder, appName) { return __awaiter(void 0,
|
|
|
70
70
|
switch (_a.label) {
|
|
71
71
|
case 0:
|
|
72
72
|
process.projectDir = parentFolder;
|
|
73
|
-
return [4 /*yield*/, create_1.create(appName, '')];
|
|
73
|
+
return [4 /*yield*/, (0, create_1.create)(appName, '')];
|
|
74
74
|
case 1:
|
|
75
75
|
_a.sent();
|
|
76
76
|
process.projectDir = path_1.default.join(parentFolder, appName);
|
|
77
77
|
process.currentDir = process.projectDir;
|
|
78
|
-
return [4 /*yield*/, setConstants_1.setConstants()];
|
|
78
|
+
return [4 /*yield*/, (0, setConstants_1.setConstants)()];
|
|
79
79
|
case 2:
|
|
80
80
|
_a.sent();
|
|
81
81
|
return [2 /*return*/];
|
|
@@ -88,15 +88,15 @@ var createTestJobsApp = function (parentFolder, appName) { return __awaiter(void
|
|
|
88
88
|
switch (_a.label) {
|
|
89
89
|
case 0:
|
|
90
90
|
process.projectDir = parentFolder;
|
|
91
|
-
return [4 /*yield*/, create_1.create(appName, 'jobs')];
|
|
91
|
+
return [4 /*yield*/, (0, create_1.create)(appName, 'jobs')];
|
|
92
92
|
case 1:
|
|
93
93
|
_a.sent();
|
|
94
94
|
process.projectDir = path_1.default.join(parentFolder, appName);
|
|
95
95
|
process.currentDir = process.projectDir;
|
|
96
|
-
return [4 /*yield*/, setConstants_1.setConstants()];
|
|
96
|
+
return [4 /*yield*/, (0, setConstants_1.setConstants)()];
|
|
97
97
|
case 2:
|
|
98
98
|
_a.sent();
|
|
99
|
-
return [4 /*yield*/, exports.updateTarget({ serverUrl: 'https://example.com' }, 'viya')];
|
|
99
|
+
return [4 /*yield*/, (0, exports.updateTarget)({ serverUrl: 'https://example.com' }, 'viya')];
|
|
100
100
|
case 3:
|
|
101
101
|
_a.sent();
|
|
102
102
|
return [2 /*return*/];
|
|
@@ -109,12 +109,12 @@ var createTestMinimalApp = function (parentFolder, appName) { return __awaiter(v
|
|
|
109
109
|
switch (_a.label) {
|
|
110
110
|
case 0:
|
|
111
111
|
process.projectDir = parentFolder;
|
|
112
|
-
return [4 /*yield*/, create_1.create(appName, 'minimal')];
|
|
112
|
+
return [4 /*yield*/, (0, create_1.create)(appName, 'minimal')];
|
|
113
113
|
case 1:
|
|
114
114
|
_a.sent();
|
|
115
115
|
process.projectDir = path_1.default.join(parentFolder, appName);
|
|
116
116
|
process.currentDir = process.projectDir;
|
|
117
|
-
return [4 /*yield*/, setConstants_1.setConstants()];
|
|
117
|
+
return [4 /*yield*/, (0, setConstants_1.setConstants)()];
|
|
118
118
|
case 2:
|
|
119
119
|
_a.sent();
|
|
120
120
|
return [2 /*return*/];
|
|
@@ -125,7 +125,7 @@ exports.createTestMinimalApp = createTestMinimalApp;
|
|
|
125
125
|
var removeTestApp = function (parentFolder, appName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
126
126
|
return __generator(this, function (_a) {
|
|
127
127
|
switch (_a.label) {
|
|
128
|
-
case 0: return [4 /*yield*/, utils_1.deleteFolder(path_1.default.join(parentFolder, appName))];
|
|
128
|
+
case 0: return [4 /*yield*/, (0, utils_1.deleteFolder)(path_1.default.join(parentFolder, appName))];
|
|
129
129
|
case 1:
|
|
130
130
|
_a.sent();
|
|
131
131
|
process.projectDir = '';
|
|
@@ -152,7 +152,7 @@ var removeTestServerFolder = function (folderPath, target) { return __awaiter(vo
|
|
|
152
152
|
serverType: target.serverType
|
|
153
153
|
});
|
|
154
154
|
accessToken = process.env.ACCESS_TOKEN;
|
|
155
|
-
return [4 /*yield*/, delete_1.deleteFolder(folderPath, sasjs, accessToken)];
|
|
155
|
+
return [4 /*yield*/, (0, delete_1.deleteFolder)(folderPath, sasjs, accessToken)];
|
|
156
156
|
case 1:
|
|
157
157
|
_a.sent();
|
|
158
158
|
return [2 /*return*/];
|
|
@@ -198,7 +198,7 @@ var generateTestTarget = function (targetName, appLoc, serviceConfig, serverType
|
|
|
198
198
|
testTearDown: path_1.default.join('tests', 'sub', 'testteardown.sas')
|
|
199
199
|
},
|
|
200
200
|
buildConfig: {
|
|
201
|
-
buildOutputFileName: targetName
|
|
201
|
+
buildOutputFileName: "".concat(targetName, ".sas")
|
|
202
202
|
},
|
|
203
203
|
deployConfig: {
|
|
204
204
|
deployServicePack: true
|
|
@@ -220,8 +220,8 @@ var createTestGlobalTarget = function (targetName, appLoc, serviceConfig, server
|
|
|
220
220
|
return __generator(this, function (_a) {
|
|
221
221
|
switch (_a.label) {
|
|
222
222
|
case 0:
|
|
223
|
-
target = exports.generateTestTarget(targetName, appLoc, serviceConfig, serverType);
|
|
224
|
-
return [4 /*yield*/, config_1.saveToGlobalConfig(target, false)];
|
|
223
|
+
target = (0, exports.generateTestTarget)(targetName, appLoc, serviceConfig, serverType);
|
|
224
|
+
return [4 /*yield*/, (0, config_1.saveToGlobalConfig)(target, false)];
|
|
225
225
|
case 1:
|
|
226
226
|
_a.sent();
|
|
227
227
|
return [2 /*return*/, target];
|
|
@@ -247,20 +247,20 @@ var verifyStep = function (step, buildFileName, customFiles) {
|
|
|
247
247
|
: compiledFilesCustom1_1.compiledFilesCustom1
|
|
248
248
|
: step === 'build'
|
|
249
249
|
? customFiles === 'no'
|
|
250
|
-
? builtFiles_1.builtFiles(buildFileName)
|
|
251
|
-
: builtFilesCustom1_1.builtFilesCustom1(buildFileName)
|
|
250
|
+
? (0, builtFiles_1.builtFiles)(buildFileName)
|
|
251
|
+
: (0, builtFilesCustom1_1.builtFilesCustom1)(buildFileName)
|
|
252
252
|
: compiledFiles_1.compiledFiles;
|
|
253
|
-
return [4 /*yield*/, expect(exports.verifyFolder(fileStructure)).resolves.toEqual(true)];
|
|
253
|
+
return [4 /*yield*/, expect((0, exports.verifyFolder)(fileStructure)).resolves.toEqual(true)];
|
|
254
254
|
case 1:
|
|
255
255
|
_c.sent();
|
|
256
256
|
if (!(step === 'build')) return [3 /*break*/, 4];
|
|
257
|
-
buildJsonFilePath = path_1.default.join(process.projectDir, 'sasjsbuild', buildFileName
|
|
257
|
+
buildJsonFilePath = path_1.default.join(process.projectDir, 'sasjsbuild', "".concat(buildFileName, ".json"));
|
|
258
258
|
_b = (_a = JSON).parse;
|
|
259
|
-
return [4 /*yield*/, utils_1.readFile(buildJsonFilePath)];
|
|
259
|
+
return [4 /*yield*/, (0, utils_1.readFile)(buildJsonFilePath)];
|
|
260
260
|
case 2:
|
|
261
261
|
buildJson = _b.apply(_a, [_c.sent()]);
|
|
262
|
-
buildSasFilePath = path_1.default.join(process.projectDir, 'sasjsbuild', buildFileName
|
|
263
|
-
return [4 /*yield*/, utils_1.readFile(buildSasFilePath)];
|
|
262
|
+
buildSasFilePath = path_1.default.join(process.projectDir, 'sasjsbuild', "".concat(buildFileName, ".sas"));
|
|
263
|
+
return [4 /*yield*/, (0, utils_1.readFile)(buildSasFilePath)];
|
|
264
264
|
case 3:
|
|
265
265
|
buildSas = _c.sent();
|
|
266
266
|
expect(verifyBuildJson(fileStructure.subFolders, buildJson.members, buildSas)).toEqual(true);
|
|
@@ -291,7 +291,7 @@ var verifyBuildJson = function (folders, buildJson, buildSas) {
|
|
|
291
291
|
return buildMember.name === file.fileName.replace(/.sas$/, '');
|
|
292
292
|
});
|
|
293
293
|
expect(fileFound).toBeTruthy();
|
|
294
|
-
expect(buildSas).toEqual(expect.stringContaining("%let service="
|
|
294
|
+
expect(buildSas).toEqual(expect.stringContaining("%let service=".concat(fileFound.name, ";")));
|
|
295
295
|
});
|
|
296
296
|
expect(verifyBuildJson(folder.subFolders, folderFound.members, buildSas)).toEqual(true);
|
|
297
297
|
});
|
|
@@ -302,13 +302,13 @@ var verifyFolder = function (folder, parentFolderName) {
|
|
|
302
302
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
303
303
|
return __generator(this, function (_a) {
|
|
304
304
|
switch (_a.label) {
|
|
305
|
-
case 0: return [4 /*yield*/, expect(utils_1.folderExists(path_1.default.join(process.projectDir, parentFolderName, folder.folderName))).resolves.toEqual(true)];
|
|
305
|
+
case 0: return [4 /*yield*/, expect((0, utils_1.folderExists)(path_1.default.join(process.projectDir, parentFolderName, folder.folderName))).resolves.toEqual(true)];
|
|
306
306
|
case 1:
|
|
307
307
|
_a.sent();
|
|
308
|
-
return [4 /*yield*/, utils_1.asyncForEach(folder.files, function (file) { return __awaiter(void 0, void 0, void 0, function () {
|
|
308
|
+
return [4 /*yield*/, (0, utils_1.asyncForEach)(folder.files, function (file) { return __awaiter(void 0, void 0, void 0, function () {
|
|
309
309
|
return __generator(this, function (_a) {
|
|
310
310
|
switch (_a.label) {
|
|
311
|
-
case 0: return [4 /*yield*/, expect(utils_1.fileExists(path_1.default.join(process.projectDir, parentFolderName, folder.folderName, file.fileName))).resolves.toEqual(true)];
|
|
311
|
+
case 0: return [4 /*yield*/, expect((0, utils_1.fileExists)(path_1.default.join(process.projectDir, parentFolderName, folder.folderName, file.fileName))).resolves.toEqual(true)];
|
|
312
312
|
case 1:
|
|
313
313
|
_a.sent();
|
|
314
314
|
return [2 /*return*/];
|
|
@@ -317,10 +317,10 @@ var verifyFolder = function (folder, parentFolderName) {
|
|
|
317
317
|
}); })];
|
|
318
318
|
case 2:
|
|
319
319
|
_a.sent();
|
|
320
|
-
return [4 /*yield*/, utils_1.asyncForEach(folder.subFolders, function (subFolder) { return __awaiter(void 0, void 0, void 0, function () {
|
|
320
|
+
return [4 /*yield*/, (0, utils_1.asyncForEach)(folder.subFolders, function (subFolder) { return __awaiter(void 0, void 0, void 0, function () {
|
|
321
321
|
return __generator(this, function (_a) {
|
|
322
322
|
switch (_a.label) {
|
|
323
|
-
case 0: return [4 /*yield*/, exports.verifyFolder(subFolder, path_1.default.join(parentFolderName, folder.folderName))];
|
|
323
|
+
case 0: return [4 /*yield*/, (0, exports.verifyFolder)(subFolder, path_1.default.join(parentFolderName, folder.folderName))];
|
|
324
324
|
case 1:
|
|
325
325
|
_a.sent();
|
|
326
326
|
return [2 /*return*/];
|
|
@@ -343,14 +343,16 @@ var verifyPackageJsonContent = function (parentFolderName) {
|
|
|
343
343
|
switch (_a.label) {
|
|
344
344
|
case 0:
|
|
345
345
|
packageJsonPath = path_1.default.join(process.projectDir, parentFolderName, 'package.json');
|
|
346
|
-
return [4 /*yield*/, expect(utils_1.fileExists(packageJsonPath)).resolves.toEqual(true)];
|
|
346
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(packageJsonPath)).resolves.toEqual(true)];
|
|
347
347
|
case 1:
|
|
348
348
|
_a.sent();
|
|
349
|
-
return [4 /*yield*/, utils_1.readFile(packageJsonPath)];
|
|
349
|
+
return [4 /*yield*/, (0, utils_1.readFile)(packageJsonPath)];
|
|
350
350
|
case 2:
|
|
351
351
|
packageJsonContent = _a.sent();
|
|
352
352
|
packageJson = JSON.parse(packageJsonContent);
|
|
353
|
-
expect(
|
|
353
|
+
expect(parentFolderName.includes('minimal')
|
|
354
|
+
? packageJson.devDependencies
|
|
355
|
+
: packageJson.dependencies).toEqual(expect.objectContaining({ '@sasjs/core': expect.anything() }));
|
|
354
356
|
return [2 /*return*/];
|
|
355
357
|
}
|
|
356
358
|
});
|
|
@@ -365,19 +367,19 @@ var removeAllTargetsFromConfigs = function () { return __awaiter(void 0, void 0,
|
|
|
365
367
|
case 0:
|
|
366
368
|
buildSourceFolder = process.sasjsConstants.buildSourceFolder;
|
|
367
369
|
configPath = path_1.default.join(buildSourceFolder, 'sasjs', 'sasjsconfig.json');
|
|
368
|
-
return [4 /*yield*/, config_1.getConfiguration(configPath)];
|
|
370
|
+
return [4 /*yield*/, (0, config_1.getConfiguration)(configPath)];
|
|
369
371
|
case 1:
|
|
370
372
|
config = _b.sent();
|
|
371
373
|
config.targets = [];
|
|
372
|
-
return [4 /*yield*/, utils_1.createFile(configPath, JSON.stringify(config, null, 2))];
|
|
374
|
+
return [4 /*yield*/, (0, utils_1.createFile)(configPath, JSON.stringify(config, null, 2))];
|
|
373
375
|
case 2:
|
|
374
376
|
_b.sent();
|
|
375
|
-
return [4 /*yield*/, config_1.getGlobalRcFile()];
|
|
377
|
+
return [4 /*yield*/, (0, config_1.getGlobalRcFile)()];
|
|
376
378
|
case 3:
|
|
377
379
|
globalConfig = _b.sent();
|
|
378
380
|
if (!((_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.targets) === null || _a === void 0 ? void 0 : _a.length)) return [3 /*break*/, 5];
|
|
379
381
|
globalConfig.targets = [];
|
|
380
|
-
return [4 /*yield*/, config_1.saveGlobalRcFile(JSON.stringify(globalConfig, null, 2))];
|
|
382
|
+
return [4 /*yield*/, (0, config_1.saveGlobalRcFile)(JSON.stringify(globalConfig, null, 2))];
|
|
381
383
|
case 4:
|
|
382
384
|
_b.sent();
|
|
383
385
|
_b.label = 5;
|
|
@@ -394,11 +396,11 @@ var updateTarget = function (targetJson, targetName, isLocal) {
|
|
|
394
396
|
switch (_c.label) {
|
|
395
397
|
case 0:
|
|
396
398
|
if (!isLocal) return [3 /*break*/, 2];
|
|
397
|
-
return [4 /*yield*/, config_1.getLocalConfig()];
|
|
399
|
+
return [4 /*yield*/, (0, config_1.getLocalConfig)()];
|
|
398
400
|
case 1:
|
|
399
401
|
_a = _c.sent();
|
|
400
402
|
return [3 /*break*/, 4];
|
|
401
|
-
case 2: return [4 /*yield*/, config_1.getGlobalRcFile()];
|
|
403
|
+
case 2: return [4 /*yield*/, (0, config_1.getGlobalRcFile)()];
|
|
402
404
|
case 3:
|
|
403
405
|
_a = _c.sent();
|
|
404
406
|
_c.label = 4;
|
|
@@ -409,19 +411,19 @@ var updateTarget = function (targetJson, targetName, isLocal) {
|
|
|
409
411
|
if (!(targetIndex >= 0)) return [3 /*break*/, 9];
|
|
410
412
|
config.targets.splice(targetIndex, 1, __assign(__assign({}, config.targets[targetIndex]), targetJson));
|
|
411
413
|
if (!isLocal) return [3 /*break*/, 6];
|
|
412
|
-
return [4 /*yield*/, config_1.saveLocalConfigFile(JSON.stringify(config, null, 2))];
|
|
414
|
+
return [4 /*yield*/, (0, config_1.saveLocalConfigFile)(JSON.stringify(config, null, 2))];
|
|
413
415
|
case 5:
|
|
414
416
|
_b = _c.sent();
|
|
415
417
|
return [3 /*break*/, 8];
|
|
416
|
-
case 6: return [4 /*yield*/, config_1.saveGlobalRcFile(JSON.stringify(config, null, 2))];
|
|
418
|
+
case 6: return [4 /*yield*/, (0, config_1.saveGlobalRcFile)(JSON.stringify(config, null, 2))];
|
|
417
419
|
case 7:
|
|
418
420
|
_b = _c.sent();
|
|
419
421
|
_c.label = 8;
|
|
420
422
|
case 8:
|
|
421
423
|
_b;
|
|
422
424
|
return [2 /*return*/, new types_1.Target(config.targets[targetIndex])];
|
|
423
|
-
case 9: throw "Unable to find Target: "
|
|
424
|
-
case 10: throw "Unable to find Target: "
|
|
425
|
+
case 9: throw "Unable to find Target: ".concat(targetName);
|
|
426
|
+
case 10: throw "Unable to find Target: ".concat(targetName);
|
|
425
427
|
}
|
|
426
428
|
});
|
|
427
429
|
});
|
|
@@ -435,11 +437,11 @@ var updateConfig = function (config, isLocal) {
|
|
|
435
437
|
switch (_c.label) {
|
|
436
438
|
case 0:
|
|
437
439
|
if (!isLocal) return [3 /*break*/, 2];
|
|
438
|
-
return [4 /*yield*/, config_1.getLocalConfig()];
|
|
440
|
+
return [4 /*yield*/, (0, config_1.getLocalConfig)()];
|
|
439
441
|
case 1:
|
|
440
442
|
_a = _c.sent();
|
|
441
443
|
return [3 /*break*/, 4];
|
|
442
|
-
case 2: return [4 /*yield*/, config_1.getGlobalRcFile()];
|
|
444
|
+
case 2: return [4 /*yield*/, (0, config_1.getGlobalRcFile)()];
|
|
443
445
|
case 3:
|
|
444
446
|
_a = _c.sent();
|
|
445
447
|
_c.label = 4;
|
|
@@ -447,11 +449,11 @@ var updateConfig = function (config, isLocal) {
|
|
|
447
449
|
currentConfig = _a;
|
|
448
450
|
updatedConfig = __assign(__assign({}, currentConfig), config);
|
|
449
451
|
if (!isLocal) return [3 /*break*/, 6];
|
|
450
|
-
return [4 /*yield*/, config_1.saveLocalConfigFile(JSON.stringify(updatedConfig, null, 2))];
|
|
452
|
+
return [4 /*yield*/, (0, config_1.saveLocalConfigFile)(JSON.stringify(updatedConfig, null, 2))];
|
|
451
453
|
case 5:
|
|
452
454
|
_b = _c.sent();
|
|
453
455
|
return [3 /*break*/, 8];
|
|
454
|
-
case 6: return [4 /*yield*/, config_1.saveGlobalRcFile(JSON.stringify(updatedConfig, null, 2))];
|
|
456
|
+
case 6: return [4 /*yield*/, (0, config_1.saveGlobalRcFile)(JSON.stringify(updatedConfig, null, 2))];
|
|
455
457
|
case 7:
|
|
456
458
|
_b = _c.sent();
|
|
457
459
|
_c.label = 8;
|
|
@@ -480,42 +482,42 @@ var verifyDocs = function (docsFolder, target, macroCore) {
|
|
|
480
482
|
yetAnotherMacroSource = path_1.default.join(docsFolder, 'yetanothermacro_8sas_source.html');
|
|
481
483
|
macroCoreFile = path_1.default.join(docsFolder, 'mf__existds_8sas.html');
|
|
482
484
|
macroCoreFileSource = path_1.default.join(docsFolder, 'mf__existds_8sas_source.html');
|
|
483
|
-
return [4 /*yield*/, expect(utils_1.folderExists(docsFolder)).resolves.toEqual(true)];
|
|
485
|
+
return [4 /*yield*/, expect((0, utils_1.folderExists)(docsFolder)).resolves.toEqual(true)];
|
|
484
486
|
case 1:
|
|
485
487
|
_a.sent();
|
|
486
|
-
return [4 /*yield*/, expect(utils_1.fileExists(indexHTML)).resolves.toEqual(true)];
|
|
488
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(indexHTML)).resolves.toEqual(true)];
|
|
487
489
|
case 2:
|
|
488
490
|
_a.sent();
|
|
489
|
-
return [4 /*yield*/, expect(utils_1.fileExists(appInitHTML)).resolves.toEqual(true)];
|
|
491
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(appInitHTML)).resolves.toEqual(true)];
|
|
490
492
|
case 3:
|
|
491
493
|
_a.sent();
|
|
492
494
|
expectSas9Files = target === 'sas9';
|
|
493
495
|
expectViyaFiles = target === 'viya';
|
|
494
|
-
return [4 /*yield*/, expect(utils_1.fileExists(sas9MacrosExampleMacro)).resolves.toEqual(expectSas9Files)];
|
|
496
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(sas9MacrosExampleMacro)).resolves.toEqual(expectSas9Files)];
|
|
495
497
|
case 4:
|
|
496
498
|
_a.sent();
|
|
497
|
-
return [4 /*yield*/, expect(utils_1.fileExists(sas9ServicesAdminDostuff)).resolves.toEqual(expectSas9Files)];
|
|
499
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(sas9ServicesAdminDostuff)).resolves.toEqual(expectSas9Files)];
|
|
498
500
|
case 5:
|
|
499
501
|
_a.sent();
|
|
500
|
-
return [4 /*yield*/, expect(utils_1.fileExists(viyaMacrosExampleMacro)).resolves.toEqual(expectViyaFiles)];
|
|
502
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(viyaMacrosExampleMacro)).resolves.toEqual(expectViyaFiles)];
|
|
501
503
|
case 6:
|
|
502
504
|
_a.sent();
|
|
503
|
-
return [4 /*yield*/, expect(utils_1.fileExists(viyaServicesAdminDostuff)).resolves.toEqual(expectViyaFiles)];
|
|
505
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(viyaServicesAdminDostuff)).resolves.toEqual(expectViyaFiles)];
|
|
504
506
|
case 7:
|
|
505
507
|
_a.sent();
|
|
506
|
-
return [4 /*yield*/, expect(utils_1.fileExists(yetAnotherMacro)).resolves.toEqual(true)];
|
|
508
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(yetAnotherMacro)).resolves.toEqual(true)];
|
|
507
509
|
case 8:
|
|
508
510
|
_a.sent();
|
|
509
|
-
return [4 /*yield*/, expect(utils_1.fileExists(yetAnotherMacroSource)).resolves.toEqual(true)];
|
|
511
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(yetAnotherMacroSource)).resolves.toEqual(true)];
|
|
510
512
|
case 9:
|
|
511
513
|
_a.sent();
|
|
512
|
-
return [4 /*yield*/, expect(utils_1.fileExists(macroCoreFile)).resolves.toEqual(macroCore)];
|
|
514
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(macroCoreFile)).resolves.toEqual(macroCore)];
|
|
513
515
|
case 10:
|
|
514
516
|
_a.sent();
|
|
515
|
-
return [4 /*yield*/, expect(utils_1.fileExists(macroCoreFileSource)).resolves.toEqual(macroCore)];
|
|
517
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(macroCoreFileSource)).resolves.toEqual(macroCore)];
|
|
516
518
|
case 11:
|
|
517
519
|
_a.sent();
|
|
518
|
-
return [4 /*yield*/, utils_1.readFile(indexHTML)];
|
|
520
|
+
return [4 /*yield*/, (0, utils_1.readFile)(indexHTML)];
|
|
519
521
|
case 12:
|
|
520
522
|
indexHTMLContent = _a.sent();
|
|
521
523
|
expect(indexHTMLContent).toEqual(expect.stringMatching(/Contributing/));
|
|
@@ -533,13 +535,13 @@ var verifyDotFiles = function (docsFolder) { return __awaiter(void 0, void 0, vo
|
|
|
533
535
|
case 0:
|
|
534
536
|
dotCodeFile = path_1.default.join(docsFolder, 'data_lineage.dot');
|
|
535
537
|
dotGraphFile = path_1.default.join(docsFolder, 'data_lineage.svg');
|
|
536
|
-
return [4 /*yield*/, expect(utils_1.folderExists(docsFolder)).resolves.toEqual(true)];
|
|
538
|
+
return [4 /*yield*/, expect((0, utils_1.folderExists)(docsFolder)).resolves.toEqual(true)];
|
|
537
539
|
case 1:
|
|
538
540
|
_a.sent();
|
|
539
|
-
return [4 /*yield*/, expect(utils_1.fileExists(dotCodeFile)).resolves.toEqual(true)];
|
|
541
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(dotCodeFile)).resolves.toEqual(true)];
|
|
540
542
|
case 2:
|
|
541
543
|
_a.sent();
|
|
542
|
-
return [4 /*yield*/, expect(utils_1.fileExists(dotGraphFile)).resolves.toEqual(true)];
|
|
544
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(dotGraphFile)).resolves.toEqual(true)];
|
|
543
545
|
case 3:
|
|
544
546
|
_a.sent();
|
|
545
547
|
return [2 /*return*/];
|
|
@@ -554,10 +556,10 @@ var verifyDotFilesNotGenerated = function (docsFolder) { return __awaiter(void 0
|
|
|
554
556
|
case 0:
|
|
555
557
|
dotCodeFile = path_1.default.join(docsFolder, 'data_lineage.dot');
|
|
556
558
|
dotGraphFile = path_1.default.join(docsFolder, 'data_lineage.svg');
|
|
557
|
-
return [4 /*yield*/, expect(utils_1.fileExists(dotCodeFile)).resolves.toEqual(false)];
|
|
559
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(dotCodeFile)).resolves.toEqual(false)];
|
|
558
560
|
case 1:
|
|
559
561
|
_a.sent();
|
|
560
|
-
return [4 /*yield*/, expect(utils_1.fileExists(dotGraphFile)).resolves.toEqual(false)];
|
|
562
|
+
return [4 /*yield*/, expect((0, utils_1.fileExists)(dotGraphFile)).resolves.toEqual(false)];
|
|
561
563
|
case 2:
|
|
562
564
|
_a.sent();
|
|
563
565
|
return [2 /*return*/];
|
|
@@ -618,7 +620,7 @@ var verifyCompile = function (compiledContent, macrosToTest, checkInit, checkTer
|
|
|
618
620
|
}
|
|
619
621
|
}
|
|
620
622
|
macrosToTest.forEach(function (macro) {
|
|
621
|
-
var re = new RegExp("%macro "
|
|
623
|
+
var re = new RegExp("%macro ".concat(macro));
|
|
622
624
|
expect(re.test(compiledContent)).toEqual(true);
|
|
623
625
|
});
|
|
624
626
|
return [2 /*return*/];
|
package/build/utils/utils.js
CHANGED
|
@@ -62,10 +62,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
62
62
|
}
|
|
63
63
|
return ar;
|
|
64
64
|
};
|
|
65
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
66
|
-
for (var i = 0,
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
66
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
67
|
+
if (ar || !(i in from)) {
|
|
68
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
69
|
+
ar[i] = from[i];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
69
73
|
};
|
|
70
74
|
var __values = (this && this.__values) || function(o) {
|
|
71
75
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
@@ -95,7 +99,7 @@ function inExistingProject(folderPath) {
|
|
|
95
99
|
var packageJsonExists;
|
|
96
100
|
return __generator(this, function (_a) {
|
|
97
101
|
switch (_a.label) {
|
|
98
|
-
case 0: return [4 /*yield*/, utils_1.fileExists(path_1.default.join(process.projectDir, folderPath, 'package.json'))];
|
|
102
|
+
case 0: return [4 /*yield*/, (0, utils_1.fileExists)(path_1.default.join(process.projectDir, folderPath, 'package.json'))];
|
|
99
103
|
case 1:
|
|
100
104
|
packageJsonExists = _a.sent();
|
|
101
105
|
return [2 /*return*/, packageJsonExists];
|
|
@@ -115,7 +119,7 @@ function diff(a, b) {
|
|
|
115
119
|
? !JSON.stringify(a).includes(JSON.stringify(item))
|
|
116
120
|
: !a.includes(item);
|
|
117
121
|
});
|
|
118
|
-
return __spreadArray(__spreadArray([], __read(notInA)), __read(notInB));
|
|
122
|
+
return __spreadArray(__spreadArray([], __read(notInA), false), __read(notInB), false);
|
|
119
123
|
}
|
|
120
124
|
exports.diff = diff;
|
|
121
125
|
function createReactApp(folderPath) {
|
|
@@ -167,14 +171,14 @@ function createTemplateApp(folderPath, template) {
|
|
|
167
171
|
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
168
172
|
var _a, stdout, stderr, code;
|
|
169
173
|
return __generator(this, function (_b) {
|
|
170
|
-
_a = shelljs_1.default.exec("git ls-remote https://username:password@github.com/sasjs/template_"
|
|
174
|
+
_a = shelljs_1.default.exec("git ls-remote https://username:password@github.com/sasjs/template_".concat(template, ".git"), { silent: true }), stdout = _a.stdout, stderr = _a.stderr, code = _a.code;
|
|
171
175
|
if (stderr.includes('Repository not found') || code) {
|
|
172
|
-
return [2 /*return*/, reject(new Error("Template \""
|
|
176
|
+
return [2 /*return*/, reject(new Error("Template \"".concat(template, "\" is not a SASjs template")))];
|
|
173
177
|
}
|
|
174
178
|
if (!stdout) {
|
|
175
|
-
return [2 /*return*/, reject(new Error("Unable to fetch template \""
|
|
179
|
+
return [2 /*return*/, reject(new Error("Unable to fetch template \"".concat(template, "\"")))];
|
|
176
180
|
}
|
|
177
|
-
createApp(folderPath, "https://github.com/sasjs/template_"
|
|
181
|
+
createApp(folderPath, "https://github.com/sasjs/template_".concat(template, ".git"));
|
|
178
182
|
return [2 /*return*/, resolve()];
|
|
179
183
|
});
|
|
180
184
|
}); })];
|
|
@@ -184,16 +188,16 @@ function createTemplateApp(folderPath, template) {
|
|
|
184
188
|
exports.createTemplateApp = createTemplateApp;
|
|
185
189
|
function createApp(folderPath, repoUrl, installDependencies) {
|
|
186
190
|
if (installDependencies === void 0) { installDependencies = true; }
|
|
187
|
-
var spinner = ora_1.default("Creating SASjs project in "
|
|
191
|
+
var spinner = (0, ora_1.default)("Creating SASjs project in ".concat(folderPath, "."));
|
|
188
192
|
spinner.start();
|
|
189
193
|
var gitBranch = repoUrl.includes('template_sasonly') ? 'master' : 'main';
|
|
190
|
-
shelljs_1.default.exec("cd \""
|
|
194
|
+
shelljs_1.default.exec("cd \"".concat(folderPath, "\" && git clone --depth 1 -b ").concat(gitBranch, " ").concat(repoUrl, " ."), { silent: true });
|
|
191
195
|
shelljs_1.default.rm('-rf', path_1.default.join(folderPath, '.git'));
|
|
192
196
|
spinner.stop();
|
|
193
197
|
if (installDependencies) {
|
|
194
198
|
spinner.text = 'Installing dependencies...';
|
|
195
199
|
spinner.start();
|
|
196
|
-
shelljs_1.default.exec("cd \""
|
|
200
|
+
shelljs_1.default.exec("cd \"".concat(folderPath, "\" && npm install"), {
|
|
197
201
|
silent: true
|
|
198
202
|
});
|
|
199
203
|
spinner.stop();
|
|
@@ -214,8 +218,8 @@ function setupNpmProject(folderName) {
|
|
|
214
218
|
case 1:
|
|
215
219
|
isExistingProject = _d.sent();
|
|
216
220
|
if (!isExistingProject) {
|
|
217
|
-
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("Initialising NPM project in "
|
|
218
|
-
shelljs_1.default.exec("cd \""
|
|
221
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("Initialising NPM project in ".concat(folderPath));
|
|
222
|
+
shelljs_1.default.exec("cd \"".concat(folderPath, "\" && npm init --yes"), {
|
|
219
223
|
silent: true
|
|
220
224
|
});
|
|
221
225
|
}
|
|
@@ -223,7 +227,7 @@ function setupNpmProject(folderName) {
|
|
|
223
227
|
(_b = process.logger) === null || _b === void 0 ? void 0 : _b.success('Existing NPM project detected.');
|
|
224
228
|
}
|
|
225
229
|
(_c = process.logger) === null || _c === void 0 ? void 0 : _c.info('Installing @sasjs/core');
|
|
226
|
-
shelljs_1.default.exec("cd \""
|
|
230
|
+
shelljs_1.default.exec("cd \"".concat(folderPath, "\" && npm i @sasjs/core --save"), {
|
|
227
231
|
silent: true
|
|
228
232
|
});
|
|
229
233
|
return [2 /*return*/, resolve()];
|
|
@@ -242,45 +246,45 @@ function setupGitIgnore(folderName) {
|
|
|
242
246
|
switch (_c.label) {
|
|
243
247
|
case 0:
|
|
244
248
|
gitIgnoreFilePath = path_1.default.join(process.projectDir, folderName, '.gitignore');
|
|
245
|
-
return [4 /*yield*/, utils_1.fileExists(gitIgnoreFilePath)];
|
|
249
|
+
return [4 /*yield*/, (0, utils_1.fileExists)(gitIgnoreFilePath)];
|
|
246
250
|
case 1:
|
|
247
251
|
gitIgnoreExists = _c.sent();
|
|
248
252
|
if (!gitIgnoreExists) return [3 /*break*/, 5];
|
|
249
|
-
return [4 /*yield*/, utils_1.readFile(gitIgnoreFilePath)];
|
|
253
|
+
return [4 /*yield*/, (0, utils_1.readFile)(gitIgnoreFilePath)];
|
|
250
254
|
case 2:
|
|
251
255
|
gitIgnoreContent = _c.sent();
|
|
252
256
|
newgitIgnoreContent = gitIgnoreContent;
|
|
253
257
|
regExpSasjsBuild = new RegExp("^sasjsbuild/", 'gm');
|
|
254
258
|
newgitIgnoreContent = newgitIgnoreContent.match(regExpSasjsBuild)
|
|
255
259
|
? newgitIgnoreContent
|
|
256
|
-
: (newgitIgnoreContent ? newgitIgnoreContent + '\n' : ''
|
|
260
|
+
: "".concat(newgitIgnoreContent ? newgitIgnoreContent + '\n' : '', "sasjsbuild/\n");
|
|
257
261
|
regExpSasjsResults = new RegExp("^sasjsresults/", 'gm');
|
|
258
262
|
newgitIgnoreContent = newgitIgnoreContent.match(regExpSasjsResults)
|
|
259
263
|
? newgitIgnoreContent
|
|
260
|
-
: (newgitIgnoreContent ? newgitIgnoreContent + '\n' : ''
|
|
264
|
+
: "".concat(newgitIgnoreContent ? newgitIgnoreContent + '\n' : '', "sasjsresults/\n");
|
|
261
265
|
regExpNodeModules = new RegExp("^node_modules/", 'gm');
|
|
262
266
|
newgitIgnoreContent = newgitIgnoreContent.match(regExpNodeModules)
|
|
263
267
|
? newgitIgnoreContent
|
|
264
|
-
: newgitIgnoreContent + '\n'
|
|
268
|
+
: "".concat(newgitIgnoreContent + '\n', "node_modules/\n");
|
|
265
269
|
if (!(gitIgnoreContent !== newgitIgnoreContent)) return [3 /*break*/, 4];
|
|
266
|
-
return [4 /*yield*/, utils_1.createFile(gitIgnoreFilePath, newgitIgnoreContent)];
|
|
270
|
+
return [4 /*yield*/, (0, utils_1.createFile)(gitIgnoreFilePath, newgitIgnoreContent)];
|
|
267
271
|
case 3:
|
|
268
272
|
_c.sent();
|
|
269
273
|
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.success('Existing .gitignore has been updated.');
|
|
270
274
|
_c.label = 4;
|
|
271
275
|
case 4: return [3 /*break*/, 7];
|
|
272
|
-
case 5: return [4 /*yield*/, utils_1.createFile(gitIgnoreFilePath, 'node_modules/\nsasjsbuild/\nsasjsresults/\n.env*\n')];
|
|
276
|
+
case 5: return [4 /*yield*/, (0, utils_1.createFile)(gitIgnoreFilePath, 'node_modules/\nsasjsbuild/\nsasjsresults/\n.env*\n')];
|
|
273
277
|
case 6:
|
|
274
278
|
_c.sent();
|
|
275
279
|
(_b = process.logger) === null || _b === void 0 ? void 0 : _b.success('.gitignore file has been created.');
|
|
276
280
|
_c.label = 7;
|
|
277
281
|
case 7:
|
|
278
282
|
folderPath = path_1.default.join(process.projectDir, folderName);
|
|
279
|
-
return [4 /*yield*/, utils_1.folderExists(path_1.default.join(folderPath, '.git'))];
|
|
283
|
+
return [4 /*yield*/, (0, utils_1.folderExists)(path_1.default.join(folderPath, '.git'))];
|
|
280
284
|
case 8:
|
|
281
285
|
gitDirectoryExists = _c.sent();
|
|
282
286
|
if (!gitDirectoryExists) {
|
|
283
|
-
shelljs_1.default.exec("cd "
|
|
287
|
+
shelljs_1.default.exec("cd ".concat(folderName, " && git init"), {
|
|
284
288
|
silent: true
|
|
285
289
|
});
|
|
286
290
|
}
|
|
@@ -299,14 +303,14 @@ function setupGhooks(folderName) {
|
|
|
299
303
|
case 0:
|
|
300
304
|
folderPath = path_1.default.join(process.projectDir, folderName);
|
|
301
305
|
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info('Installing ghooks');
|
|
302
|
-
shelljs_1.default.exec("cd \""
|
|
306
|
+
shelljs_1.default.exec("cd \"".concat(folderPath, "\" && npm i ghooks --save-dev"), {
|
|
303
307
|
silent: true
|
|
304
308
|
});
|
|
305
309
|
_b.label = 1;
|
|
306
310
|
case 1:
|
|
307
311
|
_b.trys.push([1, 4, , 5]);
|
|
308
312
|
packageJsonPath = path_1.default.join(folderPath, 'package.json');
|
|
309
|
-
return [4 /*yield*/, utils_1.readFile(packageJsonPath)];
|
|
313
|
+
return [4 /*yield*/, (0, utils_1.readFile)(packageJsonPath)];
|
|
310
314
|
case 2:
|
|
311
315
|
packageJsonContent = _b.sent();
|
|
312
316
|
packageJson = JSON.parse(packageJsonContent);
|
|
@@ -323,7 +327,7 @@ function setupGhooks(folderName) {
|
|
|
323
327
|
}
|
|
324
328
|
if (!/sasjs lint/.test(packageJson.config.ghooks['pre-commit']))
|
|
325
329
|
packageJson.config.ghooks['pre-commit'] += preCommitCmd;
|
|
326
|
-
return [4 /*yield*/, utils_1.createFile(packageJsonPath, JSON.stringify(packageJson, null, 2))];
|
|
330
|
+
return [4 /*yield*/, (0, utils_1.createFile)(packageJsonPath, JSON.stringify(packageJson, null, 2))];
|
|
327
331
|
case 3:
|
|
328
332
|
_b.sent();
|
|
329
333
|
return [3 /*break*/, 5];
|
|
@@ -345,7 +349,7 @@ function setupDoxygen(folderPath) {
|
|
|
345
349
|
doxyFilesPath = '../doxy';
|
|
346
350
|
doxyFolderPathSource = path_1.default.join(__dirname, doxyFilesPath);
|
|
347
351
|
doxyFolderPath = path_1.default.join(process.projectDir, folderPath, 'sasjs', 'doxy');
|
|
348
|
-
return [4 /*yield*/, utils_1.copy(doxyFolderPathSource, doxyFolderPath)];
|
|
352
|
+
return [4 /*yield*/, (0, utils_1.copy)(doxyFolderPathSource, doxyFolderPath)];
|
|
349
353
|
case 1:
|
|
350
354
|
_a.sent();
|
|
351
355
|
return [2 /*return*/];
|
|
@@ -410,15 +414,15 @@ function executeShellScript(filePath, logFilePath) {
|
|
|
410
414
|
return __generator(this, function (_b) {
|
|
411
415
|
switch (_b.label) {
|
|
412
416
|
case 0:
|
|
413
|
-
shellCommand = exports.isWindows() ? ""
|
|
417
|
+
shellCommand = (0, exports.isWindows)() ? "sh ".concat(filePath) : "bash ".concat(filePath);
|
|
414
418
|
result = shelljs_1.default.exec(shellCommand, { silent: true });
|
|
415
419
|
if (!result.code) return [3 /*break*/, 1];
|
|
416
|
-
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error("Error: "
|
|
420
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error("Error: ".concat(result.stderr));
|
|
417
421
|
reject(result.code);
|
|
418
422
|
throw new Error('Error executing shell script: Code ' + result.code);
|
|
419
423
|
case 1:
|
|
420
424
|
if (!logFilePath) return [3 /*break*/, 3];
|
|
421
|
-
return [4 /*yield*/, utils_1.createFile(logFilePath, result.stdout)];
|
|
425
|
+
return [4 /*yield*/, (0, utils_1.createFile)(logFilePath, result.stdout)];
|
|
422
426
|
case 2:
|
|
423
427
|
_b.sent();
|
|
424
428
|
_b.label = 3;
|
|
@@ -443,7 +447,7 @@ function parseLogLines(logJson) {
|
|
|
443
447
|
try {
|
|
444
448
|
for (var _b = __values(logJson.items), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
445
449
|
var item = _c.value;
|
|
446
|
-
logLines += item.line
|
|
450
|
+
logLines += "".concat(item.line, "\n");
|
|
447
451
|
}
|
|
448
452
|
}
|
|
449
453
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -471,7 +475,7 @@ var millisecondsToDdHhMmSs = function (milliseconds) {
|
|
|
471
475
|
var hours = Math.floor(milliseconds / 1000 / 60 / 60) % 24;
|
|
472
476
|
var minutes = Math.floor(milliseconds / 1000 / 60) % 60;
|
|
473
477
|
var seconds = Math.floor(milliseconds / 1000) % 60;
|
|
474
|
-
return days
|
|
478
|
+
return "".concat(days, " day(s); ").concat(hours, " hour(s); ").concat(minutes, " minute(s); ").concat(seconds, " second(s)");
|
|
475
479
|
};
|
|
476
480
|
exports.millisecondsToDdHhMmSs = millisecondsToDdHhMmSs;
|
|
477
481
|
function checkNodeVersion() {
|
|
@@ -489,10 +493,10 @@ function getAdapterInstance(target) {
|
|
|
489
493
|
throw new Error('Unable to create SASjs adapter instance: Invalid target.');
|
|
490
494
|
}
|
|
491
495
|
if (!target.serverUrl) {
|
|
492
|
-
throw new Error("Unable to create SASjs adapter instance: Target "
|
|
496
|
+
throw new Error("Unable to create SASjs adapter instance: Target ".concat(target.name, " is missing a `serverUrl`."));
|
|
493
497
|
}
|
|
494
498
|
if (!target.serverType) {
|
|
495
|
-
throw new Error("Unable to create SASjs adapter instance: Target "
|
|
499
|
+
throw new Error("Unable to create SASjs adapter instance: Target ".concat(target.name, " is missing a `serverType`."));
|
|
496
500
|
}
|
|
497
501
|
var sasjs = new node_1.default({
|
|
498
502
|
serverUrl: target.serverUrl,
|
|
@@ -508,19 +512,19 @@ exports.getAdapterInstance = getAdapterInstance;
|
|
|
508
512
|
function displaySasjsRunnerError(username) {
|
|
509
513
|
var _a;
|
|
510
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";
|
|
511
|
-
var message = "The SASjs runner was not found in your user folder at /User Folders/"
|
|
512
|
-
displayResult_1.displayError(message, 'An error occurred while executing the request.');
|
|
513
|
-
(_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"
|
|
515
|
+
var message = "The SASjs runner was not found in your user folder at /User Folders/".concat(username, "/My Folder/sasjs/runner.");
|
|
516
|
+
(0, displayResult_1.displayError)(message, 'An error occurred while executing the request.');
|
|
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));
|
|
514
518
|
}
|
|
515
519
|
exports.displaySasjsRunnerError = displaySasjsRunnerError;
|
|
516
520
|
var loadEnvVariables = function (fileName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
517
521
|
var envFileExistsInCurrentPath, envFileExistsInParentPath, envFilePath;
|
|
518
522
|
return __generator(this, function (_a) {
|
|
519
523
|
switch (_a.label) {
|
|
520
|
-
case 0: return [4 /*yield*/, utils_1.fileExists(path_1.default.join(process.cwd(), fileName))];
|
|
524
|
+
case 0: return [4 /*yield*/, (0, utils_1.fileExists)(path_1.default.join(process.cwd(), fileName))];
|
|
521
525
|
case 1:
|
|
522
526
|
envFileExistsInCurrentPath = _a.sent();
|
|
523
|
-
return [4 /*yield*/, utils_1.fileExists(path_1.default.join(process.cwd(), '..', fileName))];
|
|
527
|
+
return [4 /*yield*/, (0, utils_1.fileExists)(path_1.default.join(process.cwd(), '..', fileName))];
|
|
524
528
|
case 2:
|
|
525
529
|
envFileExistsInParentPath = _a.sent();
|
|
526
530
|
envFilePath = envFileExistsInCurrentPath
|
|
@@ -547,7 +551,7 @@ function prefixAppLoc(appLoc, path) {
|
|
|
547
551
|
path = path.join(' ');
|
|
548
552
|
return path
|
|
549
553
|
.split(' ')
|
|
550
|
-
.map(function (p) { return (/^\//.test(p) ? p : appLoc
|
|
554
|
+
.map(function (p) { return (/^\//.test(p) ? p : "".concat(appLoc, "/").concat(p)); })
|
|
551
555
|
.join(' ');
|
|
552
556
|
}
|
|
553
557
|
exports.prefixAppLoc = prefixAppLoc;
|
|
@@ -555,7 +559,7 @@ var isWindows = function () { return process.platform === 'win32'; };
|
|
|
555
559
|
exports.isWindows = isWindows;
|
|
556
560
|
var terminateProcess = function (status) {
|
|
557
561
|
var _a;
|
|
558
|
-
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("Process will be terminated with the status code "
|
|
562
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("Process will be terminated with the status code ".concat(status, "."));
|
|
559
563
|
process.exit(status);
|
|
560
564
|
};
|
|
561
565
|
exports.terminateProcess = terminateProcess;
|