cypress 3.4.0 → 3.4.1

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/lib/cli.js CHANGED
@@ -38,6 +38,7 @@ var coerceFalse = function coerceFalse(arg) {
38
38
  var spaceDelimitedSpecsMsg = function spaceDelimitedSpecsMsg(files) {
39
39
  logger.log();
40
40
  logger.warn(stripIndent(_templateObject, logSymbols.warning, files.join(' ')));
41
+
41
42
  logger.log();
42
43
  };
43
44
 
package/lib/errors.js CHANGED
@@ -1,21 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var _templateObject = _taggedTemplateLiteral(['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n '], ['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n ']),
4
- _templateObject2 = _taggedTemplateLiteral(['\n \nPlease reinstall Cypress by running: ', '\n '], ['\n \\nPlease reinstall Cypress by running: ', '\n ']),
5
- _templateObject3 = _taggedTemplateLiteral(['\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n '], ['\\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n ']),
6
- _templateObject4 = _taggedTemplateLiteral(['\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n '], ['\\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n ']),
7
- _templateObject5 = _taggedTemplateLiteral(['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n '], ['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n ']),
8
- _templateObject6 = _taggedTemplateLiteral(['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
9
- _templateObject7 = _taggedTemplateLiteral(['\n This command failed with the following output:\n\n ', '\n\n '], ['\n This command failed with the following output:\n\n ', '\n\n ']),
10
- _templateObject8 = _taggedTemplateLiteral(['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
11
- _templateObject9 = _taggedTemplateLiteral(['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
12
- _templateObject10 = _taggedTemplateLiteral(['\n See discussion and possible solutions at\n ', '\n '], ['\n See discussion and possible solutions at\n ', '\n ']),
13
- _templateObject11 = _taggedTemplateLiteral(['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n '], ['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n ']),
14
- _templateObject12 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n '], ['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n ']),
15
- _templateObject13 = _taggedTemplateLiteral(['\n You should set CYPRESS_INSTALL_BINARY instead.\n '], ['\n You should set CYPRESS_INSTALL_BINARY instead.\n ']),
16
- _templateObject14 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n '], ['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n ']),
17
- _templateObject15 = _taggedTemplateLiteral(['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n '], ['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n ']),
18
- _templateObject16 = _taggedTemplateLiteral(['\n Platform: ', ' (', ')\n Cypress Version: ', '\n '], ['\n Platform: ', ' (', ')\n Cypress Version: ', '\n ']);
3
+ var _templateObject = _taggedTemplateLiteral(['\n Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration\n\n Otherwise, please check network connectivity and try again:'], ['\n Does your workplace require a proxy to be used to access the Internet? If so, you must configure the HTTP_PROXY environment variable before downloading Cypress. Read more: https://on.cypress.io/proxy-configuration\n\n Otherwise, please check network connectivity and try again:']),
4
+ _templateObject2 = _taggedTemplateLiteral(['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n '], ['\n Search for an existing issue or open a GitHub issue at\n\n ', '\n ']),
5
+ _templateObject3 = _taggedTemplateLiteral(['\n \nPlease reinstall Cypress by running: ', '\n '], ['\n \\nPlease reinstall Cypress by running: ', '\n ']),
6
+ _templateObject4 = _taggedTemplateLiteral(['\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n '], ['\\n\n Reasons this may happen:\n\n - node was installed as \'root\' or with \'sudo\'\n - the cypress npm package as \'root\' or with \'sudo\'\n\n Please check that you have the appropriate user permissions.\n ']),
7
+ _templateObject5 = _taggedTemplateLiteral(['\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n '], ['\\n\n We expected the binary to be installed here: ', '\n\n Reasons it may be missing:\n\n - You\'re caching \'node_modules\' but are not caching this path: ', '\n - You ran \'npm install\' at an earlier build step but did not persist: ', '\n\n Properly caching the binary will fix this error and avoid downloading and unzipping Cypress.\n\n Alternatively, you can run \'cypress install\' to download the binary again.\n\n ', '\n ']),
8
+ _templateObject6 = _taggedTemplateLiteral(['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n '], ['\n There was a problem spawning Xvfb.\n\n This is likely a problem with your system, permissions, or installation of Xvfb.\n ']),
9
+ _templateObject7 = _taggedTemplateLiteral(['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Install Xvfb and run Cypress again.\n\n Read our documentation on dependencies for more information:\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
10
+ _templateObject8 = _taggedTemplateLiteral(['\n This command failed with the following output:\n\n ', '\n\n '], ['\n This command failed with the following output:\n\n ', '\n\n ']),
11
+ _templateObject9 = _taggedTemplateLiteral(['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n Cypress failed to start after spawning a new Xvfb server.\n\n The error logs we received were:\n\n ', '\n\n ', '\n\n ', '\n\n This is usually caused by a missing library or dependency.\n\n The error above should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
12
+ _templateObject10 = _taggedTemplateLiteral(['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n '], ['\n This is usually caused by a missing library or dependency.\n\n The error below should indicate which dependency is missing.\n\n ', '\n\n If you are using Docker, we provide containers with all required dependencies installed.\n ']),
13
+ _templateObject11 = _taggedTemplateLiteral(['\n See discussion and possible solutions at\n ', '\n '], ['\n See discussion and possible solutions at\n ', '\n ']),
14
+ _templateObject12 = _taggedTemplateLiteral(['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n '], ['\n Please search Cypress documentation for possible solutions:\n\n ', '\n\n Check if there is a GitHub issue describing this crash:\n\n ', '\n\n Consider opening a new issue.\n ']),
15
+ _templateObject13 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n '], ['\n The environment variable CYPRESS_BINARY_VERSION has been renamed to CYPRESS_INSTALL_BINARY as of version ', '\n ']),
16
+ _templateObject14 = _taggedTemplateLiteral(['\n You should set CYPRESS_INSTALL_BINARY instead.\n '], ['\n You should set CYPRESS_INSTALL_BINARY instead.\n ']),
17
+ _templateObject15 = _taggedTemplateLiteral(['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n '], ['\n The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed as of version ', '\n ']),
18
+ _templateObject16 = _taggedTemplateLiteral(['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n '], ['\n To skip the binary install, set CYPRESS_INSTALL_BINARY=0\n ']),
19
+ _templateObject17 = _taggedTemplateLiteral(['\n Platform: ', ' (', ')\n Cypress Version: ', '\n '], ['\n Platform: ', ' (', ')\n Cypress Version: ', '\n ']);
19
20
 
20
21
  function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
22
 
@@ -46,49 +47,49 @@ var hr = '----------';
46
47
  // common errors Cypress application can encounter
47
48
  var failedDownload = {
48
49
  description: 'The Cypress App could not be downloaded.',
49
- solution: 'Please check network connectivity and try again:'
50
+ solution: stripIndent(_templateObject)
50
51
  };
51
52
 
52
53
  var failedUnzip = {
53
54
  description: 'The Cypress App could not be unzipped.',
54
- solution: stripIndent(_templateObject, chalk.blue(util.issuesUrl))
55
+ solution: stripIndent(_templateObject2, chalk.blue(util.issuesUrl))
55
56
  };
56
57
 
57
58
  var missingApp = function missingApp(binaryDir) {
58
59
  return {
59
60
  description: 'No version of Cypress is installed in: ' + chalk.cyan(binaryDir),
60
- solution: stripIndent(_templateObject2, chalk.cyan('cypress install'))
61
+ solution: stripIndent(_templateObject3, chalk.cyan('cypress install'))
61
62
  };
62
63
  };
63
64
 
64
65
  var binaryNotExecutable = function binaryNotExecutable(executable) {
65
66
  return {
66
67
  description: 'Cypress cannot run because this binary file does not have executable permissions here:\n\n' + executable,
67
- solution: stripIndent(_templateObject3)
68
+ solution: stripIndent(_templateObject4)
68
69
  };
69
70
  };
70
71
 
71
72
  var notInstalledCI = function notInstalledCI(executable) {
72
73
  return {
73
74
  description: 'The cypress npm package is installed, but the Cypress binary is missing.',
74
- solution: stripIndent(_templateObject4, chalk.cyan(executable), util.getCacheDir(), util.getCacheDir(), chalk.blue('https://on.cypress.io/not-installed-ci-error'))
75
+ solution: stripIndent(_templateObject5, chalk.cyan(executable), util.getCacheDir(), util.getCacheDir(), chalk.blue('https://on.cypress.io/not-installed-ci-error'))
75
76
  };
76
77
  };
77
78
 
78
79
  var nonZeroExitCodeXvfb = {
79
80
  description: 'Xvfb exited with a non zero exit code.',
80
- solution: stripIndent(_templateObject5)
81
+ solution: stripIndent(_templateObject6)
81
82
  };
82
83
 
83
84
  var missingXvfb = {
84
85
  description: 'Your system is missing the dependency: Xvfb',
85
- solution: stripIndent(_templateObject6, chalk.blue(requiredDependenciesUrl))
86
+ solution: stripIndent(_templateObject7, chalk.blue(requiredDependenciesUrl))
86
87
  };
87
88
 
88
89
  var smokeTestFailure = function smokeTestFailure(smokeTestCommand, timedOut) {
89
90
  return {
90
91
  description: 'Cypress verification ' + (timedOut ? 'timed out' : 'failed') + '.',
91
- solution: stripIndent(_templateObject7, smokeTestCommand)
92
+ solution: stripIndent(_templateObject8, smokeTestCommand)
92
93
  };
93
94
  };
94
95
 
@@ -96,19 +97,19 @@ var invalidSmokeTestDisplayError = {
96
97
  code: 'INVALID_SMOKE_TEST_DISPLAY_ERROR',
97
98
  description: 'Cypress verification failed.',
98
99
  solution: function solution(msg) {
99
- return stripIndent(_templateObject8, hr, msg, hr, chalk.blue(requiredDependenciesUrl));
100
+ return stripIndent(_templateObject9, hr, msg, hr, chalk.blue(requiredDependenciesUrl));
100
101
  }
101
102
  };
102
103
 
103
104
  var missingDependency = {
104
105
  description: 'Cypress failed to start.',
105
106
  // this message is too Linux specific
106
- solution: stripIndent(_templateObject9, chalk.blue(requiredDependenciesUrl))
107
+ solution: stripIndent(_templateObject10, chalk.blue(requiredDependenciesUrl))
107
108
  };
108
109
 
109
110
  var invalidCacheDirectory = {
110
111
  description: 'Cypress cannot write to the cache directory due to file permissions',
111
- solution: stripIndent(_templateObject10, chalk.blue(util.getGitHubIssueUrl(1281)))
112
+ solution: stripIndent(_templateObject11, chalk.blue(util.getGitHubIssueUrl(1281)))
112
113
  };
113
114
 
114
115
  var versionMismatch = {
@@ -118,17 +119,17 @@ var versionMismatch = {
118
119
 
119
120
  var unexpected = {
120
121
  description: 'An unexpected error occurred while verifying the Cypress executable.',
121
- solution: stripIndent(_templateObject11, chalk.blue(docsUrl), chalk.blue(util.issuesUrl))
122
+ solution: stripIndent(_templateObject12, chalk.blue(docsUrl), chalk.blue(util.issuesUrl))
122
123
  };
123
124
 
124
125
  var removed = {
125
126
  CYPRESS_BINARY_VERSION: {
126
- description: stripIndent(_templateObject12, chalk.green('3.0.0')),
127
- solution: stripIndent(_templateObject13)
127
+ description: stripIndent(_templateObject13, chalk.green('3.0.0')),
128
+ solution: stripIndent(_templateObject14)
128
129
  },
129
130
  CYPRESS_SKIP_BINARY_INSTALL: {
130
- description: stripIndent(_templateObject14, chalk.green('3.0.0')),
131
- solution: stripIndent(_templateObject15)
131
+ description: stripIndent(_templateObject15, chalk.green('3.0.0')),
132
+ solution: stripIndent(_templateObject16)
132
133
  }
133
134
  };
134
135
 
@@ -145,7 +146,7 @@ var CYPRESS_RUN_BINARY = {
145
146
 
146
147
  function getPlatformInfo() {
147
148
  return util.getOsVersionAsync().then(function (version) {
148
- return stripIndent(_templateObject16, os.platform(), version, util.pkgVersion());
149
+ return stripIndent(_templateObject17, os.platform(), version, util.pkgVersion());
149
150
  });
150
151
  }
151
152
 
package/lib/exec/spawn.js CHANGED
@@ -74,6 +74,8 @@ module.exports = {
74
74
  debug('needs to start own Xvfb?', needsXvfb);
75
75
 
76
76
  // always push cwd into the args
77
+ // which additionally acts as a signal to the
78
+ // binary that it was invoked through the NPM module
77
79
  args = [].concat(args, '--cwd', process.cwd());
78
80
 
79
81
  _.defaults(options, {
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _arguments = arguments;
4
-
5
3
  var _templateObject = _taggedTemplateLiteral(['\n URL: ', '\n ', '\n '], ['\n URL: ', '\n ', '\n ']),
6
4
  _templateObject2 = _taggedTemplateLiteral(['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n\n Expected downloaded file to have size: ', '\n Computed size: ', '\n '], ['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n\n Expected downloaded file to have size: ', '\n Computed size: ', '\n ']),
7
5
  _templateObject3 = _taggedTemplateLiteral(['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n '], ['\n Corrupted download\n\n Expected downloaded file to have checksum: ', '\n Computed checksum: ', '\n ']),
@@ -33,6 +31,10 @@ var util = require('../util');
33
31
 
34
32
  var defaultBaseUrl = 'https://download.cypress.io/';
35
33
 
34
+ var getProxyUrl = function getProxyUrl() {
35
+ return process.env.HTTPS_PROXY || process.env.https_proxy || process.env.npm_config_https_proxy || process.env.HTTP_PROXY || process.env.http_proxy || process.env.npm_config_proxy || null;
36
+ };
37
+
36
38
  var getRealOsArch = function getRealOsArch() {
37
39
  // os.arch() returns the arch for which this node was compiled
38
40
  // we want the operating system's arch instead: x64 or x86
@@ -165,13 +167,19 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
165
167
  progress = _ref.progress;
166
168
 
167
169
  return new Promise(function (resolve, reject) {
168
- debug('Downloading from', url);
169
- debug('Saving file to', downloadDestination);
170
+ var proxy = getProxyUrl();
171
+
172
+ debug('Downloading package', {
173
+ url: url,
174
+ proxy: proxy,
175
+ downloadDestination: downloadDestination
176
+ });
170
177
 
171
178
  var redirectVersion = void 0;
172
179
 
173
180
  var req = request({
174
181
  url: url,
182
+ proxy: proxy,
175
183
  followRedirect: function followRedirect(response) {
176
184
  var version = response.headers['x-version'];
177
185
 
@@ -201,6 +209,7 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
201
209
  // these custom headers "x-amz-meta-..."
202
210
  // see https://github.com/cypress-io/cypress/pull/4092
203
211
  expectedSize = response.headers['x-amz-meta-size'] || response.headers['content-length'];
212
+
204
213
  expectedChecksum = response.headers['x-amz-meta-checksum'];
205
214
 
206
215
  if (expectedChecksum) {
@@ -254,13 +263,14 @@ var downloadFromUrl = function downloadFromUrl(_ref) {
254
263
  * @param [string] version Could be "3.3.0" or full URL
255
264
  * @param [string] downloadDestination Local filename to save as
256
265
  */
257
- var start = function start(_ref2) {
258
- var version = _ref2.version,
259
- downloadDestination = _ref2.downloadDestination,
260
- progress = _ref2.progress;
266
+ var start = function start(opts) {
267
+ var version = opts.version,
268
+ downloadDestination = opts.downloadDestination,
269
+ progress = opts.progress;
270
+
261
271
 
262
272
  if (!downloadDestination) {
263
- la(is.unemptyString(downloadDestination), 'missing download dir', _arguments);
273
+ la(is.unemptyString(downloadDestination), 'missing download dir', opts);
264
274
  }
265
275
 
266
276
  if (!progress) {
@@ -287,5 +297,6 @@ var start = function start(_ref2) {
287
297
 
288
298
  module.exports = {
289
299
  start: start,
290
- getUrl: getUrl
300
+ getUrl: getUrl,
301
+ getProxyUrl: getProxyUrl
291
302
  };
@@ -154,6 +154,7 @@ var start = function start() {
154
154
  if (envVarVersion === '0') {
155
155
  debug('environment variable CYPRESS_INSTALL_BINARY = 0, skipping install');
156
156
  logger.log(stripIndent(_templateObject3, chalk.yellow('Note:')));
157
+
157
158
  logger.log();
158
159
 
159
160
  return Promise.resolve();
@@ -172,6 +173,7 @@ var start = function start() {
172
173
  var envCache = util.getEnv('CYPRESS_CACHE_FOLDER');
173
174
 
174
175
  logger.log(stripIndent(_templateObject4, chalk.yellow('Note:'), chalk.cyan(envCache)));
176
+
175
177
  logger.log();
176
178
  }
177
179
 
@@ -195,6 +197,7 @@ var start = function start() {
195
197
 
196
198
  logger.log();
197
199
  logger.log(stripIndent(_templateObject6, chalk.green(binaryVersion), chalk.cyan(installDir)));
200
+
198
201
  logger.log();
199
202
 
200
203
  if (options.force) {
@@ -221,6 +224,7 @@ var start = function start() {
221
224
 
222
225
  if (needVersion !== pkgVersion) {
223
226
  logger.log(chalk.yellow(stripIndent(_templateObject7, logSymbols.warning, chalk.green(pkgVersion), chalk.green(needVersion))));
227
+
224
228
  logger.log();
225
229
  }
226
230
 
@@ -30,6 +30,8 @@ var logger = require('../logger');
30
30
  var xvfb = require('../exec/xvfb');
31
31
  var state = require('./state');
32
32
 
33
+ var VERIFY_TEST_RUNNER_TIMEOUT_MS = 30000;
34
+
33
35
  var checkExecutable = function checkExecutable(binaryDir) {
34
36
  var executable = state.getPathToExecutable(binaryDir);
35
37
 
@@ -98,6 +100,7 @@ var runSmokeTest = function runSmokeTest(binaryDir, options) {
98
100
  debug('running smoke test');
99
101
  debug('using Cypress executable %s', executable);
100
102
  debug('smoke test command:', smokeTestCommand);
103
+ debug('smoke test timeout %d ms', options.smokeTestTimeout);
101
104
 
102
105
  var env = _.extend({}, process.env, {
103
106
  ELECTRON_ENABLE_LOGGING: true
@@ -224,7 +227,7 @@ var start = function start() {
224
227
  dev: false,
225
228
  force: false,
226
229
  welcomeMessage: true,
227
- smokeTestTimeout: 10000
230
+ smokeTestTimeout: VERIFY_TEST_RUNNER_TIMEOUT_MS
228
231
  });
229
232
 
230
233
  if (options.dev) {
@@ -236,6 +239,7 @@ var start = function start() {
236
239
 
237
240
  debug('CYPRESS_RUN_BINARY exists, =', envBinaryPath);
238
241
  logger.log(stripIndent(_templateObject3, chalk.yellow('Note:'), chalk.white('CYPRESS_RUN_BINARY='), chalk.cyan(envBinaryPath)));
242
+
239
243
  logger.log();
240
244
 
241
245
  return util.isExecutableAsync(envBinaryPath).then(function (isExecutable) {
@@ -300,5 +304,6 @@ var start = function start() {
300
304
  };
301
305
 
302
306
  module.exports = {
303
- start: start
307
+ start: start,
308
+ VERIFY_TEST_RUNNER_TIMEOUT_MS: VERIFY_TEST_RUNNER_TIMEOUT_MS
304
309
  };
package/lib/util.js CHANGED
@@ -109,6 +109,7 @@ var logBrokenGtkDisplayWarning = function logBrokenGtkDisplayWarning() {
109
109
 
110
110
  // if we get this error, we are on Linux and DISPLAY is set
111
111
  logger.warn(stripIndent(_templateObject, logSymbols.warning, process.env.DISPLAY));
112
+
112
113
  logger.warn();
113
114
  };
114
115
 
package/package.json CHANGED
@@ -1,18 +1,11 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "main": "index.js",
5
- "bin": {
6
- "cypress": "bin/cypress"
7
- },
8
- "engines": {
9
- "node": ">=4.0.0"
10
- },
11
5
  "scripts": {
12
6
  "postinstall": "node index.js --exec install",
13
7
  "size": "t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";"
14
8
  },
15
- "types": "types",
16
9
  "dependencies": {
17
10
  "@cypress/listr-verbose-renderer": "0.4.1",
18
11
  "@cypress/xvfb": "1.2.4",
@@ -29,12 +22,11 @@
29
22
  "extract-zip": "1.6.7",
30
23
  "fs-extra": "5.0.0",
31
24
  "getos": "3.1.1",
32
- "glob": "7.1.3",
33
25
  "is-ci": "1.2.1",
34
26
  "is-installed-globally": "0.1.0",
35
27
  "lazy-ass": "1.6.0",
36
28
  "listr": "0.12.0",
37
- "lodash": "4.17.11",
29
+ "lodash": "4.17.15",
38
30
  "log-symbols": "2.2.0",
39
31
  "minimist": "1.2.0",
40
32
  "moment": "2.24.0",
@@ -52,6 +44,13 @@
52
44
  "index.js",
53
45
  "types/**/*.d.ts"
54
46
  ],
47
+ "bin": {
48
+ "cypress": "bin/cypress"
49
+ },
50
+ "engines": {
51
+ "node": ">=4.0.0"
52
+ },
53
+ "types": "types",
55
54
  "description": "Cypress.io end to end testing tool",
56
55
  "author": "Brian Mann",
57
56
  "homepage": "https://github.com/cypress-io/cypress",
@@ -64,18 +63,18 @@
64
63
  "url": "https://github.com/cypress-io/cypress.git"
65
64
  },
66
65
  "keywords": [
66
+ "automation",
67
67
  "browser",
68
68
  "cypress",
69
69
  "cypress.io",
70
- "automation",
71
- "end-to-end",
72
70
  "e2e",
71
+ "end-to-end",
73
72
  "integration",
74
73
  "mocks",
75
- "test",
76
- "testing",
77
74
  "runner",
78
75
  "spies",
79
- "stubs"
76
+ "stubs",
77
+ "test",
78
+ "testing"
80
79
  ]
81
80
  }
@@ -0,0 +1,51 @@
1
+ {
2
+ "_from": "@types/blob-util@1.3.3",
3
+ "_id": "@types/blob-util@1.3.3",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-4ahcL/QDnpjWA2Qs16ZMQif7HjGP2cw3AGjHabybjw7Vm1EKu+cfQN1D78BaZbS1WJNa1opSMF5HNMztx7lR0w==",
6
+ "_location": "/@types/blob-util",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/blob-util@1.3.3",
12
+ "name": "@types/blob-util",
13
+ "escapedName": "@types%2fblob-util",
14
+ "scope": "@types",
15
+ "rawSpec": "1.3.3",
16
+ "saveSpec": null,
17
+ "fetchSpec": "1.3.3"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/@types/blob-util/-/blob-util-1.3.3.tgz",
23
+ "_shasum": "adba644ae34f88e1dd9a5864c66ad651caaf628a",
24
+ "_spec": "@types/blob-util@1.3.3",
25
+ "_where": "/root/cypress/cli",
26
+ "bugs": {
27
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
28
+ },
29
+ "bundleDependencies": false,
30
+ "contributors": [
31
+ {
32
+ "name": "Max Battcher",
33
+ "url": "https://github.com/WorldMaker"
34
+ }
35
+ ],
36
+ "dependencies": {},
37
+ "deprecated": false,
38
+ "description": "TypeScript definitions for blob-util",
39
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
40
+ "license": "MIT",
41
+ "main": "",
42
+ "name": "@types/blob-util",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
46
+ },
47
+ "scripts": {},
48
+ "typeScriptVersion": "2.1",
49
+ "typesPublisherContentHash": "251d66da417b64481e7f82fee1849478af0caa6fce0b1feee2146884d2dc9c98",
50
+ "version": "1.3.3"
51
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "_from": "@types/bluebird@3.5.18",
3
+ "_id": "@types/bluebird@3.5.18",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w==",
6
+ "_location": "/@types/bluebird",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/bluebird@3.5.18",
12
+ "name": "@types/bluebird",
13
+ "escapedName": "@types%2fbluebird",
14
+ "scope": "@types",
15
+ "rawSpec": "3.5.18",
16
+ "saveSpec": null,
17
+ "fetchSpec": "3.5.18"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/"
21
+ ],
22
+ "_resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.18.tgz",
23
+ "_shasum": "6a60435d4663e290f3709898a4f75014f279c4d6",
24
+ "_spec": "@types/bluebird@3.5.18",
25
+ "_where": "/root/cypress/cli",
26
+ "bugs": {
27
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
28
+ },
29
+ "bundleDependencies": false,
30
+ "contributors": [
31
+ {
32
+ "name": "Leonard Hecker",
33
+ "url": "https://github.com/lhecker"
34
+ }
35
+ ],
36
+ "dependencies": {},
37
+ "deprecated": false,
38
+ "description": "TypeScript definitions for bluebird",
39
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
40
+ "license": "MIT",
41
+ "main": "",
42
+ "name": "@types/bluebird",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
46
+ },
47
+ "scripts": {},
48
+ "typeScriptVersion": "2.3",
49
+ "typesPublisherContentHash": "c9b100367d31f8bd36031e55737d6ffde1a9b85dac3df3693f8f684f914c94cb",
50
+ "version": "3.5.18"
51
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "_from": "@types/chai@4.0.8",
3
+ "_id": "@types/chai@4.0.8",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-m812CONwdZn/dMzkIJEY0yAs4apyTkTORgfB2UsMOxgkUbC205AHnm4T8I0I5gPg9MHrFc1dJ35iS75c0CJkjg==",
6
+ "_location": "/@types/chai",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "version",
10
+ "registry": true,
11
+ "raw": "@types/chai@4.0.8",
12
+ "name": "@types/chai",
13
+ "escapedName": "@types%2fchai",
14
+ "scope": "@types",
15
+ "rawSpec": "4.0.8",
16
+ "saveSpec": null,
17
+ "fetchSpec": "4.0.8"
18
+ },
19
+ "_requiredBy": [
20
+ "#DEV:/",
21
+ "/@types/chai-jquery",
22
+ "/@types/sinon-chai"
23
+ ],
24
+ "_resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.0.8.tgz",
25
+ "_shasum": "d27600e9ba2f371e08695d90a0fe0408d89c7be7",
26
+ "_spec": "@types/chai@4.0.8",
27
+ "_where": "/root/cypress/cli",
28
+ "bugs": {
29
+ "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
30
+ },
31
+ "bundleDependencies": false,
32
+ "contributors": [
33
+ {
34
+ "name": "Jed Mao",
35
+ "url": "https://github.com/jedmao"
36
+ },
37
+ {
38
+ "name": "Bart van der Schoor",
39
+ "url": "https://github.com/Bartvds"
40
+ },
41
+ {
42
+ "name": "Andrew Brown",
43
+ "url": "https://github.com/AGBrown"
44
+ },
45
+ {
46
+ "name": "Olivier Chevet",
47
+ "url": "https://github.com/olivr70"
48
+ },
49
+ {
50
+ "name": "Matt Wistrand",
51
+ "url": "https://github.com/mwistrand"
52
+ },
53
+ {
54
+ "name": "Josh Goldberg",
55
+ "url": "https://github.com/joshuakgoldberg"
56
+ },
57
+ {
58
+ "name": "Shaun Luttin",
59
+ "url": "https://github.com/shaunluttin"
60
+ },
61
+ {
62
+ "name": "Gintautas Miselis",
63
+ "url": "https://github.com/Naktibalda"
64
+ }
65
+ ],
66
+ "dependencies": {},
67
+ "deprecated": false,
68
+ "description": "TypeScript definitions for chai",
69
+ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme",
70
+ "license": "MIT",
71
+ "main": "",
72
+ "name": "@types/chai",
73
+ "repository": {
74
+ "type": "git",
75
+ "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
76
+ },
77
+ "scripts": {},
78
+ "typeScriptVersion": "2.0",
79
+ "typesPublisherContentHash": "1c89ea9e229c46de0cd9fc9a48b4ce18c27a3bab9d443d01bec054b1126ede4a",
80
+ "version": "4.0.8"
81
+ }