metro 0.82.3 → 0.82.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metro",
3
- "version": "0.82.3",
3
+ "version": "0.82.4",
4
4
  "description": "🚇 The JavaScript bundler for React Native.",
5
5
  "main": "src/index.js",
6
6
  "bin": "src/cli.js",
@@ -42,18 +42,18 @@
42
42
  "jest-worker": "^29.7.0",
43
43
  "jsc-safe-url": "^0.2.2",
44
44
  "lodash.throttle": "^4.1.1",
45
- "metro-babel-transformer": "0.82.3",
46
- "metro-cache": "0.82.3",
47
- "metro-cache-key": "0.82.3",
48
- "metro-config": "0.82.3",
49
- "metro-core": "0.82.3",
50
- "metro-file-map": "0.82.3",
51
- "metro-resolver": "0.82.3",
52
- "metro-runtime": "0.82.3",
53
- "metro-source-map": "0.82.3",
54
- "metro-symbolicate": "0.82.3",
55
- "metro-transform-plugins": "0.82.3",
56
- "metro-transform-worker": "0.82.3",
45
+ "metro-babel-transformer": "0.82.4",
46
+ "metro-cache": "0.82.4",
47
+ "metro-cache-key": "0.82.4",
48
+ "metro-config": "0.82.4",
49
+ "metro-core": "0.82.4",
50
+ "metro-file-map": "0.82.4",
51
+ "metro-resolver": "0.82.4",
52
+ "metro-runtime": "0.82.4",
53
+ "metro-source-map": "0.82.4",
54
+ "metro-symbolicate": "0.82.4",
55
+ "metro-transform-plugins": "0.82.4",
56
+ "metro-transform-worker": "0.82.4",
57
57
  "mime-types": "^2.1.27",
58
58
  "nullthrows": "^1.1.1",
59
59
  "serialize-error": "^2.1.0",
@@ -72,8 +72,8 @@
72
72
  "dedent": "^0.7.0",
73
73
  "jest-snapshot": "^29.7.0",
74
74
  "jest-snapshot-serializer-raw": "^1.2.0",
75
- "metro-babel-register": "0.82.3",
76
- "metro-memory-fs": "0.82.3",
75
+ "metro-babel-register": "0.82.4",
76
+ "metro-memory-fs": "0.82.4",
77
77
  "mock-req": "^0.2.0",
78
78
  "mock-res": "^0.6.0",
79
79
  "stack-trace": "^0.0.10"
@@ -7,6 +7,7 @@ function _interopRequireDefault(e) {
7
7
  const getTransformCacheKey = require("./getTransformCacheKey");
8
8
  const WorkerFarm = require("./WorkerFarm");
9
9
  const assert = require("assert");
10
+ const debug = require("debug")("Metro:Transformer");
10
11
  const fs = require("fs");
11
12
  const { Cache, stableHash } = require("metro-cache");
12
13
  const path = require("path");
@@ -35,7 +36,9 @@ class Transformer {
35
36
  projectRoot: this._config.projectRoot,
36
37
  transformerConfig: transformerOptions,
37
38
  });
38
- this._baseHash = stableHash([globalCacheKey]).toString("binary");
39
+ const baseHashBuffer = stableHash([globalCacheKey]);
40
+ this._baseHash = baseHashBuffer.toString("binary");
41
+ debug("Base hash: %s", baseHashBuffer.toString("hex"));
39
42
  }
40
43
  async transformFile(filePath, transformerOptions, fileBuffer) {
41
44
  const cache = this._cache;
@@ -20,6 +20,7 @@ import crypto from 'crypto';
20
20
  const getTransformCacheKey = require('./getTransformCacheKey');
21
21
  const WorkerFarm = require('./WorkerFarm');
22
22
  const assert = require('assert');
23
+ const debug = require('debug')('Metro:Transformer');
23
24
  const fs = require('fs');
24
25
  const {Cache, stableHash} = require('metro-cache');
25
26
  const path = require('path');
@@ -69,7 +70,9 @@ class Transformer {
69
70
  transformerConfig: transformerOptions,
70
71
  });
71
72
 
