@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.
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
50
|
+
${name}.prelude(module);
|
|
67
51
|
|
|
68
52
|
try {
|
|
69
53
|
${code}
|
|
70
|
-
|
|
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
|
-
|
|
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-
|
|
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": "
|
|
20
|
+
"parcel": "2.0.0-nightly.1000+5530a6ef"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@parcel/plugin": "2.0.0-
|
|
24
|
-
"@parcel/utils": "2.0.0-
|
|
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": "
|
|
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
|
|
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 =
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
39
|
+
code = `var ${name} = require(${JSON.stringify(wrapperPath)});
|
|
35
40
|
var prevRefreshReg = window.$RefreshReg$;
|
|
36
41
|
var prevRefreshSig = window.$RefreshSig$;
|
|
37
|
-
|
|
42
|
+
${name}.prelude(module);
|
|
38
43
|
|
|
39
44
|
try {
|
|
40
45
|
${code}
|
|
41
|
-
|
|
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
|
-
|
|
60
|
+
specifier: wrapperPath,
|
|
61
|
+
specifierType: 'esm',
|
|
62
|
+
resolveFrom: __filename,
|
|
56
63
|
});
|
|
57
64
|
|
|
58
65
|
return [asset];
|
package/src/helpers/helpers.js
CHANGED
|
@@ -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
|