get_max_workers.js 801 B

12345678910111213141516171819202122232425262728293031323334
  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) { return obj && obj.__esModule ? obj : { default: obj }; }
  11. /**
  12. * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
  13. *
  14. * This source code is licensed under the MIT license found in the
  15. * LICENSE file in the root directory of this source tree.
  16. *
  17. *
  18. */
  19. function getMaxWorkers(argv) {
  20. if (argv.runInBand) {
  21. return 1;
  22. } else if (argv.maxWorkers) {
  23. return parseInt(argv.maxWorkers, 10);
  24. } else {
  25. const cpus = (_os || _load_os()).default.cpus().length;
  26. return Math.max(argv.watch ? Math.floor(cpus / 2) : cpus - 1, 1);
  27. }
  28. }