@parcel/workers 2.0.0-nightly.135 → 2.0.0-nightly.1351

Sign up to get free protection for your applications and to get access to all the features.
package/lib/backend.js CHANGED
@@ -5,31 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.detectBackend = detectBackend;
7
7
  exports.getWorkerBackend = getWorkerBackend;
8
-
9
8
  function detectBackend() {
10
9
  switch (process.env.PARCEL_WORKER_BACKEND) {
11
10
  case 'threads':
12
11
  case 'process':
13
12
  return process.env.PARCEL_WORKER_BACKEND;
14
13
  }
15
-
16
14
  try {
17
15
  require('worker_threads');
18
-
19
16
  return 'threads';
20
17
  } catch (err) {
21
18
  return 'process';
22
19
  }
23
20
  }
24
-
25
21
  function getWorkerBackend(backend) {
26
22
  switch (backend) {
27
23
  case 'threads':
28
24
  return require('./threads/ThreadsWorker').default;
29
-
30
25
  case 'process':
31
26
  return require('./process/ProcessWorker').default;
32
-
33
27
  default:
34
28
  throw new Error(`Invalid backend: ${backend}`);
35
29
  }
package/lib/bus.js CHANGED
@@ -4,14 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _events = _interopRequireDefault(require("events"));
9
-
7
+ function _events() {
8
+ const data = _interopRequireDefault(require("events"));
9
+ _events = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
10
14
  var _childState = require("./childState");
11
-
12
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- class Bus extends _events.default {
16
+ class Bus extends _events().default {
15
17
  emit(event, ...args) {
16
18
  if (_childState.child) {
17
19
  _childState.child.workerApi.callMaster({
@@ -19,15 +21,11 @@ class Bus extends _events.default {
19
21
  method: 'emit',
20
22
  args: [event, ...args]
21
23
  }, false);
22
-
23
24
  return true;
24
25
  } else {
25
26
  return super.emit(event, ...args);
26
27
  }
27
28
  }
28
-
29
29
  }
30
-
31
30
  var _default = new Bus();
32
-
33
31
  exports.default = _default;
package/lib/child.js CHANGED
@@ -4,76 +4,88 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Child = void 0;
7
-
8
- var _assert = _interopRequireDefault(require("assert"));
9
-
10
- var _nullthrows = _interopRequireDefault(require("nullthrows"));
11
-
12
- var _logger = _interopRequireWildcard(require("@parcel/logger"));
13
-
14
- var _diagnostic = _interopRequireWildcard(require("@parcel/diagnostic"));
15
-
7
+ function _assert() {
8
+ const data = _interopRequireDefault(require("assert"));
9
+ _assert = 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
+ }
21
+ function _logger() {
22
+ const data = _interopRequireWildcard(require("@parcel/logger"));
23
+ _logger = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _diagnostic() {
29
+ const data = _interopRequireWildcard(require("@parcel/diagnostic"));
30
+ _diagnostic = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _core() {
36
+ const data = require("@parcel/core");
37
+ _core = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
16
42
  var _bus = _interopRequireDefault(require("./bus"));
17
-
18
- var _Profiler = _interopRequireDefault(require("./Profiler"));
19
-
20
- var _Handle = _interopRequireDefault(require("./Handle"));
21
-
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
-
24
- 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; }
25
-
43
+ function _profiler() {
44
+ const data = require("@parcel/profiler");
45
+ _profiler = function () {
46
+ return data;
47
+ };
48
+ return data;
49
+ }
50
+ var _Handle2 = _interopRequireDefault(require("./Handle"));
51
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
52
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
26
53
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
-
32
- 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; }
33
-
54
+ // The import of './Handle' should really be imported eagerly (with @babel/plugin-transform-modules-commonjs's lazy mode).
55
+ const Handle = _Handle2.default;
34
56
  class Child {
57
+ callQueue = [];
58
+ maxConcurrentCalls = 10;
59
+ responseId = 0;
60
+ responseQueue = new Map();
61
+ handles = new Map();
62
+ sharedReferences = new Map();
63
+ sharedReferencesByValue = new Map();
35
64
  constructor(ChildBackend) {
36
- _defineProperty(this, "callQueue", []);
37
-
38
- _defineProperty(this, "childId", void 0);
39
-
40
- _defineProperty(this, "maxConcurrentCalls", 10);
41
-
42
- _defineProperty(this, "module", void 0);
43
-
44
- _defineProperty(this, "responseId", 0);
45
-
46
- _defineProperty(this, "responseQueue", new Map());
47
-
48
- _defineProperty(this, "loggerDisposable", void 0);
49
-
50
- _defineProperty(this, "child", void 0);
51
-
52
- _defineProperty(this, "profiler", void 0);
65
+ this.child = new ChildBackend(m => {
66
+ this.messageListener(m);
67
+ }, () => this.handleEnd());
53
68
 
54
- _defineProperty(this, "workerApi", void 0);
55
-
56
- _defineProperty(this, "handles", new Map());
57
-
58
- _defineProperty(this, "sharedReferences", new Map());
59
-
60
- _defineProperty(this, "sharedReferencesByValue", new Map());
61
-
62
- _defineProperty(this, "workerApi", {
63
- callMaster: (request, awaitResponse = true) => this.addCall(request, awaitResponse),
64
- createReverseHandle: fn => this.createReverseHandle(fn),
65
- getSharedReference: ref => this.sharedReferences.get(ref),
66
- resolveSharedReference: value => this.sharedReferencesByValue.get(value)
67
- });
68
-
69
- this.child = new ChildBackend(this.messageListener.bind(this), this.handleEnd.bind(this)); // Monitior all logging events inside this child process and forward to
69
+ // Monitior all logging events inside this child process and forward to
70
70
  // the main process via the bus.
71
-
72
- this.loggerDisposable = _logger.default.onLog(event => {
71
+ this.loggerDisposable = _logger().default.onLog(event => {
73
72
  _bus.default.emit('logEvent', event);
74
73
  });
74
+ // .. and do the same for trace events
75
+ this.tracerDisposable = _profiler().tracer.onTrace(event => {
76
+ _bus.default.emit('traceEvent', event);
77
+ });
75
78
  }
76
-
79
+ workerApi = {
80
+ callMaster: (request, awaitResponse = true) => this.addCall(request, awaitResponse),
81
+ createReverseHandle: fn => this.createReverseHandle(fn),
82
+ runHandle: (handle, args) => this.workerApi.callMaster({
83
+ handle: handle.id,
84
+ args
85
+ }, true),
86
+ getSharedReference: ref => this.sharedReferences.get(ref),
87
+ resolveSharedReference: value => this.sharedReferencesByValue.get(value)
88
+ };
77
89
  messageListener(message) {
78
90
  if (message.type === 'response') {
79
91
  return this.handleResponse(message);
@@ -81,17 +93,17 @@ class Child {
81
93
  return this.handleRequest(message);
82
94
  }
83
95
  }
84
-
85
96
  send(data) {
86
97
  this.child.send(data);
87
98
  }
88
-
89
- childInit(module, childId) {
99
+ async childInit(module, childId) {
90
100
  // $FlowFixMe this must be dynamic
91
101
  this.module = require(module);
92
102
  this.childId = childId;
103
+ if (this.module.childInit != null) {
104
+ await this.module.childInit();
105
+ }
93
106
  }
94
-
95
107
  async handleRequest(data) {
96
108
  let {
97
109
  idx,
@@ -99,8 +111,7 @@ class Child {
99
111
  args,
100
112
  handle: handleId
101
113
  } = data;
102
- let child = (0, _nullthrows.default)(data.child);
103
-
114
+ let child = (0, _nullthrows().default)(data.child);
104
115
  const responseFromContent = content => ({
105
116
  idx,
106
117
  child,
@@ -108,20 +119,18 @@ class Child {
108
119
  contentType: 'data',
109
120
  content
110
121
  });
111
-
112
122
  const errorResponseFromError = e => ({
113
123
  idx,
114
124
  child,
115
125
  type: 'response',
116
126
  contentType: 'error',
117
- content: (0, _diagnostic.anyToDiagnostic)(e)
127
+ content: (0, _diagnostic().anyToDiagnostic)(e)
118
128
  });
119
-
120
129
  let result;
121
-
122
130
  if (handleId != null) {
123
131
  try {
124
- let fn = (0, _nullthrows.default)(this.handles.get(handleId)).fn;
132
+ var _this$handles$get;
133
+ let fn = (0, _nullthrows().default)((_this$handles$get = this.handles.get(handleId)) === null || _this$handles$get === void 0 ? void 0 : _this$handles$get.fn);
125
134
  result = responseFromContent(fn(...args));
126
135
  } catch (e) {
127
136
  result = errorResponseFromError(e);
@@ -129,22 +138,22 @@ class Child {
129
138
  } else if (method === 'childInit') {
130
139
  try {
131
140
  let [moduleName, childOptions] = args;
132
-
133
- if (childOptions.patchConsole) {
134
- (0, _logger.patchConsole)();
141
+ if (childOptions.shouldPatchConsole) {
142
+ (0, _logger().patchConsole)();
135
143
  } else {
136
- (0, _logger.unpatchConsole)();
144
+ (0, _logger().unpatchConsole)();
137
145
  }
138
-
139
- result = responseFromContent(this.childInit(moduleName, child));
146
+ if (childOptions.shouldTrace) {
147
+ _profiler().tracer.enable();
148
+ }
149
+ result = responseFromContent(await this.childInit(moduleName, child));
140
150
  } catch (e) {
141
151
  result = errorResponseFromError(e);
142
152
  }
143
153
  } else if (method === 'startProfile') {
144
- this.profiler = new _Profiler.default();
145
-
154
+ this.profiler = new (_profiler().SamplingProfiler)();
146
155
  try {
147
- result = responseFromContent((await this.profiler.startProfiling()));
156
+ result = responseFromContent(await this.profiler.startProfiling());
148
157
  } catch (e) {
149
158
  result = errorResponseFromError(e);
150
159
  }
@@ -155,81 +164,92 @@ class Child {
155
164
  } catch (e) {
156
165
  result = errorResponseFromError(e);
157
166
  }
167
+ } else if (method === 'takeHeapSnapshot') {
168
+ try {
169
+ let v8 = require('v8');
170
+ result = responseFromContent(v8.writeHeapSnapshot('heap-' + args[0] + '-' + (this.childId ? 'worker' + this.childId : 'main') + '.heapsnapshot'));
171
+ } catch (e) {
172
+ result = errorResponseFromError(e);
173
+ }
158
174
  } else if (method === 'createSharedReference') {
159
- let [ref, value] = args;
175
+ let [ref, _value] = args;
176
+ let value = _value instanceof ArrayBuffer ?
177
+ // In the case the value is pre-serialized as a buffer,
178
+ // deserialize it.
179
+ (0, _core().deserialize)(Buffer.from(_value)) : _value;
160
180
  this.sharedReferences.set(ref, value);
161
181
  this.sharedReferencesByValue.set(value, ref);
162
182
  result = responseFromContent(null);
163
183
  } else if (method === 'deleteSharedReference') {
164
- this.sharedReferences.delete(args[0]);
184
+ let ref = args[0];
185
+ let value = this.sharedReferences.get(ref);
186
+ this.sharedReferencesByValue.delete(value);
187
+ this.sharedReferences.delete(ref);
165
188
  result = responseFromContent(null);
166
189
  } else {
167
190
  try {
168
- result = responseFromContent(( // $FlowFixMe
169
- await this.module[method](this.workerApi, ...args)));
191
+ result = responseFromContent(
192
+ // $FlowFixMe
193
+ await this.module[method](this.workerApi, ...args));
170
194
  } catch (e) {
171
195
  result = errorResponseFromError(e);
172
196
  }
173
197
  }
174
-
175
- this.send(result);
198
+ try {
199
+ this.send(result);
200
+ } catch (e) {
201
+ result = this.send(errorResponseFromError(e));
202
+ }
176
203
  }
177
-
178
204
  handleResponse(data) {
179
- let idx = (0, _nullthrows.default)(data.idx);
205
+ let idx = (0, _nullthrows().default)(data.idx);
180
206
  let contentType = data.contentType;
181
207
  let content = data.content;
182
- let call = (0, _nullthrows.default)(this.responseQueue.get(idx));
183
-
208
+ let call = (0, _nullthrows().default)(this.responseQueue.get(idx));
184
209
  if (contentType === 'error') {
185
- (0, _assert.default)(typeof content !== 'string');
186
- call.reject(new _diagnostic.default({
210
+ (0, _assert().default)(typeof content !== 'string');
211
+ call.reject(new (_diagnostic().default)({
187
212
  diagnostic: content
188
213
  }));
189
214
  } else {
190
215
  call.resolve(content);
191
216
  }
217
+ this.responseQueue.delete(idx);
192
218
 
193
- this.responseQueue.delete(idx); // Process the next call
194
-
219
+ // Process the next call
195
220
  this.processQueue();
196
- } // Keep in mind to make sure responses to these calls are JSON.Stringify safe
197
-
221
+ }
198
222
 
223
+ // Keep in mind to make sure responses to these calls are JSON.Stringify safe
199
224
  addCall(request, awaitResponse = true) {
200
225
  var _promise;
201
-
202
226
  // $FlowFixMe
203
- let call = _objectSpread({}, request, {
227
+ let call = {
228
+ ...request,
204
229
  type: 'request',
205
230
  child: this.childId,
231
+ // $FlowFixMe Added in Flow 0.121.0 upgrade in #4381
206
232
  awaitResponse,
207
233
  resolve: () => {},
208
234
  reject: () => {}
209
- });
210
-
235
+ };
211
236
  let promise;
212
-
213
237
  if (awaitResponse) {
214
238
  promise = new Promise((resolve, reject) => {
215
239
  call.resolve = resolve;
216
240
  call.reject = reject;
217
241
  });
218
242
  }
219
-
220
243
  this.callQueue.push(call);
221
244
  this.processQueue();
222
245
  return (_promise = promise) !== null && _promise !== void 0 ? _promise : Promise.resolve();
223
246
  }
224
-
225
247
  sendRequest(call) {
226
248
  let idx;
227
-
228
249
  if (call.awaitResponse) {
229
250
  idx = this.responseId++;
230
251
  this.responseQueue.set(idx, call);
231
252
  }
232
-
233
253
  this.send({
234
254
  idx,
235
255
  child: call.child,
@@ -241,31 +261,25 @@ class Child {
241
261
  awaitResponse: call.awaitResponse
242
262
  });
243
263
  }
244
-
245
264
  processQueue() {
246
265
  if (!this.callQueue.length) {
247
266
  return;
248
267
  }
249
-
250
268
  if (this.responseQueue.size < this.maxConcurrentCalls) {
251
269
  this.sendRequest(this.callQueue.shift());
252
270
  }
253
271
  }
254
-
255
272
  handleEnd() {
256
273
  this.loggerDisposable.dispose();
274
+ this.tracerDisposable.dispose();
257
275
  }
258
-
259
276
  createReverseHandle(fn) {
260
- let handle = new _Handle.default({
277
+ let handle = new Handle({
261
278
  fn,
262
- workerApi: this.workerApi,
263
279
  childId: this.childId
264
280
  });
265
281
  this.handles.set(handle.id, handle);
266
282
  return handle;
267
283
  }
268
-
269
284
  }
270
-
271
285
  exports.Child = Child;
package/lib/childState.js CHANGED
@@ -3,14 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setChild = setChild;
7
6
  exports.child = void 0;
7
+ exports.setChild = setChild;
8
8
  // This file is imported by both the WorkerFarm and child implementation.
9
9
  // When a worker is inited, it sets the state in this file.
10
10
  // This way, WorkerFarm can access the state without directly importing the child code.
11
11
  let child = null;
12
12
  exports.child = child;
13
-
14
13
  function setChild(c) {
15
14
  exports.child = child = c;
16
15
  }
package/lib/cpuCount.js CHANGED
@@ -3,18 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.detectRealCores = detectRealCores;
7
6
  exports.default = getCores;
8
-
9
- var _os = _interopRequireDefault(require("os"));
10
-
11
- var _child_process = require("child_process");
12
-
7
+ exports.detectRealCores = detectRealCores;
8
+ function _os() {
9
+ const data = _interopRequireDefault(require("os"));
10
+ _os = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _child_process() {
16
+ const data = require("child_process");
17
+ _child_process = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
13
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
23
  const exec = command => {
16
24
  try {
17
- let stdout = (0, _child_process.execSync)(command, {
25
+ let stdout = (0, _child_process().execSync)(command, {
18
26
  encoding: 'utf8',
19
27
  // This prevents the command from outputting to the console
20
28
  stdio: [null, null, null]
@@ -24,45 +32,40 @@ const exec = command => {
24
32
  return '';
25
33
  }
26
34
  };
27
-
28
35
  function detectRealCores() {
29
- let platform = _os.default.platform();
30
-
36
+ let platform = _os().default.platform();
31
37
  let amount = 0;
32
-
33
38
  if (platform === 'linux') {
34
39
  amount = parseInt(exec('lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc -l'), 10);
35
40
  } else if (platform === 'darwin') {
36
41
  amount = parseInt(exec('sysctl -n hw.physicalcpu_max'), 10);
42
+ } else if (platform === 'win32') {
43
+ const str = exec('wmic cpu get NumberOfCores').match(/\d+/g);
44
+ if (str !== null) {
45
+ amount = parseInt(str.filter(n => n !== '')[0], 10);
46
+ }
37
47
  }
38
-
39
48
  if (!amount || amount <= 0) {
40
49
  throw new Error('Could not detect cpu count!');
41
50
  }
42
-
43
51
  return amount;
44
52
  }
45
-
46
53
  let cores;
47
-
48
54
  function getCores(bypassCache = false) {
49
55
  // Do not re-run commands if we already have the count...
50
- // $FlowFixMe
51
56
  if (cores && !bypassCache) {
52
57
  return cores;
53
58
  }
54
-
55
59
  try {
56
60
  cores = detectRealCores();
57
61
  } catch (e) {
58
62
  // Guess the amount of real cores
59
- cores = _os.default.cpus().filter((cpu, index) => !cpu.model.includes('Intel') || index % 2 === 1).length;
60
- } // Another fallback
61
-
63
+ cores = _os().default.cpus().filter((cpu, index) => !cpu.model.includes('Intel') || index % 2 === 1).length;
64
+ }
62
65
 
66
+ // Another fallback
63
67
  if (!cores) {
64
68
  cores = 1;
65
69
  }
66
-
67
70
  return cores;
68
71
  }
package/lib/index.js CHANGED
@@ -16,57 +16,61 @@ 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(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
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
 
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
+ }
71
75
  var _default = _WorkerFarm.default;
72
76
  exports.default = _default;