@parcel/transformer-react-refresh-wrap 2.13.2 → 2.14.0
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.
|
@@ -35,20 +35,21 @@ var _default = exports.default = new (_plugin().Transformer)({
|
|
|
35
35
|
let map = await asset.getMap();
|
|
36
36
|
let name = `$parcel$ReactRefreshHelpers$${asset.id.slice(-4)}`;
|
|
37
37
|
code = `var ${name} = require(${JSON.stringify(wrapperPath)});
|
|
38
|
-
|
|
39
|
-
var
|
|
38
|
+
${name}.init();
|
|
39
|
+
var prevRefreshReg = globalThis.$RefreshReg$;
|
|
40
|
+
var prevRefreshSig = globalThis.$RefreshSig$;
|
|
40
41
|
${name}.prelude(module);
|
|
41
42
|
|
|
42
43
|
try {
|
|
43
44
|
${code}
|
|
44
45
|
${name}.postlude(module);
|
|
45
46
|
} finally {
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
globalThis.$RefreshReg$ = prevRefreshReg;
|
|
48
|
+
globalThis.$RefreshSig$ = prevRefreshSig;
|
|
48
49
|
}`;
|
|
49
50
|
asset.setCode(code);
|
|
50
51
|
if (map) {
|
|
51
|
-
map.offsetLines(1,
|
|
52
|
+
map.offsetLines(1, 7);
|
|
52
53
|
asset.setMap(map);
|
|
53
54
|
}
|
|
54
55
|
|
package/lib/helpers/helpers.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var Refresh = require('react-refresh/runtime');
|
|
4
|
-
var {
|
|
5
|
-
version
|
|
6
|
-
} = require('react-refresh/package.json');
|
|
7
4
|
function debounce(func, delay) {
|
|
8
5
|
if (process.env.NODE_ENV === 'test') {
|
|
9
6
|
return function (args) {
|
|
@@ -35,23 +32,45 @@ function debounce(func, delay) {
|
|
|
35
32
|
var enqueueUpdate = debounce(function () {
|
|
36
33
|
Refresh.performReactRefresh();
|
|
37
34
|
}, 30);
|
|
35
|
+
module.exports.init = function () {
|
|
36
|
+
if (!globalThis.$RefreshReg$) {
|
|
37
|
+
Refresh.injectIntoGlobalHook(globalThis);
|
|
38
|
+
globalThis.$RefreshReg$ = function () {};
|
|
39
|
+
globalThis.$RefreshSig$ = function () {
|
|
40
|
+
return function (type) {
|
|
41
|
+
return type;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
if (typeof window !== 'undefined') {
|
|
45
|
+
let ErrorOverlay = require('@parcel/error-overlay');
|
|
46
|
+
ErrorOverlay.setEditorHandler(function (errorLocation) {
|
|
47
|
+
let file = `${errorLocation.fileName}:${errorLocation.lineNumber || 1}:${errorLocation.colNumber || 1}`;
|
|
48
|
+
fetch(import.meta.devServer + `/__parcel_launch_editor?file=${encodeURIComponent(file)}`);
|
|
49
|
+
});
|
|
50
|
+
ErrorOverlay.startReportingRuntimeErrors({
|
|
51
|
+
onError: function () {}
|
|
52
|
+
});
|
|
53
|
+
window.addEventListener('parcelhmraccept', () => {
|
|
54
|
+
ErrorOverlay.dismissRuntimeErrors();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
38
59
|
|
|
39
60
|
// Everything below is either adapted or copied from
|
|
40
61
|
// https://github.com/facebook/metro/blob/61de16bd1edd7e738dd0311c89555a644023ab2d/packages/metro/src/lib/polyfills/require.js
|
|
41
62
|
// MIT License - Copyright (c) Facebook, Inc. and its affiliates.
|
|
42
63
|
|
|
43
64
|
module.exports.prelude = function (module) {
|
|
44
|
-
|
|
45
|
-
window.$RefreshReg$ = function (type, id) {
|
|
46
|
-
if (window.__REACT_REFRESH_VERSION_TRANSFORMER && window.__REACT_REFRESH_VERSION_RUNTIME && window.__REACT_REFRESH_VERSION_TRANSFORMER !== window.__REACT_REFRESH_VERSION_RUNTIME) {
|
|
47
|
-
// Both versions were set and they did not match
|
|
48
|
-
throw new Error(`react-refresh versions did not match between transformer and runtime. Please check your dependencies. Transformer: ${window.__REACT_REFRESH_VERSION_TRANSFORMER}, Runtime: ${window.__REACT_REFRESH_VERSION_RUNTIME}`);
|
|
49
|
-
}
|
|
65
|
+
globalThis.$RefreshReg$ = function (type, id) {
|
|
50
66
|
Refresh.register(type, module.id + ' ' + id);
|
|
51
67
|
};
|
|
52
|
-
|
|
68
|
+
globalThis.$RefreshSig$ = Refresh.createSignatureFunctionForTransform;
|
|
53
69
|
};
|
|
54
70
|
module.exports.postlude = function (module) {
|
|
71
|
+
if (typeof window === 'undefined') {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
55
74
|
if (isReactRefreshBoundary(module.exports)) {
|
|
56
75
|
registerExportsForReactRefresh(module);
|
|
57
76
|
if (module.hot) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parcel/transformer-react-refresh-wrap",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
"source": "src/ReactRefreshWrapTransformer.js",
|
|
18
18
|
"engines": {
|
|
19
19
|
"node": ">= 16.0.0",
|
|
20
|
-
"parcel": "^2.
|
|
20
|
+
"parcel": "^2.14.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@parcel/
|
|
24
|
-
"@parcel/
|
|
25
|
-
"
|
|
23
|
+
"@parcel/error-overlay": "2.14.0",
|
|
24
|
+
"@parcel/plugin": "2.14.0",
|
|
25
|
+
"@parcel/utils": "2.14.0",
|
|
26
|
+
"react-refresh": ">=0.9 <=0.16"
|
|
26
27
|
},
|
|
27
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "2306f8f14e8cf7d7c2d94ef5c6e52f9754dd5be8"
|
|
28
29
|
}
|
|
@@ -41,21 +41,22 @@ export default (new Transformer({
|
|
|
41
41
|
let name = `$parcel$ReactRefreshHelpers$${asset.id.slice(-4)}`;
|
|
42
42
|
|
|
43
43
|
code = `var ${name} = require(${JSON.stringify(wrapperPath)});
|
|
44
|
-
|
|
45
|
-
var
|
|
44
|
+
${name}.init();
|
|
45
|
+
var prevRefreshReg = globalThis.$RefreshReg$;
|
|
46
|
+
var prevRefreshSig = globalThis.$RefreshSig$;
|
|
46
47
|
${name}.prelude(module);
|
|
47
48
|
|
|
48
49
|
try {
|
|
49
50
|
${code}
|
|
50
51
|
${name}.postlude(module);
|
|
51
52
|
} finally {
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
globalThis.$RefreshReg$ = prevRefreshReg;
|
|
54
|
+
globalThis.$RefreshSig$ = prevRefreshSig;
|
|
54
55
|
}`;
|
|
55
56
|
|
|
56
57
|
asset.setCode(code);
|
|
57
58
|
if (map) {
|
|
58
|
-
map.offsetLines(1,
|
|
59
|
+
map.offsetLines(1, 7);
|
|
59
60
|
asset.setMap(map);
|
|
60
61
|
}
|
|
61
62
|
|
package/src/helpers/helpers.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
var Refresh = require('react-refresh/runtime');
|
|
2
|
-
var {version} = require('react-refresh/package.json');
|
|
3
2
|
|
|
4
3
|
function debounce(func, delay) {
|
|
5
4
|
if (process.env.NODE_ENV === 'test') {
|
|
@@ -33,30 +32,55 @@ var enqueueUpdate = debounce(function () {
|
|
|
33
32
|
Refresh.performReactRefresh();
|
|
34
33
|
}, 30);
|
|
35
34
|
|
|
35
|
+
module.exports.init = function () {
|
|
36
|
+
if (!globalThis.$RefreshReg$) {
|
|
37
|
+
Refresh.injectIntoGlobalHook(globalThis);
|
|
38
|
+
globalThis.$RefreshReg$ = function () {};
|
|
39
|
+
globalThis.$RefreshSig$ = function () {
|
|
40
|
+
return function (type) {
|
|
41
|
+
return type;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
if (typeof window !== 'undefined') {
|
|
46
|
+
let ErrorOverlay = require('@parcel/error-overlay');
|
|
47
|
+
ErrorOverlay.setEditorHandler(function editorHandler(errorLocation) {
|
|
48
|
+
let file = `${errorLocation.fileName}:${
|
|
49
|
+
errorLocation.lineNumber || 1
|
|
50
|
+
}:${errorLocation.colNumber || 1}`;
|
|
51
|
+
fetch(
|
|
52
|
+
import.meta.devServer +
|
|
53
|
+
`/__parcel_launch_editor?file=${encodeURIComponent(file)}`,
|
|
54
|
+
);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
ErrorOverlay.startReportingRuntimeErrors({
|
|
58
|
+
onError: function () {},
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
window.addEventListener('parcelhmraccept', () => {
|
|
62
|
+
ErrorOverlay.dismissRuntimeErrors();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
36
68
|
// Everything below is either adapted or copied from
|
|
37
69
|
// https://github.com/facebook/metro/blob/61de16bd1edd7e738dd0311c89555a644023ab2d/packages/metro/src/lib/polyfills/require.js
|
|
38
70
|
// MIT License - Copyright (c) Facebook, Inc. and its affiliates.
|
|
39
71
|
|
|
40
72
|
module.exports.prelude = function (module) {
|
|
41
|
-
|
|
42
|
-
window.$RefreshReg$ = function (type, id) {
|
|
43
|
-
if (
|
|
44
|
-
window.__REACT_REFRESH_VERSION_TRANSFORMER &&
|
|
45
|
-
window.__REACT_REFRESH_VERSION_RUNTIME &&
|
|
46
|
-
window.__REACT_REFRESH_VERSION_TRANSFORMER !==
|
|
47
|
-
window.__REACT_REFRESH_VERSION_RUNTIME
|
|
48
|
-
) {
|
|
49
|
-
// Both versions were set and they did not match
|
|
50
|
-
throw new Error(
|
|
51
|
-
`react-refresh versions did not match between transformer and runtime. Please check your dependencies. Transformer: ${window.__REACT_REFRESH_VERSION_TRANSFORMER}, Runtime: ${window.__REACT_REFRESH_VERSION_RUNTIME}`,
|
|
52
|
-
);
|
|
53
|
-
}
|
|
73
|
+
globalThis.$RefreshReg$ = function (type, id) {
|
|
54
74
|
Refresh.register(type, module.id + ' ' + id);
|
|
55
75
|
};
|
|
56
|
-
|
|
76
|
+
globalThis.$RefreshSig$ = Refresh.createSignatureFunctionForTransform;
|
|
57
77
|
};
|
|
58
78
|
|
|
59
79
|
module.exports.postlude = function (module) {
|
|
80
|
+
if (typeof window === 'undefined') {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
60
84
|
if (isReactRefreshBoundary(module.exports)) {
|
|
61
85
|
registerExportsForReactRefresh(module);
|
|
62
86
|
|