@amaster.ai/vite-plugins 1.1.0-beta.1 → 1.1.0-beta.10
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 +333 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +151 -15
- package/dist/index.d.ts +151 -15
- package/dist/index.js +333 -8
- 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'),
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var crypto=require('crypto'),m=require('fs'),w=require('path'),url=require('url'),T=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 w__default=/*#__PURE__*/_interopDefault(w);var T__default=/*#__PURE__*/_interopDefault(T);function E(n,t){let e=`${n}:${t}`;return crypto.createHash("md5").update(e).digest("hex").substring(0,12)}var R=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(t){n=t.command==="serve";},transform(t,e){if(!n||!/\.(tsx|jsx)$/.test(e)||e.includes("node_modules")||!/<[a-z]/.test(t))return null;try{let r=t,o=/<([a-z][\da-z]*)(?=[\s/>])/g,i,s=[];for(;(i=o.exec(t))!==null;){let a=i[1];if(!a)continue;let c=i.index,d=i.index+i[0].length;if(!R.has(a))continue;let u=d,p=!1,f=!1;for(;u<t.length&&!p;)t[u]===">"&&(p=!0,t.substring(c,u).includes("data-node-component-id")&&(f=!0)),u++;f||s.push({index:c,tag:a,tagEndIndex:d});}let l=t;for(let a=s.length-1;a>=0;a--){let c=s[a];if(!c)continue;let{index:d,tagEndIndex:u}=c,p=E(e,d),f=l.substring(0,u),h=l.substring(u);r=`${f} data-node-component-id="${p}"${h}`,l=r;}return {code:r,map:null}}catch{return null}}}}var L=`<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
|
-
${
|
|
21
|
-
</script>`}catch(
|
|
19
|
+
</script>`;function C(){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))),t=w.dirname(n),e=w.resolve(t,"../dist/bridge.bridge.js");return `<script>
|
|
20
|
+
${m.readFileSync(e,"utf-8")}
|
|
21
|
+
</script>`}catch(n){return console.warn("Failed to read bridge script:",n),""}}function S(){let n=false,t="";return {name:"vite-plugin-editor-bridge",configResolved(e){n=e.command==="serve",n&&(t=C());},transformIndexHtml(e){let o=`${L}${n?t:""}</body>`;return e.replace("</body>",o)}}}function b(n){let t=false,e=n?.routesFilePath||"src/routes.tsx";return {name:"vite-plugin-routes-expose",enforce:"post",configResolved(r){t=r.command==="serve";},transform(r,o){if(!t||!o.endsWith(e))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 _(){let
|
|
27
|
+
`,map:null}}catch{return null}}}}function _(){let n="",t=`
|
|
28
28
|
<script>
|
|
29
29
|
(function() {
|
|
30
30
|
'use strict';
|
|
@@ -705,8 +705,315 @@ 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"),
|
|
708
|
+
</script>`;return {name:"vite-plugin-browser-logs",configResolved(e){let r=e.root||T__default.default.cwd();n=w__default.default.join(r,"browser.log");},configureServer(e){e.middlewares.use((r,o,i)=>{if(r.url==="/__browser__"&&r.method==="POST"){let s=r.headers.origin||"*",l="";r.on("data",a=>{l+=a.toString();}),r.on("end",()=>{try{let a=w__default.default.dirname(n);m__default.default.existsSync(a)||m__default.default.mkdirSync(a,{recursive:!0}),m__default.default.appendFileSync(n,`${l}
|
|
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(e){return e.replace(/<head([^>]*)>/i,`<head$1>${t}`)}}}function O(){let t=`
|
|
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
|
+
};
|
|
731
|
+
|
|
732
|
+
// ============================================
|
|
733
|
+
// \u65E5\u5FD7\u5DE5\u5177
|
|
734
|
+
// ============================================
|
|
735
|
+
function log() {
|
|
736
|
+
var args = [PLUGIN_TAG];
|
|
737
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
738
|
+
args.push(arguments[i]);
|
|
739
|
+
}
|
|
740
|
+
console.log.apply(console, args);
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
// ============================================
|
|
744
|
+
// \u91CD\u7F6E\u72B6\u6001
|
|
745
|
+
// ============================================
|
|
746
|
+
function resetState() {
|
|
747
|
+
state.detectingReloadType = false;
|
|
748
|
+
state.isServerRestart = false;
|
|
749
|
+
if (state.reloadTimer) {
|
|
750
|
+
clearTimeout(state.reloadTimer);
|
|
751
|
+
state.reloadTimer = null;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
// ============================================
|
|
756
|
+
// \u6267\u884C\u771F\u6B63\u7684 full-reload
|
|
757
|
+
// ============================================
|
|
758
|
+
function executeFullReload() {
|
|
759
|
+
log('Executing full-reload');
|
|
760
|
+
resetState();
|
|
761
|
+
location.reload();
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
// ============================================
|
|
765
|
+
// __smartReload__\uFF1A\u66FF\u4EE3 location.reload() \u7684\u5168\u5C40\u51FD\u6570
|
|
766
|
+
//
|
|
767
|
+
// Vite \u5BA2\u6237\u7AEF\u4EE3\u7801\u4E2D\u7684 location.reload() \u5DF2\u88AB\u66FF\u6362\u4E3A
|
|
768
|
+
// window.__smartReload__()\u3002
|
|
769
|
+
//
|
|
770
|
+
// \u5728\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F\u4E0B\uFF0C\u6B64\u51FD\u6570\u4E0D\u5237\u65B0\u9875\u9762\uFF0C
|
|
771
|
+
// \u800C\u662F\u8BA9 Vite \u5BA2\u6237\u7AEF\u81EA\u52A8\u91CD\u8FDE WebSocket \u6062\u590D HMR\u3002
|
|
772
|
+
//
|
|
773
|
+
// \u5728\u5176\u4ED6\u573A\u666F\u4E0B\uFF08\u5982\u6A21\u5757\u53D8\u66F4\uFF09\uFF0C\u6B63\u5E38\u6267\u884C location.reload()\u3002
|
|
774
|
+
// ============================================
|
|
775
|
+
window.__smartReload__ = function() {
|
|
776
|
+
if (state.isServerRestart) {
|
|
777
|
+
log('Server restart detected, suppressing reload. HMR will reconnect automatically.');
|
|
778
|
+
resetState();
|
|
779
|
+
// \u4E0D\u5237\u65B0\u9875\u9762\uFF01Vite \u5BA2\u6237\u7AEF\u7684 WebSocket close \u5904\u7406\u51FD\u6570
|
|
780
|
+
// \u5728 await waitForSuccessfulPing() \u4E4B\u540E\u8C03\u7528\u4E86\u6211\u4EEC\u7684\u51FD\u6570\uFF0C
|
|
781
|
+
// \u6211\u4EEC\u4E0D\u8C03\u7528 location.reload()\uFF0C\u51FD\u6570\u76F4\u63A5\u8FD4\u56DE\u3002
|
|
782
|
+
// Vite \u5BA2\u6237\u7AEF\u4E0D\u4F1A\u518D\u505A\u5176\u4ED6\u4E8B\u60C5\uFF0C\u4F46\u65B0\u7684 Vite \u670D\u52A1\u5668\u5DF2\u7ECF\u542F\u52A8\uFF0C
|
|
783
|
+
// Vite \u5BA2\u6237\u7AEF\u4F1A\u901A\u8FC7 WebSocket \u91CD\u8FDE\u673A\u5236\u81EA\u52A8\u6062\u590D HMR\u3002
|
|
784
|
+
return;
|
|
785
|
+
}
|
|
786
|
+
// \u975E\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F\uFF0C\u6B63\u5E38\u5237\u65B0
|
|
787
|
+
log('Non-restart reload, executing normally');
|
|
788
|
+
location.reload();
|
|
789
|
+
};
|
|
790
|
+
|
|
791
|
+
// ============================================
|
|
792
|
+
// \u62E6\u622A WebSocket \u6784\u9020\u51FD\u6570
|
|
793
|
+
// ============================================
|
|
794
|
+
var OriginalWebSocket = window.WebSocket;
|
|
795
|
+
|
|
796
|
+
function isViteHmrWebSocket(url) {
|
|
797
|
+
if (typeof url !== 'string') return false;
|
|
798
|
+
return url.includes('/__vite_hmr') || url.includes('?token=');
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
function createWsProxy(ws) {
|
|
802
|
+
var originalAddEventListener = ws.addEventListener.bind(ws);
|
|
803
|
+
var originalRemoveEventListener = ws.removeEventListener.bind(ws);
|
|
804
|
+
|
|
805
|
+
ws.addEventListener = function(type, listener, options) {
|
|
806
|
+
if (type === 'message') {
|
|
807
|
+
var wrappedListener = function(event) {
|
|
808
|
+
var intercepted = handleWsMessage(event);
|
|
809
|
+
if (!intercepted) {
|
|
810
|
+
listener.call(ws, event);
|
|
811
|
+
}
|
|
812
|
+
};
|
|
813
|
+
listener.__smartReloadWrapped__ = wrappedListener;
|
|
814
|
+
return originalAddEventListener(type, wrappedListener, options);
|
|
815
|
+
}
|
|
816
|
+
return originalAddEventListener(type, listener, options);
|
|
817
|
+
};
|
|
818
|
+
|
|
819
|
+
ws.removeEventListener = function(type, listener, options) {
|
|
820
|
+
if (type === 'message' && listener.__smartReloadWrapped__) {
|
|
821
|
+
return originalRemoveEventListener(type, listener.__smartReloadWrapped__, options);
|
|
822
|
+
}
|
|
823
|
+
return originalRemoveEventListener(type, listener, options);
|
|
824
|
+
};
|
|
825
|
+
|
|
826
|
+
var originalOnMessage = null;
|
|
827
|
+
var onMessageDescriptor = Object.getOwnPropertyDescriptor(WebSocket.prototype, 'onmessage') ||
|
|
828
|
+
Object.getOwnPropertyDescriptor(ws, 'onmessage');
|
|
829
|
+
|
|
830
|
+
if (onMessageDescriptor) {
|
|
831
|
+
Object.defineProperty(ws, 'onmessage', {
|
|
832
|
+
get: function() {
|
|
833
|
+
return originalOnMessage;
|
|
834
|
+
},
|
|
835
|
+
set: function(handler) {
|
|
836
|
+
originalOnMessage = handler;
|
|
837
|
+
var wrappedHandler = function(event) {
|
|
838
|
+
var intercepted = handleWsMessage(event);
|
|
839
|
+
if (!intercepted && handler) {
|
|
840
|
+
handler.call(ws, event);
|
|
841
|
+
}
|
|
842
|
+
};
|
|
843
|
+
if (onMessageDescriptor.set) {
|
|
844
|
+
onMessageDescriptor.set.call(ws, wrappedHandler);
|
|
845
|
+
}
|
|
846
|
+
},
|
|
847
|
+
configurable: true
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
originalAddEventListener('close', function(event) {
|
|
852
|
+
handleWsClose(event);
|
|
853
|
+
});
|
|
854
|
+
|
|
855
|
+
originalAddEventListener('open', function() {
|
|
856
|
+
handleWsOpen();
|
|
857
|
+
});
|
|
858
|
+
|
|
859
|
+
state.wsIntercepted = true;
|
|
860
|
+
log('Vite HMR WebSocket intercepted');
|
|
861
|
+
|
|
862
|
+
return ws;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
window.WebSocket = function SmartReloadWebSocket(url, protocols) {
|
|
866
|
+
var ws;
|
|
867
|
+
if (protocols !== undefined) {
|
|
868
|
+
ws = new OriginalWebSocket(url, protocols);
|
|
869
|
+
} else {
|
|
870
|
+
ws = new OriginalWebSocket(url);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
if (isViteHmrWebSocket(url)) {
|
|
874
|
+
return createWsProxy(ws);
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
return ws;
|
|
878
|
+
};
|
|
879
|
+
|
|
880
|
+
window.WebSocket.prototype = OriginalWebSocket.prototype;
|
|
881
|
+
window.WebSocket.CONNECTING = OriginalWebSocket.CONNECTING;
|
|
882
|
+
window.WebSocket.OPEN = OriginalWebSocket.OPEN;
|
|
883
|
+
window.WebSocket.CLOSING = OriginalWebSocket.CLOSING;
|
|
884
|
+
window.WebSocket.CLOSED = OriginalWebSocket.CLOSED;
|
|
885
|
+
|
|
886
|
+
// ============================================
|
|
887
|
+
// WebSocket \u6D88\u606F\u5904\u7406
|
|
888
|
+
// ============================================
|
|
889
|
+
function handleWsMessage(event) {
|
|
890
|
+
var data;
|
|
891
|
+
try {
|
|
892
|
+
data = JSON.parse(event.data);
|
|
893
|
+
} catch (e) {
|
|
894
|
+
return false;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
// \u5904\u7406 full-reload \u6D88\u606F
|
|
898
|
+
if (data.type === 'full-reload') {
|
|
899
|
+
// \u5982\u679C\u5728\u670D\u52A1\u5668\u91CD\u542F\u6A21\u5F0F\uFF0C\u62E6\u622A\u6240\u6709 full-reload
|
|
900
|
+
if (state.isServerRestart) {
|
|
901
|
+
log('Suppressed full-reload message during server restart');
|
|
902
|
+
return true;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
log('Intercepted full-reload, path:', data.path || '(none)');
|
|
906
|
+
|
|
907
|
+
// \u8FDB\u5165\u68C0\u6D4B\u6A21\u5F0F\uFF1A\u7B49\u5F85\u770B WebSocket \u662F\u5426\u65AD\u5F00
|
|
908
|
+
state.detectingReloadType = true;
|
|
909
|
+
|
|
910
|
+
// \u5982\u679C\u7A97\u53E3\u671F\u5185 WebSocket \u6CA1\u6709\u65AD\u5F00\uFF0C\u8BF4\u660E\u662F\u771F\u6B63\u7684\u6A21\u5757\u53D8\u66F4
|
|
911
|
+
state.reloadTimer = setTimeout(function() {
|
|
912
|
+
if (state.detectingReloadType && !state.isServerRestart) {
|
|
913
|
+
log('WebSocket still connected after ' + DISCONNECT_DETECT_WINDOW + 'ms - real module change, executing reload');
|
|
914
|
+
state.detectingReloadType = false;
|
|
915
|
+
executeFullReload();
|
|
916
|
+
}
|
|
917
|
+
}, DISCONNECT_DETECT_WINDOW);
|
|
918
|
+
|
|
919
|
+
return true;
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
// \u5904\u7406 connected \u6D88\u606F
|
|
923
|
+
if (data.type === 'connected') {
|
|
924
|
+
if (state.isServerRestart) {
|
|
925
|
+
log('HMR reconnected after server restart! Page was NOT reloaded.');
|
|
926
|
+
resetState();
|
|
927
|
+
}
|
|
928
|
+
return false;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
return false;
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
// ============================================
|
|
935
|
+
// WebSocket \u8FDE\u63A5\u4E8B\u4EF6\u5904\u7406
|
|
936
|
+
// ============================================
|
|
937
|
+
function handleWsClose(event) {
|
|
938
|
+
log('WebSocket closed, code:', event.code, 'wasClean:', event.wasClean);
|
|
939
|
+
|
|
940
|
+
// \u573A\u666F1\uFF1A\u6536\u5230 full-reload \u540E WebSocket \u65AD\u5F00 \u2192 \u670D\u52A1\u5668\u91CD\u542F
|
|
941
|
+
if (state.detectingReloadType) {
|
|
942
|
+
log('Entering server restart mode: full-reload followed by disconnect');
|
|
943
|
+
state.isServerRestart = true;
|
|
944
|
+
state.detectingReloadType = false;
|
|
945
|
+
if (state.reloadTimer) {
|
|
946
|
+
clearTimeout(state.reloadTimer);
|
|
947
|
+
state.reloadTimer = null;
|
|
948
|
+
}
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
// \u573A\u666F2\uFF1AWebSocket \u76F4\u63A5\u65AD\u5F00\uFF08\u975E\u6B63\u5E38\u5173\u95ED\uFF09
|
|
953
|
+
if (!state.isServerRestart && !event.wasClean) {
|
|
954
|
+
log('Entering server restart mode: unexpected disconnect');
|
|
955
|
+
state.isServerRestart = true;
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
function handleWsOpen() {
|
|
960
|
+
log('WebSocket opened');
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
// ============================================
|
|
964
|
+
// \u66B4\u9732 API \u4F9B\u8C03\u8BD5\u4F7F\u7528
|
|
965
|
+
// ============================================
|
|
966
|
+
window.__smartReloadState__ = state;
|
|
967
|
+
window.__smartReloadForceReload__ = function() {
|
|
968
|
+
log('Force reload triggered by user');
|
|
969
|
+
resetState();
|
|
970
|
+
location.reload();
|
|
971
|
+
};
|
|
972
|
+
|
|
973
|
+
log('Smart Reload initialized');
|
|
974
|
+
})();
|
|
975
|
+
</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 o=e.replace(/location\.reload\(\)/g,"(window.__smartReload__ ? window.__smartReload__() : location.reload())");return o!==e?{code:o,map:null}:null}}}function y(n={}){let{designWidth:t=375,maxWidth:e=750,baseFontSize:r=12,minRootSize:o=12,maxRootSize:i=24}=n;return {name:"vite-plugin-taro-style-adapter",apply:"serve",transformIndexHtml(s){let l=`
|
|
976
|
+
<script data-taro-flexible="true">
|
|
977
|
+
(function() {
|
|
978
|
+
var designWidth = ${t};
|
|
979
|
+
var maxWidth = ${e};
|
|
980
|
+
var baseFontSize = ${r};
|
|
981
|
+
var minRootSize = ${o};
|
|
982
|
+
var maxRootSize = ${i};
|
|
983
|
+
|
|
984
|
+
function setRootFontSize() {
|
|
985
|
+
var docEl = document.documentElement;
|
|
986
|
+
var clientWidth = docEl.clientWidth;
|
|
987
|
+
|
|
988
|
+
// \u9650\u5236\u6700\u5927\u5BBD\u5EA6
|
|
989
|
+
if (clientWidth > maxWidth) {
|
|
990
|
+
clientWidth = maxWidth;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
// \u8BA1\u7B97\u6839\u5B57\u53F7: (\u5C4F\u5E55\u5BBD\u5EA6 / \u8BBE\u8BA1\u7A3F\u5BBD\u5EA6) * \u57FA\u51C6\u5B57\u53F7
|
|
994
|
+
var fontSize = (clientWidth / designWidth) * baseFontSize;
|
|
995
|
+
|
|
996
|
+
// \u5E94\u7528\u6700\u5C0F/\u6700\u5927\u9650\u5236
|
|
997
|
+
if (fontSize < minRootSize) {
|
|
998
|
+
fontSize = minRootSize;
|
|
999
|
+
} else if (fontSize > maxRootSize) {
|
|
1000
|
+
fontSize = maxRootSize;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
docEl.style.fontSize = fontSize + 'px';
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
setRootFontSize();
|
|
1007
|
+
|
|
1008
|
+
// \u76D1\u542C\u7A97\u53E3\u53D8\u5316
|
|
1009
|
+
window.addEventListener('resize', setRootFontSize);
|
|
1010
|
+
window.addEventListener('orientationchange', setRootFontSize);
|
|
1011
|
+
|
|
1012
|
+
// \u9875\u9762\u663E\u793A\u65F6\u91CD\u65B0\u8BA1\u7B97\uFF08\u89E3\u51B3\u67D0\u4E9B\u6D4F\u89C8\u5668\u7684 bug\uFF09
|
|
1013
|
+
document.addEventListener('DOMContentLoaded', setRootFontSize);
|
|
1014
|
+
})();
|
|
1015
|
+
</script>
|
|
1016
|
+
`;return s.replace("</head>",`${l}
|
|
710
1017
|
<style data-taro-adapter="true">
|
|
711
1018
|
/* \u4EC5 H5 \u751F\u6548\uFF1A\u9690\u85CF Taro \u9875\u9762\u5BB9\u5668\u6EDA\u52A8\u6761\uFF0C\u4F46\u4ECD\u53EF\u6EDA\u52A8 */
|
|
712
1019
|
.taro_page {
|
|
@@ -733,6 +1040,24 @@ if (typeof window !== 'undefined') {
|
|
|
733
1040
|
height: 0;
|
|
734
1041
|
display: none; /* Chrome/Safari */
|
|
735
1042
|
}
|
|
1043
|
+
|
|
1044
|
+
/*
|
|
1045
|
+
* \u4FEE\u590D Taro Image \u7EC4\u4EF6\u5728 H5 \u4E0B\u7684\u5C3A\u5BF8\u95EE\u9898
|
|
1046
|
+
*
|
|
1047
|
+
* \u95EE\u9898\uFF1ATaro Image \u7EC4\u4EF6\u4F7F\u7528 aspectFit \u6A21\u5F0F\u65F6\uFF0C\u5185\u90E8 img \u4F7F\u7528 max-width/max-height: 100%
|
|
1048
|
+
* \u5BFC\u81F4\u5C0F\u5C3A\u5BF8\u56FE\u7247\uFF08\u5982 SVG \u56FE\u6807\uFF09\u65E0\u6CD5\u6309\u6307\u5B9A\u5C3A\u5BF8\u663E\u793A\uFF0C\u53EA\u663E\u793A\u539F\u59CB\u5C3A\u5BF8
|
|
1049
|
+
*
|
|
1050
|
+
* \u89E3\u51B3\uFF1A\u8BA9 img \u586B\u6EE1 taro-image-core \u5BB9\u5668\uFF0C\u7531\u5BB9\u5668\u63A7\u5236\u5C3A\u5BF8
|
|
1051
|
+
*/
|
|
1052
|
+
taro-image-core img.taro-img__mode-aspectfit {
|
|
1053
|
+
width: 100%;
|
|
1054
|
+
height: 100%;
|
|
1055
|
+
max-width: none;
|
|
1056
|
+
max-height: none;
|
|
1057
|
+
position: static;
|
|
1058
|
+
transform: none;
|
|
1059
|
+
object-fit: contain;
|
|
1060
|
+
}
|
|
736
1061
|
</style>
|
|
737
|
-
</head>`)}}}function
|
|
1062
|
+
</head>`)}}}function g(n={}){let{ratio:t=2}=n;return {postcssPlugin:"postcss-rpx2px",Declaration(e){e.value.includes("rpx")&&(e.value=e.value.replace(/(-?\d*\.?\d+)rpx/gi,(r,o)=>{let i=parseFloat(o)/t;return i===0?"0":`${i}px`}));}}}g.postcss=true;function W(n={}){let{additional:t=[],autoInjectTaroApp:e=true,autoInjectVite:r=true}=n,o={},i=new Set(t);return e&&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 l=process.env[s]||"";o[`process.env.${s}`]=JSON.stringify(l);}),o}function q(){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 D(n={}){let t=[y(n.styleAdapter),{name:"dev-postcss-rpx2px-plugin",apply:"serve",config(e){T__default.default.env.TARO_ENV==="h5"&&typeof e.css?.postcss=="object"&&e.css?.postcss.plugins?.unshift(g());}},v(),S(),b(),O()];return T__default.default.env.WORKSPACE_GIT_REPO&&t.push(_()),t}exports.componentIdPlugin=v;exports.default=D;exports.editorBridgePlugin=S;exports.injectAmasterEnv=q;exports.injectTaroEnv=W;exports.routesExposePlugin=b;exports.rpx2pxPlugin=g;exports.smartReloadPlugin=O;exports.taroStyleAdapterPlugin=y;//# sourceMappingURL=index.cjs.map
|
|
738
1063
|
//# sourceMappingURL=index.cjs.map
|