@parcel/transformer-react-refresh-wrap 2.0.0-beta.3.1 → 2.0.0-nightly.1002

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.
@@ -25,22 +25,10 @@ function _plugin() {
25
25
  return data;
26
26
  }
27
27
 
28
- function _utils() {
29
- const data = require("@parcel/utils");
30
-
31
- _utils = function () {
32
- return data;
33
- };
34
-
35
- return data;
36
- }
37
-
38
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
29
 
40
- const WRAPPER = _path().default.join(__dirname, 'helpers', 'helpers.js');
41
-
42
30
  function shouldExclude(asset, options) {
43
- return !asset.isSource || !options.hmrOptions || !asset.env.isBrowser() || asset.env.isWorker() || options.mode !== 'development' || !asset.getDependencies().find(v => v.moduleSpecifier === 'react');
31
+ return !asset.isSource || !options.hmrOptions || !asset.env.isBrowser() || asset.env.isWorker() || asset.env.isWorklet() || options.mode !== 'development' || !asset.getDependencies().find(v => v.specifier === 'react' || v.specifier === 'react/jsx-runtime' || v.specifier === 'react/jsx-dev-runtime');
44
32
  }
45
33
 
46
34
  var _default = new (_plugin().Transformer)({
@@ -52,22 +40,18 @@ var _default = new (_plugin().Transformer)({
52
40
  return [asset];
53
41
  }
54
42
 
55
- let wrapperPath = (0, _utils().relativePath)(_path().default.dirname(asset.filePath), WRAPPER);
56
-
57
- if (!wrapperPath.startsWith('.')) {
58
- wrapperPath = './' + wrapperPath;
59
- }
60
-
43
+ let wrapperPath = `@parcel/transformer-react-refresh-wrap/${_path().default.basename(__dirname)}/helpers/helpers.js`;
61
44
  let code = await asset.getCode();
62
45
  let map = await asset.getMap();
63
- code = `var helpers = require(${JSON.stringify(wrapperPath)});
46
+ let name = `$parcel$ReactRefreshHelpers$${asset.id.slice(-4)}`;
47
+ code = `var ${name} = require(${JSON.stringify(wrapperPath)});
64
48
  var prevRefreshReg = window.$RefreshReg$;
65
49
  var prevRefreshSig = window.$RefreshSig$;
66
- helpers.prelude(module);
50
+ ${name}.prelude(module);
67
51
 
68
52
  try {
69
53
  ${code}
70
- helpers.postlude(module);
54
+ ${name}.postlude(module);
71
55
  } finally {
72
56
  window.$RefreshReg$ = prevRefreshReg;
73
57
  window.$RefreshSig$ = prevRefreshSig;
@@ -81,7 +65,9 @@ ${code}
81
65
 
82
66
 
83
67
  asset.addDependency({
84
- moduleSpecifier: wrapperPath
68
+ specifier: wrapperPath,
69
+ specifierType: 'esm',
70
+ resolveFrom: __filename
85
71
  });
86
72
  return [asset];
87
73
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parcel/transformer-react-refresh-wrap",
3
- "version": "2.0.0-beta.3.1",
3
+ "version": "2.0.0-nightly.1002+5530a6ef",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,12 +17,12 @@
17
17
  "source": "src/ReactRefreshWrapTransformer.js",
18
18
  "engines": {
19
19
  "node": ">= 12.0.0",
20
- "parcel": "^2.0.0-beta.1"
20
+ "parcel": "2.0.0-nightly.1000+5530a6ef"
21
21
  },
22
22
  "dependencies": {
23
- "@parcel/plugin": "2.0.0-beta.3.1",
24
- "@parcel/utils": "2.0.0-beta.3.1",
23
+ "@parcel/plugin": "2.0.0-nightly.1002+5530a6ef",
24
+ "@parcel/utils": "2.0.0-nightly.1002+5530a6ef",
25
25
  "react-refresh": "^0.9.0"
26
26
  },
27
- "gitHead": "daece49d003ba804bbdaa3a7ed3d6aaf446f166d"
27
+ "gitHead": "5530a6eff8b619873353baeb0457ae4ec591e9fa"
28
28
  }
@@ -2,9 +2,6 @@
2
2
 
3
3
  import path from 'path';
4
4
  import {Transformer} from '@parcel/plugin';
5
- import {relativePath} from '@parcel/utils';
6
-
7
- const WRAPPER = path.join(__dirname, 'helpers', 'helpers.js');
8
5
 
9
6
  function shouldExclude(asset, options) {
10
7
  return (
@@ -12,8 +9,16 @@ function shouldExclude(asset, options) {
12
9
  !options.hmrOptions ||
13
10
  !asset.env.isBrowser() ||
14
11
  asset.env.isWorker() ||
12
+ asset.env.isWorklet() ||
15
13
  options.mode !== 'development' ||
16
- !asset.getDependencies().find(v => v.moduleSpecifier === 'react')
14
+ !asset
15
+ .getDependencies()
16
+ .find(
17
+ v =>
18
+ v.specifier === 'react' ||
19
+ v.specifier === 'react/jsx-runtime' ||
20
+ v.specifier === 'react/jsx-dev-runtime',
21
+ )
17
22
  );
18
23
  }
19
24
 
@@ -23,22 +28,22 @@ export default (new Transformer({
23
28
  return [asset];
24
29
  }
25
30
 
26
- let wrapperPath = relativePath(path.dirname(asset.filePath), WRAPPER);
27
- if (!wrapperPath.startsWith('.')) {
28
- wrapperPath = './' + wrapperPath;
29
- }
31
+ let wrapperPath = `@parcel/transformer-react-refresh-wrap/${path.basename(
32
+ __dirname,
33
+ )}/helpers/helpers.js`;
30
34
 
31
35
  let code = await asset.getCode();
32
36
  let map = await asset.getMap();
37
+ let name = `$parcel$ReactRefreshHelpers$${asset.id.slice(-4)}`;
33
38
 
34
- code = `var helpers = require(${JSON.stringify(wrapperPath)});
39
+ code = `var ${name} = require(${JSON.stringify(wrapperPath)});
35
40
  var prevRefreshReg = window.$RefreshReg$;
36
41
  var prevRefreshSig = window.$RefreshSig$;
37
- helpers.prelude(module);
42
+ ${name}.prelude(module);
38
43
 
39
44
  try {
40
45
  ${code}
41
- helpers.postlude(module);
46
+ ${name}.postlude(module);
42
47
  } finally {
43
48
  window.$RefreshReg$ = prevRefreshReg;
44
49
  window.$RefreshSig$ = prevRefreshSig;
@@ -52,7 +57,9 @@ ${code}
52
57
 
53
58
  // The JSTransformer has already run, do it manually
54
59
  asset.addDependency({
55
- moduleSpecifier: wrapperPath,
60
+ specifier: wrapperPath,
61
+ specifierType: 'esm',
62
+ resolveFrom: __filename,
56
63
  });
57
64
 
58
65
  return [asset];
@@ -2,21 +2,21 @@ var Refresh = require('react-refresh/runtime');
2
2
 
3
3
  function debounce(func, delay) {
4
4
  if (process.env.NODE_ENV === 'test') {
5
- return function(args) {
5
+ return function (args) {
6
6
  func.call(null, args);
7
7
  };
8
8
  } else {
9
9
  var timeout = undefined;
10
- return function(args) {
10
+ return function (args) {
11
11
  clearTimeout(timeout);
12
- timeout = setTimeout(function() {
12
+ timeout = setTimeout(function () {
13
13
  timeout = undefined;
14
14
  func.call(null, args);
15
15
  }, delay);
16
16
  };
17
17
  }
18
18
  }
19
- var enqueueUpdate = debounce(function() {
19
+ var enqueueUpdate = debounce(function () {
20
20
  Refresh.performReactRefresh();
21
21
  }, 30);
22
22
 
@@ -24,19 +24,19 @@ var enqueueUpdate = debounce(function() {
24
24
  // https://github.com/facebook/metro/blob/61de16bd1edd7e738dd0311c89555a644023ab2d/packages/metro/src/lib/polyfills/require.js
25
25
  // MIT License - Copyright (c) Facebook, Inc. and its affiliates.
26
26
 
27
- module.exports.prelude = function(module) {
28
- window.$RefreshReg$ = function(type, id) {
27
+ module.exports.prelude = function (module) {
28
+ window.$RefreshReg$ = function (type, id) {
29
29
  Refresh.register(type, module.id + ' ' + id);
30
30
  };
31
31
  window.$RefreshSig$ = Refresh.createSignatureFunctionForTransform;
32
32
  };
33
33
 
34
- module.exports.postlude = function(module) {
34
+ module.exports.postlude = function (module) {
35
35
  if (isReactRefreshBoundary(module.exports)) {
36
36
  registerExportsForReactRefresh(module);
37
37
 
38
38
  if (module.hot) {
39
- module.hot.dispose(function(data) {
39
+ module.hot.dispose(function (data) {
40
40
  if (Refresh.hasUnrecoverableErrors()) {
41
41
  window.location.reload();
42
42
  }
@@ -44,7 +44,7 @@ module.exports.postlude = function(module) {
44
44
  data.prevExports = module.exports;
45
45
  });
46
46
 
47
- module.hot.accept(function(getParents) {
47
+ module.hot.accept(function (getParents) {
48
48
  var prevExports = module.hot.data.prevExports;
49
49
  var nextExports = module.exports;
50
50
  // Since we just executed the code for it, it's possible