@@ -62,14 +62,34 @@ function isReactRefreshBoundary(moduleExports) {
6262 return hasExports && areAllExportsComponents;
6363};
6464
65+ var registerExportsForReactRefresh = (moduleExports, moduleID) => {
66+ Refresh.register(moduleExports, moduleID + ' %exports%');
67+ if (moduleExports == null || typeof moduleExports !== 'object') {
68+ // Exit if we can't iterate over exports.
69+ // (This is important for legacy environments.)
70+ return;
71+ }
72+ for (const key in moduleExports) {
73+ const desc = Object.getOwnPropertyDescriptor(moduleExports, key);
74+ if (desc && desc.get) {
75+ // Don't invoke getters as they may have side effects.
76+ continue;
77+ }
78+ const exportValue = moduleExports[key];
79+ const typeID = moduleID + ' %exports% ' + key;
80+ Refresh.register(exportValue, typeID);
81+ }
82+ };
83+
6584module.exports = {
6685 enqueueUpdate: debounce(enqueueUpdate, 30),
67- isReactRefreshBoundary
86+ isReactRefreshBoundary,
87+ registerExportsForReactRefresh
6888};
6989` . trim ( ) ;
7090
7191/**
72- * ` var prevRefreshReg = window.$RefreshReg$;
92+ var prevRefreshReg = window.$RefreshReg$;
7393var prevRefreshSig = window.$RefreshSig$;
7494var RefreshRuntime = require('react-refresh/runtime');
7595
90110const _csbRefreshUtils = require('${HELPER_PATH}');
91111
92112if (_csbRefreshUtils.isReactRefreshBoundary && _csbRefreshUtils.isReactRefreshBoundary(module.exports)) {
113+ _csbRefreshUtils.registerExportsForReactRefresh(module.exports, module.id)
93114 module.hot.accept();
94115 _csbRefreshUtils.enqueueUpdate();
95116}
@@ -101,9 +122,8 @@ if (_csbRefreshUtils.isReactRefreshBoundary && _csbRefreshUtils.isReactRefreshBo
101122 * to a single line so we don't mess with the source mapping when showing errors.
102123 */
103124const getWrapperCode = ( sourceCode : string ) =>
104- `var prevRefreshReg=window.$RefreshReg$,prevRefreshSig=window.$RefreshSig$,RefreshRuntime=require("react-refresh/runtime");window.$RefreshReg$=(a,b)=>{const c=module.id+" "+b;RefreshRuntime.register(a,c)},window.$RefreshSig$=RefreshRuntime.createSignatureFunctionForTransform;try{${ sourceCode }
105- }finally{window.$RefreshReg$=prevRefreshReg,window.$RefreshSig$=prevRefreshSig}const _csbRefreshUtils=require("${ HELPER_PATH } ");_csbRefreshUtils.isReactRefreshBoundary&&_csbRefreshUtils.isReactRefreshBoundary(module.exports)&&(module.hot.accept(),_csbRefreshUtils.enqueueUpdate());
106- ` . trim ( ) ;
125+ `var prevRefreshReg=window.$RefreshReg$,prevRefreshSig=window.$RefreshSig$,RefreshRuntime=require("react-refresh/runtime");window.$RefreshReg$=((e,r)=>{const s=module.id+" "+r;RefreshRuntime.register(e,s)}),window.$RefreshSig$=RefreshRuntime.createSignatureFunctionForTransform;try{${ sourceCode }
126+ }finally{window.$RefreshReg$=prevRefreshReg,window.$RefreshSig$=prevRefreshSig}const _csbRefreshUtils=require("${ HELPER_PATH } ");_csbRefreshUtils.isReactRefreshBoundary&&_csbRefreshUtils.isReactRefreshBoundary(module.exports)&&(_csbRefreshUtils.registerExportsForReactRefresh(module.exports,module.id),module.hot.accept(),_csbRefreshUtils.enqueueUpdate());` . trim ( ) ;
107127
108128class RefreshTranspiler extends Transpiler {
109129 constructor ( ) {
0 commit comments