bdy 1.12.8-beta → 1.12.8-dev-pipeline-run

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 (156) hide show
  1. package/distTs/package.json +1 -1
  2. package/package.json +1 -1
  3. package/distTs/bin/cli.js +0 -5
  4. package/distTs/src/agent/agent.js +0 -328
  5. package/distTs/src/agent/linux.js +0 -124
  6. package/distTs/src/agent/manager.js +0 -519
  7. package/distTs/src/agent/osx.js +0 -146
  8. package/distTs/src/agent/socket/client.js +0 -178
  9. package/distTs/src/agent/socket/tunnel.js +0 -237
  10. package/distTs/src/agent/socket.js +0 -242
  11. package/distTs/src/agent/system.js +0 -179
  12. package/distTs/src/agent/wait.js +0 -23
  13. package/distTs/src/agent/windows.js +0 -159
  14. package/distTs/src/agent.js +0 -302
  15. package/distTs/src/api/agent.js +0 -99
  16. package/distTs/src/api/buddy.js +0 -139
  17. package/distTs/src/api/socket.js +0 -159
  18. package/distTs/src/cfg.js +0 -234
  19. package/distTs/src/command/agent/disable.js +0 -27
  20. package/distTs/src/command/agent/enable.js +0 -27
  21. package/distTs/src/command/agent/install.js +0 -117
  22. package/distTs/src/command/agent/restart.js +0 -27
  23. package/distTs/src/command/agent/run.js +0 -19
  24. package/distTs/src/command/agent/start.js +0 -28
  25. package/distTs/src/command/agent/status.js +0 -34
  26. package/distTs/src/command/agent/stop.js +0 -28
  27. package/distTs/src/command/agent/target/disable.js +0 -27
  28. package/distTs/src/command/agent/target/enable.js +0 -27
  29. package/distTs/src/command/agent/target/status.js +0 -32
  30. package/distTs/src/command/agent/target.js +0 -15
  31. package/distTs/src/command/agent/tunnel/http.js +0 -43
  32. package/distTs/src/command/agent/tunnel/list.js +0 -27
  33. package/distTs/src/command/agent/tunnel/remove.js +0 -28
  34. package/distTs/src/command/agent/tunnel/start.js +0 -34
  35. package/distTs/src/command/agent/tunnel/status.js +0 -31
  36. package/distTs/src/command/agent/tunnel/tcp.js +0 -43
  37. package/distTs/src/command/agent/tunnel/tls.js +0 -43
  38. package/distTs/src/command/agent/tunnel.js +0 -23
  39. package/distTs/src/command/agent/uninstall.js +0 -44
  40. package/distTs/src/command/agent/update.js +0 -38
  41. package/distTs/src/command/agent/version.js +0 -21
  42. package/distTs/src/command/agent.js +0 -35
  43. package/distTs/src/command/config/add/http.js +0 -25
  44. package/distTs/src/command/config/add/tcp.js +0 -25
  45. package/distTs/src/command/config/add/tls.js +0 -25
  46. package/distTs/src/command/config/add.js +0 -15
  47. package/distTs/src/command/config/get/region.js +0 -15
  48. package/distTs/src/command/config/get/timeout.js +0 -15
  49. package/distTs/src/command/config/get/token.js +0 -15
  50. package/distTs/src/command/config/get/tunnel.js +0 -19
  51. package/distTs/src/command/config/get/tunnels.js +0 -15
  52. package/distTs/src/command/config/get/whitelist.js +0 -15
  53. package/distTs/src/command/config/get.js +0 -21
  54. package/distTs/src/command/config/remove/tunnel.js +0 -19
  55. package/distTs/src/command/config/remove.js +0 -11
  56. package/distTs/src/command/config/set/region.js +0 -17
  57. package/distTs/src/command/config/set/timeout.js +0 -17
  58. package/distTs/src/command/config/set/token.js +0 -16
  59. package/distTs/src/command/config/set/whitelist.js +0 -17
  60. package/distTs/src/command/config/set.js +0 -17
  61. package/distTs/src/command/config.js +0 -17
  62. package/distTs/src/command/http.js +0 -30
  63. package/distTs/src/command/pre.js +0 -49
  64. package/distTs/src/command/start.js +0 -28
  65. package/distTs/src/command/tcp.js +0 -30
  66. package/distTs/src/command/tls.js +0 -30
  67. package/distTs/src/command/tunnel/config.js +0 -17
  68. package/distTs/src/command/tunnel/http.js +0 -31
  69. package/distTs/src/command/tunnel/start.js +0 -28
  70. package/distTs/src/command/tunnel/tcp.js +0 -30
  71. package/distTs/src/command/tunnel/tls.js +0 -30
  72. package/distTs/src/command/tunnel.js +0 -19
  73. package/distTs/src/command/ut/upload.js +0 -108
  74. package/distTs/src/command/ut.js +0 -12
  75. package/distTs/src/command/version.js +0 -13
  76. package/distTs/src/command/vt/close.js +0 -27
  77. package/distTs/src/command/vt/compare/validation.js +0 -173
  78. package/distTs/src/command/vt/compare.js +0 -97
  79. package/distTs/src/command/vt/exec.js +0 -81
  80. package/distTs/src/command/vt/installBrowser.js +0 -20
  81. package/distTs/src/command/vt/scrap.js +0 -193
  82. package/distTs/src/command/vt/storybook.js +0 -92
  83. package/distTs/src/command/vt.js +0 -22
  84. package/distTs/src/format.js +0 -174
  85. package/distTs/src/index.js +0 -34
  86. package/distTs/src/input.js +0 -270
  87. package/distTs/src/logger.js +0 -95
  88. package/distTs/src/output/interactive/tunnel.js +0 -860
  89. package/distTs/src/output/noninteractive/agent/tunnels.js +0 -43
  90. package/distTs/src/output/noninteractive/config/tunnel.js +0 -65
  91. package/distTs/src/output/noninteractive/config/tunnels.js +0 -18
  92. package/distTs/src/output/noninteractive/tunnel.js +0 -59
  93. package/distTs/src/output.js +0 -143
  94. package/distTs/src/server/cert.js +0 -52
  95. package/distTs/src/server/http1.js +0 -75
  96. package/distTs/src/server/http2.js +0 -78
  97. package/distTs/src/server/sftp.js +0 -497
  98. package/distTs/src/server/ssh.js +0 -446
  99. package/distTs/src/server/tls.js +0 -41
  100. package/distTs/src/ssh/client.js +0 -197
  101. package/distTs/src/texts.js +0 -421
  102. package/distTs/src/tunnel/agent.js +0 -103
  103. package/distTs/src/tunnel/api/agent.js +0 -100
  104. package/distTs/src/tunnel/api/buddy.js +0 -141
  105. package/distTs/src/tunnel/cfg.js +0 -243
  106. package/distTs/src/tunnel/compression.js +0 -44
  107. package/distTs/src/tunnel/dns.js +0 -53
  108. package/distTs/src/tunnel/html/503.html +0 -338
  109. package/distTs/src/tunnel/html.js +0 -33
  110. package/distTs/src/tunnel/http/log.js +0 -218
  111. package/distTs/src/tunnel/http/serve.js +0 -133
  112. package/distTs/src/tunnel/http/stream.js +0 -34
  113. package/distTs/src/tunnel/http.js +0 -508
  114. package/distTs/src/tunnel/identification.js +0 -103
  115. package/distTs/src/tunnel/latency.js +0 -83
  116. package/distTs/src/tunnel/output/interactive/tunnel.js +0 -867
  117. package/distTs/src/tunnel/output/noninteractive/agent/tunnels.js +0 -45
  118. package/distTs/src/tunnel/output/noninteractive/config/tunnel.js +0 -67
  119. package/distTs/src/tunnel/output/noninteractive/config/tunnels.js +0 -20
  120. package/distTs/src/tunnel/output/noninteractive/tunnel.js +0 -61
  121. package/distTs/src/tunnel/server/cert.js +0 -54
  122. package/distTs/src/tunnel/server/http1.js +0 -80
  123. package/distTs/src/tunnel/server/http2.js +0 -84
  124. package/distTs/src/tunnel/server/sftp.js +0 -514
  125. package/distTs/src/tunnel/server/ssh.js +0 -464
  126. package/distTs/src/tunnel/server/tls.js +0 -47
  127. package/distTs/src/tunnel/ssh/client.js +0 -211
  128. package/distTs/src/tunnel/tcp.js +0 -113
  129. package/distTs/src/tunnel/tunnel.js +0 -1010
  130. package/distTs/src/tunnel.js +0 -656
  131. package/distTs/src/types/ciInfo.js +0 -10
  132. package/distTs/src/types/options.js +0 -2
  133. package/distTs/src/types/plugin.js +0 -2
  134. package/distTs/src/types/queue.js +0 -2
  135. package/distTs/src/types/requests.js +0 -2
  136. package/distTs/src/types/resources.js +0 -2
  137. package/distTs/src/types/schemas.js +0 -54
  138. package/distTs/src/types/scrape.js +0 -2
  139. package/distTs/src/types/snapshots.js +0 -2
  140. package/distTs/src/types/storybook.js +0 -2
  141. package/distTs/src/types/tunnel.js +0 -141
  142. package/distTs/src/unitTest/ci.js +0 -108
  143. package/distTs/src/unitTest/requests.js +0 -72
  144. package/distTs/src/utils.js +0 -378
  145. package/distTs/src/visualTest/browser.js +0 -39
  146. package/distTs/src/visualTest/ci.js +0 -241
  147. package/distTs/src/visualTest/context.js +0 -52
  148. package/distTs/src/visualTest/exec.js +0 -51
  149. package/distTs/src/visualTest/linkUtils.js +0 -21
  150. package/distTs/src/visualTest/queue.js +0 -43
  151. package/distTs/src/visualTest/requests.js +0 -365
  152. package/distTs/src/visualTest/resources.js +0 -259
  153. package/distTs/src/visualTest/server.js +0 -109
  154. package/distTs/src/visualTest/snapshots.js +0 -129
  155. package/distTs/src/visualTest/utils/parseDom.js +0 -238
  156. package/distTs/src/visualTest/validation.js +0 -18
