cypress 4.4.1 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,23 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  var _ = require('lodash');
4
+
4
5
  var la = require('lazy-ass');
6
+
5
7
  var is = require('check-more-types');
8
+
6
9
  var cp = require('child_process');
10
+
7
11
  var os = require('os');
12
+
8
13
  var yauzl = require('yauzl');
14
+
9
15
  var debug = require('debug')('cypress:cli:unzip');
16
+
10
17
  var extract = require('extract-zip');
18
+
11
19
  var Promise = require('bluebird');
20
+
12
21
  var readline = require('readline');
13
22
 
14
23
  var _require = require('../errors'),
@@ -16,17 +25,17 @@ var _require = require('../errors'),
16
25
  errors = _require.errors;
17
26
 
18
27
  var fs = require('../fs');
28
+
19
29
  var util = require('../util');
20
30
 
21
31
  var unzipTools = {
22
32
  extract: extract
33
+ }; // expose this function for simple testing
23
34
 
24
- // expose this function for simple testing
25
- };var unzip = function unzip(_ref) {
35
+ var unzip = function unzip(_ref) {
26
36
  var zipFilePath = _ref.zipFilePath,
27
37
  installDir = _ref.installDir,
28
38
  progress = _ref.progress;
29
-
30
39
  debug('unzipping from %s', zipFilePath);
31
40
  debug('into', installDir);
32
41
 
@@ -36,7 +45,6 @@ var unzipTools = {
36
45
 
37
46
  var startTime = Date.now();
38
47
  var yauzlDoneTime = 0;
39
-
40
48
  return fs.ensureDirAsync(installDir).then(function () {
41
49
  return new Promise(function (resolve, reject) {
42
50
  return yauzl.open(zipFilePath, function (err, zipFile) {
@@ -44,33 +52,25 @@ var unzipTools = {
44
52
 
45
53
  if (err) {
46
54
  debug('error using yauzl %s', err.message);
47
-
48
55
  return reject(err);
49
56
  }
50
57
 
51
58
  var total = zipFile.entryCount;
52
-
53
59
  debug('zipFile entries count', total);
54
-
55
60
  var started = new Date();
56
-
57
61
  var percent = 0;
58
62
  var count = 0;
59
63
 
60
64
  var notify = function notify(percent) {
61
65
  var elapsed = +new Date() - +started;
62
-
63
66
  var eta = util.calculateEta(percent, elapsed);
64
-
65
67
  progress.onProgress(percent, util.secsRemaining(eta));
66
68
  };
67
69
 
68
70
  var tick = function tick() {
69
71
  count += 1;
70
-
71
72
  percent = count / total * 100;
72
73
  var displayPercent = percent.toFixed(0);
73
-
74
74
  return notify(displayPercent);
75
75
  };
76
76
 
@@ -80,12 +80,10 @@ var unzipTools = {
80
80
  var endFn = function endFn(err) {
81
81
  if (err) {
82
82
  debug('error %s', err.message);
83
-
84
83
  return reject(err);
85
84
  }
86
85
 
87
86
  debug('node unzip finished');
88
-
89
87
  return resolve();
90
88
  };
91
89
 
@@ -93,9 +91,7 @@ var unzipTools = {
93
91
  dir: installDir,
94
92
  onEntry: tick
95
93
  };
96
-
97
94
  debug('calling Node extract tool %s %o', zipFilePath, opts);
98
-
99
95
  return unzipTools.extract(zipFilePath, opts, endFn);
100
96
  };
101
97
 
@@ -103,74 +99,64 @@ var unzipTools = {
103
99
 
104
100
  var unzipWithUnzipTool = function unzipWithUnzipTool() {
105
101
  debug('unzipping via `unzip`');
106
-
107
102
  var inflatingRe = /inflating:/;
108
-
109
103
  var sp = cp.spawn('unzip', ['-o', zipFilePath, '-d', installDir]);
110
-
111
104
  sp.on('error', function (err) {
112
105
  debug('unzip tool error: %s', err.message);
113
106
  unzipFallback();
114
107
  });
115
-
116
108
  sp.on('close', function (code) {
117
109
  debug('unzip tool close with code %d', code);
110
+
118
111
  if (code === 0) {
119
112
  percent = 100;
120
113
  notify(percent);
121
-
122
114
  return resolve();
123
115
  }
124
116
 
125
- debug('`unzip` failed %o', { code: code });
126
-
117
+ debug('`unzip` failed %o', {
118
+ code: code
119
+ });
127
120
  return unzipFallback();
128
121
  });
129
-
130
122
  sp.stdout.on('data', function (data) {
131
123
  if (inflatingRe.test(data)) {
132
124
  return tick();
133
125
  }
134
126
  });
135
-
136
127
  sp.stderr.on('data', function (data) {
137
128
  debug('`unzip` stderr %s', data);
138
129
  });
139
- };
140
-
141
- // we attempt to first unzip with the native osx
130
+ }; // we attempt to first unzip with the native osx
142
131
  // ditto because its less likely to have problems
143
132
  // with corruption, symlinks, or icons causing failures
144
133
  // and can handle resource forks
145
134
  // http://automatica.com.au/2011/02/unzip-mac-os-x-zip-in-terminal/
135
+
136
+
146
137
  var unzipWithOsx = function unzipWithOsx() {
147
138
  debug('unzipping via `ditto`');
148
-
149
139
  var copyingFileRe = /^copying file/;
140
+ var sp = cp.spawn('ditto', ['-xkV', zipFilePath, installDir]); // f-it just unzip with node
150
141
 
151
- var sp = cp.spawn('ditto', ['-xkV', zipFilePath, installDir]);
152
-
153
- // f-it just unzip with node
154
142
  sp.on('error', function (err) {
155
143
  debug(err.message);
156
144
  unzipFallback();
157
145
  });
158
-
159
146
  sp.on('close', function (code) {
160
147
  if (code === 0) {
161
148
  // make sure we get to 100% on the progress bar
162
149
  // because reading in lines is not really accurate
163
150
  percent = 100;
164
151
  notify(percent);
165
-
166
152
  return resolve();
167
153
  }
168
154
 
169
- debug('`ditto` failed %o', { code: code });
170
-
155
+ debug('`ditto` failed %o', {
156
+ code: code
157
+ });
171
158
  return unzipFallback();
172
159
  });
173
-
174
160
  return readline.createInterface({
175
161
  input: sp.stderr
176
162
  }).on('line', function (line) {
@@ -183,10 +169,13 @@ var unzipTools = {
183
169
  switch (os.platform()) {
184
170
  case 'darwin':
185
171
  return unzipWithOsx();
172
+
186
173
  case 'linux':
187
174
  return unzipWithUnzipTool();
175
+
188
176
  case 'win32':
189
177
  return unzipWithNode();
178
+
190
179
  default:
191
180
  return;
192
181
  }
@@ -204,23 +193,28 @@ var start = function start(_ref2) {
204
193
  var zipFilePath = _ref2.zipFilePath,
205
194
  installDir = _ref2.installDir,
206
195
  progress = _ref2.progress;
207
-
208
196
  la(is.unemptyString(installDir), 'missing installDir');
197
+
209
198
  if (!progress) {
210
- progress = { onProgress: function onProgress() {
199
+ progress = {
200
+ onProgress: function onProgress() {
211
201
  return {};
212
- } };
202
+ }
203
+ };
213
204
  }
214
205
 
215
206
  return fs.pathExists(installDir).then(function (exists) {
216
207
  if (exists) {
217
208
  debug('removing existing unzipped binary', installDir);
218
-
219
209
  return fs.removeAsync(installDir);
220
210
  }
221
211
  }).then(function () {
222
- return unzip({ zipFilePath: zipFilePath, installDir: installDir, progress: progress });
223
- }).catch(throwFormErrorText(errors.failedUnzip));
212
+ return unzip({
213
+ zipFilePath: zipFilePath,
214
+ installDir: installDir,
215
+ progress: progress
216
+ });
217
+ })["catch"](throwFormErrorText(errors.failedUnzip));
224
218
  };
225
219
 
226
220
  module.exports = {
@@ -1,25 +1,76 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- var _templateObject = _taggedTemplateLiteral(['\n Cypress executable not found at: ', '\n '], ['\n Cypress executable not found at: ', '\n ']),
4
- _templateObject2 = _taggedTemplateLiteral(['\n It looks like this is your first time using Cypress: ', '\n '], ['\n It looks like this is your first time using Cypress: ', '\n ']),
5
- _templateObject3 = _taggedTemplateLiteral(['\n ', ' You have set the environment variable:\n\n ', '', '\n\n This overrides the default Cypress binary path used.\n '], ['\n ', ' You have set the environment variable:\n\n ', '', '\n\n This overrides the default Cypress binary path used.\n ']),
6
- _templateObject4 = _taggedTemplateLiteral(['\n The supplied binary path is not executable\n '], ['\n The supplied binary path is not executable\n ']),
7
- _templateObject5 = _taggedTemplateLiteral(['\n\n\n ', ' Warning: Binary version ', ' does not match the expected package version ', '\n\n These versions may not work properly together.\n '], ['\n\n\n ', ' Warning: Binary version ', ' does not match the expected package version ', '\n\n These versions may not work properly together.\n ']);
3
+ function _templateObject5() {
4
+ var data = _taggedTemplateLiteral(["\n\n\n ", " Warning: Binary version ", " does not match the expected package version ", "\n\n These versions may not work properly together.\n "]);
8
5
 
9
- function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
6
+ _templateObject5 = function _templateObject5() {
7
+ return data;
8
+ };
9
+
10
+ return data;
11
+ }
12
+
13
+ function _templateObject4() {
14
+ var data = _taggedTemplateLiteral(["\n The supplied binary path is not executable\n "]);
15
+
16
+ _templateObject4 = function _templateObject4() {
17
+ return data;
18
+ };
19
+
20
+ return data;
21
+ }
22
+
23
+ function _templateObject3() {
24
+ var data = _taggedTemplateLiteral(["\n ", " You have set the environment variable:\n\n ", "", "\n\n This overrides the default Cypress binary path used.\n "]);
25
+
26
+ _templateObject3 = function _templateObject3() {
27
+ return data;
28
+ };
29
+
30
+ return data;
31
+ }
32
+
33
+ function _templateObject2() {
34
+ var data = _taggedTemplateLiteral(["\n It looks like this is your first time using Cypress: ", "\n "]);
35
+
36
+ _templateObject2 = function _templateObject2() {
37
+ return data;
38
+ };
39
+
40
+ return data;
41
+ }
42
+
43
+ function _templateObject() {
44
+ var data = _taggedTemplateLiteral(["\n Cypress executable not found at: ", "\n "]);
45
+
46
+ _templateObject = function _templateObject() {
47
+ return data;
48
+ };
49
+
50
+ return data;
51
+ }
52
+
53
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
54
 
11
55
  var _ = require('lodash');
56
+
12
57
  var chalk = require('chalk');
58
+
13
59
  var Listr = require('listr');
60
+
14
61
  var debug = require('debug')('cypress:cli');
62
+
15
63
  var verbose = require('@cypress/listr-verbose-renderer');
16
64
 
17
65
  var _require = require('common-tags'),
18
66
  stripIndent = _require.stripIndent;
19
67
 
20
68
  var Promise = require('bluebird');
69
+
21
70
  var logSymbols = require('log-symbols');
71
+
22
72
  var path = require('path');
73
+
23
74
  var os = require('os');
24
75
 
25
76
  var _require2 = require('../errors'),
@@ -27,28 +78,32 @@ var _require2 = require('../errors'),
27
78
  errors = _require2.errors;
28
79
 
29
80
  var util = require('../util');
81
+
30
82
  var logger = require('../logger');
83
+
31
84
  var xvfb = require('../exec/xvfb');
85
+
32
86
  var state = require('./state');
33
87
 
34
88
  var VERIFY_TEST_RUNNER_TIMEOUT_MS = 30000;
35
89
 
36
90
  var checkExecutable = function checkExecutable(binaryDir) {
37
91
  var executable = state.getPathToExecutable(binaryDir);
38
-
39
92
  debug('checking if executable exists', executable);
40
-
41
93
  return util.isExecutableAsync(executable).then(function (isExecutable) {
42
94
  debug('Binary is executable? :', isExecutable);
95
+
43
96
  if (!isExecutable) {
44
97
  return throwFormErrorText(errors.binaryNotExecutable(executable))();
45
98
  }
46
- }).catch({ code: 'ENOENT' }, function () {
99
+ })["catch"]({
100
+ code: 'ENOENT'
101
+ }, function () {
47
102
  if (util.isCi()) {
48
103
  return throwFormErrorText(errors.notInstalledCI(executable))();
49
104
  }
50
105
 
51
- return throwFormErrorText(errors.missingApp(binaryDir))(stripIndent(_templateObject, chalk.cyan(executable)));
106
+ return throwFormErrorText(errors.missingApp(binaryDir))(stripIndent(_templateObject(), chalk.cyan(executable)));
52
107
  });
53
108
  };
54
109
 
@@ -58,20 +113,16 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
58
113
  var onSmokeTestError = function onSmokeTestError(smokeTestCommand, linuxWithDisplayEnv) {
59
114
  return function (err) {
60
115
  debug('Smoke test failed:', err);
61
-
62
116
  var errMessage = err.stderr || err.message;
63
-
64
117
  debug('error message:', errMessage);
65
118
 
66
119
  if (err.timedOut) {
67
120
  debug('error timedOut is true');
68
-
69
121
  return throwFormErrorText(errors.smokeTestFailure(smokeTestCommand, true))(errMessage);
70
122
  }
71
123
 
72
124
  if (linuxWithDisplayEnv && util.isBrokenGtkDisplay(errMessage)) {
73
125
  util.logBrokenGtkDisplayWarning();
74
-
75
126
  return throwFormErrorText(errors.invalidSmokeTestDisplayError)(errMessage);
76
127
  }
77
128
 
@@ -80,16 +131,16 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
80
131
  };
81
132
 
82
133
  var needsXvfb = xvfb.isNeeded();
83
-
84
134
  debug('needs Xvfb?', needsXvfb);
85
-
86
135
  /**
87
136
  * Spawn Cypress running smoke test to check if all operating system
88
137
  * dependencies are good.
89
138
  */
139
+
90
140
  var spawn = function spawn(linuxWithDisplayEnv) {
91
141
  var random = _.random(0, 1000);
92
- var args = ['--smoke-test', '--ping=' + random];
142
+
143
+ var args = ['--smoke-test', "--ping=".concat(random)];
93
144
 
94
145
  if (needsSandbox()) {
95
146
  // electron requires --no-sandbox to run as root
@@ -102,8 +153,7 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
102
153
  args.unshift(path.resolve(__dirname, '..', '..', '..', 'scripts', 'start.js'));
103
154
  }
104
155
 
105
- var smokeTestCommand = executable + ' ' + args.join(' ');
106
-
156
+ var smokeTestCommand = "".concat(executable, " ").concat(args.join(' '));
107
157
  debug('running smoke test');
108
158
  debug('using Cypress executable %s', executable);
109
159
  debug('smoke test command:', smokeTestCommand);
@@ -118,7 +168,7 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
118
168
  timeout: options.smokeTestTimeout
119
169
  });
120
170
 
121
- return Promise.resolve(util.exec(executable, args, stdioOptions)).catch(onSmokeTestError(smokeTestCommand, linuxWithDisplayEnv)).then(function (result) {
171
+ return Promise.resolve(util.exec(executable, args, stdioOptions))["catch"](onSmokeTestError(smokeTestCommand, linuxWithDisplayEnv)).then(function (result) {
122
172
  // TODO: when execa > 1.1 is released
123
173
  // change this to `result.all` for both stderr and stdout
124
174
  // use lodash to be robust during tests against null result or missing stdout
@@ -130,8 +180,8 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
130
180
  debug('Smoke test failed because could not find %d in:', random, result);
131
181
 
132
182
  var smokeTestStderr = _.get(result, 'stderr', '');
133
- var errorText = smokeTestStderr || smokeTestStdout;
134
183
 
184
+ var errorText = smokeTestStderr || smokeTestStdout;
135
185
  return throwFormErrorText(errors.smokeTestFailure(smokeTestCommand, false))(errorText);
136
186
  }
137
187
  });
@@ -140,78 +190,68 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
140
190
  var spawnInXvfb = function spawnInXvfb(linuxWithDisplayEnv) {
141
191
  return xvfb.start().then(function () {
142
192
  return spawn(linuxWithDisplayEnv);
143
- }).finally(xvfb.stop);
193
+ })["finally"](xvfb.stop);
144
194
  };
145
195
 
146
196
  var userFriendlySpawn = function userFriendlySpawn(linuxWithDisplayEnv) {
147
197
  debug('spawning, should retry on display problem?', Boolean(linuxWithDisplayEnv));
148
-
149
- return spawn(linuxWithDisplayEnv).catch({ code: 'INVALID_SMOKE_TEST_DISPLAY_ERROR' }, function () {
198
+ return spawn(linuxWithDisplayEnv)["catch"]({
199
+ code: 'INVALID_SMOKE_TEST_DISPLAY_ERROR'
200
+ }, function () {
150
201
  return spawnInXvfb(linuxWithDisplayEnv);
151
202
  });
152
203
  };
153
204
 
154
205
  if (needsXvfb) {
155
206
  return spawnInXvfb();
156
- }
157
-
158
- // if we are on linux and there's already a DISPLAY
207
+ } // if we are on linux and there's already a DISPLAY
159
208
  // set, then we may need to rerun cypress after
160
209
  // spawning our own Xvfb server
161
- var linuxWithDisplayEnv = util.isPossibleLinuxWithIncorrectDisplay();
162
210
 
211
+
212
+ var linuxWithDisplayEnv = util.isPossibleLinuxWithIncorrectDisplay();
163
213
  return userFriendlySpawn(linuxWithDisplayEnv);
164
214
  };
165
215
 
166
216
  function testBinary(version, binaryDir, options) {
167
- debug('running binary verification check', version);
217
+ debug('running binary verification check', version); // if running from 'cypress verify', don't print this message
168
218
 
169
- // if running from 'cypress verify', don't print this message
170
219
  if (!options.force) {
171
- logger.log(stripIndent(_templateObject2, chalk.cyan(version)));
220
+ logger.log(stripIndent(_templateObject2(), chalk.cyan(version)));
172
221
  }
173
222
 
174
- logger.log();
175
-
176
- // if we are running in CI then use
223
+ logger.log(); // if we are running in CI then use
177
224
  // the verbose renderer else use
178
225
  // the default
179
- var renderer = util.isCi() ? verbose : 'default';
180
226
 
227
+ var renderer = util.isCi() ? verbose : 'default';
181
228
  if (logger.logLevel() === 'silent') renderer = 'silent';
182
-
183
229
  var rendererOptions = {
184
230
  renderer: renderer
185
231
  };
186
-
187
232
  var tasks = new Listr([{
188
233
  title: util.titleize('Verifying Cypress can run', chalk.gray(binaryDir)),
189
234
  task: function task(ctx, _task) {
190
235
  debug('clearing out the verified version');
191
-
192
236
  return state.clearBinaryStateAsync(binaryDir).then(function () {
193
- return Promise.all([runSmokeTest(binaryDir, options), Promise.resolve().delay(1500)] // good user experience
194
- );
237
+ return Promise.all([runSmokeTest(binaryDir, options), Promise.resolve().delay(1500) // good user experience
238
+ ]);
195
239
  }).then(function () {
196
240
  debug('write verified: true');
197
-
198
241
  return state.writeBinaryVerifiedAsync(true, binaryDir);
199
242
  }).then(function () {
200
243
  util.setTaskTitle(_task, util.titleize(chalk.green('Verified Cypress!'), chalk.gray(binaryDir)), rendererOptions.renderer);
201
244
  });
202
245
  }
203
246
  }], rendererOptions);
204
-
205
247
  return tasks.run();
206
248
  }
207
249
 
208
250
  var maybeVerify = function maybeVerify(installedVersion, binaryDir, options) {
209
251
  return state.getBinaryVerifiedAsync(binaryDir).then(function (isVerified) {
210
252
  debug('is Verified ?', isVerified);
253
+ var shouldVerify = !isVerified; // force verify if options.force
211
254
 
212
- var shouldVerify = !isVerified;
213
-
214
- // force verify if options.force
215
255
  if (options.force) {
216
256
  debug('force verify');
217
257
  shouldVerify = true;
@@ -230,9 +270,7 @@ var maybeVerify = function maybeVerify(installedVersion, binaryDir, options) {
230
270
 
231
271
  var start = function start() {
232
272
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
233
-
234
273
  debug('verifying Cypress app');
235
-
236
274
  var packageVersion = util.pkgVersion();
237
275
  var binaryDir = state.getBinaryDir(packageVersion);
238
276
 
@@ -249,16 +287,14 @@ var start = function start() {
249
287
 
250
288
  var parseBinaryEnvVar = function parseBinaryEnvVar() {
251
289
  var envBinaryPath = util.getEnv('CYPRESS_RUN_BINARY');
252
-
253
290
  debug('CYPRESS_RUN_BINARY exists, =', envBinaryPath);
254
- logger.log(stripIndent(_templateObject3, chalk.yellow('Note:'), chalk.white('CYPRESS_RUN_BINARY='), chalk.cyan(envBinaryPath)));
255
-
291
+ logger.log(stripIndent(_templateObject3(), chalk.yellow('Note:'), chalk.white('CYPRESS_RUN_BINARY='), chalk.cyan(envBinaryPath)));
256
292
  logger.log();
257
-
258
293
  return util.isExecutableAsync(envBinaryPath).then(function (isExecutable) {
259
294
  debug('CYPRESS_RUN_BINARY is executable? :', isExecutable);
295
+
260
296
  if (!isExecutable) {
261
- return throwFormErrorText(errors.CYPRESS_RUN_BINARY.notValid(envBinaryPath))(stripIndent(_templateObject4));
297
+ return throwFormErrorText(errors.CYPRESS_RUN_BINARY.notValid(envBinaryPath))(stripIndent(_templateObject4()));
262
298
  }
263
299
  }).then(function () {
264
300
  return state.parseRealPlatformBinaryFolderAsync(envBinaryPath);
@@ -268,15 +304,17 @@ var start = function start() {
268
304
  }
269
305
 
270
306
  debug('CYPRESS_RUN_BINARY has binaryDir:', envBinaryDir);
271
-
272
307
  binaryDir = envBinaryDir;
273
- }).catch({ code: 'ENOENT' }, function (err) {
308
+ })["catch"]({
309
+ code: 'ENOENT'
310
+ }, function (err) {
274
311
  return throwFormErrorText(errors.CYPRESS_RUN_BINARY.notValid(envBinaryPath))(err.message);
275
312
  });
276
313
  };
277
314
 
278
- return Promise.try(function () {
315
+ return Promise["try"](function () {
279
316
  debug('checking environment variables');
317
+
280
318
  if (util.getEnv('CYPRESS_RUN_BINARY')) {
281
319
  return parseBinaryEnvVar();
282
320
  }
@@ -289,24 +327,22 @@ var start = function start() {
289
327
  }).then(function (binaryVersion) {
290
328
  if (!binaryVersion) {
291
329
  debug('no Cypress binary found for cli version ', packageVersion);
292
-
293
- return throwFormErrorText(errors.missingApp(binaryDir))('\n Cannot read binary version from: ' + chalk.cyan(state.getBinaryPkgPath(binaryDir)) + '\n ');
330
+ return throwFormErrorText(errors.missingApp(binaryDir))("\n Cannot read binary version from: ".concat(chalk.cyan(state.getBinaryPkgPath(binaryDir)), "\n "));
294
331
  }
295
332
 
296
- debug('Found binary version ' + chalk.green(binaryVersion) + ' installed in: ' + chalk.cyan(binaryDir));
333
+ debug("Found binary version ".concat(chalk.green(binaryVersion), " installed in: ").concat(chalk.cyan(binaryDir)));
297
334
 
298
335
  if (binaryVersion !== packageVersion) {
299
336
  // warn if we installed with CYPRESS_INSTALL_BINARY or changed version
300
337
  // in the package.json
301
- logger.log('Found binary version ' + chalk.green(binaryVersion) + ' installed in: ' + chalk.cyan(binaryDir));
338
+ logger.log("Found binary version ".concat(chalk.green(binaryVersion), " installed in: ").concat(chalk.cyan(binaryDir)));
302
339
  logger.log();
303
- logger.warn(stripIndent(_templateObject5, logSymbols.warning, chalk.green(binaryVersion), chalk.green(packageVersion)));
304
-
340
+ logger.warn(stripIndent(_templateObject5(), logSymbols.warning, chalk.green(binaryVersion), chalk.green(packageVersion)));
305
341
  logger.log();
306
342
  }
307
343
 
308
344
  return maybeVerify(binaryVersion, binaryDir, options);
309
- }).catch(function (err) {
345
+ })["catch"](function (err) {
310
346
  if (err.known) {
311
347
  throw err;
312
348
  }
@@ -318,7 +354,6 @@ var start = function start() {
318
354
  var isLinuxLike = function isLinuxLike() {
319
355
  return os.platform() !== 'win32';
320
356
  };
321
-
322
357
  /**
323
358
  * Returns true if running on a system where Electron needs "--no-sandbox" flag.
324
359
  * @see https://crbug.com/638180
@@ -328,6 +363,8 @@ var isLinuxLike = function isLinuxLike() {
328
363
  * Seems there is a lot of discussion around this issue among Electron users
329
364
  * @see https://github.com/electron/electron/issues/17972
330
365
  */
366
+
367
+
331
368
  var needsSandbox = function needsSandbox() {
332
369
  return isLinuxLike();
333
370
  };