@joltdesign/scripts 0.19.3 → 0.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.
Files changed (42) hide show
  1. package/README.md +85 -0
  2. package/dist/AWSClient.js +102 -0
  3. package/dist/AWSClient.js.map +1 -0
  4. package/dist/AWSConsoleUrlGenerator.js +59 -0
  5. package/dist/AWSConsoleUrlGenerator.js.map +1 -0
  6. package/dist/Command/AWS.js +354 -25
  7. package/dist/Command/AWS.js.map +1 -1
  8. package/dist/Command/Build.js +1 -1
  9. package/dist/Command/Build.js.map +1 -1
  10. package/dist/Command/Cache.js +1 -1
  11. package/dist/Command/Cache.js.map +1 -1
  12. package/dist/Command/Cmd.js +2 -2
  13. package/dist/Command/Cmd.js.map +1 -1
  14. package/dist/Command/Config.js +161 -3
  15. package/dist/Command/Config.js.map +1 -1
  16. package/dist/Command/DB.js +34 -19
  17. package/dist/Command/DB.js.map +1 -1
  18. package/dist/Command/Docker.js +10 -8
  19. package/dist/Command/Docker.js.map +1 -1
  20. package/dist/Command/JoltCommand.js +44 -1
  21. package/dist/Command/JoltCommand.js.map +1 -1
  22. package/dist/Command/Nexcess.js +64 -3
  23. package/dist/Command/Nexcess.js.map +1 -1
  24. package/dist/Command/Prepare.js +17 -5
  25. package/dist/Command/Prepare.js.map +1 -1
  26. package/dist/Command/SSH.js +13 -13
  27. package/dist/Command/SSH.js.map +1 -1
  28. package/dist/Command/WP.js +725 -5
  29. package/dist/Command/WP.js.map +1 -1
  30. package/dist/Config.js +91 -17
  31. package/dist/Config.js.map +1 -1
  32. package/dist/cli.js +12 -4
  33. package/dist/cli.js.map +1 -1
  34. package/dist/errors.js +13 -0
  35. package/dist/errors.js.map +1 -0
  36. package/dist/schemas.js +109 -0
  37. package/dist/schemas.js.map +1 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -0
  39. package/dist/utils.js +145 -11
  40. package/dist/utils.js.map +1 -1
  41. package/jolt-config.schema.json +308 -0
  42. package/package.json +25 -10
