@parcel/workers 2.0.0-nightly.149 → 2.0.0-nightly.1490

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/index.d.ts +23 -0
  2. package/lib/Handle.js +16 -58
  3. package/lib/Worker.js +103 -62
  4. package/lib/WorkerFarm.js +272 -192
  5. package/lib/backend.js +4 -6
  6. package/lib/bus.js +11 -13
  7. package/lib/child.js +140 -116
  8. package/lib/childState.js +2 -4
  9. package/lib/core-worker.browser.js +4 -0
  10. package/lib/core-worker.js +4 -0
  11. package/lib/cpuCount.js +36 -25
  12. package/lib/index.js +35 -32
  13. package/lib/process/ProcessChild.js +18 -24
  14. package/lib/process/ProcessWorker.js +27 -38
  15. package/lib/threads/ThreadsChild.js +26 -28
  16. package/lib/threads/ThreadsWorker.js +25 -31
  17. package/lib/web/WebChild.js +44 -0
  18. package/lib/web/WebWorker.js +85 -0
  19. package/package.json +19 -8
  20. package/src/Handle.js +10 -39
  21. package/src/Worker.js +95 -22
  22. package/src/WorkerFarm.js +267 -62
  23. package/src/backend.js +5 -0
  24. package/src/bus.js +3 -2
  25. package/src/child.js +95 -26
  26. package/src/core-worker.browser.js +3 -0
  27. package/src/core-worker.js +2 -0
  28. package/src/cpuCount.js +23 -10
  29. package/src/index.js +8 -2
  30. package/src/process/ProcessChild.js +2 -1
  31. package/src/process/ProcessWorker.js +1 -1
  32. package/src/threads/ThreadsWorker.js +2 -2
  33. package/src/types.js +1 -1
  34. package/src/web/WebChild.js +50 -0
  35. package/src/web/WebWorker.js +85 -0
  36. package/test/cpuCount.test.js +1 -1
  37. package/test/integration/workerfarm/console.js +1 -1
  38. package/test/integration/workerfarm/logging.js +1 -1
  39. package/test/integration/workerfarm/reverse-handle.js +2 -2
  40. package/test/workerfarm.js +5 -5
  41. package/lib/Profiler.js +0 -70
  42. package/lib/Trace.js +0 -126
  43. package/src/Profiler.js +0 -93
  44. package/src/Trace.js +0 -121
package/lib/index.js CHANGED
@@ -16,57 +16,60 @@ Object.defineProperty(exports, "bus", {
16
16
  }
17
17
  });
18
18
  exports.default = void 0;
