@parcel/utils 2.0.1 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.findAlternativeNodeModules = findAlternativeNodeModules;
7
6
  exports.findAlternativeFiles = findAlternativeFiles;
7
+ exports.findAlternativeNodeModules = findAlternativeNodeModules;
8
8
 
9
9
  function _path() {
10
10
  const data = _interopRequireDefault(require("path"));
package/lib/blob.js CHANGED
@@ -6,6 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.blobToBuffer = blobToBuffer;
7
7
  exports.blobToString = blobToString;
8
8
 
9
+ function _buffer() {
10
+ const data = require("buffer");
11
+
12
+ _buffer = function () {
13
+ return data;
14
+ };
15
+
16
+ return data;
17
+ }
18
+
9
19
  var _ = require("./");
10
20
 
11
21
  function _stream() {
@@ -21,17 +31,17 @@ function _stream() {
21
31
  function blobToBuffer(blob) {
22
32
  if (blob instanceof _stream().Readable) {
23
33
  return (0, _.bufferStream)(blob);
24
- } else if (blob instanceof Buffer) {
25
- return Promise.resolve(Buffer.from(blob));
34
+ } else if (blob instanceof _buffer().Buffer) {
35
+ return Promise.resolve(_buffer().Buffer.from(blob));
26
36
  } else {
27
- return Promise.resolve(Buffer.from(blob, 'utf8'));
37
+ return Promise.resolve(_buffer().Buffer.from(blob, 'utf8'));
28
38
  }
29
39
  }
30
40
 
31
41
  async function blobToString(blob) {
32
42
  if (blob instanceof _stream().Readable) {
33
43
  return (await (0, _.bufferStream)(blob)).toString();
34
- } else if (blob instanceof Buffer) {
44
+ } else if (blob instanceof _buffer().Buffer) {
35
45
  return blob.toString();
36
46
  } else {
37
47
  return blob;
package/lib/collection.js CHANGED
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.unique = unique;
7
6
  exports.objectSortedEntries = objectSortedEntries;
8
7
  exports.objectSortedEntriesDeep = objectSortedEntriesDeep;
9
8
  exports.setDifference = setDifference;
9
+ exports.setIntersect = setIntersect;
10
+ exports.setUnion = setUnion;
11
+ exports.unique = unique;
10
12
 
11
13
  function unique(array) {
12
14
  return [...new Set(array)];
@@ -48,4 +50,16 @@ function setDifference(a, b) {
48
50
  }
49
51
 
50
52
  return difference;
53
+ }
54
+
55
+ function setIntersect(a, b) {
56
+ for (let entry of a) {
57
+ if (!b.has(entry)) {
58
+ a.delete(entry);
59
+ }
60
+ }
61
+ }
62
+
63
+ function setUnion(a, b) {
64
+ return new Set([...a, ...b]);
51
65
  }
package/lib/config.js CHANGED
@@ -3,9 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.loadConfig = loadConfig;
6
7
  exports.resolveConfig = resolveConfig;
7
8
  exports.resolveConfigSync = resolveConfigSync;
8
- exports.loadConfig = loadConfig;
9
+
10
+ function _diagnostic() {
11
+ const data = _interopRequireDefault(require("@parcel/diagnostic"));
12
+
13
+ _diagnostic = function () {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
9
19
 
10
20
  function _path() {
11
21
  const data = _interopRequireDefault(require("path"));
@@ -112,7 +122,6 @@ async function loadConfig(fs, filepath, filenames, projectRoot, opts) {
112
122
  }
113
123
 
114
124
  let configContent = await fs.readFile(configFile, 'utf8');
115
- if (!configContent) return null;
116
125
  let config;
117
126
 
118
127
  if (parse === false) {
@@ -121,7 +130,35 @@ async function loadConfig(fs, filepath, filenames, projectRoot, opts) {
121
130
  var _opts$parser;
122
131
 
123
132
  let parse = (_opts$parser = opts === null || opts === void 0 ? void 0 : opts.parser) !== null && _opts$parser !== void 0 ? _opts$parser : getParser(extname);
124
- config = parse(configContent);
133
+
134
+ try {
135
+ config = parse(configContent);
136
+ } catch (e) {
137
+ if (extname !== '' && extname !== 'json') {
138
+ throw e;
139
+ }
140
+
141
+ let pos = {
142
+ line: e.lineNumber,
143
+ column: e.columnNumber
144
+ };
145
+ throw new (_diagnostic().default)({
146
+ diagnostic: {
147
+ message: `Failed to parse ${_path().default.basename(configFile)}`,
148
+ origin: '@parcel/utils',
149
+ codeFrames: [{
150
+ language: 'json5',
151
+ filePath: configFile,
152
+ code: configContent,
153
+ codeHighlights: [{
154
+ start: pos,
155
+ end: pos,
156
+ message: e.message
157
+ }]
158
+ }]
159
+ }
160
+ });
161
+ }
125
162
  }
126
163
 
127
164
  let output = {
package/lib/glob.js CHANGED
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.glob = glob;
7
+ exports.globSync = globSync;
6
8
  exports.isGlob = isGlob;
7
9
  exports.isGlobMatch = isGlobMatch;
8
- exports.globSync = globSync;
9
- exports.glob = glob;
10
10
 
11
11
  function _isGlob2() {
12
12
  const data = _interopRequireDefault(require("is-glob"));
package/lib/hash.js CHANGED
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.hashStream = hashStream;
7
- exports.hashObject = hashObject;
8
6
  exports.hashFile = hashFile;
7
+ exports.hashObject = hashObject;
8
+ exports.hashStream = hashStream;
9
9
 
10
10
  var _collection = require("./collection");
11
11
 
package/lib/index.js CHANGED
@@ -3,100 +3,82 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "countLines", {
7
- enumerable: true,
8
- get: function () {
9
- return _countLines.default;
10
- }
11
- });
12
- Object.defineProperty(exports, "generateBuildMetrics", {
13
- enumerable: true,
14
- get: function () {
15
- return _generateBuildMetrics.default;
16
- }
17
- });
18
- Object.defineProperty(exports, "generateCertificate", {
19
- enumerable: true,
20
- get: function () {
21
- return _generateCertificate.default;
22
- }
23
- });
24
- Object.defineProperty(exports, "getCertificate", {
6
+ Object.defineProperty(exports, "DefaultMap", {
25
7
  enumerable: true,
26
8
  get: function () {
27
- return _getCertificate.default;
9
+ return _DefaultMap.DefaultMap;
28
10
  }
29
11
  });
30
- Object.defineProperty(exports, "getRootDir", {
12
+ Object.defineProperty(exports, "DefaultWeakMap", {
31
13
  enumerable: true,
32
14
  get: function () {
33
- return _getRootDir.default;
15
+ return _DefaultMap.DefaultWeakMap;
34
16
  }
35
17
  });
36
- Object.defineProperty(exports, "isDirectoryInside", {
18
+ Object.defineProperty(exports, "PromiseQueue", {
37
19
  enumerable: true,
38
20
  get: function () {
39
- return _isDirectoryInside.default;
21
+ return _PromiseQueue.default;
40
22
  }
41
23
  });
42
- Object.defineProperty(exports, "isURL", {
24
+ Object.defineProperty(exports, "SOURCEMAP_EXTENSIONS", {
43
25
  enumerable: true,
44
26
  get: function () {
45
- return _isUrl.default;
27
+ return _sourcemap.SOURCEMAP_EXTENSIONS;
46
28
  }
47
29
  });
48
- Object.defineProperty(exports, "objectHash", {
30
+ Object.defineProperty(exports, "SOURCEMAP_RE", {
49
31
  enumerable: true,
50
32
  get: function () {
51
- return _objectHash.default;
33
+ return _sourcemap.SOURCEMAP_RE;
52
34
  }
53
35
  });
54
- Object.defineProperty(exports, "prettifyTime", {
36
+ Object.defineProperty(exports, "SharedBuffer", {
55
37
  enumerable: true,
56
38
  get: function () {
57
- return _prettifyTime.default;
39
+ return _sharedBuffer.SharedBuffer;
58
40
  }
59
41
  });
60
- Object.defineProperty(exports, "prettyDiagnostic", {
42
+ Object.defineProperty(exports, "TapStream", {
61
43
  enumerable: true,
62
44
  get: function () {
63
- return _prettyDiagnostic.default;
45
+ return _TapStream.default;
64
46
  }
65
47
  });
66
- Object.defineProperty(exports, "PromiseQueue", {
48
+ Object.defineProperty(exports, "ansiHtml", {
67
49
  enumerable: true,
68
50
  get: function () {
69
- return _PromiseQueue.default;
51
+ return _ansiHtml.ansiHtml;
70
52
  }
71
53
  });
72
- Object.defineProperty(exports, "validateSchema", {
54
+ Object.defineProperty(exports, "blobToBuffer", {
73
55
  enumerable: true,
74
56
  get: function () {
75
- return _schema.default;
57
+ return _blob.blobToBuffer;
76
58
  }
77
59
  });
78
- Object.defineProperty(exports, "fuzzySearch", {
60
+ Object.defineProperty(exports, "blobToStream", {
79
61
  enumerable: true,
80
62
  get: function () {
81
- return _schema.fuzzySearch;
63
+ return _stream.blobToStream;
82
64
  }
83
65
  });
84
- Object.defineProperty(exports, "TapStream", {
66
+ Object.defineProperty(exports, "blobToString", {
85
67
  enumerable: true,
86
68
  get: function () {
87
- return _TapStream.default;
69
+ return _blob.blobToString;
88
70
  }
89
71
  });
90
- Object.defineProperty(exports, "urlJoin", {
72
+ Object.defineProperty(exports, "bufferStream", {
91
73
  enumerable: true,
92
74
  get: function () {
93
- return _urlJoin.default;
75
+ return _stream.bufferStream;
94
76
  }
95
77
  });
96
- Object.defineProperty(exports, "relativeUrl", {
78
+ Object.defineProperty(exports, "countLines", {
97
79
  enumerable: true,
98
80
  get: function () {
99
- return _relativeUrl.default;
81
+ return _countLines.default;
100
82
  }
101
83
  });
102
84
  Object.defineProperty(exports, "createDependencyLocation", {
@@ -105,28 +87,28 @@ Object.defineProperty(exports, "createDependencyLocation", {
105
87
  return _dependencyLocation.default;
106
88
  }
107
89
  });
108
- Object.defineProperty(exports, "debounce", {
90
+ Object.defineProperty(exports, "createHTTPServer", {
109
91
  enumerable: true,
110
92
  get: function () {
111
- return _debounce.default;
93
+ return _httpServer.createHTTPServer;
112
94
  }
113
95
  });
114
- Object.defineProperty(exports, "throttle", {
96
+ Object.defineProperty(exports, "debounce", {
115
97
  enumerable: true,
116
98
  get: function () {
117
- return _throttle.default;
99
+ return _debounce.default;
118
100
  }
119
101
  });
120
- Object.defineProperty(exports, "openInBrowser", {
102
+ Object.defineProperty(exports, "escapeHTML", {
121
103
  enumerable: true,
122
104
  get: function () {
123
- return _openInBrowser.default;
105
+ return _escapeHtml.escapeHTML;
124
106
  }
125
107
  });
126
- Object.defineProperty(exports, "findAlternativeNodeModules", {
108
+ Object.defineProperty(exports, "fallbackStream", {
127
109
  enumerable: true,
128
110
  get: function () {
129
- return _alternatives.findAlternativeNodeModules;
111
+ return _stream.fallbackStream;
130
112
  }
131
113
  });
132
114
  Object.defineProperty(exports, "findAlternativeFiles", {
@@ -135,76 +117,76 @@ Object.defineProperty(exports, "findAlternativeFiles", {
135
117
  return _alternatives.findAlternativeFiles;
136
118
  }
137
119
  });
138
- Object.defineProperty(exports, "blobToBuffer", {
120
+ Object.defineProperty(exports, "findAlternativeNodeModules", {
139
121
  enumerable: true,
140
122
  get: function () {
141
- return _blob.blobToBuffer;
123
+ return _alternatives.findAlternativeNodeModules;
142
124
  }
143
125
  });
144
- Object.defineProperty(exports, "blobToString", {
126
+ Object.defineProperty(exports, "fuzzySearch", {
145
127
  enumerable: true,
146
128
  get: function () {
147
- return _blob.blobToString;
129
+ return _schema.fuzzySearch;
148
130
  }
149
131
  });
150
- Object.defineProperty(exports, "unique", {
132
+ Object.defineProperty(exports, "generateBuildMetrics", {
151
133
  enumerable: true,
152
134
  get: function () {
153
- return _collection.unique;
135
+ return _generateBuildMetrics.default;
154
136
  }
155
137
  });
156
- Object.defineProperty(exports, "objectSortedEntries", {
138
+ Object.defineProperty(exports, "generateCertificate", {
157
139
  enumerable: true,
158
140
  get: function () {
159
- return _collection.objectSortedEntries;
141
+ return _generateCertificate.default;
160
142
  }
161
143
  });
162
- Object.defineProperty(exports, "objectSortedEntriesDeep", {
144
+ Object.defineProperty(exports, "getCertificate", {
163
145
  enumerable: true,
164
146
  get: function () {
165
- return _collection.objectSortedEntriesDeep;
147
+ return _getCertificate.default;
166
148
  }
167
149
  });
168
- Object.defineProperty(exports, "setDifference", {
150
+ Object.defineProperty(exports, "getRootDir", {
169
151
  enumerable: true,
170
152
  get: function () {
171
- return _collection.setDifference;
153
+ return _getRootDir.default;
172
154
  }
173
155
  });
174
- Object.defineProperty(exports, "resolveConfig", {
156
+ Object.defineProperty(exports, "glob", {
175
157
  enumerable: true,
176
158
  get: function () {
177
- return _config.resolveConfig;
159
+ return _glob.glob;
178
160
  }
179
161
  });
180
- Object.defineProperty(exports, "resolveConfigSync", {
162
+ Object.defineProperty(exports, "globSync", {
181
163
  enumerable: true,
182
164
  get: function () {
183
- return _config.resolveConfigSync;
165
+ return _glob.globSync;
184
166
  }
185
167
  });
186
- Object.defineProperty(exports, "loadConfig", {
168
+ Object.defineProperty(exports, "hashFile", {
187
169
  enumerable: true,
188
170
  get: function () {
189
- return _config.loadConfig;
171
+ return _hash.hashFile;
190
172
  }
191
173
  });
192
- Object.defineProperty(exports, "DefaultMap", {
174
+ Object.defineProperty(exports, "hashObject", {
193
175
  enumerable: true,
194
176
  get: function () {
195
- return _DefaultMap.DefaultMap;
177
+ return _hash.hashObject;
196
178
  }
197
179
  });
198
- Object.defineProperty(exports, "DefaultWeakMap", {
180
+ Object.defineProperty(exports, "hashStream", {
199
181
  enumerable: true,
200
182
  get: function () {
201
- return _DefaultMap.DefaultWeakMap;
183
+ return _hash.hashStream;
202
184
  }
203
185
  });
204
- Object.defineProperty(exports, "makeDeferredWithPromise", {
186
+ Object.defineProperty(exports, "isDirectoryInside", {
205
187
  enumerable: true,
206
188
  get: function () {
207
- return _Deferred.makeDeferredWithPromise;
189
+ return _isDirectoryInside.default;
208
190
  }
209
191
  });
210
192
  Object.defineProperty(exports, "isGlob", {
@@ -219,40 +201,46 @@ Object.defineProperty(exports, "isGlobMatch", {
219
201
  return _glob.isGlobMatch;
220
202
  }
221
203
  });
222
- Object.defineProperty(exports, "globSync", {
204
+ Object.defineProperty(exports, "isURL", {
223
205
  enumerable: true,
224
206
  get: function () {
225
- return _glob.globSync;
207
+ return _isUrl.default;
226
208
  }
227
209
  });
228
- Object.defineProperty(exports, "glob", {
210
+ Object.defineProperty(exports, "loadConfig", {
229
211
  enumerable: true,
230
212
  get: function () {
231
- return _glob.glob;
213
+ return _config.loadConfig;
232
214
  }
233
215
  });
234
- Object.defineProperty(exports, "hashStream", {
216
+ Object.defineProperty(exports, "loadSourceMap", {
235
217
  enumerable: true,
236
218
  get: function () {
237
- return _hash.hashStream;
219
+ return _sourcemap.loadSourceMap;
238
220
  }
239
221
  });
240
- Object.defineProperty(exports, "hashObject", {
222
+ Object.defineProperty(exports, "loadSourceMapUrl", {
241
223
  enumerable: true,
242
224
  get: function () {
243
- return _hash.hashObject;
225
+ return _sourcemap.loadSourceMapUrl;
244
226
  }
245
227
  });
246
- Object.defineProperty(exports, "hashFile", {
228
+ Object.defineProperty(exports, "makeDeferredWithPromise", {
247
229
  enumerable: true,
248
230
  get: function () {
249
- return _hash.hashFile;
231
+ return _Deferred.makeDeferredWithPromise;
250
232
  }
251
233
  });
252
- Object.defineProperty(exports, "createHTTPServer", {
234
+ Object.defineProperty(exports, "matchSourceMappingURL", {
253
235
  enumerable: true,
254
236
  get: function () {
255
- return _httpServer.createHTTPServer;
237
+ return _sourcemap.matchSourceMappingURL;
238
+ }
239
+ });
240
+ Object.defineProperty(exports, "measureStreamLength", {
241
+ enumerable: true,
242
+ get: function () {
243
+ return _stream.measureStreamLength;
256
244
  }
257
245
  });
258
246
  Object.defineProperty(exports, "normalizePath", {
@@ -267,28 +255,40 @@ Object.defineProperty(exports, "normalizeSeparators", {
267
255
  return _path.normalizeSeparators;
268
256
  }
269
257
  });
270
- Object.defineProperty(exports, "relativePath", {
258
+ Object.defineProperty(exports, "objectHash", {
271
259
  enumerable: true,
272
260
  get: function () {
273
- return _path.relativePath;
261
+ return _objectHash.default;
274
262
  }
275
263
  });
276
- Object.defineProperty(exports, "replaceURLReferences", {
264
+ Object.defineProperty(exports, "objectSortedEntries", {
277
265
  enumerable: true,
278
266
  get: function () {
279
- return _replaceBundleReferences.replaceURLReferences;
267
+ return _collection.objectSortedEntries;
280
268
  }
281
269
  });
282
- Object.defineProperty(exports, "replaceInlineReferences", {
270
+ Object.defineProperty(exports, "objectSortedEntriesDeep", {
283
271
  enumerable: true,
284
272
  get: function () {
285
- return _replaceBundleReferences.replaceInlineReferences;
273
+ return _collection.objectSortedEntriesDeep;
286
274
  }
287
275
  });
288
- Object.defineProperty(exports, "measureStreamLength", {
276
+ Object.defineProperty(exports, "openInBrowser", {
289
277
  enumerable: true,
290
278
  get: function () {
291
- return _stream.measureStreamLength;
279
+ return _openInBrowser.default;
280
+ }
281
+ });
282
+ Object.defineProperty(exports, "prettifyTime", {
283
+ enumerable: true,
284
+ get: function () {
285
+ return _prettifyTime.default;
286
+ }
287
+ });
288
+ Object.defineProperty(exports, "prettyDiagnostic", {
289
+ enumerable: true,
290
+ get: function () {
291
+ return _prettyDiagnostic.default;
292
292
  }
293
293
  });
294
294
  Object.defineProperty(exports, "readableFromStringOrBuffer", {
@@ -297,82 +297,100 @@ Object.defineProperty(exports, "readableFromStringOrBuffer", {
297
297
  return _stream.readableFromStringOrBuffer;
298
298
  }
299
299
  });
300
- Object.defineProperty(exports, "bufferStream", {
300
+ Object.defineProperty(exports, "relativeBundlePath", {
301
301
  enumerable: true,
302
302
  get: function () {
303
- return _stream.bufferStream;
303
+ return _relativeBundlePath.relativeBundlePath;
304
304
  }
305
305
  });
306
- Object.defineProperty(exports, "blobToStream", {
306
+ Object.defineProperty(exports, "relativePath", {
307
307
  enumerable: true,
308
308
  get: function () {
309
- return _stream.blobToStream;
309
+ return _path.relativePath;
310
310
  }
311
311
  });
312
- Object.defineProperty(exports, "streamFromPromise", {
312
+ Object.defineProperty(exports, "relativeUrl", {
313
313
  enumerable: true,
314
314
  get: function () {
315
- return _stream.streamFromPromise;
315
+ return _relativeUrl.default;
316
316
  }
317
317
  });
318
- Object.defineProperty(exports, "fallbackStream", {
318
+ Object.defineProperty(exports, "remapSourceLocation", {
319
319
  enumerable: true,
320
320
  get: function () {
321
- return _stream.fallbackStream;
321
+ return _sourcemap.remapSourceLocation;
322
322
  }
323
323
  });
324
- Object.defineProperty(exports, "relativeBundlePath", {
324
+ Object.defineProperty(exports, "replaceInlineReferences", {
325
325
  enumerable: true,
326
326
  get: function () {
327
- return _relativeBundlePath.relativeBundlePath;
327
+ return _replaceBundleReferences.replaceInlineReferences;
328
328
  }
329
329
  });
330
- Object.defineProperty(exports, "ansiHtml", {
330
+ Object.defineProperty(exports, "replaceURLReferences", {
331
331
  enumerable: true,
332
332
  get: function () {
333
- return _ansiHtml.ansiHtml;
333
+ return _replaceBundleReferences.replaceURLReferences;
334
334
  }
335
335
  });
336
- Object.defineProperty(exports, "escapeHTML", {
336
+ Object.defineProperty(exports, "resolveConfig", {
337
337
  enumerable: true,
338
338
  get: function () {
339
- return _escapeHtml.escapeHTML;
339
+ return _config.resolveConfig;
340
340
  }
341
341
  });
342
- Object.defineProperty(exports, "SOURCEMAP_RE", {
342
+ Object.defineProperty(exports, "resolveConfigSync", {
343
343
  enumerable: true,
344
344
  get: function () {
345
- return _sourcemap.SOURCEMAP_RE;
345
+ return _config.resolveConfigSync;
346
346
  }
347
347
  });
348
- Object.defineProperty(exports, "SOURCEMAP_EXTENSIONS", {
348
+ Object.defineProperty(exports, "setDifference", {
349
349
  enumerable: true,
350
350
  get: function () {
351
- return _sourcemap.SOURCEMAP_EXTENSIONS;
351
+ return _collection.setDifference;
352
352
  }
353
353
  });
354
- Object.defineProperty(exports, "matchSourceMappingURL", {
354
+ Object.defineProperty(exports, "setIntersect", {
355
355
  enumerable: true,
356
356
  get: function () {
357
- return _sourcemap.matchSourceMappingURL;
357
+ return _collection.setIntersect;
358
358
  }
359
359
  });
360
- Object.defineProperty(exports, "loadSourceMapUrl", {
360
+ Object.defineProperty(exports, "setUnion", {
361
361
  enumerable: true,
362
362
  get: function () {
363
- return _sourcemap.loadSourceMapUrl;
363
+ return _collection.setUnion;
364
364
  }
365
365
  });
366
- Object.defineProperty(exports, "loadSourceMap", {
366
+ Object.defineProperty(exports, "streamFromPromise", {
367
367
  enumerable: true,
368
368
  get: function () {
369
- return _sourcemap.loadSourceMap;
369
+ return _stream.streamFromPromise;
370
370
  }
371
371
  });
372
- Object.defineProperty(exports, "remapSourceLocation", {
372
+ Object.defineProperty(exports, "throttle", {
373
373
  enumerable: true,
374
374
  get: function () {
375
- return _sourcemap.remapSourceLocation;
375
+ return _throttle.default;
376
+ }
377
+ });
378
+ Object.defineProperty(exports, "unique", {
379
+ enumerable: true,
380
+ get: function () {
381
+ return _collection.unique;
382
+ }
383
+ });
384
+ Object.defineProperty(exports, "urlJoin", {
385
+ enumerable: true,
386
+ get: function () {
387
+ return _urlJoin.default;
388
+ }
389
+ });
390
+ Object.defineProperty(exports, "validateSchema", {
391
+ enumerable: true,
392
+ get: function () {
393
+ return _schema.default;
376
394
  }
377
395
  });
378
396
 
@@ -430,6 +448,8 @@ var _glob = require("./glob");
430
448
 
431
449
  var _hash = require("./hash");
432
450
 
451
+ var _sharedBuffer = require("./shared-buffer");
452
+
433
453
  var _httpServer = require("./http-server");
434
454
 
435
455
  var _path = require("./path");
@@ -446,8 +466,8 @@ var _escapeHtml = require("./escape-html");
446
466
 
447
467
  var _sourcemap = require("./sourcemap");
448
468
 
449
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
469
+ 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); }
450
470
 
451
- 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; }
471
+ 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; }
452
472
 
453
473
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/lib/path.js CHANGED
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isAbsolute = isAbsolute;
7
- exports.normalizeSeparators = normalizeSeparators;
8
7
  exports.normalizePath = normalizePath;
8
+ exports.normalizeSeparators = normalizeSeparators;
9
9
  exports.relativePath = relativePath;
10
10
 
11
11
  function _path() {
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.replaceURLReferences = replaceURLReferences;
7
- exports.replaceInlineReferences = replaceInlineReferences;
8
6
  exports.getURLReplacement = getURLReplacement;
7
+ exports.replaceInlineReferences = replaceInlineReferences;
8
+ exports.replaceURLReferences = replaceURLReferences;
9
9
 
10
10
  function _stream() {
11
11
  const data = require("stream");
@@ -92,7 +92,7 @@ function replaceURLReferences({
92
92
  continue;
93
93
  }
94
94
 
95
- if (!resolved || resolved.bundleBehavior === 'inline') {
95
+ if (resolved.bundleBehavior === 'inline') {
96
96
  // If a bundle is inline, it should be replaced with inline contents,
97
97
  // not a URL.
98
98
  continue;
@@ -142,7 +142,11 @@ async function replaceInlineReferences({
142
142
  let inlineType = (0, _nullthrows().default)(entryBundle.getMainEntry()).meta.inlineType;
143
143
 
144
144
  if (inlineType == null || inlineType === 'string') {
145
- replacements.set(dependency.id, getInlineReplacement(dependency, inlineType, packagedContents));
145
+ var _dependency$meta$plac2, _dependency$meta2;
146
+
147
+ let placeholder = (_dependency$meta$plac2 = (_dependency$meta2 = dependency.meta) === null || _dependency$meta2 === void 0 ? void 0 : _dependency$meta2.placeholder) !== null && _dependency$meta$plac2 !== void 0 ? _dependency$meta$plac2 : dependency.id;
148
+ (0, _assert().default)(typeof placeholder === 'string');
149
+ replacements.set(placeholder, getInlineReplacement(dependency, inlineType, packagedContents));
146
150
  }
147
151
  }
148
152
 
@@ -155,7 +159,7 @@ function getURLReplacement({
155
159
  toBundle,
156
160
  relative
157
161
  }) {
158
- var _dependency$meta$plac2, _dependency$meta2;
162
+ var _dependency$meta$plac3, _dependency$meta3;
159
163
 
160
164
  let to;
161
165
 
@@ -180,7 +184,7 @@ function getURLReplacement({
180
184
  }));
181
185
  }
182
186
 
183
- let placeholder = (_dependency$meta$plac2 = (_dependency$meta2 = dependency.meta) === null || _dependency$meta2 === void 0 ? void 0 : _dependency$meta2.placeholder) !== null && _dependency$meta$plac2 !== void 0 ? _dependency$meta$plac2 : dependency.id;
187
+ let placeholder = (_dependency$meta$plac3 = (_dependency$meta3 = dependency.meta) === null || _dependency$meta3 === void 0 ? void 0 : _dependency$meta3.placeholder) !== null && _dependency$meta$plac3 !== void 0 ? _dependency$meta$plac3 : dependency.id;
184
188
  (0, _assert().default)(typeof placeholder === 'string');
185
189
  return {
186
190
  from: placeholder,
package/lib/schema.js CHANGED
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fuzzySearch = fuzzySearch;
7
6
  exports.default = void 0;
7
+ exports.fuzzySearch = fuzzySearch;
8
8
 
9
9
  function _diagnostic() {
10
10
  const data = _interopRequireWildcard(require("@parcel/diagnostic"));
@@ -38,9 +38,9 @@ function _fastestLevenshtein() {
38
38
 
39
39
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
40
 
41
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
41
+ 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); }
42
42
 
43
- 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; }
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; }
44
44
 
45
45
  // flowlint-next-line untyped-import:off
46
46
  function validateSchema(schema, data) {
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SharedBuffer = void 0;
7
+
8
+ /* global MessageChannel:readonly */
9
+ let SharedBuffer; // $FlowFixMe[prop-missing]
10
+
11
+ exports.SharedBuffer = SharedBuffer;
12
+
13
+ if (process.browser) {
14
+ exports.SharedBuffer = SharedBuffer = ArrayBuffer; // Safari has removed the constructor
15
+
16
+ if (typeof SharedArrayBuffer !== 'undefined') {
17
+ let channel = new MessageChannel();
18
+
19
+ try {
20
+ // Firefox might throw when sending the Buffer over a MessagePort
21
+ channel.port1.postMessage(new SharedArrayBuffer(0));
22
+ exports.SharedBuffer = SharedBuffer = SharedArrayBuffer;
23
+ } catch (_) {// NOOP
24
+ }
25
+
26
+ channel.port1.close();
27
+ channel.port2.close();
28
+ }
29
+ } else {
30
+ exports.SharedBuffer = SharedBuffer = SharedArrayBuffer;
31
+ }
package/lib/sourcemap.js CHANGED
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.matchSourceMappingURL = matchSourceMappingURL;
7
- exports.loadSourceMapUrl = loadSourceMapUrl;
6
+ exports.SOURCEMAP_RE = exports.SOURCEMAP_EXTENSIONS = void 0;
8
7
  exports.loadSourceMap = loadSourceMap;
8
+ exports.loadSourceMapUrl = loadSourceMapUrl;
9
+ exports.matchSourceMappingURL = matchSourceMappingURL;
9
10
  exports.remapSourceLocation = remapSourceLocation;
10
- exports.SOURCEMAP_EXTENSIONS = exports.SOURCEMAP_RE = void 0;
11
11
 
12
12
  function _sourceMap() {
13
13
  const data = _interopRequireDefault(require("@parcel/source-map"));
package/lib/stream.js CHANGED
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.blobToStream = blobToStream;
7
+ exports.bufferStream = bufferStream;
8
+ exports.fallbackStream = fallbackStream;
6
9
  exports.measureStreamLength = measureStreamLength;
7
10
  exports.readableFromStringOrBuffer = readableFromStringOrBuffer;
8
- exports.bufferStream = bufferStream;
9
- exports.blobToStream = blobToStream;
10
11
  exports.streamFromPromise = streamFromPromise;
11
- exports.fallbackStream = fallbackStream;
12
12
 
13
13
  function _stream() {
14
14
  const data = require("stream");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parcel/utils",
3
- "version": "2.0.1",
3
+ "version": "2.2.1",
4
4
  "description": "Blazing fast, zero configuration web application bundler",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@iarna/toml": "^2.2.0",
24
- "@parcel/codeframe": "^2.0.1",
25
- "@parcel/diagnostic": "^2.0.1",
26
- "@parcel/hash": "^2.0.1",
27
- "@parcel/logger": "^2.0.1",
28
- "@parcel/markdown-ansi": "^2.0.1",
24
+ "@parcel/codeframe": "^2.2.1",
25
+ "@parcel/diagnostic": "^2.2.1",
26
+ "@parcel/hash": "^2.2.1",
27
+ "@parcel/logger": "^2.2.1",
28
+ "@parcel/markdown-ansi": "^2.2.1",
29
29
  "@parcel/source-map": "^2.0.0",
30
30
  "ansi-html-community": "0.0.8",
31
31
  "chalk": "^4.1.0",
@@ -34,10 +34,10 @@
34
34
  "fastest-levenshtein": "^1.0.8",
35
35
  "is-glob": "^4.0.0",
36
36
  "is-url": "^1.2.2",
37
- "json5": "^1.0.1",
37
+ "json5": "^2.2.0",
38
38
  "lru-cache": "^6.0.0",
39
39
  "micromatch": "^4.0.4",
40
- "node-forge": "^0.10.0",
40
+ "node-forge": "^1.2.1",
41
41
  "nullthrows": "^1.1.1",
42
42
  "open": "^7.0.3",
43
43
  "terminal-link": "^2.1.1"
@@ -46,5 +46,10 @@
46
46
  "@babel/plugin-transform-flow-strip-types": "^7.2.0",
47
47
  "random-int": "^1.0.0"
48
48
  },
49
- "gitHead": "28b47e6bdca7de2a06b7cc39a4a0b1df89f3fe15"
49
+ "browser": {
50
+ "./src/generateCertificate.js": false,
51
+ "./src/http-server.js": false,
52
+ "./src/openInBrowser.js": false
53
+ },
54
+ "gitHead": "74fcc3fbe80cea993bff10e158df3d0f701973c7"
50
55
  }
package/src/blob.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import type {Blob} from '@parcel/types';
4
4
 
5
+ import {Buffer} from 'buffer';
5
6
  import {bufferStream} from './';
6
7
  import {Readable} from 'stream';
7
8
 
package/src/collection.js CHANGED
@@ -43,3 +43,15 @@ export function setDifference<T>(a: Set<T>, b: Set<T>): Set<T> {
43
43
  }
44
44
  return difference;
45
45
  }
46
+
47
+ export function setIntersect<T>(a: Set<T>, b: Set<T>): void {
48
+ for (let entry of a) {
49
+ if (!b.has(entry)) {
50
+ a.delete(entry);
51
+ }
52
+ }
53
+ }
54
+
55
+ export function setUnion<T>(a: Iterable<T>, b: Iterable<T>): Set<T> {
56
+ return new Set([...a, ...b]);
57
+ }
package/src/config.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import type {ConfigResult, File, FilePath} from '@parcel/types';
4
4
  import type {FileSystem} from '@parcel/fs';
5
+ import ThrowableDiagnostic from '@parcel/diagnostic';
5
6
  import path from 'path';
6
7
  import clone from 'clone';
7
8
  import {parse as json5} from 'json5';
@@ -82,14 +83,45 @@ export async function loadConfig(
82
83
  }
83
84
 
84
85
  let configContent = await fs.readFile(configFile, 'utf8');
85
- if (!configContent) return null;
86
86
 
87
87
  let config;
88
88
  if (parse === false) {
89
89
  config = configContent;
90
90
  } else {
91
91
  let parse = opts?.parser ?? getParser(extname);
92
- config = parse(configContent);
92
+ try {
93
+ config = parse(configContent);
94
+ } catch (e) {
95
+ if (extname !== '' && extname !== 'json') {
96
+ throw e;
97
+ }
98
+
99
+ let pos = {
100
+ line: e.lineNumber,
101
+ column: e.columnNumber,
102
+ };
103
+
104
+ throw new ThrowableDiagnostic({
105
+ diagnostic: {
106
+ message: `Failed to parse ${path.basename(configFile)}`,
107
+ origin: '@parcel/utils',
108
+ codeFrames: [
109
+ {
110
+ language: 'json5',
111
+ filePath: configFile,
112
+ code: configContent,
113
+ codeHighlights: [
114
+ {
115
+ start: pos,
116
+ end: pos,
117
+ message: e.message,
118
+ },
119
+ ],
120
+ },
121
+ ],
122
+ },
123
+ });
124
+ }
93
125
  }
94
126
 
95
127
  let output = {
package/src/index.js CHANGED
@@ -35,12 +35,15 @@ export {
35
35
  objectSortedEntries,
36
36
  objectSortedEntriesDeep,
37
37
  setDifference,
38
+ setIntersect,
39
+ setUnion,
38
40
  } from './collection';
39
41
  export {resolveConfig, resolveConfigSync, loadConfig} from './config';
40
42
  export {DefaultMap, DefaultWeakMap} from './DefaultMap';
41
43
  export {makeDeferredWithPromise} from './Deferred';
42
44
  export {isGlob, isGlobMatch, globSync, glob} from './glob';
43
45
  export {hashStream, hashObject, hashFile} from './hash';
46
+ export {SharedBuffer} from './shared-buffer';
44
47
  export {fuzzySearch} from './schema';
45
48
  export {createHTTPServer} from './http-server';
46
49
  export {normalizePath, normalizeSeparators, relativePath} from './path';
@@ -66,7 +66,7 @@ export function replaceURLReferences({
66
66
  continue;
67
67
  }
68
68
 
69
- if (!resolved || resolved.bundleBehavior === 'inline') {
69
+ if (resolved.bundleBehavior === 'inline') {
70
70
  // If a bundle is inline, it should be replaced with inline contents,
71
71
  // not a URL.
72
72
  continue;
@@ -139,8 +139,10 @@ export async function replaceInlineReferences({
139
139
 
140
140
  let inlineType = nullthrows(entryBundle.getMainEntry()).meta.inlineType;
141
141
  if (inlineType == null || inlineType === 'string') {
142
+ let placeholder = dependency.meta?.placeholder ?? dependency.id;
143
+ invariant(typeof placeholder === 'string');
142
144
  replacements.set(
143
- dependency.id,
145
+ placeholder,
144
146
  getInlineReplacement(dependency, inlineType, packagedContents),
145
147
  );
146
148
  }
@@ -0,0 +1,24 @@
1
+ // @flow
2
+ /* global MessageChannel:readonly */
3
+
4
+ export let SharedBuffer: Class<ArrayBuffer> | Class<SharedArrayBuffer>;
5
+
6
+ // $FlowFixMe[prop-missing]
7
+ if (process.browser) {
8
+ SharedBuffer = ArrayBuffer;
9
+ // Safari has removed the constructor
10
+ if (typeof SharedArrayBuffer !== 'undefined') {
11
+ let channel = new MessageChannel();
12
+ try {
13
+ // Firefox might throw when sending the Buffer over a MessagePort
14
+ channel.port1.postMessage(new SharedArrayBuffer(0));
15
+ SharedBuffer = SharedArrayBuffer;
16
+ } catch (_) {
17
+ // NOOP
18
+ }
19
+ channel.port1.close();
20
+ channel.port2.close();
21
+ }
22
+ } else {
23
+ SharedBuffer = SharedArrayBuffer;
24
+ }
@@ -0,0 +1,50 @@
1
+ // @flow strict-local
2
+
3
+ import assert from 'assert';
4
+ import {loadConfig} from '../src/config';
5
+ import {inputFS as fs} from '@parcel/test-utils';
6
+ import path from 'path';
7
+
8
+ describe('loadConfig', () => {
9
+ it('load config with json', async () => {
10
+ assert.deepEqual(
11
+ (
12
+ await loadConfig(
13
+ fs,
14
+ path.join(__dirname, './input/config/config.json'),
15
+ ['config.json'],
16
+ path.join(__dirname, './input/config/'),
17
+ )
18
+ )?.config,
19
+ {
20
+ hoge: 'fuga',
21
+ },
22
+ );
23
+ });
24
+
25
+ it('should throw error with empty string json', async () => {
26
+ // $FlowFixMe[prop-missing]
27
+ await assert.rejects(async () => {
28
+ await loadConfig(
29
+ fs,
30
+ path.join(__dirname, './input/config/empty.json'),
31
+ ['empty.json'],
32
+ path.join(__dirname, './input/config/'),
33
+ );
34
+ });
35
+ });
36
+
37
+ it('should load with empty string config toml', async () => {
38
+ assert.deepEqual(
39
+ (
40
+ await loadConfig(
41
+ fs,
42
+ path.join(__dirname, './input/config/empty.toml'),
43
+ ['empty.toml'],
44
+ path.join(__dirname, './input/config/'),
45
+ )
46
+ )?.config,
47
+ {},
48
+ );
49
+ });
50
+ });
@@ -0,0 +1,3 @@
1
+ {
2
+ "hoge": "fuga"
3
+ }
File without changes
File without changes
package/src/.babelrc DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "presets": ["@parcel/babel-preset"]
3
- }