@amaster.ai/vite-plugins 1.1.0-beta.13.3 → 1.1.0-beta.13.5
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 +61 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +61 -19
- 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'),w=require('path'),url=require('url'),O=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 O__default=/*#__PURE__*/_interopDefault(O);function E(o,t){let e=`${o}:${t}`;return crypto.createHash("md5").update(e).digest("hex").substring(0,12)}var x=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 y(){let o=false;return {name:"vite-plugin-component-id",enforce:"pre",configResolved(t){o=t.command==="serve";},transform(t,e){if(!o||!/\.(tsx|jsx)$/.test(e)||e.includes("node_modules")||!/<[a-z]/.test(t))return null;try{let r=t,n=/<([a-z][\da-z]*)(?=[\s/>])/g,i,s=[];for(;(i=n.exec(t))!==null;){let a=i[1];if(!a)continue;let d=i.index,u=i.index+i[0].length;if(!x.has(a))continue;let c=u,p=!1,f=!1;for(;c<t.length&&!p;)t[c]===">"&&(p=!0,t.substring(d,c).includes("data-node-component-id")&&(f=!0)),c++;f||s.push({index:d,tag:a,tagEndIndex:u});}let l=t;for(let a=s.length-1;a>=0;a--){let d=s[a];if(!d)continue;let{index:u,tagEndIndex:c}=d,p=E(e,u),f=l.substring(0,c),v=l.substring(c);r=`${f} data-node-component-id="${p}"${v}`,l=r;}return {code:r,map:null}}catch{return null}}}}var C=`<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
|
|
19
|
+
</script>`;function L(){try{let o=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(o),e=w.resolve(t,"../dist/bridge.bridge.js");return `<script>
|
|
20
20
|
${m.readFileSync(e,"utf-8")}
|
|
21
|
-
</script>`}catch(
|
|
21
|
+
</script>`}catch(o){return console.warn("Failed to read bridge script:",o),""}}function S(){let o=false,t="";return {name:"vite-plugin-editor-bridge",configResolved(e){o=e.command==="serve",o&&(t=L());},transformIndexHtml(e){let n=`${C}${o?t:""}</body>`;return e.replace("</body>",n)}}}function _(o){let t=false,e=o?.routesFilePath||"src/routes.tsx";return {name:"vite-plugin-routes-expose",enforce:"post",configResolved(r){t=r.command==="serve";},transform(r,n){if(!t||!n.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
|
|
27
|
+
`,map:null}}catch{return null}}}}function b(){let o="",t=`
|
|
28
28
|
<script>
|
|
29
29
|
(function() {
|
|
30
30
|
'use strict';
|
|
@@ -705,8 +705,8 @@ 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(e){let r=e.root||
|
|
709
|
-
`,"utf-8"),
|
|
708
|
+
</script>`;return {name:"vite-plugin-browser-logs",configResolved(e){let r=e.root||O__default.default.cwd();o=w__default.default.join(r,"browser.log");},configureServer(e){e.middlewares.use((r,n,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(o);m__default.default.existsSync(a)||m__default.default.mkdirSync(a,{recursive:!0}),m__default.default.appendFileSync(o,`${l}
|
|
709
|
+
`,"utf-8"),n.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),n.end(JSON.stringify({success:!0}));}catch(a){console.error("[BrowserLogs] Write error:",a),n.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),n.end(JSON.stringify({success:false,error:String(a)}));}});}else if(r.url==="/__browser__"&&r.method==="OPTIONS"){let s=r.headers.origin||"*";n.writeHead(204,{"Access-Control-Allow-Origin":s,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type","Access-Control-Max-Age":"86400"}),n.end();}else if(r.url==="/__browser__"){let s=r.headers.origin||"*";n.writeHead(405,{"Content-Type":"application/json","Access-Control-Allow-Origin":s}),n.end(JSON.stringify({error:"Method not allowed"}));}else i();}),console.log("[BrowserLogs] Logs will be written to:",o);},transformIndexHtml(e){return e.replace(/<head([^>]*)>/i,`<head$1>${t}`)}}}function T(){let t=`
|
|
710
710
|
<script>
|
|
711
711
|
(function() {
|
|
712
712
|
'use strict';
|
|
@@ -726,7 +726,11 @@ if (typeof window !== 'undefined') {
|
|
|
726
726
|
// \u5EF6\u8FDF\u6267\u884C full-reload \u7684\u5B9A\u65F6\u5668
|
|
727
727
|
reloadTimer: null,
|
|
728
728
|
// \u662F\u5426\u662F\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F
|
|
729
|
-
isServerRestart: false
|
|
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
|
|
730
734
|
};
|
|
731
735
|
|
|
732
736
|
// ============================================
|
|
@@ -752,6 +756,23 @@ if (typeof window !== 'undefined') {
|
|
|
752
756
|
}
|
|
753
757
|
}
|
|
754
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
|
+
|
|
755
776
|
// ============================================
|
|
756
777
|
// \u6267\u884C\u771F\u6B63\u7684 full-reload
|
|
757
778
|
// ============================================
|
|
@@ -898,6 +919,12 @@ if (typeof window !== 'undefined') {
|
|
|
898
919
|
return true;
|
|
899
920
|
}
|
|
900
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
|
+
|
|
901
928
|
log('Intercepted full-reload, path:', data.path || '(none)');
|
|
902
929
|
|
|
903
930
|
// \u8FDB\u5165\u68C0\u6D4B\u6A21\u5F0F\uFF1A\u7B49\u5F85\u770B WebSocket \u662F\u5426\u65AD\u5F00
|
|
@@ -969,7 +996,8 @@ if (typeof window !== 'undefined') {
|
|
|
969
996
|
|
|
970
997
|
log('Smart Reload initialized');
|
|
971
998
|
})();
|
|
972
|
-
</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
|
|
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);
|
|
973
1001
|
if (window.__smartReload__ && window.__smartReload__()) {
|
|
974
1002
|
// \u5B9A\u4E49\u53EF\u9012\u5F52\u8C03\u7528\u7684\u91CD\u8FDE\u51FD\u6570\uFF0C\u652F\u6301\u591A\u6B21 PM2 \u91CD\u542F
|
|
975
1003
|
async function __smartReloadReconnect__() {
|
|
@@ -988,6 +1016,19 @@ if (typeof window !== 'undefined') {
|
|
|
988
1016
|
newSocket.addEventListener('open', function() {
|
|
989
1017
|
newIsOpened = true;
|
|
990
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
|
+
}
|
|
991
1032
|
notifyListeners('vite:ws:connect', { webSocket: newSocket });
|
|
992
1033
|
}, { once: true });
|
|
993
1034
|
newSocket.addEventListener('message', async function(ev) {
|
|
@@ -1000,17 +1041,18 @@ if (typeof window !== 'undefined') {
|
|
|
1000
1041
|
return;
|
|
1001
1042
|
}
|
|
1002
1043
|
notifyListeners('vite:ws:disconnect', { webSocket: newSocket });
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
location.reload();
|
|
1010
|
-
}
|
|
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();
|
|
1011
1050
|
}
|
|
1012
1051
|
});
|
|
1052
|
+
// \u66F4\u65B0 setupWebSocket \u5185\u90E8\u7684\u5C40\u90E8 socket \u53D8\u91CF
|
|
1013
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);
|
|
1014
1056
|
} else {
|
|
1015
1057
|
console.log('[SmartReload] Could not extract new wsToken, reloading page');
|
|
1016
1058
|
location.reload();
|
|
@@ -1023,13 +1065,13 @@ if (typeof window !== 'undefined') {
|
|
|
1023
1065
|
await __smartReloadReconnect__();
|
|
1024
1066
|
} else {
|
|
1025
1067
|
location.reload();
|
|
1026
|
-
}`)
|
|
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=`
|
|
1027
1069
|
<script data-taro-flexible="true">
|
|
1028
1070
|
(function() {
|
|
1029
1071
|
var designWidth = ${t};
|
|
1030
1072
|
var maxWidth = ${e};
|
|
1031
1073
|
var baseFontSize = ${r};
|
|
1032
|
-
var minRootSize = ${
|
|
1074
|
+
var minRootSize = ${n};
|
|
1033
1075
|
var maxRootSize = ${i};
|
|
1034
1076
|
|
|
1035
1077
|
function setRootFontSize() {
|
|
@@ -1110,5 +1152,5 @@ if (typeof window !== 'undefined') {
|
|
|
1110
1152
|
object-fit: contain;
|
|
1111
1153
|
}
|
|
1112
1154
|
</style>
|
|
1113
|
-
</head>`)}}}function g(
|
|
1155
|
+
</head>`)}}}function g(o={}){let{ratio:t=2}=o;return {postcssPlugin:"postcss-rpx2px",Declaration(e){e.value.includes("rpx")&&(e.value=e.value.replace(/(-?\d*\.?\d+)rpx/gi,(r,n)=>{let i=parseFloat(n)/t;return i===0?"0":`${i}px`}));}}}g.postcss=true;function H(o={}){let{additional:t=[],autoInjectTaroApp:e=true,autoInjectVite:r=true}=o,n={},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]||"";n[`process.env.${s}`]=JSON.stringify(l);}),n}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(o={}){let t=[h(o.styleAdapter),{name:"dev-postcss-rpx2px-plugin",apply:"serve",config(e){O__default.default.env.TARO_ENV==="h5"&&typeof e.css?.postcss=="object"&&e.css?.postcss.plugins?.unshift(g());}},y(),S(),_(),T()];return O__default.default.env.WORKSPACE_GIT_REPO&&t.push(b()),t}exports.componentIdPlugin=y;exports.default=D;exports.editorBridgePlugin=S;exports.injectAmasterEnv=q;exports.injectTaroEnv=H;exports.routesExposePlugin=_;exports.rpx2pxPlugin=g;exports.smartReloadPlugin=T;exports.taroStyleAdapterPlugin=h;//# sourceMappingURL=index.cjs.map
|
|
1114
1156
|
//# sourceMappingURL=index.cjs.map
|