72
- this._baseHash = stableHash([globalCacheKey]).toString('binary');
73
+ const baseHashBuffer = stableHash([globalCacheKey]);
74
+ this._baseHash = baseHashBuffer.toString('binary');
75
+ debug('Base hash: %s', baseHashBuffer.toString('hex'));
73
76
  }
74
77
 
75
78
  async transformFile(
package/src/index.flow.js CHANGED
@@ -21,6 +21,7 @@ const {
21
21
  } = require("metro-config");
22
22
  const { Terminal } = require("metro-core");
23
23
  const net = require("net");
24
+ const nullthrows = require("nullthrows");
24
25
  const { parse } = require("url");
25
26
  exports.Terminal = Terminal;
26
27
  exports.TerminalReporter = TerminalReporter;
@@ -227,6 +228,8 @@ exports.runBuild = async (
227
228
  minify = true,
228
229
  output = outputBundle,
229
230
  out,
231
+ bundleOut,
232
+ sourceMapOut,
230
233
  platform = "web",
231
234
  sourceMap = false,
232
235
  sourceMapUrl,
@@ -266,10 +269,13 @@ exports.runBuild = async (
266
269
  if (onComplete) {
267
270
  onComplete();
268
271
  }
269
- if (out) {
270
- const bundleOutput = out.replace(/(\.js)?$/, ".js");
272
+ if (out || bundleOut) {
273
+ const bundleOutput =
274
+ bundleOut ?? nullthrows(out).replace(/(\.js)?$/, ".js");
271
275
  const sourcemapOutput =
272
- sourceMap === false ? undefined : out.replace(/(\.js)?$/, ".map");
276
+ sourceMap === false
277
+ ? undefined
278
+ : sourceMapOut ?? out?.replace(/(\.js)?$/, ".map");
273
279
  const outputOptions = {
274
280
  bundleOutput,
275
281
  sourcemapOutput,
@@ -50,6 +50,7 @@ const {
50
50
  } = require('metro-config');
51
51
  const {Terminal} = require('metro-core');
52
52
  const net = require('net');
53
+ const nullthrows = require('nullthrows');
53
54
  const {parse} = require('url');
54
55
 
55
56
  type MetroMiddleWare = {
@@ -97,6 +98,8 @@ export type RunBuildOptions = {
97
98
  assets?: boolean,
98
99
  dev?: boolean,
99
100
  out?: string,
101
+ bundleOut?: string,
102
+ sourceMapOut?: string,
100
103
  onBegin?: () => void,
101
104
  onComplete?: () => void,
102
105
  onProgress?: (transformedFileCount: number, totalFileCount: number) => void,
@@ -394,6 +397,8 @@ exports.runBuild = async (
394
397
  minify = true,
395
398
  output = outputBundle,
396
399
  out,
400
+ bundleOut,
401
+ sourceMapOut,
397
402
  platform = 'web',
398
403
  sourceMap = false,
399
404
  sourceMapUrl,
@@ -437,10 +442,14 @@ exports.runBuild = async (
437
442
  onComplete();
438
443
  }
439
444
 
440
- if (out) {
441
- const bundleOutput = out.replace(/(\.js)?$/, '.js');
445
+ if (out || bundleOut) {
446
+ const bundleOutput =
447
+ bundleOut ?? nullthrows(out).replace(/(\.js)?$/, '.js');
448
+
442
449
  const sourcemapOutput =
443
- sourceMap === false ? undefined : out.replace(/(\.js)?$/, '.map');
450
+ sourceMap === false
451
+ ? undefined
452
+ : sourceMapOut ?? out?.replace(/(\.js)?$/, '.map');
444
453
 
445
454
  const outputOptions: OutputOptions = {
446
455
  bundleOutput,
@@ -171,12 +171,12 @@ class DependencyGraph extends EventEmitter {
171
171
  const result = this._fileSystem.lookup(path);
172
172
  if (result.exists) {
173
173
  return {
174
- exists: true,
174
+ exists: true as const,
175
175
  realPath: result.realPath,
176
176
  type: result.type,
177
177
  };
178
178
  }
179
- return {exists: false};
179
+ return {exists: false as const};
180
180
  };
181
181
 
182
182
  this._moduleResolver = new ModuleResolver({