@amaster.ai/vite-plugins 1.1.0-beta.7 → 1.1.0-beta.71
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/bridge-module.global.js +14 -0
- package/dist/index.cjs +209 -387
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +68 -34
- package/dist/index.d.ts +68 -34
- package/dist/index.js +209 -387
- package/dist/index.js.map +1 -1
- package/package.json +25 -5
- package/dist/bridge.bridge.js +0 -24
package/dist/index.cjs
CHANGED
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
2
|
-
|
|
3
|
-
const element = e.target;
|
|
4
|
-
const noJumpOut = document.body.classList.contains("forbid-jump-out")
|
|
5
|
-
if (element.hasAttribute("data-link-href") && !noJumpOut) {
|
|
6
|
-
const href = element.getAttribute("data-link-href");
|
|
7
|
-
const target = element.getAttribute("data-link-target");
|
|
8
|
-
if (href) {
|
|
9
|
-
if (target === "_blank") {
|
|
10
|
-
window.open(href, "_blank");
|
|
11
|
-
} else {
|
|
12
|
-
window.location.href = href;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
} else if(noJumpOut && element.tagName === "A") {
|
|
16
|
-
e.preventDefault();
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
</script>`;function C(){try{let r=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=w.dirname(r),t=w.resolve(e,"../dist/bridge.bridge.js");return `<script>
|
|
20
|
-
${m.readFileSync(t,"utf-8")}
|
|
21
|
-
</script>`}catch(r){return console.warn("Failed to read bridge script:",r),""}}function S(){let r=false,e="";return {name:"vite-plugin-editor-bridge",configResolved(t){r=t.command==="serve",r&&(e=C());},transformIndexHtml(t){let o=`${L}${r?e:""}</body>`;return t.replace("</body>",o)}}}function b(r){let e=false,t=r?.routesFilePath||"src/routes.tsx";return {name:"vite-plugin-routes-expose",enforce:"post",configResolved(n){e=n.command==="serve";},transform(n,o){if(!e||!o.endsWith(t))return null;try{return n.includes("window.__APP_ROUTES__")?null:{code:`${n}
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var y=require('fs'),d=require('path'),url=require('url'),A=require('process'),w=require('fs/promises'),k=require('@babel/generator'),parser=require('@babel/parser'),L=require('@babel/traverse');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var y__default=/*#__PURE__*/_interopDefault(y);var d__default=/*#__PURE__*/_interopDefault(d);var A__default=/*#__PURE__*/_interopDefault(A);var w__default=/*#__PURE__*/_interopDefault(w);var k__default=/*#__PURE__*/_interopDefault(k);var L__default=/*#__PURE__*/_interopDefault(L);var F=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))),U=d.dirname(F),P="@amaster/bridge-monitor",T="\0"+P,m=null;function z(){if(m)return m;try{let e=d.resolve(U,"../dist/bridge-module.global.js");return m=y.readFileSync(e,"utf-8"),m}catch(e){return console.warn("[editor-bridge] Failed to load pre-built bridge module:",e),""}}function W(){return '<script type="module" src="/@id/@amaster/bridge-monitor"></script>'}function X(e){return z().replace(/__SESSION_KEY__/g,e)+`
|
|
2
|
+
export default {};`}function C(){let e=false;return {name:"vite-plugin-editor-bridge",configResolved(n){e=n.command==="serve";},resolveId(n){if(n===P)return T},load(n){if(n===T){let r=process.env.VITE_AMASTER_KEY||"";return X(r)}},transformIndexHtml(n){if(!e)return n;let r=W();return n.replace("</body>",`${r}</body>`)}}}function I(e){let n=false,r=e?.routesFilePath||"src/routes.tsx";return {name:"vite-plugin-routes-expose",enforce:"post",configResolved(t){n=t.command==="serve";},transform(t,o){if(!n||!o.endsWith(r))return null;try{return t.includes("window.__APP_ROUTES__")?null:{code:`${t}
|
|
22
3
|
|
|
23
4
|
// Development mode: Expose routes to window.__APP_ROUTES__
|
|
24
5
|
if (typeof window !== 'undefined') {
|
|
25
6
|
window.__APP_ROUTES__ = typeof routes !== 'undefined' && Array.isArray(routes) ? routes : [];
|
|
26
7
|
}
|
|
27
|
-
`,map:null}}catch{return null}}}}function
|
|
8
|
+
`,map:null}}catch{return null}}}}function j(){let e="",n=`
|
|
28
9
|
<script>
|
|
29
10
|
(function() {
|
|
30
11
|
'use strict';
|
|
@@ -32,6 +13,9 @@ if (typeof window !== 'undefined') {
|
|
|
32
13
|
// Log API path (provided by Vite dev server)
|
|
33
14
|
var LOG_API_PATH = '/__browser__';
|
|
34
15
|
|
|
16
|
+
// Save original fetch before any interception, used exclusively for log writing
|
|
17
|
+
var __originalFetch__ = window.fetch.bind(window);
|
|
18
|
+
|
|
35
19
|
// Write queue to ensure sequential writes
|
|
36
20
|
var writeQueue = [];
|
|
37
21
|
var isWriting = false;
|
|
@@ -44,7 +28,7 @@ if (typeof window !== 'undefined') {
|
|
|
44
28
|
var entry = writeQueue.shift();
|
|
45
29
|
var logText = JSON.stringify(entry);
|
|
46
30
|
|
|
47
|
-
|
|
31
|
+
__originalFetch__(LOG_API_PATH, {
|
|
48
32
|
method: 'POST',
|
|
49
33
|
headers: { 'Content-Type': 'application/json' },
|
|
50
34
|
body: logText
|
|
@@ -162,12 +146,19 @@ if (typeof window !== 'undefined') {
|
|
|
162
146
|
};
|
|
163
147
|
}
|
|
164
148
|
|
|
165
|
-
//
|
|
149
|
+
// Keywords to filter from console log collection
|
|
150
|
+
var FILTERED_CONSOLE_KEYWORDS = ['[vite]', '[BrowserLogs]'];
|
|
151
|
+
|
|
152
|
+
// Check if message should be filtered
|
|
166
153
|
function shouldFilterConsoleLog(args) {
|
|
167
154
|
for (var i = 0; i < args.length; i++) {
|
|
168
155
|
var arg = args[i];
|
|
169
|
-
if (typeof arg === 'string'
|
|
170
|
-
|
|
156
|
+
if (typeof arg === 'string') {
|
|
157
|
+
for (var j = 0; j < FILTERED_CONSOLE_KEYWORDS.length; j++) {
|
|
158
|
+
if (arg.indexOf(FILTERED_CONSOLE_KEYWORDS[j]) !== -1) {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
171
162
|
}
|
|
172
163
|
}
|
|
173
164
|
return false;
|
|
@@ -705,403 +696,234 @@ if (typeof window !== 'undefined') {
|
|
|
705
696
|
|
|
706
697
|
originalConsole.log('[BrowserLogs] Log collection started');
|
|
707
698
|
})();
|
|
708
|
-
</script>`;return {name:"vite-plugin-browser-logs",configResolved(
|
|
709
|
-
`,"utf-8"),o.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":
|
|
710
|
-
|
|
711
|
-
|
|
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
|
-
// WebSocket \u65AD\u5F00\u540E\u7B49\u5F85\u91CD\u8FDE\u7684\u8D85\u65F6\u65F6\u95F4\uFF08ms\uFF09\uFF0C\u8D85\u65F6\u540E fallback \u5230 full-reload
|
|
718
|
-
var RECONNECT_TIMEOUT = 5000;
|
|
719
|
-
// \u91CD\u8FDE\u6210\u529F\u540E\uFF0C\u7B49\u5F85\u662F\u5426\u6709 full-reload/update \u6D88\u606F\u7684\u7A97\u53E3\u671F\uFF08ms\uFF09
|
|
720
|
-
var POST_RECONNECT_WINDOW = 2000;
|
|
721
|
-
// \u6291\u5236 location.reload \u540E\u7684\u6700\u5927\u7A97\u53E3\u671F\uFF08ms\uFF09\uFF0C\u8D85\u65F6\u540E\u6267\u884C soft-reload \u6062\u590D HMR
|
|
722
|
-
var RELOAD_SUPPRESS_WINDOW = 5000;
|
|
723
|
-
// soft-reload \u5EF6\u8FDF\uFF08ms\uFF09
|
|
724
|
-
var SOFT_RELOAD_DELAY = 300;
|
|
725
|
-
|
|
726
|
-
// ============================================
|
|
727
|
-
// \u72B6\u6001\u7BA1\u7406
|
|
728
|
-
// ============================================
|
|
729
|
-
var state = {
|
|
730
|
-
// \u662F\u5426\u5DF2\u7ECF\u62E6\u622A\u4E86 Vite HMR WebSocket
|
|
731
|
-
wsIntercepted: false,
|
|
732
|
-
// \u662F\u5426\u6B63\u5728\u7B49\u5F85\u5224\u65AD full-reload \u7C7B\u578B\uFF08300ms \u7A97\u53E3\u671F\uFF09
|
|
733
|
-
detectingReloadType: false,
|
|
734
|
-
// \u5EF6\u8FDF\u6267\u884C full-reload \u7684\u5B9A\u65F6\u5668
|
|
735
|
-
reloadTimer: null,
|
|
736
|
-
// \u662F\u5426\u6B63\u5728\u7B49\u5F85\u670D\u52A1\u5668\u91CD\u8FDE
|
|
737
|
-
waitingForReconnect: false,
|
|
738
|
-
// \u662F\u5426\u662F\u670D\u52A1\u5668\u91CD\u542F\u573A\u666F
|
|
739
|
-
isServerRestart: false,
|
|
740
|
-
// \u91CD\u8FDE\u8D85\u65F6\u5B9A\u65F6\u5668
|
|
741
|
-
reconnectTimeoutTimer: null,
|
|
742
|
-
// \u91CD\u8FDE\u540E\u7B49\u5F85\u53D8\u66F4\u7684\u5B9A\u65F6\u5668
|
|
743
|
-
postReconnectTimer: null,
|
|
744
|
-
// \u662F\u5426\u6B63\u5728\u6291\u5236 location.reload
|
|
745
|
-
suppressingReload: false,
|
|
746
|
-
// \u6291\u5236 reload \u7684\u5B9A\u65F6\u5668
|
|
747
|
-
suppressReloadTimer: null,
|
|
748
|
-
// \u5DF2\u62E6\u622A\u7684 reload \u6B21\u6570\uFF08\u7528\u4E8E\u8C03\u8BD5\uFF09
|
|
749
|
-
suppressedReloadCount: 0
|
|
750
|
-
};
|
|
751
|
-
|
|
752
|
-
// ============================================
|
|
753
|
-
// \u65E5\u5FD7\u5DE5\u5177
|
|
754
|
-
// ============================================
|
|
755
|
-
function log() {
|
|
756
|
-
var args = [PLUGIN_TAG];
|
|
757
|
-
for (var i = 0; i < arguments.length; i++) {
|
|
758
|
-
args.push(arguments[i]);
|
|
759
|
-
}
|
|
760
|
-
console.log.apply(console, args);
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
// ============================================
|
|
764
|
-
// \u6E05\u9664\u6240\u6709\u5B9A\u65F6\u5668
|
|
765
|
-
// ============================================
|
|
766
|
-
function clearAllTimers() {
|
|
767
|
-
if (state.reloadTimer) {
|
|
768
|
-
clearTimeout(state.reloadTimer);
|
|
769
|
-
state.reloadTimer = null;
|
|
770
|
-
}
|
|
771
|
-
if (state.reconnectTimeoutTimer) {
|
|
772
|
-
clearTimeout(state.reconnectTimeoutTimer);
|
|
773
|
-
state.reconnectTimeoutTimer = null;
|
|
774
|
-
}
|
|
775
|
-
if (state.postReconnectTimer) {
|
|
776
|
-
clearTimeout(state.postReconnectTimer);
|
|
777
|
-
state.postReconnectTimer = null;
|
|
778
|
-
}
|
|
779
|
-
if (state.suppressReloadTimer) {
|
|
780
|
-
clearTimeout(state.suppressReloadTimer);
|
|
781
|
-
state.suppressReloadTimer = null;
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
// ============================================
|
|
786
|
-
// \u91CD\u7F6E\u72B6\u6001
|
|
787
|
-
// ============================================
|
|
788
|
-
function resetState() {
|
|
789
|
-
state.detectingReloadType = false;
|
|
790
|
-
state.isServerRestart = false;
|
|
791
|
-
state.waitingForReconnect = false;
|
|
792
|
-
state.suppressingReload = false;
|
|
793
|
-
state.suppressedReloadCount = 0;
|
|
794
|
-
clearAllTimers();
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
// ============================================
|
|
798
|
-
// \u6267\u884C\u771F\u6B63\u7684 full-reload
|
|
799
|
-
// ============================================
|
|
800
|
-
function executeFullReload() {
|
|
801
|
-
log('Executing full-reload');
|
|
802
|
-
resetState();
|
|
803
|
-
originalLocationReload.call(window.location);
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
// ============================================
|
|
807
|
-
// Soft-reload\uFF1A\u5EF6\u8FDF\u5237\u65B0\uFF0C\u6062\u590D HMR \u8FDE\u63A5
|
|
808
|
-
// \u5728\u6291\u5236 reload \u540E\uFF0CVite \u5BA2\u6237\u7AEF\u7684 WebSocket \u5DF2\u6B7B\uFF0C
|
|
809
|
-
// \u9700\u8981\u901A\u8FC7 reload \u6062\u590D HMR\u3002
|
|
810
|
-
// ============================================
|
|
811
|
-
function scheduleSoftReload() {
|
|
812
|
-
log('Scheduling soft-reload to restore HMR connection');
|
|
813
|
-
setTimeout(function() {
|
|
814
|
-
resetState();
|
|
815
|
-
originalLocationReload.call(window.location);
|
|
816
|
-
}, SOFT_RELOAD_DELAY);
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
// ============================================
|
|
820
|
-
// \u62E6\u622A location.reload
|
|
821
|
-
// Vite \u5BA2\u6237\u7AEF\u5728 HTTP ping \u6210\u529F\u540E\u4F1A\u76F4\u63A5\u8C03\u7528 location.reload()
|
|
822
|
-
// \u6211\u4EEC\u9700\u8981\u5728\u670D\u52A1\u5668\u91CD\u542F\u671F\u95F4\u62E6\u622A\u8FD9\u4E2A\u8C03\u7528
|
|
823
|
-
// ============================================
|
|
824
|
-
var originalLocationReload = window.location.reload.bind(window.location);
|
|
699
|
+
</script>`;return {name:"vite-plugin-browser-logs",configResolved(r){let t=A__default.default.env.WORKSPACE_DIR;if(t)e=d__default.default.join(t,"browser.log");else {let o=r.root||A__default.default.cwd();for(;o!==d__default.default.dirname(o)&&!y__default.default.existsSync(d__default.default.join(o,"package.json"));)o=d__default.default.dirname(o);e=d__default.default.join(o,"browser.log");}},configureServer(r){r.middlewares.use((t,o,l)=>{if(t.url==="/__browser__"&&t.method==="POST"){let i=t.headers.origin||"*",c="";t.on("data",u=>{c+=u.toString();}),t.on("end",()=>{try{let u=d__default.default.dirname(e);y__default.default.existsSync(u)||y__default.default.mkdirSync(u,{recursive:!0}),y__default.default.appendFileSync(e,`${c}
|
|
700
|
+
`,"utf-8"),o.writeHead(200,{"Content-Type":"application/json","Access-Control-Allow-Origin":i,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),o.end(JSON.stringify({success:!0}));}catch(u){console.error("[BrowserLogs] Write error:",u),o.writeHead(500,{"Content-Type":"application/json","Access-Control-Allow-Origin":i,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}),o.end(JSON.stringify({success:false,error:String(u)}));}});}else if(t.url==="/__browser__"&&t.method==="OPTIONS"){let i=t.headers.origin||"*";o.writeHead(204,{"Access-Control-Allow-Origin":i,"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type","Access-Control-Max-Age":"86400"}),o.end();}else if(t.url==="/__browser__"){let i=t.headers.origin||"*";o.writeHead(405,{"Content-Type":"application/json","Access-Control-Allow-Origin":i}),o.end(JSON.stringify({error:"Method not allowed"}));}else l();}),console.log("[BrowserLogs] Logs will be written to:",e);},transformIndexHtml(r){return r.replace(/<head([^>]*)>/i,`<head$1>${n}`)}}}var J=`
|
|
701
|
+
import * as React from "react";
|
|
702
|
+
import * as ReactJSXDevRuntime from "react/jsx-dev-runtime";
|
|
825
703
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
value: function smartReloadInterceptedReload() {
|
|
829
|
-
if (state.suppressingReload || state.waitingForReconnect || state.isServerRestart) {
|
|
830
|
-
state.suppressedReloadCount++;
|
|
831
|
-
log('Suppressed location.reload() during server restart (count: ' + state.suppressedReloadCount + ')');
|
|
704
|
+
const _jsxDEV = ReactJSXDevRuntime.jsxDEV;
|
|
705
|
+
export const Fragment = ReactJSXDevRuntime.Fragment;
|
|
832
706
|
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
clearTimeout(state.suppressReloadTimer);
|
|
836
|
-
}
|
|
837
|
-
state.suppressReloadTimer = setTimeout(function() {
|
|
838
|
-
if (state.suppressingReload || state.isServerRestart) {
|
|
839
|
-
log('Reload suppress window expired, performing soft-reload');
|
|
840
|
-
scheduleSoftReload();
|
|
841
|
-
}
|
|
842
|
-
}, RELOAD_SUPPRESS_WINDOW);
|
|
707
|
+
const SOURCE_KEY = Symbol.for("__jsxSource__");
|
|
708
|
+
const PROJECT_ROOT = "";
|
|
843
709
|
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
});
|
|
851
|
-
log('location.reload intercepted via defineProperty');
|
|
852
|
-
} catch (e) {
|
|
853
|
-
// \u67D0\u4E9B\u6D4F\u89C8\u5668\u73AF\u5883\u53EF\u80FD\u4E0D\u5141\u8BB8\u4FEE\u6539 location.reload
|
|
854
|
-
// \u6B64\u65F6\u63D2\u4EF6\u7684 WebSocket \u6D88\u606F\u62E6\u622A\u4ECD\u7136\u6709\u6548\uFF0C\u53EA\u662F\u65E0\u6CD5\u62E6\u622A Vite \u7684 HTTP ping \u540E\u7684 reload
|
|
855
|
-
log('Failed to intercept location.reload (plugin will have limited effectiveness):', e.message);
|
|
710
|
+
const cleanFileName = (fileName) => {
|
|
711
|
+
if (!fileName) return "";
|
|
712
|
+
// Remove project root prefix to get relative path
|
|
713
|
+
if (PROJECT_ROOT && fileName.startsWith(PROJECT_ROOT)) {
|
|
714
|
+
const relative = fileName.slice(PROJECT_ROOT.length);
|
|
715
|
+
return relative.startsWith("/") ? relative.slice(1) : relative;
|
|
856
716
|
}
|
|
717
|
+
return fileName;
|
|
718
|
+
};
|
|
857
719
|
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
function enterServerRestartMode(reason) {
|
|
862
|
-
log('Entering server restart mode:', reason);
|
|
720
|
+
// Global map to track elements by source location
|
|
721
|
+
const sourceElementMap = new Map();
|
|
722
|
+
window.sourceElementMap = sourceElementMap;
|
|
863
723
|
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
state.detectingReloadType = false;
|
|
724
|
+
function getSourceKey(sourceInfo) {
|
|
725
|
+
return \`\${cleanFileName(sourceInfo.fileName)}:\${sourceInfo.lineNumber}:\${sourceInfo.columnNumber}\`;
|
|
726
|
+
}
|
|
868
727
|
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
728
|
+
function unregisterElement(node, sourceInfo) {
|
|
729
|
+
const key = getSourceKey(sourceInfo);
|
|
730
|
+
const refs = sourceElementMap.get(key);
|
|
731
|
+
if (refs) {
|
|
732
|
+
for (const ref of refs) {
|
|
733
|
+
if (ref.deref() === node) {
|
|
734
|
+
refs.delete(ref);
|
|
735
|
+
break;
|
|
736
|
+
}
|
|
872
737
|
}
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
if (state.reconnectTimeoutTimer) {
|
|
876
|
-
clearTimeout(state.reconnectTimeoutTimer);
|
|
738
|
+
if (refs.size === 0) {
|
|
739
|
+
sourceElementMap.delete(key);
|
|
877
740
|
}
|
|
878
|
-
state.reconnectTimeoutTimer = setTimeout(function() {
|
|
879
|
-
if (state.waitingForReconnect || state.isServerRestart) {
|
|
880
|
-
log('Reconnect timeout (' + RECONNECT_TIMEOUT + 'ms), performing full-reload as fallback');
|
|
881
|
-
executeFullReload();
|
|
882
|
-
}
|
|
883
|
-
}, RECONNECT_TIMEOUT);
|
|
884
741
|
}
|
|
742
|
+
}
|
|
885
743
|
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
function isViteHmrWebSocket(url) {
|
|
892
|
-
if (typeof url !== 'string') return false;
|
|
893
|
-
// \u53EA\u5339\u914D Vite HMR \u7279\u5F81\u7684 URL
|
|
894
|
-
return url.includes('/__vite_hmr') || url.includes('?token=');
|
|
744
|
+
function registerElement(node, sourceInfo) {
|
|
745
|
+
const key = getSourceKey(sourceInfo);
|
|
746
|
+
if (!sourceElementMap.has(key)) {
|
|
747
|
+
sourceElementMap.set(key, new Set());
|
|
895
748
|
}
|
|
749
|
+
sourceElementMap.get(key).add(new WeakRef(node));
|
|
750
|
+
}
|
|
896
751
|
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
if (!intercepted) {
|
|
906
|
-
listener.call(ws, event);
|
|
907
|
-
}
|
|
908
|
-
};
|
|
909
|
-
listener.__smartReloadWrapped__ = wrappedListener;
|
|
910
|
-
return originalAddEventListener(type, wrappedListener, options);
|
|
911
|
-
}
|
|
912
|
-
return originalAddEventListener(type, listener, options);
|
|
913
|
-
};
|
|
752
|
+
function getTypeName(type) {
|
|
753
|
+
if (typeof type === "string") return type;
|
|
754
|
+
if (typeof type === "function") return type.displayName || type.name || "Unknown";
|
|
755
|
+
if (typeof type === "object" && type !== null) {
|
|
756
|
+
return type.displayName || type.render?.displayName || type.render?.name || "Unknown";
|
|
757
|
+
}
|
|
758
|
+
return "Unknown";
|
|
759
|
+
}
|
|
914
760
|
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
761
|
+
export function jsxDEV(type, props, key, isStatic, source, self) {
|
|
762
|
+
// For custom components, tag their rendered output
|
|
763
|
+
if (source?.fileName && typeof type !== "string" && type !== Fragment) {
|
|
764
|
+
const typeName = getTypeName(type);
|
|
765
|
+
const fileName = cleanFileName(source.fileName);
|
|
766
|
+
|
|
767
|
+
const jsxSourceInfo = {
|
|
768
|
+
fileName,
|
|
769
|
+
lineNumber: source.lineNumber,
|
|
770
|
+
columnNumber: source.columnNumber,
|
|
771
|
+
displayName: typeName,
|
|
772
|
+
isComponent: true,
|
|
920
773
|
};
|
|
921
774
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
775
|
+
const originalRef = props?.ref;
|
|
776
|
+
|
|
777
|
+
// Check if component can safely receive refs
|
|
778
|
+
// - forwardRef components have $$typeof symbol
|
|
779
|
+
// - Class components have prototype.isReactComponent
|
|
780
|
+
// - If there's already a ref, the component expects it
|
|
781
|
+
const isForwardRef = type.$$typeof === Symbol.for('react.forward_ref');
|
|
782
|
+
const isClassComponent = typeof type === 'function' && type.prototype?.isReactComponent;
|
|
783
|
+
const hasExistingRef = originalRef !== undefined;
|
|
784
|
+
|
|
785
|
+
const canReceiveRef = isForwardRef || isClassComponent || hasExistingRef;
|
|
786
|
+
|
|
787
|
+
if (canReceiveRef) {
|
|
788
|
+
const enhancedProps = {
|
|
789
|
+
...props,
|
|
790
|
+
ref: (node) => {
|
|
791
|
+
if (node) {
|
|
792
|
+
const existingSource = node[SOURCE_KEY];
|
|
793
|
+
if (existingSource) {
|
|
794
|
+
// \u7EC4\u4EF6\u7EA7\u7684 source \u603B\u662F\u8986\u76D6\u5143\u7D20\u7EA7\u7684 source
|
|
795
|
+
if (!existingSource.isComponent) {
|
|
796
|
+
unregisterElement(node, existingSource);
|
|
797
|
+
node[SOURCE_KEY] = jsxSourceInfo;
|
|
798
|
+
registerElement(node, jsxSourceInfo);
|
|
799
|
+
}
|
|
800
|
+
} else {
|
|
801
|
+
node[SOURCE_KEY] = jsxSourceInfo;
|
|
802
|
+
registerElement(node, jsxSourceInfo);
|
|
937
803
|
}
|
|
938
|
-
}
|
|
939
|
-
if (
|
|
940
|
-
|
|
804
|
+
}
|
|
805
|
+
if (typeof originalRef === "function") {
|
|
806
|
+
originalRef(node);
|
|
807
|
+
} else if (originalRef && typeof originalRef === "object") {
|
|
808
|
+
originalRef.current = node;
|
|
941
809
|
}
|
|
942
810
|
},
|
|
943
|
-
|
|
944
|
-
|
|
811
|
+
};
|
|
812
|
+
return _jsxDEV(type, enhancedProps, key, isStatic, source, self);
|
|
945
813
|
}
|
|
946
814
|
|
|
947
|
-
|
|
948
|
-
handleWsClose(event);
|
|
949
|
-
});
|
|
950
|
-
|
|
951
|
-
originalAddEventListener('open', function() {
|
|
952
|
-
handleWsOpen();
|
|
953
|
-
});
|
|
954
|
-
|
|
955
|
-
state.wsIntercepted = true;
|
|
956
|
-
log('Vite HMR WebSocket intercepted');
|
|
957
|
-
|
|
958
|
-
return ws;
|
|
815
|
+
return _jsxDEV(type, props, key, isStatic, source, self);
|
|
959
816
|
}
|
|
960
817
|
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
return ws;
|
|
974
|
-
};
|
|
975
|
-
|
|
976
|
-
window.WebSocket.prototype = OriginalWebSocket.prototype;
|
|
977
|
-
window.WebSocket.CONNECTING = OriginalWebSocket.CONNECTING;
|
|
978
|
-
window.WebSocket.OPEN = OriginalWebSocket.OPEN;
|
|
979
|
-
window.WebSocket.CLOSING = OriginalWebSocket.CLOSING;
|
|
980
|
-
window.WebSocket.CLOSED = OriginalWebSocket.CLOSED;
|
|
981
|
-
|
|
982
|
-
// ============================================
|
|
983
|
-
// WebSocket \u6D88\u606F\u5904\u7406
|
|
984
|
-
// ============================================
|
|
985
|
-
function handleWsMessage(event) {
|
|
986
|
-
var data;
|
|
987
|
-
try {
|
|
988
|
-
data = JSON.parse(event.data);
|
|
989
|
-
} catch (e) {
|
|
990
|
-
// \u975E JSON \u6D88\u606F\uFF0C\u4E0D\u62E6\u622A
|
|
991
|
-
return false;
|
|
818
|
+
// For host elements (div, span, etc.), tag with source info
|
|
819
|
+
if (source?.fileName && typeof type === "string") {
|
|
820
|
+
const fileName = cleanFileName(source.fileName);
|
|
821
|
+
|
|
822
|
+
// \u5224\u65AD\u5F53\u524D\u5143\u7D20\u662F\u5426\u5728\u7EC4\u4EF6\u5E93\u4E2D\u5B9A\u4E49
|
|
823
|
+
const isInLibrary = fileName.includes('src/components/ui/') ||
|
|
824
|
+
fileName.includes('node_modules');
|
|
825
|
+
|
|
826
|
+
// \u7EC4\u4EF6\u5E93\u5185\u90E8\u7684\u5143\u7D20\u4E0D\u6807\u8BB0\uFF0C\u4E0D\u652F\u6301\u53EF\u89C6\u5316\u7F16\u8F91
|
|
827
|
+
if (isInLibrary) {
|
|
828
|
+
return _jsxDEV(type, props, key, isStatic, source, self);
|
|
992
829
|
}
|
|
830
|
+
|
|
831
|
+
const sourceInfo = {
|
|
832
|
+
fileName,
|
|
833
|
+
lineNumber: source.lineNumber,
|
|
834
|
+
columnNumber: source.columnNumber,
|
|
835
|
+
displayName: type,
|
|
836
|
+
isComponent: false, // \u6807\u8BB0\u8FD9\u662F\u5143\u7D20\u7EA7\u522B\u7684 source
|
|
837
|
+
};
|
|
993
838
|
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
839
|
+
const originalRef = props?.ref;
|
|
840
|
+
|
|
841
|
+
const enhancedProps = {
|
|
842
|
+
...props,
|
|
843
|
+
ref: (node) => {
|
|
844
|
+
if (node) {
|
|
845
|
+
const existingSource = node[SOURCE_KEY];
|
|
846
|
+
// \u5982\u679C\u5DF2\u6709 source\uFF0C\u68C0\u67E5\u662F\u5426\u5E94\u8BE5\u4FDD\u7559\u5916\u5C42\u7684
|
|
847
|
+
if (existingSource) {
|
|
848
|
+
// \u5982\u679C\u5DF2\u6709\u7684\u662F\u7EC4\u4EF6\u7EA7\u522B\u7684 source\uFF08isComponent: true\uFF09\uFF0C\u4FDD\u7559\u5B83
|
|
849
|
+
if (existingSource.isComponent) {
|
|
850
|
+
// \u4E0D\u66F4\u65B0\uFF0C\u4FDD\u7559\u7EC4\u4EF6\u7EA7\u522B\u7684 source
|
|
851
|
+
if (typeof originalRef === "function") {
|
|
852
|
+
originalRef(node);
|
|
853
|
+
} else if (originalRef && typeof originalRef === "object") {
|
|
854
|
+
originalRef.current = node;
|
|
855
|
+
}
|
|
856
|
+
return;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
// \u5426\u5219\u6309\u6B63\u5E38\u903B\u8F91\u66F4\u65B0
|
|
860
|
+
if (getSourceKey(existingSource) !== getSourceKey(sourceInfo)) {
|
|
861
|
+
unregisterElement(node, existingSource);
|
|
862
|
+
node[SOURCE_KEY] = sourceInfo;
|
|
863
|
+
registerElement(node, sourceInfo);
|
|
864
|
+
}
|
|
865
|
+
} else {
|
|
866
|
+
node[SOURCE_KEY] = sourceInfo;
|
|
867
|
+
registerElement(node, sourceInfo);
|
|
868
|
+
}
|
|
1013
869
|
}
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
// \u5904\u7406 connected \u6D88\u606F\uFF08Vite \u670D\u52A1\u5668\u53D1\u9001\u7684\u9996\u6761\u6D88\u606F\uFF09
|
|
1021
|
-
if (data.type === 'connected') {
|
|
1022
|
-
if (state.isServerRestart) {
|
|
1023
|
-
log('Reconnected to Vite server after restart');
|
|
1024
|
-
|
|
1025
|
-
// \u6E05\u9664\u91CD\u8FDE\u8D85\u65F6
|
|
1026
|
-
if (state.reconnectTimeoutTimer) {
|
|
1027
|
-
clearTimeout(state.reconnectTimeoutTimer);
|
|
1028
|
-
state.reconnectTimeoutTimer = null;
|
|
870
|
+
if (typeof originalRef === "function") {
|
|
871
|
+
originalRef(node);
|
|
872
|
+
} else if (originalRef && typeof originalRef === "object") {
|
|
873
|
+
originalRef.current = node;
|
|
1029
874
|
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
// \u91CD\u8FDE\u540E\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\uFF0C\u770B\u662F\u5426\u6709 full-reload \u6216 update \u6D88\u606F
|
|
1034
|
-
// \u5982\u679C\u6CA1\u6709\uFF0C\u8BF4\u660E\u4E0D\u9700\u8981\u5237\u65B0\uFF0C\u4F46\u4ECD\u9700 soft-reload \u6062\u590D HMR
|
|
1035
|
-
state.postReconnectTimer = setTimeout(function() {
|
|
1036
|
-
if (state.isServerRestart) {
|
|
1037
|
-
log('No changes detected after reconnect, performing soft-reload to restore HMR');
|
|
1038
|
-
scheduleSoftReload();
|
|
1039
|
-
}
|
|
1040
|
-
}, POST_RECONNECT_WINDOW);
|
|
1041
|
-
}
|
|
1042
|
-
return false; // \u8BA9 connected \u6D88\u606F\u6B63\u5E38\u4F20\u9012
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
// \u5904\u7406 update \u6D88\u606F\uFF08HMR \u70ED\u66F4\u65B0\uFF09
|
|
1046
|
-
if (data.type === 'update' && state.isServerRestart) {
|
|
1047
|
-
// \u91CD\u8FDE\u540E\u6536\u5230 HMR update\uFF0C\u8BF4\u660E\u6709\u6A21\u5757\u53D8\u66F4
|
|
1048
|
-
// \u8BA9 HMR update \u6B63\u5E38\u5904\u7406
|
|
1049
|
-
log('Received HMR update after reconnect, letting HMR handle it');
|
|
1050
|
-
if (state.postReconnectTimer) {
|
|
1051
|
-
clearTimeout(state.postReconnectTimer);
|
|
1052
|
-
state.postReconnectTimer = null;
|
|
1053
|
-
}
|
|
1054
|
-
// \u6709 HMR update \u8BF4\u660E WebSocket \u662F\u6D3B\u7684\uFF0C\u53EF\u4EE5\u76F4\u63A5\u6062\u590D
|
|
1055
|
-
resetState();
|
|
1056
|
-
return false; // \u8BA9 update \u6D88\u606F\u6B63\u5E38\u4F20\u9012\u7ED9 Vite \u5BA2\u6237\u7AEF\u5904\u7406 HMR
|
|
1057
|
-
}
|
|
1058
|
-
|
|
1059
|
-
return false;
|
|
875
|
+
},
|
|
876
|
+
};
|
|
877
|
+
return _jsxDEV(type, enhancedProps, key, isStatic, source, self);
|
|
1060
878
|
}
|
|
1061
879
|
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
880
|
+
return _jsxDEV(type, props, key, isStatic, source, self);
|
|
881
|
+
}
|
|
882
|
+
`;function S(){let e=false,n="";return {name:"vite-plugin-jsx-source-tagger",enforce:"pre",configResolved(r){e=r.command==="serve",n=r.root;},resolveId(r,t){return e&&r==="react/jsx-dev-runtime"&&!t?.includes("\0jsx-source")?"\0jsx-source/jsx-dev-runtime":null},load(r){return e&&r==="\0jsx-source/jsx-dev-runtime"?J.replace('const PROJECT_ROOT = "";',`const PROJECT_ROOT = ${JSON.stringify(n)};`):null}}}function b(e){let n="",r=false,t=null,o=null,l=e?.configPath||"./tailwind.config.ts",i="@amaster/tailwind-config",c="\0"+i,u=async()=>{let a=d__default.default.resolve(n,l);try{return await w__default.default.access(a),a}catch{if(l.endsWith(".ts")){let s=a.replace(/\.ts$/,".js");try{return await w__default.default.access(s),s}catch{return null}}else if(l.endsWith(".js")){let s=a.replace(/\.js$/,".ts");try{return await w__default.default.access(s),s}catch{return null}}return null}},v=async a=>{try{let s=await u();if(!s)return null;if(a){let O=await a.ssrLoadModule(s);return t=O.default||O,t}let f=await import(`file://${s}?t=${Date.now()}`);return t=f.default||f,t}catch(s){return console.error("[tailwind-config-sync] Failed to generate config:",s),null}};return {name:"vite-plugin-tailwind-config-sync",configResolved(a){n=a.root,r=a.command==="serve";},async buildStart(){r&&await v();},resolveId(a){if(a===i)return c},async load(a){if(a===c)return await v(o),t?`
|
|
883
|
+
// Use global variable to persist callbacks and current config across HMR updates
|
|
884
|
+
if (!window.__tailwindConfigCallbacks) {
|
|
885
|
+
window.__tailwindConfigCallbacks = [];
|
|
886
|
+
}
|
|
1067
887
|
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
enterServerRestartMode('full-reload followed by disconnect');
|
|
1071
|
-
return;
|
|
1072
|
-
}
|
|
888
|
+
// Always update current config with the latest from server
|
|
889
|
+
let tailwindConfigCurrent = ${JSON.stringify(t)};
|
|
1073
890
|
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
891
|
+
if (import.meta.hot) {
|
|
892
|
+
// Accept self updates
|
|
893
|
+
import.meta.hot.accept((newModule) => {
|
|
894
|
+
if (newModule && newModule.default) {
|
|
895
|
+
// Call all update callbacks with the new config from window
|
|
896
|
+
window.__tailwindConfigCallbacks.forEach((callback) => {
|
|
897
|
+
try {
|
|
898
|
+
// Pass the actual config object, not the Proxy
|
|
899
|
+
callback(newModule.default);
|
|
900
|
+
} catch (e) {
|
|
901
|
+
console.error('[TailwindConfig] Callback error:', e);
|
|
902
|
+
}
|
|
903
|
+
});
|
|
1078
904
|
}
|
|
1079
|
-
}
|
|
1080
|
-
|
|
1081
|
-
function handleWsOpen() {
|
|
1082
|
-
log('WebSocket opened');
|
|
1083
|
-
}
|
|
905
|
+
});
|
|
906
|
+
}
|
|
1084
907
|
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
originalLocationReload.call(window.location);
|
|
908
|
+
export function onUpdate(fn) {
|
|
909
|
+
window.__tailwindConfigCallbacks.push(fn);
|
|
910
|
+
return () => {
|
|
911
|
+
const index = window.__tailwindConfigCallbacks.indexOf(fn);
|
|
912
|
+
if (index > -1) {
|
|
913
|
+
window.__tailwindConfigCallbacks.splice(index, 1);
|
|
914
|
+
}
|
|
1093
915
|
};
|
|
916
|
+
};
|
|
917
|
+
export default tailwindConfigCurrent;
|
|
1094
918
|
|
|
1095
|
-
|
|
1096
|
-
})();
|
|
1097
|
-
</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:e}]}}}}function v(r={}){let{designWidth:e=375,maxWidth:t=750,baseFontSize:n=12,minRootSize:o=12,maxRootSize:i=24}=r;return {name:"vite-plugin-taro-style-adapter",apply:"serve",transformIndexHtml(s){let l=`
|
|
919
|
+
`:"export default null;"},configureServer(a){r&&(o=a,(async()=>{try{let s=await u();s&&a.watcher.add(s);}catch{}})());},async handleHotUpdate({file:a,server:s}){let p=await u();if(!p||d__default.default.normalize(a)!==d__default.default.normalize(p))return;let f=s.moduleGraph.getModuleById(p);f&&s.moduleGraph.invalidateModule(f),await v(s);let g=s.moduleGraph.getModuleById(c);return g?(s.moduleGraph.invalidateModule(g),[g]):[]}}}function x(e={}){let{designWidth:n=375,maxWidth:r=750,baseFontSize:t=12,minRootSize:o=12,maxRootSize:l=24}=e;return {name:"vite-plugin-taro-style-adapter",apply:"serve",transformIndexHtml(i){let c=`
|
|
1098
920
|
<script data-taro-flexible="true">
|
|
1099
921
|
(function() {
|
|
1100
|
-
var designWidth = ${
|
|
1101
|
-
var maxWidth = ${
|
|
1102
|
-
var baseFontSize = ${
|
|
922
|
+
var designWidth = ${n};
|
|
923
|
+
var maxWidth = ${r};
|
|
924
|
+
var baseFontSize = ${t};
|
|
1103
925
|
var minRootSize = ${o};
|
|
1104
|
-
var maxRootSize = ${
|
|
926
|
+
var maxRootSize = ${l};
|
|
1105
927
|
|
|
1106
928
|
function setRootFontSize() {
|
|
1107
929
|
var docEl = document.documentElement;
|
|
@@ -1135,7 +957,7 @@ if (typeof window !== 'undefined') {
|
|
|
1135
957
|
document.addEventListener('DOMContentLoaded', setRootFontSize);
|
|
1136
958
|
})();
|
|
1137
959
|
</script>
|
|
1138
|
-
`;return
|
|
960
|
+
`;return i.replace("</head>",`${c}
|
|
1139
961
|
<style data-taro-adapter="true">
|
|
1140
962
|
/* \u4EC5 H5 \u751F\u6548\uFF1A\u9690\u85CF Taro \u9875\u9762\u5BB9\u5668\u6EDA\u52A8\u6761\uFF0C\u4F46\u4ECD\u53EF\u6EDA\u52A8 */
|
|
1141
963
|
.taro_page {
|
|
@@ -1181,5 +1003,5 @@ if (typeof window !== 'undefined') {
|
|
|
1181
1003
|
object-fit: contain;
|
|
1182
1004
|
}
|
|
1183
1005
|
</style>
|
|
1184
|
-
</head>`)}}}function
|
|
1006
|
+
</head>`)}}}function h(e={}){let{ratio:n=2}=e;return {postcssPlugin:"postcss-rpx2px",Declaration(r){r.value?.includes("rpx")&&(r.value=r.value.replace(/(-?\d*\.?\d+)rpx/gi,(t,o)=>{let l=parseFloat(o)/n;return l===0?"0":`${l}px`}));}}}h.postcss=true;var $=/(-?\d*\.?\d+)rpx/gi,K=k__default.default.default??k__default.default,Y=L__default.default.default??L__default.default;function E(e,n){return e.replace($,(r,t)=>{let o=Number.parseFloat(t)/n;return o===0?"0":`${o}px`})}function G(e,n){if(!e.value.includes("rpx"))return false;let r=E(e.value,n);return r===e.value?false:(e.value=r,e.extra?.raw&&(e.extra.rawValue=r,e.extra.raw=JSON.stringify(r)),true)}function Q(e,n){let r=e.value.raw;if(!r.includes("rpx"))return false;let t=E(r,n),o=e.value.cooked==null?void 0:E(e.value.cooked,n);return t===r&&o===e.value.cooked?false:(e.value.raw=t,e.value.cooked=o,true)}function Z(e){return e.name.type==="JSXIdentifier"&&e.name.name==="style"}function ee(e,n){let r=false;return e.traverse({StringLiteral(t){G(t.node,n)&&(r=true);},TemplateElement(t){Q(t.node,n)&&(r=true);}}),r}function D(e,n=2){let r=parser.parse(e,{sourceType:"module",plugins:["jsx","typescript"],errorRecovery:true}),t=false;return Y(r,{JSXAttribute(o){if(!Z(o.node)||o.node.value?.type!=="JSXExpressionContainer")return;let l=o.get("value");l.isJSXExpressionContainer()&&ee(l,n)&&(t=true);}}),t?{changed:true,code:K(r,{retainLines:true,decoratorsBeforeExport:true,jsescOption:{minimal:true}},e).code}:{changed:false,code:e}}function R(e={}){let{ratio:n=2}=e;return {name:"vite-plugin-jsx-inline-style-rpx",enforce:"pre",transform(r,t){if(process.env.TARO_ENV!=="h5"||!/\.[jt]sx($|\?)/.test(t))return null;let o=D(r,n);return o.changed?{code:o.code,map:null}:null}}}function re(e={}){let{additional:n=[],autoInjectTaroApp:r=true,autoInjectVite:t=true}=e,o={},l=new Set(n);return r&&Object.keys(process.env).forEach(i=>{i.startsWith("TARO_APP_")&&l.add(i);}),t&&Object.keys(process.env).forEach(i=>{i.startsWith("VITE_")&&l.add(i);}),l.forEach(i=>{let c=process.env[i]||"";o[`process.env.${i}`]=JSON.stringify(c);}),o}function te(){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 ne(e={}){let n=e.isTaro??A__default.default.env.TARO_ENV==="h5",r=[C(),I()];return e.jsxSourceTagger!==false&&r.push(S()),e.tailwindConfigSync!==false&&r.push(b({configPath:e.tailwindConfigPath})),n&&(r.unshift(R()),r.unshift(x(e.styleAdapter)),r.unshift({name:"dev-postcss-rpx2px-plugin",apply:"serve",config(t){typeof t.css?.postcss=="object"&&t.css?.postcss.plugins?.unshift(h());}})),A__default.default.env.WORKSPACE_GIT_REPO&&r.push(j()),r}exports.default=ne;exports.editorBridgePlugin=C;exports.injectAmasterEnv=te;exports.injectTaroEnv=re;exports.jsxInlineStyleRpxPlugin=R;exports.jsxSourceTaggerPlugin=S;exports.routesExposePlugin=I;exports.rpx2pxPlugin=h;exports.tailwindConfigSyncPlugin=b;exports.taroStyleAdapterPlugin=x;exports.transformJsxInlineStyleRpx=D;//# sourceMappingURL=index.cjs.map
|
|
1185
1007
|
//# sourceMappingURL=index.cjs.map
|