@amaster.ai/vite-plugins 1.1.0-beta.13.5 → 1.1.0-beta.15
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/dist/index.cjs +12 -371
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -27
- package/dist/index.d.ts +1 -27
- package/dist/index.js +12 -371
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var crypto=require('crypto'),m=require('fs'),
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var crypto=require('crypto'),m=require('fs'),_=require('path'),url=require('url'),x=require('process');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var m__default=/*#__PURE__*/_interopDefault(m);var ___default=/*#__PURE__*/_interopDefault(_);var x__default=/*#__PURE__*/_interopDefault(x);function O(n,e){let t=`${n}:${e}`;return crypto.createHash("md5").update(t).digest("hex").substring(0,12)}var A=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]);function v(){let n=false;return {name:"vite-plugin-component-id",enforce:"pre",configResolved(e){n=e.command==="serve";},transform(e,t){if(!n||!/\.(tsx|jsx)$/.test(t)||t.includes("node_modules")||!/<[a-z]/.test(e))return null;try{let r=e,o=/<([a-z][\da-z]*)(?=[\s/>])/g,i,s=[];for(;(i=o.exec(e))!==null;){let a=i[1];if(!a)continue;let c=i.index,d=i.index+i[0].length;if(!A.has(a))continue;let l=d,p=!1,f=!1;for(;l<e.length&&!p;)e[l]===">"&&(p=!0,e.substring(c,l).includes("data-node-component-id")&&(f=!0)),l++;f||s.push({index:c,tag:a,tagEndIndex:d});}let u=e;for(let a=s.length-1;a>=0;a--){let c=s[a];if(!c)continue;let{index:d,tagEndIndex:l}=c,p=O(t,d),f=u.substring(0,l),y=u.substring(l);r=`${f} data-node-component-id="${p}"${y}`,u=r;}return {code:r,map:null}}catch{return null}}}}var q=`<script>
|
|
2
2
|
document.addEventListener("click", (e) => {
|
|
3
3
|
const element = e.target;
|
|
4
4
|
const noJumpOut = document.body.classList.contains("forbid-jump-out")
|
|
@@ -16,15 +16,15 @@ document.addEventListener("click", (e) => {
|
|
|
16
16
|
e.preventDefault();
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
</script>`;function
|
|
20
|
-
${m.readFileSync(
|
|
21
|
-
</script>`}catch(
|
|
19
|
+
</script>`;function H(){try{let n=url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),e=_.dirname(n),t=_.resolve(e,"../dist/bridge.bridge.js");return `<script>
|
|
20
|
+
${m.readFileSync(t,"utf-8")}
|
|
21
|
+
</script>`}catch(n){return console.warn("Failed to read bridge script:",n),""}}function S(){let n=false,e="";return {name:"vite-plugin-editor-bridge",configResolved(t){n=t.command==="serve",n&&(e=H());},transformIndexHtml(t){let o=`${q}${n?e:""}</body>`;return t.replace("</body>",o)}}}function b(n){let e=false,t=n?.routesFilePath||"src/routes.tsx";return {name:"vite-plugin-routes-expose",enforce:"post",configResolved(r){e=r.command==="serve";},transform(r,o){if(!e||!o.endsWith(t))return null;try{return r.includes("window.__APP_ROUTES__")?null:{code:`${r}
|
|
22
22
|
|
|
23
23
|
// Development mode: Expose routes to window.__APP_ROUTES__
|
|
24
24
|
if (typeof window !== 'undefined') {
|
|
25
25
|
window.__APP_ROUTES__ = typeof routes !== 'undefined' && Array.isArray(routes) ? routes : [];
|
|
26
26
|
}
|
|
27
|
-
`,map:null}}catch{return null}}}}function
|
|
27
|
+
`,map:null}}catch{return null}}}}function w(){let n="",e=`
|
|
28
28
|
<script>
|
|
29
29
|
(function() {
|
|
30
30
|
'use strict';
|
|
@@ -705,373 +705,14 @@ if (typeof window !== 'undefined') {
|
|
|
705
705
|
|
|
706
706
|
originalConsole.log('[BrowserLogs] Log collection started');
|
|
707
707
|
})();
|
|
708
|
-
</script>`;return {name:"vite-plugin-browser-logs",configResolved(
|
|
709
|
-
`,"utf-8"),
|
|
710
|
-
<script>
|
|
711
|
-
(function() {
|
|
712
|
-
'use strict';
|
|
713
|
-
|
|
714
|
-
var PLUGIN_TAG = '[SmartReload]';
|
|
715
|
-
// full-reload \u540E\u7B49\u5F85 WebSocket \u65AD\u5F00\u7684\u7A97\u53E3\u671F\uFF08ms\uFF09
|
|
716
|
-
var DISCONNECT_DETECT_WINDOW = 300;
|
|
717
|
-
|
|
718
|
-
// ============================================
|
|
719
|
-
// \u72B6\u6001\u7BA1\u7406
|
|
720
|
-
// ============================================
|
|
721
|
-
var state = {
|
|
722
|
-
// \u662F\u5426\u5DF2\u7ECF\u62E6\u622A\u4E86 Vite HMR WebSocket
|
|
723
|
-
wsIntercepted: false,
|
|
724
|
-
// \u662F\u5426\u6B63\u5728\u7B49\u5F85\u5224\u65AD full-reload \u7C7B\u578B\uFF08300ms \u7A97\u53E3\u671F\uFF09
|
|
725
|
-
detectingReloadType: false,
|
|
726
|
-
// \u5EF6\u8FDF\u6267\u884C full-reload \u7684\u5B9A\u65F6\u5668
|
|
727
|
-
reloadTimer: null,
|
|
728
|
-
// \u662F\u5426\u662F\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F
|
|
729
|
-
isServerRestart: false,
|
|
730
|
-
// \u91CD\u8FDE\u6062\u590D\u671F\uFF1A\u91CD\u8FDE\u6210\u529F\u540E\u77ED\u6682\u5FFD\u7565 full-reload \u6D88\u606F
|
|
731
|
-
// \u56E0\u4E3A\u65B0 Vite \u670D\u52A1\u5668\u542F\u52A8\u540E\u4F1A\u53D1\u9001 full-reload (path: *) \u901A\u77E5
|
|
732
|
-
reconnectGracePeriod: false,
|
|
733
|
-
reconnectGraceTimer: null
|
|
734
|
-
};
|
|
735
|
-
|
|
736
|
-
// ============================================
|
|
737
|
-
// \u65E5\u5FD7\u5DE5\u5177
|
|
738
|
-
// ============================================
|
|
739
|
-
function log() {
|
|
740
|
-
var args = [PLUGIN_TAG];
|
|
741
|
-
for (var i = 0; i < arguments.length; i++) {
|
|
742
|
-
args.push(arguments[i]);
|
|
743
|
-
}
|
|
744
|
-
console.log.apply(console, args);
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
// ============================================
|
|
748
|
-
// \u91CD\u7F6E\u72B6\u6001
|
|
749
|
-
// ============================================
|
|
750
|
-
function resetState() {
|
|
751
|
-
state.detectingReloadType = false;
|
|
752
|
-
state.isServerRestart = false;
|
|
753
|
-
if (state.reloadTimer) {
|
|
754
|
-
clearTimeout(state.reloadTimer);
|
|
755
|
-
state.reloadTimer = null;
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
// \u8FDB\u5165\u91CD\u8FDE\u6062\u590D\u671F\uFF1A\u5728\u6B64\u671F\u95F4\u5FFD\u7565 full-reload \u6D88\u606F
|
|
760
|
-
// \u65B0 Vite \u670D\u52A1\u5668\u542F\u52A8\u540E\u4F1A\u53D1\u9001 full-reload (path: *) \u901A\u77E5\u6240\u6709\u5BA2\u6237\u7AEF\u5237\u65B0
|
|
761
|
-
// \u4F46\u6211\u4EEC\u521A\u91CD\u8FDE\u6210\u529F\uFF0C\u4E0D\u9700\u8981\u5237\u65B0
|
|
762
|
-
var RECONNECT_GRACE_PERIOD = 3000; // 3 \u79D2\u6062\u590D\u671F
|
|
763
|
-
function enterGracePeriod() {
|
|
764
|
-
state.reconnectGracePeriod = true;
|
|
765
|
-
if (state.reconnectGraceTimer) {
|
|
766
|
-
clearTimeout(state.reconnectGraceTimer);
|
|
767
|
-
}
|
|
768
|
-
state.reconnectGraceTimer = setTimeout(function() {
|
|
769
|
-
state.reconnectGracePeriod = false;
|
|
770
|
-
state.reconnectGraceTimer = null;
|
|
771
|
-
log('Reconnect grace period ended');
|
|
772
|
-
}, RECONNECT_GRACE_PERIOD);
|
|
773
|
-
log('Entered reconnect grace period (' + RECONNECT_GRACE_PERIOD + 'ms)');
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
// ============================================
|
|
777
|
-
// \u6267\u884C\u771F\u6B63\u7684 full-reload
|
|
778
|
-
// ============================================
|
|
779
|
-
function executeFullReload() {
|
|
780
|
-
log('Executing full-reload');
|
|
781
|
-
resetState();
|
|
782
|
-
location.reload();
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
// ============================================
|
|
786
|
-
// __smartReload__\uFF1A\u68C0\u67E5\u662F\u5426\u5E94\u8BE5\u963B\u6B62 reload
|
|
787
|
-
//
|
|
788
|
-
// \u8FD4\u56DE true \u8868\u793A\u662F\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F\uFF0C\u4E0D\u5E94\u8BE5\u5237\u65B0\u9875\u9762
|
|
789
|
-
// \u8FD4\u56DE false \u8868\u793A\u5E94\u8BE5\u6B63\u5E38\u5237\u65B0
|
|
790
|
-
//
|
|
791
|
-
// Vite \u5BA2\u6237\u7AEF\u4EE3\u7801\u4E2D\u7684 WebSocket close handler \u5DF2\u88AB\u4FEE\u6539\u4E3A\uFF1A
|
|
792
|
-
// if (window.__smartReload__ && window.__smartReload__()) {
|
|
793
|
-
// socket = setupWebSocket(...); // \u91CD\u65B0\u521B\u5EFA WebSocket \u6062\u590D HMR
|
|
794
|
-
// } else {
|
|
795
|
-
// location.reload();
|
|
796
|
-
// }
|
|
797
|
-
// ============================================
|
|
798
|
-
window.__smartReload__ = function() {
|
|
799
|
-
if (state.isServerRestart) {
|
|
800
|
-
log('Server restart detected, suppressing reload. Will reconnect WebSocket.');
|
|
801
|
-
resetState();
|
|
802
|
-
return true; // \u963B\u6B62 reload\uFF0C\u7531 Vite \u5BA2\u6237\u7AEF\u91CD\u65B0\u521B\u5EFA WebSocket
|
|
803
|
-
}
|
|
804
|
-
log('Non-restart scenario, allowing reload');
|
|
805
|
-
return false; // \u5141\u8BB8\u6B63\u5E38 reload
|
|
806
|
-
};
|
|
807
|
-
|
|
808
|
-
// ============================================
|
|
809
|
-
// \u62E6\u622A WebSocket \u6784\u9020\u51FD\u6570
|
|
810
|
-
// ============================================
|
|
811
|
-
var OriginalWebSocket = window.WebSocket;
|
|
812
|
-
|
|
813
|
-
function isViteHmrWebSocket(url) {
|
|
814
|
-
if (typeof url !== 'string') return false;
|
|
815
|
-
return url.includes('/__vite_hmr') || url.includes('?token=');
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
function createWsProxy(ws) {
|
|
819
|
-
var originalAddEventListener = ws.addEventListener.bind(ws);
|
|
820
|
-
var originalRemoveEventListener = ws.removeEventListener.bind(ws);
|
|
821
|
-
|
|
822
|
-
ws.addEventListener = function(type, listener, options) {
|
|
823
|
-
if (type === 'message') {
|
|
824
|
-
var wrappedListener = function(event) {
|
|
825
|
-
var intercepted = handleWsMessage(event);
|
|
826
|
-
if (!intercepted) {
|
|
827
|
-
listener.call(ws, event);
|
|
828
|
-
}
|
|
829
|
-
};
|
|
830
|
-
listener.__smartReloadWrapped__ = wrappedListener;
|
|
831
|
-
return originalAddEventListener(type, wrappedListener, options);
|
|
832
|
-
}
|
|
833
|
-
return originalAddEventListener(type, listener, options);
|
|
834
|
-
};
|
|
835
|
-
|
|
836
|
-
ws.removeEventListener = function(type, listener, options) {
|
|
837
|
-
if (type === 'message' && listener.__smartReloadWrapped__) {
|
|
838
|
-
return originalRemoveEventListener(type, listener.__smartReloadWrapped__, options);
|
|
839
|
-
}
|
|
840
|
-
return originalRemoveEventListener(type, listener, options);
|
|
841
|
-
};
|
|
842
|
-
|
|
843
|
-
var originalOnMessage = null;
|
|
844
|
-
var onMessageDescriptor = Object.getOwnPropertyDescriptor(WebSocket.prototype, 'onmessage') ||
|
|
845
|
-
Object.getOwnPropertyDescriptor(ws, 'onmessage');
|
|
846
|
-
|
|
847
|
-
if (onMessageDescriptor) {
|
|
848
|
-
Object.defineProperty(ws, 'onmessage', {
|
|
849
|
-
get: function() {
|
|
850
|
-
return originalOnMessage;
|
|
851
|
-
},
|
|
852
|
-
set: function(handler) {
|
|
853
|
-
originalOnMessage = handler;
|
|
854
|
-
var wrappedHandler = function(event) {
|
|
855
|
-
var intercepted = handleWsMessage(event);
|
|
856
|
-
if (!intercepted && handler) {
|
|
857
|
-
handler.call(ws, event);
|
|
858
|
-
}
|
|
859
|
-
};
|
|
860
|
-
if (onMessageDescriptor.set) {
|
|
861
|
-
onMessageDescriptor.set.call(ws, wrappedHandler);
|
|
862
|
-
}
|
|
863
|
-
},
|
|
864
|
-
configurable: true
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
originalAddEventListener('close', function(event) {
|
|
869
|
-
handleWsClose(event);
|
|
870
|
-
});
|
|
871
|
-
|
|
872
|
-
originalAddEventListener('open', function() {
|
|
873
|
-
handleWsOpen();
|
|
874
|
-
});
|
|
875
|
-
|
|
876
|
-
state.wsIntercepted = true;
|
|
877
|
-
log('Vite HMR WebSocket intercepted');
|
|
878
|
-
|
|
879
|
-
return ws;
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
window.WebSocket = function SmartReloadWebSocket(url, protocols) {
|
|
883
|
-
var ws;
|
|
884
|
-
if (protocols !== undefined) {
|
|
885
|
-
ws = new OriginalWebSocket(url, protocols);
|
|
886
|
-
} else {
|
|
887
|
-
ws = new OriginalWebSocket(url);
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
if (isViteHmrWebSocket(url)) {
|
|
891
|
-
return createWsProxy(ws);
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
return ws;
|
|
895
|
-
};
|
|
896
|
-
|
|
897
|
-
window.WebSocket.prototype = OriginalWebSocket.prototype;
|
|
898
|
-
window.WebSocket.CONNECTING = OriginalWebSocket.CONNECTING;
|
|
899
|
-
window.WebSocket.OPEN = OriginalWebSocket.OPEN;
|
|
900
|
-
window.WebSocket.CLOSING = OriginalWebSocket.CLOSING;
|
|
901
|
-
window.WebSocket.CLOSED = OriginalWebSocket.CLOSED;
|
|
902
|
-
|
|
903
|
-
// ============================================
|
|
904
|
-
// WebSocket \u6D88\u606F\u5904\u7406
|
|
905
|
-
// ============================================
|
|
906
|
-
function handleWsMessage(event) {
|
|
907
|
-
var data;
|
|
908
|
-
try {
|
|
909
|
-
data = JSON.parse(event.data);
|
|
910
|
-
} catch (e) {
|
|
911
|
-
return false;
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
// \u5904\u7406 full-reload \u6D88\u606F
|
|
915
|
-
if (data.type === 'full-reload') {
|
|
916
|
-
// \u5982\u679C\u5728\u670D\u52A1\u5668\u91CD\u542F\u6A21\u5F0F\uFF0C\u62E6\u622A\u6240\u6709 full-reload
|
|
917
|
-
if (state.isServerRestart) {
|
|
918
|
-
log('Suppressed full-reload message during server restart');
|
|
919
|
-
return true;
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
// \u91CD\u8FDE\u6062\u590D\u671F\u5185\uFF0C\u5FFD\u7565 full-reload\uFF08\u65B0\u670D\u52A1\u5668\u542F\u52A8\u540E\u7684\u901A\u77E5\uFF09
|
|
923
|
-
if (state.reconnectGracePeriod) {
|
|
924
|
-
log('Suppressed full-reload during reconnect grace period, path:', data.path || '(none)');
|
|
925
|
-
return true;
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
log('Intercepted full-reload, path:', data.path || '(none)');
|
|
929
|
-
|
|
930
|
-
// \u8FDB\u5165\u68C0\u6D4B\u6A21\u5F0F\uFF1A\u7B49\u5F85\u770B WebSocket \u662F\u5426\u65AD\u5F00
|
|
931
|
-
state.detectingReloadType = true;
|
|
932
|
-
|
|
933
|
-
// \u5982\u679C\u7A97\u53E3\u671F\u5185 WebSocket \u6CA1\u6709\u65AD\u5F00\uFF0C\u8BF4\u660E\u662F\u771F\u6B63\u7684\u6A21\u5757\u53D8\u66F4
|
|
934
|
-
state.reloadTimer = setTimeout(function() {
|
|
935
|
-
if (state.detectingReloadType && !state.isServerRestart) {
|
|
936
|
-
log('WebSocket still connected after ' + DISCONNECT_DETECT_WINDOW + 'ms - real module change, executing reload');
|
|
937
|
-
state.detectingReloadType = false;
|
|
938
|
-
executeFullReload();
|
|
939
|
-
}
|
|
940
|
-
}, DISCONNECT_DETECT_WINDOW);
|
|
941
|
-
|
|
942
|
-
return true;
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
// \u5904\u7406 connected \u6D88\u606F
|
|
946
|
-
if (data.type === 'connected') {
|
|
947
|
-
if (state.isServerRestart) {
|
|
948
|
-
log('HMR reconnected after server restart! Page was NOT reloaded.');
|
|
949
|
-
resetState();
|
|
950
|
-
}
|
|
951
|
-
return false;
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
return false;
|
|
955
|
-
}
|
|
956
|
-
|
|
957
|
-
// ============================================
|
|
958
|
-
// WebSocket \u8FDE\u63A5\u4E8B\u4EF6\u5904\u7406
|
|
959
|
-
// ============================================
|
|
960
|
-
function handleWsClose(event) {
|
|
961
|
-
log('WebSocket closed, code:', event.code, 'wasClean:', event.wasClean);
|
|
962
|
-
|
|
963
|
-
// \u573A\u666F1\uFF1A\u6536\u5230 full-reload \u540E WebSocket \u65AD\u5F00 \u2192 \u670D\u52A1\u5668\u91CD\u542F
|
|
964
|
-
if (state.detectingReloadType) {
|
|
965
|
-
log('Entering server restart mode: full-reload followed by disconnect');
|
|
966
|
-
state.isServerRestart = true;
|
|
967
|
-
state.detectingReloadType = false;
|
|
968
|
-
if (state.reloadTimer) {
|
|
969
|
-
clearTimeout(state.reloadTimer);
|
|
970
|
-
state.reloadTimer = null;
|
|
971
|
-
}
|
|
972
|
-
return;
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
// \u573A\u666F2\uFF1AWebSocket \u76F4\u63A5\u65AD\u5F00\uFF08\u975E\u6B63\u5E38\u5173\u95ED\uFF09
|
|
976
|
-
if (!state.isServerRestart && !event.wasClean) {
|
|
977
|
-
log('Entering server restart mode: unexpected disconnect');
|
|
978
|
-
state.isServerRestart = true;
|
|
979
|
-
}
|
|
980
|
-
}
|
|
981
|
-
|
|
982
|
-
function handleWsOpen() {
|
|
983
|
-
log('WebSocket opened');
|
|
984
|
-
}
|
|
985
|
-
|
|
986
|
-
// ============================================
|
|
987
|
-
// \u66B4\u9732 API \u4F9B\u8C03\u8BD5\u4F7F\u7528
|
|
988
|
-
// ============================================
|
|
989
|
-
window.__smartReloadState__ = state;
|
|
990
|
-
window.__OriginalWebSocket__ = OriginalWebSocket;
|
|
991
|
-
window.__smartReloadForceReload__ = function() {
|
|
992
|
-
log('Force reload triggered by user');
|
|
993
|
-
resetState();
|
|
994
|
-
location.reload();
|
|
995
|
-
};
|
|
996
|
-
|
|
997
|
-
log('Smart Reload initialized');
|
|
998
|
-
})();
|
|
999
|
-
</script>`.replace(/^\s*<script>\s*/i,"").replace(/\s*<\/script>\s*$/i,"");return {name:"vite-plugin-smart-reload",apply:"serve",transformIndexHtml:{order:"pre",handler(){return [{tag:"script",injectTo:"head-prepend",children:t}]}},transform(e,r){if(!r.includes("vite/dist/client/client.mjs"))return null;let n=e;return n=n.replace(/function setupWebSocket\(([^)]*)\)\s*\{[\s\n]*const (socket\b)/,(i,s,l)=>i.replace(`const ${l}`,`let ${l}`)),n=n.replace(/^(let socket;)$/m,`$1
|
|
1000
|
-
function __setOuterSocket__(s) { socket = s; }`),n=n.replace(/await waitForSuccessfulPing\(protocol,\s*hostAndPath\);\s*\n\s*location\.reload\(\)/,`await waitForSuccessfulPing(protocol, hostAndPath);
|
|
1001
|
-
if (window.__smartReload__ && window.__smartReload__()) {
|
|
1002
|
-
// \u5B9A\u4E49\u53EF\u9012\u5F52\u8C03\u7528\u7684\u91CD\u8FDE\u51FD\u6570\uFF0C\u652F\u6301\u591A\u6B21 PM2 \u91CD\u542F
|
|
1003
|
-
async function __smartReloadReconnect__() {
|
|
1004
|
-
console.log('[SmartReload] Vite client: server is back, fetching new WebSocket token...');
|
|
1005
|
-
try {
|
|
1006
|
-
var clientResp = await fetch('/@vite/client');
|
|
1007
|
-
var clientCode = await clientResp.text();
|
|
1008
|
-
var tokenMatch = clientCode.match(/const\\s+wsToken\\s*=\\s*"([^"]+)"/);
|
|
1009
|
-
if (tokenMatch && tokenMatch[1]) {
|
|
1010
|
-
console.log('[SmartReload] Got new wsToken from server');
|
|
1011
|
-
var newToken = tokenMatch[1];
|
|
1012
|
-
var wsUrl = protocol + '://' + hostAndPath + '?token=' + newToken;
|
|
1013
|
-
console.log('[SmartReload] Reconnecting with new token to: ' + wsUrl);
|
|
1014
|
-
var newSocket = new WebSocket(wsUrl, 'vite-hmr');
|
|
1015
|
-
var newIsOpened = false;
|
|
1016
|
-
newSocket.addEventListener('open', function() {
|
|
1017
|
-
newIsOpened = true;
|
|
1018
|
-
console.log('[SmartReload] WebSocket reconnected successfully!');
|
|
1019
|
-
// \u8FDB\u5165\u6062\u590D\u671F\uFF0C\u5FFD\u7565\u65B0\u670D\u52A1\u5668\u542F\u52A8\u540E\u53D1\u9001\u7684 full-reload \u6D88\u606F
|
|
1020
|
-
if (window.__smartReloadState__) {
|
|
1021
|
-
window.__smartReloadState__.reconnectGracePeriod = true;
|
|
1022
|
-
if (window.__smartReloadState__.reconnectGraceTimer) {
|
|
1023
|
-
clearTimeout(window.__smartReloadState__.reconnectGraceTimer);
|
|
1024
|
-
}
|
|
1025
|
-
window.__smartReloadState__.reconnectGraceTimer = setTimeout(function() {
|
|
1026
|
-
window.__smartReloadState__.reconnectGracePeriod = false;
|
|
1027
|
-
window.__smartReloadState__.reconnectGraceTimer = null;
|
|
1028
|
-
console.log('[SmartReload] Reconnect grace period ended');
|
|
1029
|
-
}, 3000);
|
|
1030
|
-
console.log('[SmartReload] Entered reconnect grace period (3000ms)');
|
|
1031
|
-
}
|
|
1032
|
-
notifyListeners('vite:ws:connect', { webSocket: newSocket });
|
|
1033
|
-
}, { once: true });
|
|
1034
|
-
newSocket.addEventListener('message', async function(ev) {
|
|
1035
|
-
handleMessage(JSON.parse(ev.data));
|
|
1036
|
-
});
|
|
1037
|
-
newSocket.addEventListener('close', async function(ev) {
|
|
1038
|
-
if (ev.wasClean) return;
|
|
1039
|
-
if (!newIsOpened && onCloseWithoutOpen) {
|
|
1040
|
-
onCloseWithoutOpen();
|
|
1041
|
-
return;
|
|
1042
|
-
}
|
|
1043
|
-
notifyListeners('vite:ws:disconnect', { webSocket: newSocket });
|
|
1044
|
-
console.log('[vite] server connection lost. Polling for restart...');
|
|
1045
|
-
await waitForSuccessfulPing(protocol, hostAndPath);
|
|
1046
|
-
if (window.__smartReload__ && window.__smartReload__()) {
|
|
1047
|
-
await __smartReloadReconnect__();
|
|
1048
|
-
} else {
|
|
1049
|
-
location.reload();
|
|
1050
|
-
}
|
|
1051
|
-
});
|
|
1052
|
-
// \u66F4\u65B0 setupWebSocket \u5185\u90E8\u7684\u5C40\u90E8 socket \u53D8\u91CF
|
|
1053
|
-
socket = newSocket;
|
|
1054
|
-
// \u901A\u8FC7 setter \u66F4\u65B0\u5916\u90E8\u4F5C\u7528\u57DF\u7684 socket \u53D8\u91CF
|
|
1055
|
-
if (typeof __setOuterSocket__ === 'function') __setOuterSocket__(newSocket);
|
|
1056
|
-
} else {
|
|
1057
|
-
console.log('[SmartReload] Could not extract new wsToken, reloading page');
|
|
1058
|
-
location.reload();
|
|
1059
|
-
}
|
|
1060
|
-
} catch(e) {
|
|
1061
|
-
console.log('[SmartReload] Failed to fetch new client code, reloading page', e);
|
|
1062
|
-
location.reload();
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
await __smartReloadReconnect__();
|
|
1066
|
-
} else {
|
|
1067
|
-
location.reload();
|
|
1068
|
-
}`),n!==e?{code:n,map:null}:null}}}function h(o={}){let{designWidth:t=375,maxWidth:e=750,baseFontSize:r=12,minRootSize:n=12,maxRootSize:i=24}=o;return {name:"vite-plugin-taro-style-adapter",apply:"serve",transformIndexHtml(s){let l=`
|
|
708
|
+
</script>`;return {name:"vite-plugin-browser-logs",configResolved(t){let r=t.root||x__default.default.cwd();n=___default.default.join(r,"browser.log");},configureServer(t){t.middlewares.use((r,o,i)=>{if(r.url==="/__browser__"&&r.method==="POST"){let s=r.headers.origin||"*",u="";r.on("data",a=>{u+=a.toString();}),r.on("end",()=>{try{let a=___default.default.dirname(n);m__default.default.existsSync(a)||m__default.default.mkdirSync(a,{recursive:!0}),m__default.default.appendFileSync(n,`${u}
|
|
709
|
+
`,"utf-8"),o.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),o.end(JSON.stringify({success:!0}));}catch(a){console.error("[BrowserLogs] Write error:",a),o.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),o.end(JSON.stringify({success:false,error:String(a)}));}});}else if(r.url==="/__browser__"&&r.method==="OPTIONS"){let s=r.headers.origin||"*";o.writeHead(204,{"Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type","Access-Control-Max-Age":"86400"}),o.end();}else if(r.url==="/__browser__"){let s=r.headers.origin||"*";o.writeHead(405,{"Content-Type":"application/json","Access-Control-Allow-Origin":s}),o.end(JSON.stringify({error:"Method not allowed"}));}else i();}),console.log("[BrowserLogs] Logs will be written to:",n);},transformIndexHtml(t){return t.replace(/<head([^>]*)>/i,`<head$1>${e}`)}}}function h(n={}){let{designWidth:e=375,maxWidth:t=750,baseFontSize:r=12,minRootSize:o=12,maxRootSize:i=24}=n;return {name:"vite-plugin-taro-style-adapter",apply:"serve",transformIndexHtml(s){let u=`
|
|
1069
710
|
<script data-taro-flexible="true">
|
|
1070
711
|
(function() {
|
|
1071
|
-
var designWidth = ${
|
|
1072
|
-
var maxWidth = ${
|
|
712
|
+
var designWidth = ${e};
|
|
713
|
+
var maxWidth = ${t};
|
|
1073
714
|
var baseFontSize = ${r};
|
|
1074
|
-
var minRootSize = ${
|
|
715
|
+
var minRootSize = ${o};
|
|
1075
716
|
var maxRootSize = ${i};
|
|
1076
717
|
|
|
1077
718
|
function setRootFontSize() {
|
|
@@ -1106,7 +747,7 @@ function __setOuterSocket__(s) { socket = s; }`),n=n.replace(/await waitForSucce
|
|
|
1106
747
|
document.addEventListener('DOMContentLoaded', setRootFontSize);
|
|
1107
748
|
})();
|
|
1108
749
|
</script>
|
|
1109
|
-
`;return s.replace("</head>",`${
|
|
750
|
+
`;return s.replace("</head>",`${u}
|
|
1110
751
|
<style data-taro-adapter="true">
|
|
1111
752
|
/* \u4EC5 H5 \u751F\u6548\uFF1A\u9690\u85CF Taro \u9875\u9762\u5BB9\u5668\u6EDA\u52A8\u6761\uFF0C\u4F46\u4ECD\u53EF\u6EDA\u52A8 */
|
|
1112
753
|
.taro_page {
|
|
@@ -1152,5 +793,5 @@ function __setOuterSocket__(s) { socket = s; }`),n=n.replace(/await waitForSucce
|
|
|
1152
793
|
object-fit: contain;
|
|
1153
794
|
}
|
|
1154
795
|
</style>
|
|
1155
|
-
</head>`)}}}function g(
|
|
796
|
+
</head>`)}}}function g(n={}){let{ratio:e=2}=n;return {postcssPlugin:"postcss-rpx2px",Declaration(t){t.value.includes("rpx")&&(t.value=t.value.replace(/(-?\d*\.?\d+)rpx/gi,(r,o)=>{let i=parseFloat(o)/e;return i===0?"0":`${i}px`}));}}}g.postcss=true;function k(n={}){let{additional:e=[],autoInjectTaroApp:t=true,autoInjectVite:r=true}=n,o={},i=new Set(e);return t&&Object.keys(process.env).forEach(s=>{s.startsWith("TARO_APP_")&&i.add(s);}),r&&Object.keys(process.env).forEach(s=>{s.startsWith("VITE_")&&i.add(s);}),i.forEach(s=>{let u=process.env[s]||"";o[`process.env.${s}`]=JSON.stringify(u);}),o}function C(){return {"process.env.TARO_APP_API_BASE_URL":JSON.stringify(process.env.TARO_APP_API_BASE_URL||""),"process.env.VITE_API_BASE_URL":JSON.stringify(process.env.VITE_API_BASE_URL||"")}}function j(n={}){let e=[h(n.styleAdapter),{name:"dev-postcss-rpx2px-plugin",apply:"serve",config(t){x__default.default.env.TARO_ENV==="h5"&&typeof t.css?.postcss=="object"&&t.css?.postcss.plugins?.unshift(g());}},v(),S(),b()];return x__default.default.env.WORKSPACE_GIT_REPO&&e.push(w()),e}exports.componentIdPlugin=v;exports.default=j;exports.editorBridgePlugin=S;exports.injectAmasterEnv=C;exports.injectTaroEnv=k;exports.routesExposePlugin=b;exports.rpx2pxPlugin=g;exports.taroStyleAdapterPlugin=h;//# sourceMappingURL=index.cjs.map
|
|
1156
797
|
//# sourceMappingURL=index.cjs.map
|