19
-
20
- var _assert = _interopRequireDefault(require("assert"));
21
-
19
+ function _assert() {
20
+ const data = _interopRequireDefault(require("assert"));
21
+ _assert = function () {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
22
26
  var _WorkerFarm = _interopRequireWildcard(require("./WorkerFarm"));
23
-
24
- var _logger = _interopRequireDefault(require("@parcel/logger"));
25
-
27
+ function _logger() {
28
+ const data = _interopRequireDefault(require("@parcel/logger"));
29
+ _logger = function () {
30
+ return data;
31
+ };
32
+ return data;
33
+ }
26
34
  var _bus = _interopRequireDefault(require("./bus"));
27
-
28
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
29
-
30
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
35
+ function _profiler() {
36
+ const data = require("@parcel/profiler");
37
+ _profiler = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
43
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
45
  if (!_WorkerFarm.default.isWorker()) {
35
46
  // Forward all logger events originating from workers into the main process
36
47
  _bus.default.on('logEvent', e => {
37
48
  switch (e.level) {
38
49
  case 'info':
39
- _logger.default.info(e.diagnostics);
40
-
50
+ _logger().default.info(e.diagnostics);
41
51
  break;
42
-
43
52
  case 'progress':
44
- (0, _assert.default)(typeof e.message === 'string');
45
-
46
- _logger.default.progress(e.message);
47
-
53
+ (0, _assert().default)(typeof e.message === 'string');
54
+ _logger().default.progress(e.message);
48
55
  break;
49
-
50
56
  case 'verbose':
51
- _logger.default.verbose(e.diagnostics);
52
-
57
+ _logger().default.verbose(e.diagnostics);
53
58
  break;
54
-
55
59
  case 'warn':
56
- _logger.default.warn(e.diagnostics);
57
-
60
+ _logger().default.warn(e.diagnostics);
58
61
  break;
59
-
60
62
  case 'error':
61
- _logger.default.error(e.diagnostics);
62
-
63
+ _logger().default.error(e.diagnostics);
63
64
  break;
64
-
65
65
  default:
66
66
  throw new Error('Unknown log level');
67
67
  }
68
68
  });
69
- }
70
69
 
71
- var _default = _WorkerFarm.default;
72
- exports.default = _default;
70
+ // Forward all trace events originating from workers into the main process
71
+ _bus.default.on('traceEvent', e => {
72
+ _profiler().tracer.trace(e);
73
+ });
74
+ }
75
+ var _default = exports.default = _WorkerFarm.default;
@@ -4,46 +4,43 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _nullthrows = _interopRequireDefault(require("nullthrows"));
9
-
7
+ function _nullthrows() {
8
+ const data = _interopRequireDefault(require("nullthrows"));
9
+ _nullthrows = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
10
14
  var _childState = require("../childState");
11
-
12
15
  var _child = require("../child");
13
-
14
- var _core = require("@parcel/core");
15
-
16
+ function _core() {
17
+ const data = require("@parcel/core");
18
+ _core = function () {
19
+ return data;
20
+ };
21
+ return data;
22
+ }
16
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
20
24
  class ProcessChild {
21
25
  constructor(onMessage, onExit) {
22
- _defineProperty(this, "onMessage", void 0);
23
-
24
- _defineProperty(this, "onExit", void 0);
25
-
26
26
  if (!process.send) {
27
27
  throw new Error('Only create ProcessChild instances in a worker!');
28
28
  }
29
-
30
29
  this.onMessage = onMessage;
31
30
  this.onExit = onExit;
32
31
  process.on('message', data => this.handleMessage(data));
33
32
  }
34
-
35
33
  handleMessage(data) {
36
34
  if (data === 'die') {
37
35
  return this.stop();
38
36
  }
39
-
40
- this.onMessage((0, _core.deserialize)(Buffer.from(data, 'base64')));
37
+ this.onMessage((0, _core().deserialize)(Buffer.from(data, 'base64')));
41
38
  }
42
-
43
39
  send(data) {
44
- let processSend = (0, _nullthrows.default)(process.send).bind(process);
45
- processSend((0, _core.serialize)(data).toString('base64'), err => {
40
+ let processSend = (0, _nullthrows().default)(process.send).bind(process);
41
+ processSend((0, _core().serialize)(data).toString('base64'), err => {
46
42
  if (err && err instanceof Error) {
43
+ // $FlowFixMe[prop-missing]
47
44
  if (err.code === 'ERR_IPC_CHANNEL_CLOSED') {
48
45
  // IPC connection closed
49
46
  // no need to keep the worker running if it can't send or receive data
@@ -52,13 +49,10 @@ class ProcessChild {
52
49
  }
53
50
  });
54
51
  }
55
-
56
52
  stop() {
57
53
  this.onExit(0);
58
54
  process.exit();
59
55
  }
60
-
61
56
  }
62
-
63
57
  exports.default = ProcessChild;
64
58
  (0, _childState.setChild)(new _child.Child(ProcessChild));
@@ -4,55 +4,51 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _child_process = _interopRequireDefault(require("child_process"));
9
-
10
- var _path = _interopRequireDefault(require("path"));
11
-
12
- var _core = require("@parcel/core");
13
-
7
+ function _child_process() {
8
+ const data = _interopRequireDefault(require("child_process"));
9
+ _child_process = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _path() {
15
+ const data = _interopRequireDefault(require("path"));
16
+ _path = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _core() {
22
+ const data = require("@parcel/core");
23
+ _core = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
14
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- const WORKER_PATH = _path.default.join(__dirname, 'ProcessChild.js');
19
-
29
+ const WORKER_PATH = _path().default.join(__dirname, 'ProcessChild.js');
20
30
  class ProcessWorker {
31
+ processQueue = true;
32
+ sendQueue = [];
21
33
  constructor(execArgv, onMessage, onError, onExit) {
22
- _defineProperty(this, "execArgv", void 0);
23
-
24
- _defineProperty(this, "onMessage", void 0);
25
-
26
- _defineProperty(this, "onError", void 0);
27
-
28
- _defineProperty(this, "onExit", void 0);
29
-
30
- _defineProperty(this, "child", void 0);
31
-
32
- _defineProperty(this, "processQueue", true);
33
-
34
- _defineProperty(this, "sendQueue", []);
35
-
36
34
  this.execArgv = execArgv;
37
35
  this.onMessage = onMessage;
38
36
  this.onError = onError;
39
37
  this.onExit = onExit;
40
38
  }
41
-
42
39
  start() {
43
- this.child = _child_process.default.fork(WORKER_PATH, process.argv, {
40
+ this.child = _child_process().default.fork(WORKER_PATH, process.argv, {
44
41
  execArgv: this.execArgv,
45
42
  env: process.env,
46
43
  cwd: process.cwd()
47
44
  });
48
45
  this.child.on('message', data => {
49
- this.onMessage((0, _core.deserialize)(Buffer.from(data, 'base64')));
46
+ this.onMessage((0, _core().deserialize)(Buffer.from(data, 'base64')));
50
47
  });
51
48
  this.child.once('exit', this.onExit);
52
49
  this.child.on('error', this.onError);
53
50
  return Promise.resolve();
54
51
  }
55
-
56
52
  async stop() {
57
53
  this.child.send('die');
58
54
  let forceKill = setTimeout(() => this.child.kill('SIGINT'), 500);
@@ -61,34 +57,27 @@ class ProcessWorker {
61
57
  });
62
58
  clearTimeout(forceKill);
63
59
  }
64
-
65
60
  send(data) {
66
61
  if (!this.processQueue) {
67
62
  this.sendQueue.push(data);
68
63
  return;
69
64
  }
70
-
71
- let result = this.child.send((0, _core.serialize)(data).toString('base64'), error => {
65
+ let result = this.child.send((0, _core().serialize)(data).toString('base64'), error => {
72
66
  if (error && error instanceof Error) {
73
67
  // Ignore this, the workerfarm handles child errors
74
68
  return;
75
69
  }
76
-
77
70
  this.processQueue = true;
78
-
79
71
  if (this.sendQueue.length > 0) {
80
72
  let queueCopy = this.sendQueue.slice(0);
81
73
  this.sendQueue = [];
82
74
  queueCopy.forEach(entry => this.send(entry));
83
75
  }
84
76
  });
85
-
86
77
  if (!result || /^win/.test(process.platform)) {
87
78
  // Queue is handling too much messages throttle it
88
79
  this.processQueue = false;
89
80
  }
90
81
  }
91
-
92
82
  }
93
-
94
83
  exports.default = ProcessWorker;
@@ -4,48 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _worker_threads = require("worker_threads");
9
-
10
- var _nullthrows = _interopRequireDefault(require("nullthrows"));
11
-
7
+ function _worker_threads() {
8
+ const data = require("worker_threads");
9
+ _worker_threads = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _nullthrows() {
15
+ const data = _interopRequireDefault(require("nullthrows"));
16
+ _nullthrows = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
12
21
  var _childState = require("../childState");
13
-
14
22
  var _child = require("../child");
15
-
16
- var _core = require("@parcel/core");
17
-
23
+ function _core() {
24
+ const data = require("@parcel/core");
25
+ _core = function () {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
18
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
-
22
31
  class ThreadsChild {
23
32
  constructor(onMessage, onExit) {
24
- _defineProperty(this, "onMessage", void 0);
25
-
26
- _defineProperty(this, "onExit", void 0);
27
-
28
- if (_worker_threads.isMainThread || !_worker_threads.parentPort) {
33
+ if (_worker_threads().isMainThread || !_worker_threads().parentPort) {
29
34
  throw new Error('Only create ThreadsChild instances in a worker!');
30
35
  }
31
-
32
36
  this.onMessage = onMessage;
33
37
  this.onExit = onExit;
34
-
35
- _worker_threads.parentPort.on('message', data => this.handleMessage(data));
36
-
37
- _worker_threads.parentPort.on('close', this.onExit);
38
+ _worker_threads().parentPort.on('message', data => this.handleMessage(data));
39
+ _worker_threads().parentPort.on('close', this.onExit);
38
40
  }
39
-
40
41
  handleMessage(data) {
41
- this.onMessage((0, _core.restoreDeserializedObject)(data));
42
+ this.onMessage((0, _core().restoreDeserializedObject)(data));
42
43
  }
43
-
44
44
  send(data) {
45
- (0, _nullthrows.default)(_worker_threads.parentPort).postMessage((0, _core.prepareForSerialization)(data));
45
+ (0, _nullthrows().default)(_worker_threads().parentPort).postMessage((0, _core().prepareForSerialization)(data));
46
46
  }
47
-
48
47
  }
49
-
50
48
  exports.default = ThreadsChild;
51
49
  (0, _childState.setChild)(new _child.Child(ThreadsChild));
@@ -4,39 +4,38 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _worker_threads = require("worker_threads");
9
-
10
- var _path = _interopRequireDefault(require("path"));
11
-
12
- var _core = require("@parcel/core");
13
-
7
+ function _worker_threads() {
8
+ const data = require("worker_threads");
9
+ _worker_threads = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _path() {
15
+ const data = _interopRequireDefault(require("path"));
16
+ _path = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _core() {
22
+ const data = require("@parcel/core");
23
+ _core = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
14
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- const WORKER_PATH = _path.default.join(__dirname, 'ThreadsChild.js');
19
-
29
+ const WORKER_PATH = _path().default.join(__dirname, 'ThreadsChild.js');
20
30
  class ThreadsWorker {
21
31
  constructor(execArgv, onMessage, onError, onExit) {
22
- _defineProperty(this, "execArgv", void 0);
23
-
24
- _defineProperty(this, "onMessage", void 0);
25
-
26
- _defineProperty(this, "onError", void 0);
27
-
28
- _defineProperty(this, "onExit", void 0);
29
-
30
- _defineProperty(this, "worker", void 0);
31
-
32
32
  this.execArgv = execArgv;
33
33
  this.onMessage = onMessage;
34
34
  this.onError = onError;
35
35
  this.onExit = onExit;
36
36
  }
37
-
38
37
  start() {
39
- this.worker = new _worker_threads.Worker(WORKER_PATH, {
38
+ this.worker = new (_worker_threads().Worker)(WORKER_PATH, {
40
39
  execArgv: this.execArgv,
41
40
  env: process.env
42
41
  });
@@ -47,21 +46,16 @@ class ThreadsWorker {
47
46
  this.worker.on('online', resolve);
48
47
  });
49
48
  }
50
-
51
49
  stop() {
52
50
  // In node 12, this returns a promise, but previously it accepted a callback
53
51
  // TODO: Pass a callback in earlier versions of Node
54
52
  return Promise.resolve(this.worker.terminate());
55
53
  }
56
-
57
54
  handleMessage(data) {
58
- this.onMessage((0, _core.restoreDeserializedObject)(data));
55
+ this.onMessage((0, _core().restoreDeserializedObject)(data));
59
56
  }
60
-
61
57
  send(data) {
62
- this.worker.postMessage((0, _core.prepareForSerialization)(data));
58
+ this.worker.postMessage((0, _core().prepareForSerialization)(data));
63
59
  }
64
-
65
60
  }
66
-
67
61
  exports.default = ThreadsWorker;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _childState = require("../childState");
8
+ var _child = require("../child");
9
+ function _core() {
10
+ const data = require("@parcel/core");
11
+ _core = function () {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ /* eslint-env worker*/
17
+ class WebChild {
18
+ constructor(onMessage, onExit) {
19
+ if (!(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)) {
20
+ throw new Error('Only create WebChild instances in a worker!');
21
+ }
22
+ this.onMessage = onMessage;
23
+ this.onExit = onExit;
24
+ self.addEventListener('message', ({
25
+ data
26
+ }) => {
27
+ if (data === 'stop') {
28
+ this.onExit(0);
29
+ self.postMessage('stopped');
30
+ }
31
+ // $FlowFixMe assume WorkerMessage as data
32
+ this.handleMessage(data);
33
+ });
34
+ self.postMessage('online');
35
+ }
36
+ handleMessage(data) {
37
+ this.onMessage((0, _core().restoreDeserializedObject)(data));
38
+ }
39
+ send(data) {
40
+ self.postMessage((0, _core().prepareForSerialization)(data));
41
+ }
42
+ }
43
+ exports.default = WebChild;
44
+ (0, _childState.setChild)(new _child.Child(WebChild));
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function _core() {
8
+ const data = require("@parcel/core");
9
+ _core = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _utils() {
15
+ const data = require("@parcel/utils");
16
+ _utils = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ let id = 0;
22
+ class WebWorker {
23
+ constructor(execArgv, onMessage, onError, onExit) {
24
+ this.execArgv = execArgv;
25
+ this.onMessage = onMessage;
26
+ this.onError = onError;
27
+ this.onExit = onExit;
28
+ }
29
+ start() {
30
+ // $FlowFixMe[incompatible-call]
31
+ this.worker = new Worker(new URL('./WebChild.js', import.meta.url), {
32
+ name: `Parcel Worker ${id++}`,
33
+ type: 'module'
34
+ });
35
+ let {
36
+ deferred,
37
+ promise
38
+ } = (0, _utils().makeDeferredWithPromise)();
39
+ this.worker.onmessage = ({
40
+ data
41
+ }) => {
42
+ if (data === 'online') {
43
+ deferred.resolve();
44
+ return;
45
+ }
46
+
47
+ // $FlowFixMe assume WorkerMessage as data
48
+ this.handleMessage(data);
49
+ };
50
+ this.worker.onerror = this.onError;
51
+ // Web workers can't crash or intentionally stop on their own, apart from stop() below
52
+ // this.worker.on('exit', this.onExit);
53
+
54
+ return promise;
55
+ }
56
+ stop() {
57
+ if (!this.stopping) {
58
+ this.stopping = (async () => {
59
+ this.worker.postMessage('stop');
60
+ let {
61
+ deferred,
62
+ promise
63
+ } = (0, _utils().makeDeferredWithPromise)();
64
+ this.worker.addEventListener('message', ({
65
+ data
66
+ }) => {
67
+ if (data === 'stopped') {
68
+ deferred.resolve();
69
+ }
70
+ });
71
+ await promise;
72
+ this.worker.terminate();
73
+ this.onExit(0);
74
+ })();
75
+ }
76
+ return this.stopping;
77
+ }
78
+ handleMessage(data) {
79
+ this.onMessage((0, _core().restoreDeserializedObject)(data));
80
+ }
81
+ send(data) {
82
+ this.worker.postMessage((0, _core().prepareForSerialization)(data));
83
+ }
84
+ }
85
+ exports.default = WebWorker;
package/package.json CHANGED
@@ -1,29 +1,40 @@
1
1
  {
2
2
  "name": "@parcel/workers",
3
- "version": "2.0.0-nightly.149+453f7b0b",
3
+ "version": "2.0.0-nightly.1490+642d9cabc",
4
4
  "description": "Blazing fast, zero configuration web application bundler",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
+ "funding": {
10
+ "type": "opencollective",
11
+ "url": "https://opencollective.com/parcel"
12
+ },
9
13
  "repository": {
10
14
  "type": "git",
11
15
  "url": "https://github.com/parcel-bundler/parcel.git"
12
16
  },
13
17
  "main": "lib/index.js",
14
18
  "source": "src/index.js",
19
+ "types": "index.d.ts",
15
20
  "engines": {
16
- "node": ">= 10.0.0"
21
+ "node": ">= 12.0.0"
17
22
  },
18
23
  "dependencies": {
19
- "@parcel/diagnostic": "2.0.0-nightly.149+453f7b0b",
20
- "@parcel/logger": "2.0.0-nightly.149+453f7b0b",
21
- "@parcel/utils": "2.0.0-nightly.149+453f7b0b",
22
- "chrome-trace-event": "^1.0.2",
24
+ "@parcel/diagnostic": "2.0.0-nightly.1490+642d9cabc",
25
+ "@parcel/logger": "2.0.0-nightly.1490+642d9cabc",
26
+ "@parcel/profiler": "2.11.1-nightly.3113+642d9cabc",
27
+ "@parcel/types": "2.0.0-nightly.1490+642d9cabc",
28
+ "@parcel/utils": "2.0.0-nightly.1490+642d9cabc",
23
29
  "nullthrows": "^1.1.1"
24
30
  },
25
31
  "peerDependencies": {
26
- "@parcel/core": "^2.0.0-alpha.3.1"
32
+ "@parcel/core": "2.0.0-nightly.1488+642d9cabc"
33
+ },
34
+ "browser": {
35
+ "./src/process/ProcessWorker.js": false,
36
+ "./src/threads/ThreadsWorker.js": false,
37
+ "./src/core-worker.js": "./src/core-worker.browser.js"
27
38
  },
28
- "gitHead": "453f7b0bf295e6a7cbec5d24fab4c48e21e6168f"
39
+ "gitHead": "642d9cabc600bcb4681bbee0be168e05f5a8ffe5"
29
40
  }