versions.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. 'use strict';
  2. var Promise = require('bluebird');
  3. var debug = require('debug')('cypress:cli');
  4. var path = require('path');
  5. var util = require('../util');
  6. var state = require('../tasks/state');
  7. var _require = require('../errors'),
  8. throwFormErrorText = _require.throwFormErrorText,
  9. errors = _require.errors;
  10. var getVersions = function getVersions() {
  11. return Promise.try(function () {
  12. if (util.getEnv('CYPRESS_RUN_BINARY')) {
  13. var envBinaryPath = path.resolve(util.getEnv('CYPRESS_RUN_BINARY'));
  14. return state.parseRealPlatformBinaryFolderAsync(envBinaryPath).then(function (envBinaryDir) {
  15. if (!envBinaryDir) {
  16. return throwFormErrorText(errors.CYPRESS_RUN_BINARY.notValid(envBinaryPath))();
  17. }
  18. debug('CYPRESS_RUN_BINARY has binaryDir:', envBinaryDir);
  19. return envBinaryDir;
  20. }).catch({ code: 'ENOENT' }, function (err) {
  21. return throwFormErrorText(errors.CYPRESS_RUN_BINARY.notValid(envBinaryPath))(err.message);
  22. });
  23. }
  24. return state.getBinaryDir();
  25. }).then(state.getBinaryPkgVersionAsync).then(function (binaryVersion) {
  26. return {
  27. package: util.pkgVersion(),
  28. binary: binaryVersion || 'not installed'
  29. };
  30. });
  31. };
  32. module.exports = {
  33. getVersions: getVersions
  34. };