getMaxWorkers.js 803 B

123456789101112131415161718192021222324252627282930313233343536
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', {
  3. value: true
  4. });
  5. exports.default = getMaxWorkers;
  6. var _os;
  7. function _load_os() {
  8. return (_os = _interopRequireDefault(require('os')));
  9. }
  10. function _interopRequireDefault(obj) {
  11. return obj && obj.__esModule ? obj : {default: obj};
  12. }
  13. /**
  14. * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
  15. *
  16. * This source code is licensed under the MIT license found in the
  17. * LICENSE file in the root directory of this source tree.
  18. *
  19. *
  20. */
  21. function getMaxWorkers(argv) {
  22. if (argv.runInBand) {
  23. return 1;
  24. } else if (argv.maxWorkers) {
  25. return parseInt(argv.maxWorkers, 10);
  26. } else {
  27. const cpus = (_os || _load_os()).default.cpus().length;
  28. return Math.max(argv.watch ? Math.floor(cpus / 2) : cpus - 1, 1);
  29. }
  30. }