@@ -1,378 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getBasicCommandTls = exports.getBasicCommandHttp = exports.getBasicCommandTcp = exports.createSshHostKey = exports.getRealTargetHost = exports.isWindows = exports.isLinux = exports.isOsx = exports.isDocker = exports.sleep = exports.getLatestVersion = exports.getVersionEnv = exports.getVersionWithoutEnv = exports.getVersion = exports.getHomeDirectory = exports.newCommand = exports.formatHelp = exports.getPlatform = exports.getHostname = exports.isStringRegExp = exports.getRootDir = exports.TARGET_ONLY_PORT_REGEX = exports.TARGET_HTTP_REGEX = exports.TARGET_TCP_TLS_REGEX = exports.ApiErrorTunnelsDisabled = exports.ApiErrorWorkspaceFlagged = exports.ApiErrorTunnelLimitReached = exports.ApiErrorAgentLimitReached = exports.ApiErrorDomainRestricted = exports.ApiErrorTargetInvalid = exports.ApiErrorWrongToken = exports.ApiErrorFailedToConnect = exports.ApiErrorAgentNotFound = exports.SUGGESTED_BROWSER_VERSION = exports.DEFAULT_TIMEOUT = exports.TUNNEL_HTTP_CB_MIN_REQUESTS = exports.TUNNEL_HTTP_CB_WINDOW = exports.TUNNEL_MAX_REQUEST_SIZE_TO_SYNC = exports.TUNNEL_HTTP_LOG_MAX_REQUESTS = exports.TUNNEL_HTTP_LOG_MAX_BODY = exports.TUNNEL_HTTP_RATE_WINDOW = exports.TUNNEL_HTTP_RATE_LIMIT = void 0;
30
- exports.apiErrorCodeToClass = apiErrorCodeToClass;
31
- exports.isFile = isFile;
32
- const node_path_1 = __importStar(require("node:path"));
33
- const node_fs_1 = require("node:fs");
34
- const texts_1 = require("./texts");
35
- const ssh2_1 = __importDefault(require("ssh2"));
36
- const node_sea_1 = require("node:sea");
37
- const commander_1 = require("commander");
38
- const texts_2 = require("./texts");
39
- const node_os_1 = __importStar(require("node:os"));
40
- exports.TUNNEL_HTTP_RATE_LIMIT = 2000;
41
- exports.TUNNEL_HTTP_RATE_WINDOW = 60000;
42
- exports.TUNNEL_HTTP_LOG_MAX_BODY = 5242880; // 5MB
43
- exports.TUNNEL_HTTP_LOG_MAX_REQUESTS = 20;
44
- exports.TUNNEL_MAX_REQUEST_SIZE_TO_SYNC = 25600; // 25kB (1 request do frontu moze miec max 1MB, 20 requestow po req i res body)
45
- exports.TUNNEL_HTTP_CB_WINDOW = 10000;
46
- exports.TUNNEL_HTTP_CB_MIN_REQUESTS = 20;
47
- exports.DEFAULT_TIMEOUT = 30;
48
- exports.SUGGESTED_BROWSER_VERSION = '130.0.6723.69';
49
- function apiErrorCodeToClass(code, host) {
50
- if (code === 234031) {
51
- return new ApiErrorTargetInvalid();
52
- }
53
- if (code === 234000) {
54
- return new ApiErrorAgentNotFound();
55
- }
56
- if (code === 234020) {
57
- return new ApiErrorWrongToken();
58
- }
59
- if (code === 234044) {
60
- return new ApiErrorDomainRestricted();
61
- }
62
- if (code === 234500) {
63
- return new ApiErrorTunnelsDisabled();
64
- }
65
- if (code === 234502) {
66
- return new ApiErrorAgentLimitReached();
67
- }
68
- if (code === 234501) {
69
- return new ApiErrorTunnelLimitReached();
70
- }
71
- if (code === 1150000) {
72
- return new ApiErrorWorkspaceFlagged();
73
- }
74
- return new ApiErrorFailedToConnect(host);
75
- }
76
- class ApiErrorAgentNotFound extends Error {
77
- constructor() {
78
- super(texts_1.ERR_AGENT_REMOVED);
79
- }
80
- }
81
- exports.ApiErrorAgentNotFound = ApiErrorAgentNotFound;
82
- class ApiErrorFailedToConnect extends Error {
83
- constructor(host) {
84
- super((0, texts_1.ERR_FAILED_TO_CONNECT)(host));
85
- }
86
- }
87
- exports.ApiErrorFailedToConnect = ApiErrorFailedToConnect;
88
- class ApiErrorWrongToken extends Error {
89
- constructor() {
90
- super(texts_1.ERR_WRONG_TOKEN);
91
- }
92
- }
93
- exports.ApiErrorWrongToken = ApiErrorWrongToken;
94
- class ApiErrorTargetInvalid extends Error {
95
- constructor() {
96
- super(texts_1.ERR_TUNNEL_TARGET_INVALID);
97
- }
98
- }
99
- exports.ApiErrorTargetInvalid = ApiErrorTargetInvalid;
100
- class ApiErrorDomainRestricted extends Error {
101
- constructor() {
102
- super(texts_1.ERR_DOMAIN_RESTRICTED);
103
- }
104
- }
105
- exports.ApiErrorDomainRestricted = ApiErrorDomainRestricted;
106
- class ApiErrorAgentLimitReached extends Error {
107
- constructor() {
108
- super(texts_1.ERR_AGENT_LIMIT_REACHED);
109
- }
110
- }
111
- exports.ApiErrorAgentLimitReached = ApiErrorAgentLimitReached;
112
- class ApiErrorTunnelLimitReached extends Error {
113
- constructor() {
114
- super(texts_1.ERR_TUNNEL_LIMIT_REACHED);
115
- }
116
- }
117
- exports.ApiErrorTunnelLimitReached = ApiErrorTunnelLimitReached;
118
- class ApiErrorWorkspaceFlagged extends Error {
119
- constructor() {
120
- super(texts_1.ERR_WORKSPACE_FLAGGED);
121
- }
122
- }
123
- exports.ApiErrorWorkspaceFlagged = ApiErrorWorkspaceFlagged;
124
- class ApiErrorTunnelsDisabled extends Error {
125
- constructor() {
126
- super(texts_1.ERR_TUNNELS_DISABLED);
127
- }
128
- }
129
- exports.ApiErrorTunnelsDisabled = ApiErrorTunnelsDisabled;
130
- exports.TARGET_TCP_TLS_REGEX = /^(([^:/]+):)?(\d+)$/i;
131
- exports.TARGET_HTTP_REGEX = /^((https?):\/\/)?([^:/]+:[^@:/]+@)?([^:/]+)(:(\d+))?(\/)?$/i;
132
- exports.TARGET_ONLY_PORT_REGEX = /^\d+$/i;
133
- let cachedVersion;
134
- let cachedRoot;
135
- const getRootDir = () => {
136
- if (!cachedRoot) {
137
- cachedRoot = node_path_1.default.resolve(__dirname, '..');
138
- }
139
- return cachedRoot;
140
- };
141
- exports.getRootDir = getRootDir;
142
- const isStringRegExp = (str) => /^\/.*\/$/.test(str);
143
- exports.isStringRegExp = isStringRegExp;
144
- const getHostname = () => {
145
- return node_os_1.default.hostname();
146
- };
147
- exports.getHostname = getHostname;
148
- const getPlatform = () => {
149
- return node_os_1.default.platform();
150
- };
151
- exports.getPlatform = getPlatform;
152
- const formatHelp = (cmd, helper) => {
153
- const termWidth = helper.padWidth(cmd, helper);
154
- const helpWidth = helper.helpWidth || 80;
155
- const itemIndentWidth = 2;
156
- const itemSeparatorWidth = 2; // between term and description
157
- function formatItem(term, description) {
158
- if (description) {
159
- const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;
160
- return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);
161
- }
162
- return term;
163
- }
164
- function formatList(textArray) {
165
- return textArray.join('\n').replace(/^/gm, ' '.repeat(itemIndentWidth));
166
- }
167
- // Usage
168
- let output = ['USAGE:', ` ${helper.commandUsage(cmd)}`, ''];
169
- // Description
170
- const commandDescription = helper.commandDescription(cmd);
171
- if (commandDescription.length > 0) {
172
- output = output.concat([
173
- 'DESCRIPTION:',
174
- ` ${helper.wrap(commandDescription, helpWidth, itemIndentWidth)}`,
175
- '',
176
- ]);
177
- }
178
- // Arguments
179
- const argumentList = helper
180
- .visibleArguments(cmd)
181
- .map((argument) => {
182
- return formatItem(helper.argumentTerm(argument), helper.argumentDescription(argument));
183
- });
184
- if (argumentList.length > 0) {
185
- output = output.concat(['ARGUMENTS:', formatList(argumentList), '']);
186
- }
187
- // Options
188
- const optionList = helper.visibleOptions(cmd).map((option) => {
189
- return formatItem(helper.optionTerm(option), helper.optionDescription(option));
190
- });
191
- if (optionList.length > 0) {
192
- output = output.concat(['OPTIONS:', formatList(optionList), '']);
193
- }
194
- // Commands
195
- const commandList = helper.visibleCommands(cmd).map((cmd) => {
196
- return formatItem(helper.subcommandTerm(cmd), helper.subcommandDescription(cmd));
197
- });
198
- if (commandList.length > 0) {
199
- output = output.concat(['COMMANDS:', formatList(commandList), '']);
200
- }
201
- return output.join('\n');
202
- };
203
- exports.formatHelp = formatHelp;
204
- const newCommand = (name, desc) => {
205
- const cmd = new commander_1.Command(name);
206
- if (desc)
207
- cmd.description(desc);
208
- cmd.configureHelp({
209
- formatHelp: exports.formatHelp,
210
- });
211
- return cmd;
212
- };
213
- exports.newCommand = newCommand;
214
- const getHomeDirectory = () => {
215
- if ((0, exports.isDocker)())
216
- return '/buddy';
217
- const r = (0, node_os_1.homedir)();
218
- const p = node_path_1.default.join(r, '.bdy');
219
- if (!(0, node_fs_1.existsSync)(p)) {
220
- (0, node_fs_1.mkdirSync)(p, { recursive: true });
221
- try {
222
- (0, node_fs_1.chmodSync)(p, 0o777);
223
- }
224
- catch {
225
- // do nothing
226
- }
227
- }
228
- return p;
229
- };
230
- exports.getHomeDirectory = getHomeDirectory;
231
- const getVersion = () => {
232
- if (!cachedVersion) {
233
- let packageJson;
234
- if ((0, node_sea_1.isSea)()) {
235
- packageJson = JSON.parse((0, node_sea_1.getAsset)('package.json', 'utf8'));
236
- }
237
- else {
238
- const root = (0, exports.getRootDir)();
239
- packageJson = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.resolve)(root, 'package.json'), 'utf8'));
240
- }
241
- cachedVersion = packageJson.version;
242
- }
243
- return cachedVersion;
244
- };
245
- exports.getVersion = getVersion;
246
- const getVersionWithoutEnv = () => {
247
- const v = (0, exports.getVersion)();
248
- const m = v.match(/^\d+\.\d+\.\d+/);
249
- if (m)
250
- return m[0];
251
- return '0.0.0';
252
- };
253
- exports.getVersionWithoutEnv = getVersionWithoutEnv;
254
- const getVersionEnv = () => {
255
- const v = (0, exports.getVersion)();
256
- if (/dev/.test(v))
257
- return 'dev';
258
- if (/beta/.test(v))
259
- return 'beta';
260
- if (/stage/.test(v))
261
- return 'stage';
262
- if (/master/.test(v))
263
- return 'master';
264
- return 'prod';
265
- };
266
- exports.getVersionEnv = getVersionEnv;
267
- const getLatestVersion = async () => {
268
- try {
269
- const env = (0, exports.getVersionEnv)();
270
- const c = new AbortController();
271
- setTimeout(() => {
272
- c.abort();
273
- }, 10000);
274
- const response = await fetch(`https://es.buddy.works/bdy/${env}/latest`, {
275
- method: 'GET',
276
- signal: c.signal,
277
- });
278
- if (response.status === 200) {
279
- const data = await response.text();
280
- const v = data.trim();
281
- if (env === 'prod')
282
- return v;
283
- return `${v}-${env}`;
284
- }
285
- else {
286
- return '0.0.0';
287
- }
288
- }
289
- catch {
290
- throw new Error(texts_2.ERR_FETCH_VERSION);
291
- }
292
- };
293
- exports.getLatestVersion = getLatestVersion;
294
- const sleep = (ms) => {
295
- return new Promise((resolve) => {
296
- setTimeout(resolve, ms);
297
- });
298
- };
299
- exports.sleep = sleep;
300
- const isDocker = () => {
301
- return process.env['IS_IN_DOCKER'] === '1';
302
- };
303
- exports.isDocker = isDocker;
304
- const isOsx = () => {
305
- return node_os_1.default.platform() === 'darwin';
306
- };
307
- exports.isOsx = isOsx;
308
- const isLinux = () => {
309
- return node_os_1.default.platform() === 'linux';
310
- };
311
- exports.isLinux = isLinux;
312
- const isWindows = () => {
313
- return node_os_1.default.platform() === 'win32';
314
- };
315
- exports.isWindows = isWindows;
316
- const getRealTargetHost = (target) => {
317
- return target || '';
318
- };
319
- exports.getRealTargetHost = getRealTargetHost;
320
- const createSshHostKey = () => {
321
- const keys = ssh2_1.default.utils.generateKeyPairSync('ed25519', {});
322
- return keys.private;
323
- };
324
- exports.createSshHostKey = createSshHostKey;
325
- const getBasicCommandTcp = () => {
326
- const commandTcp = (0, exports.newCommand)('tcp');
327
- commandTcp.alias('TCP');
328
- commandTcp.option('-r, --region <region>', texts_1.OPTION_REGION);
329
- commandTcp.option('-w, --whitelist <cidrs...>', texts_1.OPTION_WHITELIST);
330
- commandTcp.option('-n, --name <name>', texts_1.OPTION_NAME);
331
- commandTcp.option('-t, --timeout <seconds>', texts_1.OPTION_TIMEOUT);
332
- return commandTcp;
333
- };
334
- exports.getBasicCommandTcp = getBasicCommandTcp;
335
- const getBasicCommandHttp = () => {
336
- const commandHttp = (0, exports.newCommand)('http');
337
- commandHttp.alias('HTTP');
338
- commandHttp.option('-r, --region <region>', texts_1.OPTION_REGION);
339
- commandHttp.option('-w, --whitelist <cidrs...>', texts_1.OPTION_WHITELIST);
340
- commandHttp.option('-n, --name <name>', texts_1.OPTION_NAME);
341
- commandHttp.option('-t, --timeout <seconds>', texts_1.OPTION_TIMEOUT);
342
- commandHttp.option('-h, --host <host>', texts_1.OPTION_HTTP_HOST);
343
- commandHttp.option('--header <headers...>', texts_1.OPTION_HEADER);
344
- commandHttp.option('--response-header <headers...>', texts_1.OPTION_RESPONSE_HEADER);
345
- commandHttp.option('--useragent <useragent...>', texts_1.OPTION_HEADER_USER_AGENT);
346
- commandHttp.option('-a, --auth <user:pass>', texts_1.OPTION_HTTP_AUTH);
347
- commandHttp.option('-b, --buddy', texts_1.OPTION_HTTP_AUTH_BUDDY);
348
- commandHttp.option('-l, --log', texts_1.OPTION_HTTP_LOG);
349
- commandHttp.option('-v, --verify', texts_1.OPTION_HTTP_VERIFY);
350
- commandHttp.option('-2, --http2', texts_1.OPTION_HTTP_2);
351
- commandHttp.option('-c, --compression', texts_1.OPTION_HTTP_COMPRESSION);
352
- commandHttp.option('--ca <ca>', texts_1.OPTION_TLS_CA);
353
- commandHttp.option('--circuit-breaker <threshold>', texts_1.OPTION_HTTP_CIRCUIT_BREAKER);
354
- return commandHttp;
355
- };
356
- exports.getBasicCommandHttp = getBasicCommandHttp;
357
- const getBasicCommandTls = () => {
358
- const commandTls = (0, exports.newCommand)('tls');
359
- commandTls.alias('TLS');
360
- commandTls.option('-r, --region <region>', texts_1.OPTION_REGION);
361
- commandTls.option('-w, --whitelist <cidrs...>', texts_1.OPTION_WHITELIST);
362
- commandTls.option('-n, --name <name>', texts_1.OPTION_NAME);
363
- commandTls.option('-t, --timeout <seconds>', texts_1.OPTION_TIMEOUT);
364
- commandTls.option('-k, --key <key>', texts_1.OPTION_TLS_KEY);
365
- commandTls.option('-c, --cert <cert>', texts_1.OPTION_TLS_CERT);
366
- commandTls.option('--ca <ca>', texts_1.OPTION_TLS_CA);
367
- commandTls.option('-i, --terminate <at>', texts_1.OPTION_TLS_TERMINATE);
368
- return commandTls;
369
- };
370
- exports.getBasicCommandTls = getBasicCommandTls;
371
- function isFile(path) {
372
- try {
373
- return (0, node_fs_1.statSync)(path).isFile();
374
- }
375
- catch {
376
- return false;
377
- }
378
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.installBrowser = installBrowser;
7
- exports.getBrowserPath = getBrowserPath;
8
- const browsers_1 = require("@puppeteer/browsers");
9
- const node_path_1 = require("node:path");
10
- const node_os_1 = require("node:os");
11
- const texts_1 = require("../texts");
12
- const output_1 = __importDefault(require("../output"));
13
- const utils_1 = require("../utils");
14
- const customBrowserPath = process.env.SNAPSHOTS_BROWSER_PATH;
15
- const cacheDir = (0, node_path_1.join)((0, node_os_1.homedir)(), '.cache', 'puppeteer');
16
- const installOptions = {
17
- cacheDir,
18
- browser: browsers_1.Browser.CHROMEHEADLESSSHELL,
19
- buildId: utils_1.SUGGESTED_BROWSER_VERSION,
20
- };
21
- async function installBrowser() {
22
- await (0, browsers_1.canDownload)(installOptions);
23
- const installedBrowser = await (0, browsers_1.install)(installOptions);
24
- const executablePath = installedBrowser.executablePath;
25
- output_1.default.normal((0, texts_1.LOG_INSTALLED_BROWSER)(executablePath));
26
- return executablePath;
27
- }
28
- async function getBrowserPath() {
29
- if (customBrowserPath) {
30
- return customBrowserPath;
31
- }
32
- const installedBrowsers = await (0, browsers_1.getInstalledBrowsers)({ cacheDir });
33
- const browserFromCache = installedBrowsers.find((browser) => browser.browser === installOptions.browser &&
34
- browser.buildId === installOptions.buildId);
35
- if (browserFromCache) {
36
- return browserFromCache.executablePath;
37
- }
38
- return installBrowser();
39
- }
@@ -1,241 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getBranchName = getBranchName;
7
- exports.getCommitHash = getCommitHash;
8
- exports.getCiAndGitInfo = getCiAndGitInfo;
9
- exports.logCiInfo = logCiInfo;
10
- const promises_1 = __importDefault(require("node:fs/promises"));
11
- const exec_1 = require("./exec");
12
- const ciInfo_1 = require("../types/ciInfo");
13
- const output_1 = __importDefault(require("../output"));
14
- const texts_1 = require("../texts");
15
- async function getGithubPullRequestCommit() {
16
- const payloadPath = process.env.GITHUB_EVENT_PATH;
17
- if (!payloadPath) {
18
- output_1.default.warning(texts_1.ERR_GITHUB_EVENT_PATH_NOT_FOUND);
19
- return process.env.GITHUB_SHA;
20
- }
21
- try {
22
- await promises_1.default.access(payloadPath);
23
- }
24
- catch (error) {
25
- output_1.default.warning((0, texts_1.ERR_MISSING_FILE_WITH_HEAD_COMMIT)(payloadPath, JSON.stringify(error)));
26
- return process.env.GITHUB_SHA;
27
- }
28
- let payload;
29
- try {
30
- const payloadFile = await promises_1.default.readFile(payloadPath);
31
- payload = JSON.parse(payloadFile.toString());
32
- }
33
- catch (error) {
34
- output_1.default.warning((0, texts_1.ERR_READING_FILE_WITH_HEAD_COMMIT)(payloadPath, JSON.stringify(error)));
35
- return process.env.GITHUB_SHA;
36
- }
37
- if (!payload?.pull_request) {
38
- output_1.default.warning(texts_1.ERR_MISSING_HEAD_COMMIT_IN_FILE);
39
- return process.env.GITHUB_SHA;
40
- }
41
- return payload.pull_request.head.sha;
42
- }
43
- async function getBranchName(optional) {
44
- let branch = '';
45
- try {
46
- branch = await (0, exec_1.gitExec)(['rev-parse', '--abbrev-ref', 'HEAD']);
47
- }
48
- catch (error) {
49
- if (!optional) {
50
- output_1.default.warning((0, texts_1.ERR_GETTING_BRANCH_NAME)(JSON.stringify(error)));
51
- }
52
- }
53
- branch = branch.trim();
54
- if (!branch) {
55
- if (!optional) {
56
- output_1.default.warning(texts_1.ERR_INVALID_BRANCH_NAME);
57
- }
58
- return;
59
- }
60
- return branch?.trim();
61
- }
62
- async function getCommitHash(optional) {
63
- let commit = '';
64
- try {
65
- commit = await (0, exec_1.gitExec)(['rev-parse', '--verify', 'HEAD']);
66
- }
67
- catch (error) {
68
- if (!optional) {
69
- output_1.default.warning((0, texts_1.ERR_GETTING_COMMIT_HASH)(JSON.stringify(error)));
70
- }
71
- }
72
- commit = commit.trim();
73
- if (!commit || commit.length !== 40) {
74
- if (!optional) {
75
- output_1.default.warning((0, texts_1.ERR_INVALID_COMMIT_HASH)(commit));
76
- }
77
- return;
78
- }
79
- return commit;
80
- }
81
- async function getBaseCommit(baseBranch, headBranch, requiredOriginPrefix) {
82
- if (!baseBranch) {
83
- output_1.default.warning(texts_1.ERR_BASE_BRANCH_NOT_DEFINED);
84
- return;
85
- }
86
- if (!headBranch) {
87
- output_1.default.warning(texts_1.ERR_HEAD_BRANCH_NOT_DEFINED);
88
- return;
89
- }
90
- let commit = '';
91
- try {
92
- const preparedBranch = requiredOriginPrefix && !headBranch.includes('origin/')
93
- ? `origin/${headBranch}`
94
- : headBranch;
95
- const preparedBaseBranch = requiredOriginPrefix && !baseBranch.includes('origin/')
96
- ? `origin/${baseBranch}`
97
- : baseBranch;
98
- commit = await (0, exec_1.gitExec)(['merge-base', preparedBranch, preparedBaseBranch]);
99
- }
100
- catch (error) {
101
- output_1.default.warning((0, texts_1.ERR_GETTING_BASE_COMMIT)(baseBranch, headBranch, JSON.stringify(error)));
102
- }
103
- commit = commit.trim();
104
- if (!commit || commit.length !== 40) {
105
- output_1.default.warning((0, texts_1.ERR_INVALID_COMMIT_HASH)(commit));
106
- return;
107
- }
108
- return commit;
109
- }
110
- async function getCommitDetails(commitHash) {
111
- if (commitHash) {
112
- try {
113
- const commitDetails = await (0, exec_1.gitExec)([
114
- 'show',
115
- '--no-patch',
116
- '--pretty=%an%n%ae%n%ct%n%B',
117
- commitHash,
118
- ]);
119
- const [authorName, authorEmail, authorDate, message] = commitDetails.split('\n');
120
- const authorDateNumber = Number(authorDate);
121
- return {
122
- authorName,
123
- authorEmail,
124
- authorDate: Number.isNaN(authorDateNumber)
125
- ? undefined
126
- : authorDateNumber,
127
- message,
128
- };
129
- }
130
- catch (error) {
131
- output_1.default.warning((0, texts_1.ERR_GETTING_COMMIT_DETAILS)(JSON.stringify(error)));
132
- }
133
- }
134
- }
135
- async function getCiAndGitInfo({ baseBranch, skipBaseCommitDiscovery, }) {
136
- const isBuddy = process.env.BUDDY === 'true';
137
- const isGithubAction = process.env.GITHUB_ACTIONS === 'true';
138
- const isCircleCI = process.env.CIRCLECI === 'true';
139
- const forceTag = process.env.SNAPSHOTS_TAG;
140
- const forceBranch = process.env.SNAPSHOTS_BRANCH;
141
- const forceCommit = process.env.SNAPSHOTS_COMMIT;
142
- const forceBaseCommit = process.env.SNAPSHOTS_BASE_COMMIT;
143
- const withoutBaseCommit = baseBranch === undefined || skipBaseCommitDiscovery;
144
- if (isBuddy) {
145
- const pullRequestNumber = Number(process.env.BUDDY_RUN_PR_NO);
146
- const isPR = !!pullRequestNumber;
147
- const branch = forceBranch ||
148
- (isPR
149
- ? process.env.BUDDY_RUN_PR_HEAD_BRANCH
150
- : process.env.BUDDY_EXECUTION_BRANCH);
151
- const tag = forceTag || process.env.BUDDY_EXECUTION_TAG;
152
- const commit = forceCommit || process.env.BUDDY_EXECUTION_REVISION;
153
- const baseCommit = withoutBaseCommit
154
- ? undefined
155
- : forceBaseCommit ||
156
- (isPR ? await getBaseCommit(baseBranch, branch, true) : undefined);
157
- const invokerId = Number(process.env.BUDDY_INVOKER_ID);
158
- const pipelineId = Number(process.env.BUDDY_PIPELINE_ID);
159
- const actionId = Number(process.env.BUDDY_ACTION_ID);
160
- const executionId = process.env.BUDDY_RUN_HASH;
161
- return {
162
- ci: ciInfo_1.CI.BUDDY,
163
- branch,
164
- tag,
165
- pullRequestNumber: isPR ? pullRequestNumber : undefined,
166
- commit,
167
- baseCommit,
168
- pipelineName: process.env.BUDDY_PIPELINE_NAME,
169
- pipelineId: Number.isNaN(pipelineId) ? undefined : pipelineId,
170
- actionId: Number.isNaN(actionId) ? undefined : actionId,
171
- executionId,
172
- invokerId: Number.isNaN(invokerId) ? undefined : invokerId,
173
- commitDetails: await getCommitDetails(commit),
174
- };
175
- }
176
- if (isGithubAction) {
177
- const isPR = process.env.GITHUB_EVENT_NAME === 'pull_request';
178
- const isTag = process.env.GITHUB_REF_TYPE === 'tag';
179
- const pullRequestNumber = isPR && process.env.GITHUB_REF
180
- ? Number(process.env.GITHUB_REF.split('/')[2])
181
- : undefined;
182
- const branch = forceBranch ||
183
- (isPR ? process.env.GITHUB_HEAD_REF : process.env.GITHUB_REF_NAME);
184
- const tag = forceTag || (isTag ? process.env.GITHUB_REF_NAME : undefined);
185
- const commit = forceCommit ||
186
- (isPR ? await getGithubPullRequestCommit() : process.env.GITHUB_SHA);
187
- const baseCommit = withoutBaseCommit
188
- ? undefined
189
- : forceBaseCommit ||
190
- (isPR ? await getBaseCommit(baseBranch, branch, true) : undefined);
191
- return {
192
- ci: ciInfo_1.CI.GITHUB_ACTION,
193
- branch,
194
- tag,
195
- pullRequestNumber,
196
- commit,
197
- baseCommit,
198
- commitDetails: await getCommitDetails(commit),
199
- executionUrl: `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`,
200
- };
201
- }
202
- if (isCircleCI) {
203
- const isPR = process.env.CIRCLE_PULL_REQUEST;
204
- const pullRequestNumber = isPR
205
- ? Number(process.env.CIRCLE_PR_NUMBER)
206
- : undefined;
207
- const branch = forceBranch || process.env.CIRCLE_BRANCH;
208
- const tag = forceTag || process.env.CIRCLE_TAG;
209
- const commit = forceCommit || process.env.CIRCLE_SHA1;
210
- const baseCommit = withoutBaseCommit
211
- ? undefined
212
- : forceBaseCommit ||
213
- (isPR ? await getBaseCommit(baseBranch, branch) : undefined);
214
- return {
215
- ci: ciInfo_1.CI.CIRCLE_CI,
216
- branch,
217
- tag,
218
- pullRequestNumber,
219
- commit,
220
- baseCommit,
221
- commitDetails: await getCommitDetails(commit),
222
- executionUrl: `${process.env.CIRCLE_BUILD_URL}`,
223
- };
224
- }
225
- const branch = forceBranch || (await getBranchName(withoutBaseCommit));
226
- const commit = forceCommit || (await getCommitHash(withoutBaseCommit));
227
- return {
228
- ci: ciInfo_1.CI.NONE,
229
- branch,
230
- commit,
231
- baseCommit: withoutBaseCommit
232
- ? undefined
233
- : branch && branch !== baseBranch
234
- ? forceBaseCommit || (await getBaseCommit(baseBranch, branch))
235
- : undefined,
236
- commitDetails: await getCommitDetails(commit),
237
- };
238
- }
239
- function logCiInfo(ciInfo) {
240
- output_1.default.normal((0, texts_1.TXT_CI_INFO)(ciInfo));
241
- }