cypress 15.14.1 → 15.14.2
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/dist/bin/cypress +3 -5
- package/dist/{cli-CMmiXnYu.js → cli-CQHngRhO.js} +85 -98
- package/dist/cli.js +3 -5
- package/dist/{cypress-CtKCB-k6.js → cypress-BMOTlyGc.js} +2 -2
- package/dist/cypress.js +4 -6
- package/dist/exec/spawn.js +2 -5
- package/dist/exec/xvfb.js +1 -1
- package/dist/index.js +4 -6
- package/dist/{spawn-Cbp8Y4I3.js → spawn-D9ARC26J.js} +49 -117
- package/dist/{xvfb-D-nbLwPu.js → xvfb-Csr_YzMk.js} +0 -6
- package/package.json +5 -8
- package/react/package.json +1 -1
- package/react/react/package.json +1 -1
- package/vue/package.json +1 -1
- package/vue/vue/package.json +1 -1
package/dist/bin/cypress
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var cli = require('../cli-
|
|
5
|
-
require('../xvfb-
|
|
4
|
+
var cli = require('../cli-CQHngRhO.js');
|
|
5
|
+
require('../xvfb-Csr_YzMk.js');
|
|
6
6
|
require('os');
|
|
7
7
|
require('bluebird');
|
|
8
8
|
require('@cypress/xvfb');
|
|
@@ -32,11 +32,9 @@ require('commander');
|
|
|
32
32
|
require('cli-table3');
|
|
33
33
|
require('dayjs');
|
|
34
34
|
require('dayjs/plugin/relativeTime');
|
|
35
|
-
require('../spawn-
|
|
35
|
+
require('../spawn-D9ARC26J.js');
|
|
36
36
|
require('child_process');
|
|
37
37
|
require('listr2');
|
|
38
|
-
require('figures');
|
|
39
|
-
require('cli-cursor');
|
|
40
38
|
require('readline');
|
|
41
39
|
require('stream');
|
|
42
40
|
require('string_decoder');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-Csr_YzMk.js');
|
|
4
4
|
var _ = require('lodash');
|
|
5
5
|
var commander = require('commander');
|
|
6
6
|
var commonTags = require('common-tags');
|
|
@@ -13,7 +13,7 @@ var dayjs = require('dayjs');
|
|
|
13
13
|
var relativeTime = require('dayjs/plugin/relativeTime');
|
|
14
14
|
var chalk = require('chalk');
|
|
15
15
|
var Bluebird = require('bluebird');
|
|
16
|
-
var spawn = require('./spawn-
|
|
16
|
+
var spawn = require('./spawn-D9ARC26J.js');
|
|
17
17
|
var os = require('os');
|
|
18
18
|
var listr2 = require('listr2');
|
|
19
19
|
var timers = require('timers/promises');
|
|
@@ -471,7 +471,7 @@ const unzipModule = {
|
|
|
471
471
|
},
|
|
472
472
|
};
|
|
473
473
|
|
|
474
|
-
const debug$4 = Debug('cypress:cli');
|
|
474
|
+
const debug$4 = Debug('cypress:cli:install');
|
|
475
475
|
function _getBinaryUrlFromBuildInfo(version, arch, { commitSha, commitBranch }) {
|
|
476
476
|
const platform = os.platform();
|
|
477
477
|
if ((platform === 'win32') && (arch === 'arm64')) {
|
|
@@ -517,52 +517,6 @@ const displayCompletionMsg = () => {
|
|
|
517
517
|
xvfb.loggerModule.log(chalk.grey('https://on.cypress.io/opening-the-app'));
|
|
518
518
|
xvfb.loggerModule.log();
|
|
519
519
|
};
|
|
520
|
-
const downloadAndUnzip = ({ version, installDir, downloadDir }) => {
|
|
521
|
-
const progress = {
|
|
522
|
-
throttle: 100,
|
|
523
|
-
onProgress: null,
|
|
524
|
-
};
|
|
525
|
-
const downloadDestination = path.join(downloadDir, `cypress-${process.pid}.zip`);
|
|
526
|
-
const rendererOptions = getRendererOptions();
|
|
527
|
-
// let the user know what version of cypress we're downloading!
|
|
528
|
-
xvfb.loggerModule.log(`Installing Cypress ${chalk.gray(`(version: ${version})`)}`);
|
|
529
|
-
xvfb.loggerModule.log();
|
|
530
|
-
const tasks = new listr2.Listr([
|
|
531
|
-
{
|
|
532
|
-
options: { title: xvfb.util.titleize('Downloading Cypress') },
|
|
533
|
-
task: (ctx, task) => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
534
|
-
// as our download progresses indicate the status
|
|
535
|
-
progress.onProgress = progessify(task, 'Downloading Cypress');
|
|
536
|
-
const redirectVersion = yield downloadModule.start({ version, downloadDestination, progress });
|
|
537
|
-
if (redirectVersion)
|
|
538
|
-
version = redirectVersion;
|
|
539
|
-
debug$4(`finished downloading file: ${downloadDestination}`);
|
|
540
|
-
// save the download destination for unzipping
|
|
541
|
-
xvfb.util.setTaskTitle(task, xvfb.util.titleize(chalk.green('Downloaded Cypress')), rendererOptions.renderer);
|
|
542
|
-
}),
|
|
543
|
-
},
|
|
544
|
-
unzipTask({
|
|
545
|
-
progress,
|
|
546
|
-
zipFilePath: downloadDestination,
|
|
547
|
-
installDir,
|
|
548
|
-
rendererOptions,
|
|
549
|
-
}),
|
|
550
|
-
{
|
|
551
|
-
options: { title: xvfb.util.titleize('Finishing Installation') },
|
|
552
|
-
task: (ctx, task) => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
553
|
-
const cleanup = () => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
554
|
-
debug$4('removing zip file %s', downloadDestination);
|
|
555
|
-
yield fs.remove(downloadDestination);
|
|
556
|
-
});
|
|
557
|
-
yield cleanup();
|
|
558
|
-
debug$4('finished installation in', installDir);
|
|
559
|
-
xvfb.util.setTaskTitle(task, xvfb.util.titleize(chalk.green('Finished Installation'), chalk.gray(installDir)), rendererOptions.renderer);
|
|
560
|
-
}),
|
|
561
|
-
},
|
|
562
|
-
], { rendererOptions });
|
|
563
|
-
// start the tasks!
|
|
564
|
-
return tasks.run();
|
|
565
|
-
};
|
|
566
520
|
const validateOS = () => xvfb.__awaiter(void 0, void 0, void 0, function* () {
|
|
567
521
|
const platformInfo = yield xvfb.util.getPlatformInfo();
|
|
568
522
|
return platformInfo.match(/(win32-x64|win32-arm64|linux-x64|linux-arm64|darwin-x64|darwin-arm64)/);
|
|
@@ -644,14 +598,16 @@ const start$1 = (...args_1) => xvfb.__awaiter(void 0, [...args_1], void 0, funct
|
|
|
644
598
|
yield fs.ensureDir(cacheDir);
|
|
645
599
|
}
|
|
646
600
|
catch (err) {
|
|
647
|
-
if (err.code === 'EACCES') {
|
|
601
|
+
if (err instanceof Error && 'code' in err && err.code === 'EACCES') {
|
|
648
602
|
return xvfb.throwFormErrorText(xvfb.errors.invalidCacheDirectory)(commonTags.stripIndent `
|
|
649
|
-
|
|
603
|
+
Failed to access ${chalk.cyan(cacheDir)}:
|
|
650
604
|
|
|
651
|
-
|
|
652
|
-
|
|
605
|
+
${err.message}
|
|
606
|
+
`);
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
609
|
+
throw err;
|
|
653
610
|
}
|
|
654
|
-
throw err;
|
|
655
611
|
}
|
|
656
612
|
const binaryPkg = yield xvfb.stateModule.getBinaryPkgAsync(binaryDir);
|
|
657
613
|
const binaryVersion = yield xvfb.stateModule.getBinaryPkgVersion(binaryPkg);
|
|
@@ -707,64 +663,95 @@ const start$1 = (...args_1) => xvfb.__awaiter(void 0, [...args_1], void 0, funct
|
|
|
707
663
|
return false;
|
|
708
664
|
});
|
|
709
665
|
const pathToLocalFile = yield getLocalFilePath();
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
debug$4('skipping download');
|
|
714
|
-
const rendererOptions = getRendererOptions();
|
|
715
|
-
return new listr2.Listr([unzipTask({
|
|
716
|
-
progress: {
|
|
717
|
-
throttle: 100,
|
|
718
|
-
onProgress: null,
|
|
719
|
-
},
|
|
720
|
-
zipFilePath: absolutePath,
|
|
721
|
-
installDir,
|
|
722
|
-
rendererOptions,
|
|
723
|
-
})], { rendererOptions }).run();
|
|
724
|
-
}
|
|
666
|
+
const tasks = pathToLocalFile ?
|
|
667
|
+
installFromLocal(pathToLocalFile, installDir) :
|
|
668
|
+
installFromRemote(versionToInstall, installDir);
|
|
725
669
|
if (options.force) {
|
|
726
670
|
debug$4('Cypress already installed at', installDir);
|
|
727
671
|
debug$4('but the installation was forced');
|
|
728
672
|
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
673
|
+
// let the user know what version of cypress we're downloading!
|
|
674
|
+
xvfb.loggerModule.log(`Installing Cypress ${chalk.gray(`(version: ${versionToInstall})`)}`);
|
|
675
|
+
xvfb.loggerModule.log();
|
|
676
|
+
const taskRunner = new listr2.Listr(tasks, {
|
|
677
|
+
silentRendererCondition: () => xvfb.loggerModule.logLevel() === 'silent',
|
|
678
|
+
});
|
|
679
|
+
yield taskRunner.run();
|
|
732
680
|
// delay 1 sec for UX, unless we are testing
|
|
733
681
|
yield timers.setTimeout(1000);
|
|
734
682
|
displayCompletionMsg();
|
|
735
683
|
});
|
|
736
|
-
|
|
684
|
+
function downloadArchive(version, downloadDestination) {
|
|
685
|
+
const inProgressTitle = 'Downloading Cypress';
|
|
686
|
+
const completedTitle = chalk.green('Downloaded Cypress');
|
|
737
687
|
return {
|
|
738
|
-
|
|
739
|
-
task: (ctx, task) => xvfb.__awaiter(
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
688
|
+
title: xvfb.util.titleize(inProgressTitle),
|
|
689
|
+
task: (ctx, task) => xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
690
|
+
yield downloadModule.start({
|
|
691
|
+
version,
|
|
692
|
+
downloadDestination,
|
|
693
|
+
progress: {
|
|
694
|
+
throttle: 100,
|
|
695
|
+
onProgress: (percentComplete, remaining) => {
|
|
696
|
+
task.title = progressTitle(inProgressTitle, percentComplete, remaining);
|
|
697
|
+
},
|
|
698
|
+
},
|
|
699
|
+
});
|
|
700
|
+
debug$4(`finished downloading file: ${downloadDestination}`);
|
|
701
|
+
task.title = xvfb.util.titleize(completedTitle);
|
|
744
702
|
}),
|
|
745
703
|
};
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
704
|
+
}
|
|
705
|
+
function installFromLocal(pathToLocalFile, installDir) {
|
|
706
|
+
const zipFilePath = path.resolve(pathToLocalFile);
|
|
707
|
+
debug$4('found local file at', zipFilePath);
|
|
708
|
+
debug$4('skipping download');
|
|
709
|
+
return [
|
|
710
|
+
unzipArchive(zipFilePath, installDir),
|
|
711
|
+
];
|
|
712
|
+
}
|
|
713
|
+
function installFromRemote(version, installDir) {
|
|
714
|
+
const downloadDestination = path.join(os.tmpdir(), `cypress-${process.pid}.zip`);
|
|
715
|
+
debug$4('preparing to download and unzip version ', version, 'to path', installDir);
|
|
716
|
+
return [
|
|
717
|
+
downloadArchive(version, downloadDestination),
|
|
718
|
+
unzipArchive(downloadDestination, installDir),
|
|
719
|
+
cleanup(downloadDestination, installDir),
|
|
720
|
+
];
|
|
721
|
+
}
|
|
722
|
+
function unzipArchive(zipFilePath, installDir) {
|
|
723
|
+
const inProgressTitle = 'Unzipping Cypress';
|
|
724
|
+
const completedTitle = chalk.green('Unzipped Cypress');
|
|
725
|
+
return {
|
|
726
|
+
title: xvfb.util.titleize(inProgressTitle),
|
|
727
|
+
task: (ctx, task) => xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
728
|
+
yield unzipModule.start({
|
|
729
|
+
zipFilePath,
|
|
730
|
+
installDir,
|
|
731
|
+
progress: {
|
|
732
|
+
onProgress: (percentComplete, remaining) => {
|
|
733
|
+
task.title = progressTitle(inProgressTitle, percentComplete, remaining);
|
|
734
|
+
},
|
|
735
|
+
},
|
|
736
|
+
});
|
|
737
|
+
task.title = xvfb.util.titleize(completedTitle);
|
|
738
|
+
}),
|
|
754
739
|
};
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
// the verbose renderer else use
|
|
758
|
-
// the default
|
|
759
|
-
const getRendererOptions = () => {
|
|
760
|
-
let renderer = xvfb.util.isCi() ? spawn.VerboseRenderer : 'default';
|
|
761
|
-
if (xvfb.loggerModule.logLevel() === 'silent') {
|
|
762
|
-
renderer = 'silent';
|
|
763
|
-
}
|
|
740
|
+
}
|
|
741
|
+
function cleanup(archiveLocation, installDir) {
|
|
764
742
|
return {
|
|
765
|
-
|
|
743
|
+
title: xvfb.util.titleize('Finishing Installation'),
|
|
744
|
+
task: (ctx, task) => xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
745
|
+
debug$4('removing zip file %s', archiveLocation);
|
|
746
|
+
yield fs.remove(archiveLocation);
|
|
747
|
+
debug$4('finished installation in', installDir);
|
|
748
|
+
task.title = xvfb.util.titleize(chalk.green('Finished Installation'), chalk.gray(installDir));
|
|
749
|
+
}),
|
|
766
750
|
};
|
|
767
|
-
}
|
|
751
|
+
}
|
|
752
|
+
function progressTitle(title, percentComplete, remaining) {
|
|
753
|
+
return xvfb.util.titleize(title, chalk.white(` ${percentComplete}%`), chalk.gray(`${remaining}s`));
|
|
754
|
+
}
|
|
768
755
|
var installModule = {
|
|
769
756
|
start: start$1,
|
|
770
757
|
_getBinaryUrlFromBuildInfo,
|
package/dist/cli.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./xvfb-
|
|
5
|
+
require('./xvfb-Csr_YzMk.js');
|
|
6
6
|
require('lodash');
|
|
7
7
|
require('commander');
|
|
8
8
|
require('common-tags');
|
|
9
9
|
require('log-symbols');
|
|
10
10
|
require('debug');
|
|
11
|
-
var cli = require('./cli-
|
|
12
|
-
require('./spawn-
|
|
11
|
+
var cli = require('./cli-CQHngRhO.js');
|
|
12
|
+
require('./spawn-D9ARC26J.js');
|
|
13
13
|
require('os');
|
|
14
14
|
require('bluebird');
|
|
15
15
|
require('@cypress/xvfb');
|
|
@@ -45,8 +45,6 @@ require('yauzl');
|
|
|
45
45
|
require('extract-zip');
|
|
46
46
|
require('readline');
|
|
47
47
|
require('pretty-bytes');
|
|
48
|
-
require('figures');
|
|
49
|
-
require('cli-cursor');
|
|
50
48
|
require('stream');
|
|
51
49
|
require('string_decoder');
|
|
52
50
|
require('node:string_decoder');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-Csr_YzMk.js');
|
|
4
4
|
var tmp = require('tmp');
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
|
-
var cli$1 = require('./cli-
|
|
6
|
+
var cli$1 = require('./cli-CQHngRhO.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Opens Cypress GUI
|
package/dist/cypress.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('./xvfb-
|
|
3
|
+
require('./xvfb-Csr_YzMk.js');
|
|
4
4
|
require('tmp');
|
|
5
5
|
require('fs-extra');
|
|
6
|
-
require('./cli-
|
|
7
|
-
var cypress = require('./cypress-
|
|
6
|
+
require('./cli-CQHngRhO.js');
|
|
7
|
+
var cypress = require('./cypress-BMOTlyGc.js');
|
|
8
8
|
require('os');
|
|
9
9
|
require('bluebird');
|
|
10
10
|
require('@cypress/xvfb');
|
|
@@ -33,11 +33,9 @@ require('commander');
|
|
|
33
33
|
require('cli-table3');
|
|
34
34
|
require('dayjs');
|
|
35
35
|
require('dayjs/plugin/relativeTime');
|
|
36
|
-
require('./spawn-
|
|
36
|
+
require('./spawn-D9ARC26J.js');
|
|
37
37
|
require('child_process');
|
|
38
38
|
require('listr2');
|
|
39
|
-
require('figures');
|
|
40
|
-
require('cli-cursor');
|
|
41
39
|
require('readline');
|
|
42
40
|
require('stream');
|
|
43
41
|
require('string_decoder');
|
package/dist/exec/spawn.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../xvfb-
|
|
3
|
+
require('../xvfb-Csr_YzMk.js');
|
|
4
4
|
require('lodash');
|
|
5
5
|
require('os');
|
|
6
6
|
require('child_process');
|
|
7
7
|
require('path');
|
|
8
8
|
require('debug');
|
|
9
|
-
var spawn = require('../spawn-
|
|
9
|
+
var spawn = require('../spawn-D9ARC26J.js');
|
|
10
10
|
require('readline');
|
|
11
11
|
require('process');
|
|
12
12
|
require('stream');
|
|
@@ -31,9 +31,6 @@ require('fs-extra');
|
|
|
31
31
|
require('fs');
|
|
32
32
|
require('untildify');
|
|
33
33
|
require('listr2');
|
|
34
|
-
require('figures');
|
|
35
|
-
require('cli-cursor');
|
|
36
|
-
require('dayjs');
|
|
37
34
|
require('string_decoder');
|
|
38
35
|
require('node:string_decoder');
|
|
39
36
|
|
package/dist/exec/xvfb.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var xvfb = require('./xvfb-
|
|
5
|
+
var xvfb = require('./xvfb-Csr_YzMk.js');
|
|
6
6
|
var minimist = require('minimist');
|
|
7
7
|
var Debug = require('debug');
|
|
8
|
-
var cli$1 = require('./cli-
|
|
9
|
-
var spawn = require('./spawn-
|
|
10
|
-
var cypress = require('./cypress-
|
|
8
|
+
var cli$1 = require('./cli-CQHngRhO.js');
|
|
9
|
+
var spawn = require('./spawn-D9ARC26J.js');
|
|
10
|
+
var cypress = require('./cypress-BMOTlyGc.js');
|
|
11
11
|
require('os');
|
|
12
12
|
require('bluebird');
|
|
13
13
|
require('@cypress/xvfb');
|
|
@@ -47,8 +47,6 @@ require('yauzl');
|
|
|
47
47
|
require('extract-zip');
|
|
48
48
|
require('readline');
|
|
49
49
|
require('pretty-bytes');
|
|
50
|
-
require('figures');
|
|
51
|
-
require('cli-cursor');
|
|
52
50
|
require('stream');
|
|
53
51
|
require('string_decoder');
|
|
54
52
|
require('node:string_decoder');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var xvfb = require('./xvfb-
|
|
3
|
+
var xvfb = require('./xvfb-Csr_YzMk.js');
|
|
4
4
|
var _ = require('lodash');
|
|
5
5
|
var os = require('os');
|
|
6
6
|
var cp = require('child_process');
|
|
@@ -11,67 +11,12 @@ var listr2 = require('listr2');
|
|
|
11
11
|
var commonTags = require('common-tags');
|
|
12
12
|
var Bluebird = require('bluebird');
|
|
13
13
|
var logSymbols = require('log-symbols');
|
|
14
|
-
var figures = require('figures');
|
|
15
|
-
var cliCursor = require('cli-cursor');
|
|
16
|
-
var dayjs = require('dayjs');
|
|
17
14
|
var readline = require('readline');
|
|
18
15
|
var process$1 = require('process');
|
|
19
16
|
var require$$0 = require('stream');
|
|
20
17
|
var require$$1 = require('string_decoder');
|
|
21
18
|
var require$$1$1 = require('node:string_decoder');
|
|
22
19
|
|
|
23
|
-
// Vendored from @cypress/listr-verbose-renderer
|
|
24
|
-
const formattedLog = (options, output) => {
|
|
25
|
-
const timestamp = dayjs().format(options.dateFormat);
|
|
26
|
-
// eslint-disable-next-line no-console
|
|
27
|
-
console.log(`${chalk.dim(`[${timestamp}]`)} ${output}`);
|
|
28
|
-
};
|
|
29
|
-
const renderHelper = (task, event, options) => {
|
|
30
|
-
const log = formattedLog.bind(undefined, options);
|
|
31
|
-
if (event.type === 'STATE') {
|
|
32
|
-
const message = task.isPending() ? 'started' : task.state;
|
|
33
|
-
log(`${task.title} [${message}]`);
|
|
34
|
-
if (task.isSkipped() && task.output) {
|
|
35
|
-
log(`${figures.arrowRight} ${task.output}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else if (event.type === 'TITLE') {
|
|
39
|
-
log(`${task.title} [title changed]`);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
const render = (tasks, options) => {
|
|
43
|
-
for (const task of tasks) {
|
|
44
|
-
task.subscribe((event) => {
|
|
45
|
-
if (event.type === 'SUBTASKS') {
|
|
46
|
-
render(task.subtasks, options);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
renderHelper(task, event, options);
|
|
50
|
-
}, (err) => {
|
|
51
|
-
// eslint-disable-next-line no-console
|
|
52
|
-
console.log(err);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
class VerboseRenderer {
|
|
57
|
-
constructor(tasks, options) {
|
|
58
|
-
this._tasks = tasks;
|
|
59
|
-
this._options = Object.assign({
|
|
60
|
-
dateFormat: 'HH:mm:ss',
|
|
61
|
-
}, options);
|
|
62
|
-
}
|
|
63
|
-
static get nonTTY() {
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
render() {
|
|
67
|
-
cliCursor.hide();
|
|
68
|
-
render(this._tasks, this._options);
|
|
69
|
-
}
|
|
70
|
-
end() {
|
|
71
|
-
cliCursor.show();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
20
|
const debug$1 = Debug('cypress:cli');
|
|
76
21
|
const verifyTestRunnerTimeoutMs = () => {
|
|
77
22
|
const verifyTimeout = +((xvfb.util === null || xvfb.util === void 0 ? void 0 : xvfb.util.getEnv('CYPRESS_VERIFY_TIMEOUT')) || 'NaN');
|
|
@@ -191,62 +136,53 @@ const runSmokeTest = (binaryDir, options) => {
|
|
|
191
136
|
const linuxWithDisplayEnv = xvfb.util.isPossibleLinuxWithIncorrectDisplay();
|
|
192
137
|
return userFriendlySpawn(linuxWithDisplayEnv);
|
|
193
138
|
};
|
|
194
|
-
function
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
139
|
+
function logVersionMismatch(binaryVersion, binaryDir, packageVersion) {
|
|
140
|
+
xvfb.loggerModule.log(`Found binary version ${chalk.green(binaryVersion)} installed in: ${chalk.cyan(binaryDir)}`);
|
|
141
|
+
xvfb.loggerModule.log();
|
|
142
|
+
xvfb.loggerModule.warn(commonTags.stripIndent `
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
${logSymbols.warning} Warning: Binary version ${chalk.green(binaryVersion)} does not match the expected package version ${chalk.green(packageVersion)}
|
|
146
|
+
|
|
147
|
+
These versions may not work properly together.
|
|
148
|
+
`);
|
|
202
149
|
xvfb.loggerModule.log();
|
|
203
|
-
// if we are running in CI then use
|
|
204
|
-
// the verbose renderer else use
|
|
205
|
-
// the default
|
|
206
|
-
let renderer = xvfb.util.isCi() ? VerboseRenderer : 'default';
|
|
207
|
-
// NOTE: under test we set the listr renderer to 'silent' in order to get deterministic snapshots
|
|
208
|
-
if (xvfb.loggerModule.logLevel() === 'silent' || options.listrRenderer)
|
|
209
|
-
renderer = 'silent';
|
|
210
|
-
const rendererOptions = {
|
|
211
|
-
renderer,
|
|
212
|
-
};
|
|
213
|
-
const tasks = new listr2.Listr([
|
|
214
|
-
{
|
|
215
|
-
title: xvfb.util.titleize('Verifying Cypress can run', chalk.gray(binaryDir)),
|
|
216
|
-
task: (ctx, task) => xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
217
|
-
debug$1('clearing out the verified version');
|
|
218
|
-
yield xvfb.stateModule.clearBinaryStateAsync(binaryDir);
|
|
219
|
-
yield Promise.all([
|
|
220
|
-
runSmokeTest(binaryDir, options),
|
|
221
|
-
Bluebird.delay(1500), // good user experience
|
|
222
|
-
]);
|
|
223
|
-
debug$1('write verified: true');
|
|
224
|
-
yield xvfb.stateModule.writeBinaryVerifiedAsync(true, binaryDir);
|
|
225
|
-
xvfb.util.setTaskTitle(task, xvfb.util.titleize(chalk.green('Verified Cypress!'), chalk.gray(binaryDir)), rendererOptions.renderer);
|
|
226
|
-
}),
|
|
227
|
-
},
|
|
228
|
-
], rendererOptions);
|
|
229
|
-
return tasks.run();
|
|
230
150
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
151
|
+
function verifyBinary(installedVersion, binaryDir, options) {
|
|
152
|
+
return xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
debug$1('running binary verification check', installedVersion);
|
|
154
|
+
// if running from 'cypress verify', don't print this message
|
|
155
|
+
if (!options.force) {
|
|
156
|
+
xvfb.loggerModule.log(commonTags.stripIndent `
|
|
157
|
+
It looks like this is your first time using Cypress: ${chalk.cyan(installedVersion)}
|
|
158
|
+
`);
|
|
159
|
+
}
|
|
160
|
+
xvfb.loggerModule.log();
|
|
161
|
+
const verifyTaskRunner = new listr2.Listr([{
|
|
162
|
+
title: xvfb.util.titleize('Verifying Cypress can run', chalk.gray(binaryDir)),
|
|
163
|
+
task: (ctx, task) => xvfb.__awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
debug$1('clearing out the verified version');
|
|
165
|
+
yield xvfb.stateModule.clearBinaryStateAsync(binaryDir);
|
|
166
|
+
yield Promise.all([
|
|
167
|
+
runSmokeTest(binaryDir, options),
|
|
168
|
+
Bluebird.delay(1500), // good user experience
|
|
169
|
+
]);
|
|
170
|
+
debug$1('write verified: true');
|
|
171
|
+
yield xvfb.stateModule.writeBinaryVerifiedAsync(true, binaryDir);
|
|
172
|
+
task.title = xvfb.util.titleize(chalk.green('Verified Cypress!'), chalk.gray(binaryDir));
|
|
173
|
+
}),
|
|
174
|
+
}], {
|
|
175
|
+
silentRendererCondition: () => xvfb.loggerModule.logLevel() === 'silent',
|
|
176
|
+
});
|
|
177
|
+
yield verifyTaskRunner.run();
|
|
242
178
|
if (options.welcomeMessage) {
|
|
243
179
|
xvfb.loggerModule.log();
|
|
244
180
|
xvfb.loggerModule.log('Opening Cypress...');
|
|
245
181
|
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
248
184
|
const start$1 = (...args_1) => xvfb.__awaiter(void 0, [...args_1], void 0, function* (options = {}) {
|
|
249
|
-
debug$1('verifying Cypress app');
|
|
185
|
+
debug$1('verifying Cypress app with options %j', options);
|
|
250
186
|
_.defaults(options, {
|
|
251
187
|
dev: false,
|
|
252
188
|
force: false,
|
|
@@ -315,18 +251,15 @@ const start$1 = (...args_1) => xvfb.__awaiter(void 0, [...args_1], void 0, funct
|
|
|
315
251
|
if (binaryVersion !== packageVersion) {
|
|
316
252
|
// warn if we installed with CYPRESS_INSTALL_BINARY or changed version
|
|
317
253
|
// in the package.json
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
`);
|
|
327
|
-
xvfb.loggerModule.log();
|
|
254
|
+
logVersionMismatch(binaryVersion, binaryDir, packageVersion);
|
|
255
|
+
}
|
|
256
|
+
const isVerified = options.force ?
|
|
257
|
+
false :
|
|
258
|
+
yield xvfb.stateModule.getBinaryVerifiedAsync(binaryDir);
|
|
259
|
+
debug$1('is Verified ?', isVerified);
|
|
260
|
+
if (!isVerified) {
|
|
261
|
+
yield verifyBinary(binaryVersion, binaryDir, options);
|
|
328
262
|
}
|
|
329
|
-
yield maybeVerify(binaryVersion, binaryDir, options);
|
|
330
263
|
}
|
|
331
264
|
catch (err) {
|
|
332
265
|
if (err.known) {
|
|
@@ -1395,6 +1328,5 @@ function start(args_1) {
|
|
|
1395
1328
|
});
|
|
1396
1329
|
}
|
|
1397
1330
|
|
|
1398
|
-
exports.VerboseRenderer = VerboseRenderer;
|
|
1399
1331
|
exports.start = start$1;
|
|
1400
1332
|
exports.start$1 = start;
|
|
@@ -397,12 +397,6 @@ const util = {
|
|
|
397
397
|
// calculate the seconds reminaing with no decimal places
|
|
398
398
|
return (_.isFinite(eta) ? (eta / 1000) : 0).toFixed(0);
|
|
399
399
|
},
|
|
400
|
-
setTaskTitle(task, title, renderer) {
|
|
401
|
-
// only update the renderer title when not running in CI
|
|
402
|
-
if (renderer === 'default' && task.title !== title) {
|
|
403
|
-
task.title = title;
|
|
404
|
-
}
|
|
405
|
-
},
|
|
406
400
|
isInstalledGlobally() {
|
|
407
401
|
return isInstalledGlobally;
|
|
408
402
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cypress",
|
|
3
|
-
"version": "15.14.
|
|
3
|
+
"version": "15.14.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"postinstall": "node dist/index.js --exec install",
|
|
@@ -16,25 +16,22 @@
|
|
|
16
16
|
"blob-util": "^2.0.2",
|
|
17
17
|
"bluebird": "^3.7.2",
|
|
18
18
|
"buffer": "^5.7.1",
|
|
19
|
-
"cachedir": "^2.
|
|
19
|
+
"cachedir": "^2.4.0",
|
|
20
20
|
"chalk": "^4.1.0",
|
|
21
21
|
"ci-info": "^4.1.0",
|
|
22
|
-
"cli-cursor": "^3.1.0",
|
|
23
22
|
"cli-table3": "0.6.1",
|
|
24
23
|
"commander": "^6.2.1",
|
|
25
24
|
"common-tags": "^1.8.0",
|
|
26
25
|
"dayjs": "^1.10.4",
|
|
27
26
|
"debug": "^4.3.4",
|
|
28
|
-
"enquirer": "^2.3.6",
|
|
29
27
|
"eventemitter2": "6.4.7",
|
|
30
28
|
"execa": "4.1.0",
|
|
31
29
|
"executable": "^4.1.1",
|
|
32
30
|
"extract-zip": "2.0.1",
|
|
33
|
-
"figures": "^3.2.0",
|
|
34
31
|
"fs-extra": "^9.1.0",
|
|
35
32
|
"hasha": "5.2.2",
|
|
36
33
|
"is-installed-globally": "~0.4.0",
|
|
37
|
-
"listr2": "^
|
|
34
|
+
"listr2": "^9.0.5",
|
|
38
35
|
"lodash": "^4.17.23",
|
|
39
36
|
"log-symbols": "^4.0.0",
|
|
40
37
|
"minimist": "^1.2.8",
|
|
@@ -142,8 +139,8 @@
|
|
|
142
139
|
},
|
|
143
140
|
"buildInfo": {
|
|
144
141
|
"commitBranch": "develop",
|
|
145
|
-
"commitSha": "
|
|
146
|
-
"commitDate": "2026-04-
|
|
142
|
+
"commitSha": "545556ee30d468d005a4efea07742e237d44ecd9",
|
|
143
|
+
"commitDate": "2026-04-28T19:06:42.000Z",
|
|
147
144
|
"stable": true
|
|
148
145
|
},
|
|
149
146
|
"description": "Cypress is a next generation front end testing tool built for the modern web",
|
package/react/package.json
CHANGED
package/react/react/package.json
CHANGED
package/vue/package.json
CHANGED
package/vue/vue/package.json
CHANGED