@@ -6,9 +6,14 @@ import JoltCommand from './JoltCommand.js';
6
6
  export class NexcessDeployCommand extends JoltCommand {
7
7
  constructor() {
8
8
  super(...arguments);
9
- this.dev = Option.Boolean('--dev', false);
9
+ this.dev = Option.Boolean('--dev', false, { description: 'Deploy to development environment' });
10
10
  this.requiredCommands = ['ssh'];
11
11
  }
12
+ getRequiredConfig() {
13
+ const baseConfigs = ['repo', 'codeSubfolder'];
14
+ const additionalConfigs = this.dev ? ['devFolder', 'devBranch'] : ['liveFolder', 'branch'];
15
+ return [...baseConfigs, ...additionalConfigs];
16
+ }
12
17
  async command() {
13
18
  var _a, _b;
14
19
  const { cli, config, context: { stdout }, dev, } = this;
@@ -49,12 +54,68 @@ export class NexcessDeployCommand extends JoltCommand {
49
54
  }
50
55
  }
51
56
  NexcessDeployCommand.paths = [['nexcess', 'deploy']];
57
+ export class NexcessDeploySpecificCommand extends JoltCommand {
58
+ constructor() {
59
+ super(...arguments);
60
+ this.dev = Option.Boolean('--dev', false, { description: 'Deploy to development environment' });
61
+ this.commit = Option.String({ required: true });
62
+ this.requiredCommands = ['ssh'];
63
+ }
64
+ getRequiredConfig() {
65
+ const baseConfigs = ['repo', 'codeSubfolder'];
66
+ const additionalConfigs = this.dev ? ['devFolder'] : ['liveFolder'];
67
+ return [...baseConfigs, ...additionalConfigs];
68
+ }
69
+ async command() {
70
+ var _a, _b;
71
+ const { cli, config, context: { stdout, stderr }, dev, commit, } = this;
72
+ if (!commit) {
73
+ stderr.write(ansis.red('⚡ Commit parameter must be specified\n'));
74
+ return 2;
75
+ }
76
+ const deployFolder = dev ? await config.get('devFolder') : await config.get('liveFolder');
77
+ const deployScript = (_a = (await config.get('nexcessDeployScript'))) !== null && _a !== void 0 ? _a : 'bin/nexcess-deploy-script.sh';
78
+ const cleanupScript = (_b = (await config.get('nexcessCleanupScript'))) !== null && _b !== void 0 ? _b : 'bin/nexcess-cleanup.sh';
79
+ const repo = await config.get('repo');
80
+ const codeSubfolder = await config.get('codeSubfolder');
81
+ const now = new Date();
82
+ const date = now
83
+ .toISOString()
84
+ .replace('T', '_')
85
+ .replace(/:/g, '-')
86
+ .replace(/\.\d+Z.*$/, '');
87
+ const folder = `deploy-${date}-${commit.slice(0, 8)}`;
88
+ const deployScriptExists = await fileExists(path.join(process.cwd(), deployScript));
89
+ const cleanupScriptExists = await fileExists(path.join(process.cwd(), cleanupScript));
90
+ const commands = [`git clone --depth=1 ${repo} ${folder}`, `cd ~/${folder}`, `git checkout ${commit}`];
91
+ if (deployScriptExists) {
92
+ commands.push('cd', `echo Running deploy script ${deployScript}...`, `sh ~/${folder}/${deployScript} ${folder}`);
93
+ }
94
+ else {
95
+ commands.push(`cd ~/${folder}/${codeSubfolder}`);
96
+ if (cleanupScriptExists) {
97
+ commands.push('echo Removing Nexcess code from repo...', `sh ../${cleanupScript}`);
98
+ }
99
+ else {
100
+ commands.push('echo No cleanup script found, skipping...');
101
+ }
102
+ commands.push('cd', 'echo Copying...', `cp -ura ${folder}/${codeSubfolder}/. ${deployFolder}`, 'echo Removing temp files...', `rm -rf ${folder}`, 'echo Clearing site cache...', `cd ${deployFolder}`, '(wp cache-enabler clear || true)', 'echo Done');
103
+ }
104
+ const command = commands.join(' && ');
105
+ const args = ['ssh', '-T', '-C', `<<EOF\n${command}\nEOF`];
106
+ stdout.write(ansis.blue(`⚡ Cloning commit ${commit} into ${folder} and deploying to ${deployFolder}...\n`));
107
+ const result = await cli.run(args);
108
+ return result;
109
+ }
110
+ }
111
+ NexcessDeploySpecificCommand.paths = [['nexcess', 'deploy-specific']];
52
112
  export class NexcessDeployLocalCommand extends JoltCommand {
53
113
  constructor() {
54
114
  super(...arguments);
55
- this.dev = Option.Boolean('--dev', false);
56
- this.dryRun = Option.Boolean('--dry-run', false);
115
+ this.dev = Option.Boolean('--dev', false, { description: 'Deploy to development environment' });
116
+ this.dryRun = Option.Boolean('--dry-run', false, { description: 'Show what would be synced without actually syncing' });
57
117
  this.requiredCommands = ['rsync', 'ssh'];
118
+ this.requiredConfig = ['codeSubfolder'];
58
119
  }
59
120
  async command() {
60
121
  const { cli, config, dev, dryRun } = this;
@@ -1 +1 @@
1
- {"version":3,"file":"Nexcess.js","sourceRoot":"","sources":["../../src/Command/Nexcess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Nexcess.js","sourceRoot":"","sources":["../../src/Command/Nexcess.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAArD;;QAGE,QAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,CAAA;QAC1F,qBAAgB,GAAG,CAAC,KAAK,CAAC,CAAA;IAkE5B,CAAC;IAhEC,iBAAiB;QACf,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC1F,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,iBAAiB,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EAAE,EAAE,MAAM,EAAE,EACnB,GAAG,GACJ,GAAG,IAAI,CAAA;QAER,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACzF,MAAM,YAAY,GAAG,MAAA,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,mCAAI,8BAA8B,CAAA;QAChG,MAAM,aAAa,GAAG,MAAA,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,mCAAI,wBAAwB,CAAA;QAC5F,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,IAAI,GAAG,GAAG;aACb,WAAW,EAAE;aACb,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAE3B,MAAM,MAAM,GAAG,UAAU,IAAI,EAAE,CAAA;QAC/B,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACnF,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC,CAAA;QACrF,MAAM,QAAQ,GAAG,CAAC,gDAAgD,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;QAE7F,IAAI,kBAAkB,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,8BAA8B,YAAY,KAAK,EAAE,QAAQ,MAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC,CAAA;QAC5G,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,QAAQ,MAAM,IAAI,aAAa,EAAE,CAAC,CAAA;YAEhD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,aAAa,EAAE,CAAC,CAAA;YACpF,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YAC5D,CAAC;YAED,QAAQ,CAAC,IAAI,CACX,IAAI,EACJ,iBAAiB,EACjB,WAAW,MAAM,IAAI,aAAa,MAAM,YAAY,EAAE,EACtD,6BAA6B,EAC7B,UAAU,MAAM,EAAE,EAClB,6BAA6B,EAC7B,MAAM,YAAY,EAAE,EACpB,kCAAkC,EAClC,WAAW,CACZ,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,OAAO,OAAO,CAAC,CAAA;QAE1D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,qBAAqB,YAAY,OAAO,CAAC,CAAC,CAAA;QAE1F,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;;AApEM,0BAAK,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,AAA1B,CAA0B;AAuExC,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAA7D;;QAGE,QAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,CAAA;QAC1F,WAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,qBAAgB,GAAG,CAAC,KAAK,CAAC,CAAA;IAuE5B,CAAC;IArEC,iBAAiB;QACf,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,iBAAiB,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAC3B,GAAG,EACH,MAAM,GACP,GAAG,IAAI,CAAA;QAER,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAA;YACjE,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACzF,MAAM,YAAY,GAAG,MAAA,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,mCAAI,8BAA8B,CAAA;QAChG,MAAM,aAAa,GAAG,MAAA,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,mCAAI,wBAAwB,CAAA;QAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,IAAI,GAAG,GAAG;aACb,WAAW,EAAE;aACb,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;aACjB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAE3B,MAAM,MAAM,GAAG,UAAU,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;QACrD,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACnF,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC,CAAA;QACrF,MAAM,QAAQ,GAAG,CAAC,uBAAuB,IAAI,IAAI,MAAM,EAAE,EAAE,QAAQ,MAAM,EAAE,EAAE,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAEtG,IAAI,kBAAkB,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,YAAY,KAAK,EAAE,QAAQ,MAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC,CAAA;QAClH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,QAAQ,MAAM,IAAI,aAAa,EAAE,CAAC,CAAA;YAEhD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,aAAa,EAAE,CAAC,CAAA;YACpF,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YAC5D,CAAC;YAED,QAAQ,CAAC,IAAI,CACX,IAAI,EACJ,iBAAiB,EACjB,WAAW,MAAM,IAAI,aAAa,MAAM,YAAY,EAAE,EACtD,6BAA6B,EAC7B,UAAU,MAAM,EAAE,EAClB,6BAA6B,EAC7B,MAAM,YAAY,EAAE,EACpB,kCAAkC,EAClC,WAAW,CACZ,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,OAAO,OAAO,CAAC,CAAA;QAE1D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,SAAS,MAAM,qBAAqB,YAAY,OAAO,CAAC,CAAC,CAAA;QAE3G,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;;AA1EM,kCAAK,GAAG,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,AAAnC,CAAmC;AA6EjD,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IAA1D;;QAGE,QAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,CAAA;QAC1F,WAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC,CAAA;QAClH,qBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACnC,mBAAc,GAAG,CAAC,eAAe,CAAC,CAAA;IAmBpC,CAAC;IAjBC,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACzC,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1F,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;QAE3C,OAAO,MAAM,GAAG,CAAC,GAAG,CAClB;YACE,OAAO;YACP,MAAM;YACN,SAAS;YACT,UAAU;YACV,KAAK,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;YACzC,iCAAiC;SAClC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrB,CAAA;IACH,CAAC;;AAvBM,+BAAK,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,AAAhC,CAAgC"}
@@ -3,6 +3,7 @@ import ansis from 'ansis';
3
3
  import { Option } from 'clipanion';
4
4
  import * as t from 'typanion';
5
5
  import getConfig from '../Config.js';
6
+ import { ConfigValidationError } from '../errors.js';
6
7
  import { directoryExists, execC } from '../utils.js';
7
8
  import JoltCommand from './JoltCommand.js';
8
9
  async function shouldPrepareHusky() {
@@ -32,19 +33,30 @@ async function shouldPrepareDevPlugins() {
32
33
  export class PrepareCommand extends JoltCommand {
33
34
  constructor() {
34
35
  super(...arguments);
35
- this.devPlugins = Option.Boolean('--dev-plugins', true);
36
- this.husky = Option.Boolean('--husky', true);
37
- this.tofu = Option.Boolean('--tofu', true);
38
- this.dbSeeds = Option.Boolean('--download-db-seeds', true);
36
+ this.devPlugins = Option.Boolean('--dev-plugins', true, { description: 'Install development plugins' });
37
+ this.husky = Option.Boolean('--husky', true, { description: 'Install Husky Git hooks' });
38
+ this.tofu = Option.Boolean('--tofu', true, { description: 'Install OpenTofu/Terraform' });
39
+ this.dbSeeds = Option.Boolean('--download-db-seeds', true, { description: 'Download database seeds' });
39
40
  this.pluginDelay = Option.String('--plugin-delay', {
40
41
  required: false,
41
42
  validator: t.cascade(t.isNumber(), [t.isInteger(), t.isPositive()]),
43
+ description: 'Delay in seconds between plugin installations',
42
44
  });
43
45
  }
44
46
  async runPrepareCommands(timing) {
45
47
  const { config, cli, context, context: { stderr, stdout }, } = this;
46
48
  const indent = ' ';
47
- const additionalCommands = config.getPrepareCommands(timing);
49
+ let additionalCommands;
50
+ try {
51
+ additionalCommands = config.getPrepareCommands(timing);
52
+ }
53
+ catch (error) {
54
+ if (error instanceof ConfigValidationError) {
55
+ stderr.write(ansis.red(`${error.message}\n`));
56
+ return 1;
57
+ }
58
+ throw error;
59
+ }
48
60
  if (additionalCommands.length > 0) {
49
61
  for (const command of additionalCommands) {
50
62
  const name = command.name || command.cmd;
@@ -1 +1 @@
1
- {"version":3,"file":"Prepare.js","sourceRoot":"","sources":["../../src/Command/Prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prepare.js","sourceRoot":"","sources":["../../src/Command/Prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,KAAK,UAAU,kBAAkB;IAC/B,OAAO,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,KAAK,UAAU,oBAAoB;;IACjC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;IACjD,OAAO,OAAO,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAG,mBAAmB,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,KAAK,UAAU,uBAAuB;;IACpC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,EAAE,CAAC,CAAA;IACtD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QAGE,eAAU,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAClG,UAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACnF,SAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAA;QACpF,YAAO,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,CAAA;QAEjG,gBAAW,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5C,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACnE,WAAW,EAAE,+CAA+C;SAC7D,CAAC,CAAA;IAsHJ,CAAC;IApHC,KAAK,CAAC,kBAAkB,CAAC,MAA2B;QAClD,MAAM,EACJ,MAAM,EACN,GAAG,EACH,OAAO,EACP,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAC5B,GAAG,IAAI,CAAA;QAER,MAAM,MAAM,GAAG,IAAI,CAAA;QACnB,IAAI,kBAA0C,CAAA;QAE9C,IAAI,CAAC;YACH,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;gBAC7C,OAAO,CAAC,CAAA;YACV,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAA;gBAExC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;gBAE7F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACzD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAE3C,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,IAAI,mBAAmB,MAAM,IAAI,CAAC,CAAC,CAAA;oBACxF,OAAO,MAAM,CAAA;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EAAE,EAAE,MAAM,EAAE,EACnB,OAAO,EACP,UAAU,EACV,KAAK,EACL,WAAW,EACX,IAAI,GACL,GAAG,IAAI,CAAA;QAER,MAAM,MAAM,GAAG,IAAI,CAAA;QAEnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAEvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE5D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,aAAa,CAAA;QACtB,CAAC;QAED,IAAI,KAAK,IAAI,CAAC,MAAM,kBAAkB,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,8BAA8B,CAAC,CAAC,CAAA;YAClE,mEAAmE;YACnE,MAAM,KAAK,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;YAChF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,IAAI,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAC,CAAA;YAC1E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC9B,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,MAAM,oBAAoB,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,+BAA+B,CAAC,CAAC,CAAA;YACnE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACzC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,MAAM,uBAAuB,EAAE,EAAE,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAC,CAAA;gBACpE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAA;gBACxD,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;gBAEnE,MAAM,YAAY,GAAG,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAA;gBACpG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,oBAAoB,YAAY,iCAAiC,CAAC,CAAC,CAAA;gBACrG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,YAAY,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC/E,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAEjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,+BAA+B,CAAC,CAAC,CAAA;gBACnE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;gBACtF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,8BAA8B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;;AAhIM,oBAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,AAAhB,CAAgB"}
@@ -6,17 +6,17 @@ export class SSHCommand extends JoltCommand {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.requiredCommands = ['ssh'];
9
- this.dev = Option.Boolean('--dev', false);
9
+ this.dev = Option.Boolean('--dev', false, { description: 'Connect to development environment' });
10
10
  this.args = Option.Proxy();
11
11
  }
12
+ getRequiredConfig() {
13
+ return this.dev ? ['devSshAccount'] : ['sshAccount'];
14
+ }
12
15
  async command() {
13
- const { args, config, context, context: { stderr }, dev, } = this;
16
+ const { args, config, context, dev } = this;
14
17
  const sshCommand = await config.command('ssh');
15
18
  const sshAccount = dev ? await config.get('devSshAccount') : await config.get('sshAccount');
16
- if (!sshAccount) {
17
- stderr.write(ansis.red('Missing sshAccount config variable.\n'));
18
- return 1;
19
- }
19
+ // sshAccount is guaranteed to exist due to getRequiredConfig() validation
20
20
  const parsedArgs = await Promise.all(args.map((x) => config.parseArg(x)));
21
21
  const result = await execC(sshCommand, [sshAccount, ...parsedArgs], { context });
22
22
  return result.exitCode;
@@ -27,22 +27,22 @@ export class RsyncCommand extends JoltCommand {
27
27
  constructor() {
28
28
  super(...arguments);
29
29
  this.requiredCommands = ['rsync', 'ssh'];
30
- this.dev = Option.Boolean('--dev', false);
31
- this.dryRun = Option.Boolean('--dry-run', false);
30
+ this.dev = Option.Boolean('--dev', false, { description: 'Sync to development environment' });
31
+ this.dryRun = Option.Boolean('--dry-run', false, { description: 'Show what would be synced without actually syncing' });
32
32
  this.args = Option.Proxy();
33
33
  }
34
+ getRequiredConfig() {
35
+ return this.dev ? ['devSshAccount'] : ['sshAccount'];
36
+ }
34
37
  async command() {
35
38
  var _a;
36
- const { args, config, context, context: { stdout, stderr }, dev, dryRun, } = this;
39
+ const { args, config, context, context: { stdout }, dev, dryRun, } = this;
37
40
  const sshCommand = await config.command('ssh');
38
41
  const rsyncCommand = await config.command('rsync');
39
42
  const sshPort = (await config.get('sshPort')) || '22';
40
43
  const dryRunArg = dryRun ? '--dry-run' : '';
41
44
  const sshAccount = dev ? await config.get('devSshAccount') : await config.get('sshAccount');
42
- if (!sshAccount) {
43
- stderr.write(ansis.red('Missing sshAccount config variable.\n'));
44
- return 1;
45
- }
45
+ // sshAccount is guaranteed to exist due to getRequiredConfig() validation
46
46
  const params = {
47
47
  acc: sshAccount,
48
48
  contentFolder: (_a = (dev ? await config.get('devFolder') : await config.get('liveFolder'))) !== null && _a !== void 0 ? _a : '',
@@ -1 +1 @@
1
- {"version":3,"file":"SSH.js","sourceRoot":"","sources":["../../src/Command/SSH.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,MAAM,OAAO,UAAW,SAAQ,WAAW;IAA3C;;QAEE,qBAAgB,GAAG,CAAC,KAAK,CAAC,CAAA;QAE1B,QAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACpC,SAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAuBvB,CAAC;IArBC,KAAK,CAAC,OAAO;QACX,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EAAE,EAAE,MAAM,EAAE,EACnB,GAAG,GACJ,GAAG,IAAI,CAAA;QAER,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAE3F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAA;YAChE,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAChF,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;;AA1BM,gBAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,AAAZ,CAAY;AA6B1B,MAAM,OAAO,YAAa,SAAQ,WAAW;IAA7C;;QAEE,qBAAgB,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAEnC,QAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACpC,WAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAC3C,SAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAmCvB,CAAC;IAjCC,KAAK,CAAC,OAAO;;QACX,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAC3B,GAAG,EACH,MAAM,GACP,GAAG,IAAI,CAAA;QAER,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAA;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAE3F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAA;YAChE,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,UAAU;YACf,aAAa,EAAE,MAAA,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,mCAAI,EAAE;SAC5F,CAAA;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QACjF,MAAM,QAAQ,GAAG,CAAC,UAAU,UAAU,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,CAAA;QACxF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QACvF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAE/D,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;;AAvCM,kBAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,AAAd,CAAc"}
1
+ {"version":3,"file":"SSH.js","sourceRoot":"","sources":["../../src/Command/SSH.ts"],"names":[],"mappings":"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"}