@sasjs/cli 3.19.6 → 3.20.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.
- package/build/commands/deploy/deploy.js +54 -108
- package/build/commands/deploy/spec/cbd.spec.js +31 -8
- package/build/commands/fs/fsCommand.d.ts +11 -0
- package/build/commands/fs/fsCommand.js +335 -0
- package/build/commands/fs/internal/executeCode.d.ts +4 -0
- package/build/commands/fs/internal/executeCode.js +126 -0
- package/build/commands/fs/internal/extractHashArray.d.ts +1 -0
- package/build/commands/fs/internal/extractHashArray.js +20 -0
- package/build/commands/fs/spec/executeCode.spec.d.ts +1 -0
- package/build/commands/fs/spec/executeCode.spec.js +197 -0
- package/build/commands/fs/spec/extractHashArray.spec.d.ts +1 -0
- package/build/commands/fs/spec/extractHashArray.spec.js +14 -0
- package/build/commands/fs/spec/fsCommand.spec.d.ts +1 -0
- package/build/commands/fs/spec/fsCommand.spec.js +297 -0
- package/build/commands/job/internal/execute/sas9.d.ts +1 -1
- package/build/commands/job/internal/execute/sasjs.d.ts +3 -4
- package/build/commands/job/internal/execute/sasjs.js +36 -20
- package/build/commands/job/jobCommand.d.ts +4 -8
- package/build/commands/job/jobCommand.js +64 -98
- package/build/commands/job/spec/execute.spec.js +52 -7
- package/build/commands/request/spec/request.spec.server.sas9.js +2 -0
- package/build/commands/run/run.js +70 -107
- package/build/types/command/commandFactory.js +2 -0
- package/build/utils/config.d.ts +28 -1
- package/build/utils/config.js +71 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/package.json +4 -4
|
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.deploy = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var os_1 = __importDefault(require("os"));
|
|
45
|
-
var node_1 =
|
|
45
|
+
var node_1 = require("@sasjs/adapter/node");
|
|
46
46
|
var config_1 = require("../../utils/config");
|
|
47
47
|
var utils_1 = require("../../utils/utils");
|
|
48
48
|
var utils_2 = require("@sasjs/utils");
|
|
@@ -94,7 +94,7 @@ function deploy(target, isLocal, sasjs) {
|
|
|
94
94
|
case 4:
|
|
95
95
|
streamConfig = _j.sent();
|
|
96
96
|
if (!(target.serverType === utils_2.ServerType.Sasjs)) return [3 /*break*/, 6];
|
|
97
|
-
return [4 /*yield*/, deployToSasjs(target,
|
|
97
|
+
return [4 /*yield*/, deployToSasjs(target, streamConfig)];
|
|
98
98
|
case 5:
|
|
99
99
|
_j.sent();
|
|
100
100
|
return [3 /*break*/, 8];
|
|
@@ -117,7 +117,7 @@ function deploy(target, isLocal, sasjs) {
|
|
|
117
117
|
.split('\n');
|
|
118
118
|
deployScriptName = path_1.default.basename(deployScript);
|
|
119
119
|
if (!(target.serverType === utils_2.ServerType.SasViya)) return [3 /*break*/, 3];
|
|
120
|
-
return [4 /*yield*/, deployToSasViya(deployScriptName, target,
|
|
120
|
+
return [4 /*yield*/, deployToSasViya(deployScriptName, target, linesToExecute, logFilePath, streamConfig)];
|
|
121
121
|
case 2:
|
|
122
122
|
_e.sent();
|
|
123
123
|
return [3 /*break*/, 5];
|
|
@@ -151,59 +151,17 @@ function deploy(target, isLocal, sasjs) {
|
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
exports.deploy = deploy;
|
|
154
|
-
/**
|
|
155
|
-
* Returns configuration object of SAS Adapter and authentication configuration
|
|
156
|
-
* @param {Target} target- the target to get auth configuration from.
|
|
157
|
-
* @param {boolean} isLocal- flag indicating if specified target is
|
|
158
|
-
* from local sasjsconfig or global sasjsconfig file.
|
|
159
|
-
* @returns an object containing a SAS Adapter configuration object `sasjs`
|
|
160
|
-
* and auth configuration `authConfig`.
|
|
161
|
-
*/
|
|
162
|
-
function getSASjsAndAuthConfig(target, isLocal) {
|
|
163
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
164
|
-
var sasjs, authConfig, e_1;
|
|
165
|
-
return __generator(this, function (_a) {
|
|
166
|
-
switch (_a.label) {
|
|
167
|
-
case 0:
|
|
168
|
-
sasjs = new node_1.default({
|
|
169
|
-
serverUrl: target.serverUrl,
|
|
170
|
-
appLoc: target.appLoc,
|
|
171
|
-
serverType: target.serverType,
|
|
172
|
-
httpsAgentOptions: target.httpsAgentOptions,
|
|
173
|
-
debug: true,
|
|
174
|
-
useComputeApi: true
|
|
175
|
-
});
|
|
176
|
-
_a.label = 1;
|
|
177
|
-
case 1:
|
|
178
|
-
_a.trys.push([1, 3, , 4]);
|
|
179
|
-
return [4 /*yield*/, (0, config_1.getAuthConfig)(target)];
|
|
180
|
-
case 2:
|
|
181
|
-
authConfig = _a.sent();
|
|
182
|
-
return [3 /*break*/, 4];
|
|
183
|
-
case 3:
|
|
184
|
-
e_1 = _a.sent();
|
|
185
|
-
throw new Error("Deployment failed. Request is not authenticated.\nPlease add the following variables to your .env".concat(isLocal ? ".".concat(target.name) : '', " file:\nCLIENT, SECRET, ACCESS_TOKEN, REFRESH_TOKEN"));
|
|
186
|
-
case 4: return [2 /*return*/, {
|
|
187
|
-
sasjs: sasjs,
|
|
188
|
-
authConfig: authConfig
|
|
189
|
-
}];
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
154
|
/**
|
|
195
155
|
* Deploys app to `SASVIYA` server through deployScript.
|
|
196
|
-
* @param {string} deployScriptName- name of deploy script.
|
|
197
|
-
* @param {Target} target- the target having deploy configuration.
|
|
198
|
-
* @param {boolean} isLocal- flag indicating if specified target is
|
|
199
|
-
* from local sasjsconfig or global sasjsconfig file.
|
|
156
|
+
* @param {string} deployScriptName - name of deploy script.
|
|
157
|
+
* @param {Target} target - the target having deploy configuration.
|
|
200
158
|
* @param {string[]} linesToExecute - array of SAS code lines of deploy script to execute.
|
|
201
159
|
* @param {string} logFolder - optional path to log folder,
|
|
202
160
|
* log file name will be <deploy-script-name>.log
|
|
203
161
|
* @param {object} streamConfig - optional configuration object of StreamConfig
|
|
204
162
|
* for printing web app url on console.
|
|
205
163
|
*/
|
|
206
|
-
function deployToSasViya(deployScriptName, target,
|
|
164
|
+
function deployToSasViya(deployScriptName, target, linesToExecute, logFolder, streamConfig) {
|
|
207
165
|
var _a, _b, _c, _d, _e;
|
|
208
166
|
return __awaiter(this, void 0, void 0, function () {
|
|
209
167
|
var contextName, _f, sasjs, authConfig, executionResult, log, appLoc, webAppStreamUrl;
|
|
@@ -215,11 +173,16 @@ function deployToSasViya(deployScriptName, target, isLocal, linesToExecute, logF
|
|
|
215
173
|
if (!contextName) {
|
|
216
174
|
throw new Error('Compute Context Name is required for SAS Viya deployments.\n Please ensure that `contextName` is present in your build target configuration or in your .env file, and try again.\n');
|
|
217
175
|
}
|
|
218
|
-
return [4 /*yield*/,
|
|
176
|
+
return [4 /*yield*/, (0, config_1.getSASjsAndAuthConfig)(target)];
|
|
219
177
|
case 1:
|
|
220
178
|
_f = _g.sent(), sasjs = _f.sasjs, authConfig = _f.authConfig;
|
|
221
179
|
return [4 /*yield*/, sasjs
|
|
222
|
-
.
|
|
180
|
+
.executeScript({
|
|
181
|
+
fileName: deployScriptName,
|
|
182
|
+
linesOfCode: linesToExecute,
|
|
183
|
+
contextName: contextName,
|
|
184
|
+
authConfig: authConfig
|
|
185
|
+
})
|
|
223
186
|
.catch(function (err) {
|
|
224
187
|
process.logger.error('executeScriptSASViya Error', err);
|
|
225
188
|
})];
|
|
@@ -258,8 +221,8 @@ function deployToSasViya(deployScriptName, target, isLocal, linesToExecute, logF
|
|
|
258
221
|
}
|
|
259
222
|
/**
|
|
260
223
|
* Deploys app to `SAS9` server through deployScript.
|
|
261
|
-
* @param {string} deployScriptName- name of deploy script.
|
|
262
|
-
* @param {Target} target- the target having deploy configuration.
|
|
224
|
+
* @param {string} deployScriptName - name of deploy script.
|
|
225
|
+
* @param {Target} target - the target having deploy configuration.
|
|
263
226
|
* @param {string[]} linesToExecute - array of SAS code lines of deploy script to execute.
|
|
264
227
|
* @param {string} logFolder - optional path to log folder,
|
|
265
228
|
* log file name will be <deploy-script-name>.log
|
|
@@ -269,43 +232,31 @@ function deployToSasViya(deployScriptName, target, isLocal, linesToExecute, logF
|
|
|
269
232
|
function deployToSas9(deployScriptName, target, linesToExecute, logFolder, streamConfig) {
|
|
270
233
|
var _a, _b, _c, _d, _e;
|
|
271
234
|
return __awaiter(this, void 0, void 0, function () {
|
|
272
|
-
var
|
|
273
|
-
return __generator(this, function (
|
|
274
|
-
switch (
|
|
275
|
-
case 0:
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
else {
|
|
281
|
-
username = process.env.SAS_USERNAME;
|
|
282
|
-
password = process.env.SAS_PASSWORD;
|
|
283
|
-
}
|
|
284
|
-
if (!username || !password) {
|
|
285
|
-
sas9CredentialsError = process.sasjsConstants.sas9CredentialsError;
|
|
286
|
-
throw new Error(sas9CredentialsError);
|
|
287
|
-
}
|
|
288
|
-
password = (0, utils_2.decodeFromBase64)(password);
|
|
289
|
-
sasjs = new node_1.default({
|
|
290
|
-
serverUrl: target.serverUrl,
|
|
291
|
-
httpsAgentOptions: target.httpsAgentOptions,
|
|
292
|
-
appLoc: target.appLoc,
|
|
293
|
-
serverType: target.serverType
|
|
294
|
-
});
|
|
235
|
+
var _f, sasjs, authConfigSas9, userName, password, completedWithError, executionResult, logContent, logFilePath, appLoc, webAppStreamUrl;
|
|
236
|
+
return __generator(this, function (_g) {
|
|
237
|
+
switch (_g.label) {
|
|
238
|
+
case 0: return [4 /*yield*/, (0, config_1.getSASjsAndAuthConfig)(target)];
|
|
239
|
+
case 1:
|
|
240
|
+
_f = _g.sent(), sasjs = _f.sasjs, authConfigSas9 = _f.authConfigSas9;
|
|
241
|
+
userName = authConfigSas9.userName;
|
|
242
|
+
password = (0, utils_2.decodeFromBase64)(authConfigSas9.userName);
|
|
295
243
|
completedWithError = false;
|
|
296
244
|
return [4 /*yield*/, sasjs
|
|
297
|
-
.
|
|
245
|
+
.executeScript({
|
|
246
|
+
linesOfCode: linesToExecute,
|
|
247
|
+
authConfigSas9: { userName: userName, password: password }
|
|
248
|
+
})
|
|
298
249
|
.catch(function (err) {
|
|
299
250
|
var _a;
|
|
300
251
|
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.log(formatErrorString(err));
|
|
301
252
|
if (err && err.errorCode === 404) {
|
|
302
|
-
(0, utils_1.displaySasjsRunnerError)(
|
|
253
|
+
(0, utils_1.displaySasjsRunnerError)(userName);
|
|
303
254
|
}
|
|
304
255
|
completedWithError = true;
|
|
305
256
|
return err;
|
|
306
257
|
})];
|
|
307
|
-
case
|
|
308
|
-
executionResult =
|
|
258
|
+
case 2:
|
|
259
|
+
executionResult = _g.sent();
|
|
309
260
|
if (!executionResult) {
|
|
310
261
|
return [2 /*return*/, (_a = process.logger) === null || _a === void 0 ? void 0 : _a.error('Error getting execution log')];
|
|
311
262
|
}
|
|
@@ -317,8 +268,8 @@ function deployToSas9(deployScriptName, target, linesToExecute, logFolder, strea
|
|
|
317
268
|
: executionResult;
|
|
318
269
|
logFilePath = path_1.default.join(logFolder, "".concat(deployScriptName.replace('.sas', ''), ".log"));
|
|
319
270
|
return [4 /*yield*/, (0, utils_2.createFile)(logFilePath, logContent !== null && logContent !== void 0 ? logContent : '')];
|
|
320
|
-
case
|
|
321
|
-
|
|
271
|
+
case 3:
|
|
272
|
+
_g.sent();
|
|
322
273
|
if (completedWithError) {
|
|
323
274
|
(_c = process.logger) === null || _c === void 0 ? void 0 : _c.error("Deployment failed with errors! Log is available at ".concat(logFilePath));
|
|
324
275
|
throw new Error("Deployment failed.");
|
|
@@ -336,49 +287,44 @@ function deployToSas9(deployScriptName, target, linesToExecute, logFolder, strea
|
|
|
336
287
|
}
|
|
337
288
|
/**
|
|
338
289
|
* Deploys app to `SASJS` server.
|
|
339
|
-
* @param {Target} target- the target having deploy configuration.
|
|
340
|
-
* @param {object} sasjs - optional configuration object of SAS adapter.
|
|
290
|
+
* @param {Target} target - the target having deploy configuration.
|
|
341
291
|
* @param {object} streamConfig - optional config for deploying streaming app.
|
|
342
292
|
*/
|
|
343
|
-
function deployToSasjs(target,
|
|
293
|
+
function deployToSasjs(target, streamConfig) {
|
|
344
294
|
var _a, _b, _c;
|
|
345
295
|
return __awaiter(this, void 0, void 0, function () {
|
|
346
|
-
var buildDestinationFolder, finalFilePathJSON, jsonContent, payload, authConfig,
|
|
347
|
-
return __generator(this, function (
|
|
348
|
-
switch (
|
|
296
|
+
var buildDestinationFolder, finalFilePathJSON, jsonContent, payload, authConfig, _d, sasjsApiClient, result, webAppStreamUrl;
|
|
297
|
+
return __generator(this, function (_e) {
|
|
298
|
+
switch (_e.label) {
|
|
349
299
|
case 0:
|
|
350
300
|
buildDestinationFolder = process.sasjsConstants.buildDestinationFolder;
|
|
351
301
|
finalFilePathJSON = path_1.default.join(buildDestinationFolder, "".concat(target.name, ".json"));
|
|
352
302
|
return [4 /*yield*/, (0, utils_2.readFile)(finalFilePathJSON)];
|
|
353
303
|
case 1:
|
|
354
|
-
jsonContent =
|
|
304
|
+
jsonContent = _e.sent();
|
|
355
305
|
payload = JSON.parse(jsonContent);
|
|
356
|
-
|
|
357
|
-
sasjs = new node_1.default({
|
|
358
|
-
serverUrl: target.serverUrl,
|
|
359
|
-
appLoc: target.appLoc,
|
|
360
|
-
serverType: target.serverType,
|
|
361
|
-
httpsAgentOptions: target.httpsAgentOptions,
|
|
362
|
-
debug: true
|
|
363
|
-
});
|
|
364
|
-
_d.label = 2;
|
|
306
|
+
return [4 /*yield*/, (0, utils_1.isSasJsServerInServerMode)(target)];
|
|
365
307
|
case 2:
|
|
366
|
-
|
|
308
|
+
if (!(_e.sent())) return [3 /*break*/, 4];
|
|
367
309
|
return [4 /*yield*/, (0, config_1.getAuthConfig)(target)];
|
|
368
310
|
case 3:
|
|
369
|
-
|
|
311
|
+
_d = _e.sent();
|
|
370
312
|
return [3 /*break*/, 5];
|
|
371
313
|
case 4:
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
case 5:
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
314
|
+
_d = undefined;
|
|
315
|
+
_e.label = 5;
|
|
316
|
+
case 5:
|
|
317
|
+
authConfig = _d;
|
|
318
|
+
console.log(326);
|
|
319
|
+
sasjsApiClient = new node_1.SASjsApiClient(new node_1.SasjsRequestClient(target.serverUrl, target.httpsAgentOptions));
|
|
320
|
+
return [4 /*yield*/, sasjsApiClient
|
|
321
|
+
.deploy(payload, target.appLoc, authConfig)
|
|
322
|
+
.catch(function (err) {
|
|
323
|
+
var _a;
|
|
324
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error('deployToSASjs Error', err);
|
|
325
|
+
})];
|
|
380
326
|
case 6:
|
|
381
|
-
result =
|
|
327
|
+
result = _e.sent();
|
|
382
328
|
if ((result === null || result === void 0 ? void 0 : result.status) === 'failure') {
|
|
383
329
|
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error(result.message);
|
|
384
330
|
if (result.example) {
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
22
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
23
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -40,10 +59,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
40
59
|
};
|
|
41
60
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
61
|
var path_1 = __importDefault(require("path"));
|
|
43
|
-
var node_1 =
|
|
62
|
+
var node_1 = require("@sasjs/adapter/node");
|
|
44
63
|
var js_base64_1 = require("js-base64");
|
|
45
64
|
var utils_1 = require("@sasjs/utils");
|
|
46
65
|
var test_1 = require("../../../utils/test");
|
|
66
|
+
var utilsModule = __importStar(require("../../../utils/utils"));
|
|
47
67
|
var types_1 = require("../../../types");
|
|
48
68
|
var build_1 = require("../../build/build");
|
|
49
69
|
var deploy_1 = require("../deploy");
|
|
@@ -79,18 +99,21 @@ describe('sasjs cbd with server type SASJS', function () {
|
|
|
79
99
|
});
|
|
80
100
|
}); });
|
|
81
101
|
it("should deploy compile and build to sasjs/server", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
|
-
var
|
|
102
|
+
var deployMock, customTarget, macroCorePath, mf_getuser, _a, mp_jsonout, ms_webout, webout, mocksPath, appinitJSPath, getdataJSPath, appinitJSContents, getdataJSContents, depsInserts, appinit, getdata, getCode;
|
|
83
103
|
return __generator(this, function (_b) {
|
|
84
104
|
switch (_b.label) {
|
|
85
105
|
case 0:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
106
|
+
deployMock = jest
|
|
107
|
+
.spyOn(node_1.SASjsApiClient.prototype, 'deploy')
|
|
108
|
+
.mockImplementation(function () {
|
|
89
109
|
return Promise.resolve({
|
|
90
110
|
status: 'success',
|
|
91
111
|
message: 'message'
|
|
92
112
|
});
|
|
93
113
|
});
|
|
114
|
+
jest
|
|
115
|
+
.spyOn(utilsModule, 'isSasJsServerInServerMode')
|
|
116
|
+
.mockImplementation(function () { return Promise.resolve(false); });
|
|
94
117
|
return [4 /*yield*/, (0, test_1.updateConfig)({
|
|
95
118
|
serviceConfig: {
|
|
96
119
|
serviceFolders: ['sasjs/services/common']
|
|
@@ -114,7 +137,7 @@ describe('sasjs cbd with server type SASJS', function () {
|
|
|
114
137
|
return [4 /*yield*/, expect((0, build_1.build)(customTarget)).toResolve()];
|
|
115
138
|
case 4:
|
|
116
139
|
_b.sent();
|
|
117
|
-
return [4 /*yield*/, (0, deploy_1.deploy)(customTarget, true
|
|
140
|
+
return [4 /*yield*/, (0, deploy_1.deploy)(customTarget, true)];
|
|
118
141
|
case 5:
|
|
119
142
|
_b.sent();
|
|
120
143
|
macroCorePath = process.sasjsConstants.macroCorePath;
|
|
@@ -150,7 +173,7 @@ describe('sasjs cbd with server type SASJS', function () {
|
|
|
150
173
|
getCode = function (file) {
|
|
151
174
|
return "".concat(mf_getuser).concat(mp_jsonout).concat(ms_webout).concat(webout, "/* provide additional debug info */\n%global _program;\n%put &=syscc;\n%put user=%mf_getuser();\n%put pgm=&_program;\n%put timestamp=%sysfunc(datetime(),datetime19.);").concat(depsInserts).concat(file, "* Service end;");
|
|
152
175
|
};
|
|
153
|
-
expect(
|
|
176
|
+
expect(deployMock).toHaveBeenCalledWith({
|
|
154
177
|
appLoc: target.appLoc,
|
|
155
178
|
fileTree: {
|
|
156
179
|
members: [
|
|
@@ -188,7 +211,7 @@ describe('sasjs cbd with server type SASJS', function () {
|
|
|
188
211
|
}
|
|
189
212
|
]
|
|
190
213
|
}
|
|
191
|
-
},
|
|
214
|
+
}, target.appLoc, undefined);
|
|
192
215
|
return [2 /*return*/];
|
|
193
216
|
}
|
|
194
217
|
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReturnCode } from '../../types/command';
|
|
2
|
+
import { TargetCommand } from '../../types/command/targetCommand';
|
|
3
|
+
export declare class FSCommand extends TargetCommand {
|
|
4
|
+
constructor(args: string[]);
|
|
5
|
+
get localFolder(): string;
|
|
6
|
+
get remoteFolder(): string;
|
|
7
|
+
getOutputPath(): Promise<string>;
|
|
8
|
+
execute(): Promise<ReturnCode>;
|
|
9
|
+
compile(): Promise<ReturnCode>;
|
|
10
|
+
sync(): Promise<ReturnCode>;
|
|
11
|
+
}
|