@hanzogui/vite-plugin 4.4.0 → 102.0.0-rc.41-hanzoai.1
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/cjs/{loadGui.cjs → loadHanzogui.cjs} +13 -13
- package/dist/cjs/plugin.cjs +43 -43
- package/dist/esm/{loadGui.mjs → loadHanzogui.mjs} +10 -10
- package/dist/esm/loadHanzogui.mjs.map +1 -0
- package/dist/esm/plugin.mjs +40 -40
- package/dist/esm/plugin.mjs.map +1 -1
- package/package.json +18 -16
- package/src/{loadGui.ts → loadHanzogui.ts} +19 -19
- package/src/plugin.ts +51 -46
- package/types/loadHanzogui.d.ts +15 -0
- package/types/loadHanzogui.d.ts.map +1 -0
- package/types/plugin.d.ts +4 -4
- package/types/plugin.d.ts.map +1 -1
- package/dist/esm/loadGui.mjs.map +0 -1
- package/types/loadGui.d.ts +0 -15
- package/types/loadGui.d.ts.map +0 -1
|
@@ -31,17 +31,17 @@ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
|
31
31
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
32
|
value: true
|
|
33
33
|
}), mod);
|
|
34
|
-
var
|
|
35
|
-
__export(
|
|
34
|
+
var loadHanzogui_exports = {};
|
|
35
|
+
__export(loadHanzogui_exports, {
|
|
36
36
|
cleanup: () => cleanup,
|
|
37
37
|
ensureFullConfigLoaded: () => ensureFullConfigLoaded,
|
|
38
|
-
|
|
38
|
+
getHanzoguiOptions: () => getHanzoguiOptions,
|
|
39
39
|
getLoadPromise: () => getLoadPromise,
|
|
40
|
-
|
|
40
|
+
loadHanzoguiBuildConfig: () => loadHanzoguiBuildConfig
|
|
41
41
|
});
|
|
42
|
-
module.exports = __toCommonJS(
|
|
42
|
+
module.exports = __toCommonJS(loadHanzogui_exports);
|
|
43
43
|
var StaticWorker = __toESM(require("@hanzogui/static-worker"), 1);
|
|
44
|
-
const LOAD_STATE_KEY = "
|
|
44
|
+
const LOAD_STATE_KEY = "__hanzogui_load_state__";
|
|
45
45
|
function getLoadState() {
|
|
46
46
|
if (!globalThis[LOAD_STATE_KEY]) {
|
|
47
47
|
;
|
|
@@ -54,18 +54,18 @@ function getLoadState() {
|
|
|
54
54
|
}
|
|
55
55
|
return globalThis[LOAD_STATE_KEY];
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
function getHanzoguiOptions() {
|
|
58
58
|
return getLoadState().loadedOptions;
|
|
59
59
|
}
|
|
60
60
|
function getLoadPromise() {
|
|
61
61
|
return getLoadState().loadPromise;
|
|
62
62
|
}
|
|
63
|
-
async function
|
|
63
|
+
async function loadHanzoguiBuildConfig(optionsIn) {
|
|
64
64
|
const state = getLoadState();
|
|
65
65
|
if (state.loadedOptions) return state.loadedOptions;
|
|
66
66
|
if (state.loadPromise) return state.loadPromise;
|
|
67
67
|
state.loadPromise = (async () => {
|
|
68
|
-
const options = await StaticWorker.
|
|
68
|
+
const options = await StaticWorker.loadHanzoguiBuildConfig({
|
|
69
69
|
...optionsIn,
|
|
70
70
|
platform: "web"
|
|
71
71
|
});
|
|
@@ -79,10 +79,10 @@ async function ensureFullConfigLoaded() {
|
|
|
79
79
|
if (state.fullConfigLoaded) return;
|
|
80
80
|
if (state.fullConfigLoadPromise) return state.fullConfigLoadPromise;
|
|
81
81
|
state.fullConfigLoadPromise = (async () => {
|
|
82
|
-
const options = await
|
|
83
|
-
if (!options.
|
|
84
|
-
await StaticWorker.
|
|
85
|
-
components: ["
|
|
82
|
+
const options = await loadHanzoguiBuildConfig();
|
|
83
|
+
if (!options.disableWatchHanzoguiConfig && !options.disable) {
|
|
84
|
+
await StaticWorker.loadHanzogui({
|
|
85
|
+
components: ["hanzogui"],
|
|
86
86
|
platform: "web",
|
|
87
87
|
...options
|
|
88
88
|
});
|
package/dist/cjs/plugin.cjs
CHANGED
|
@@ -33,8 +33,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
33
33
|
}), mod);
|
|
34
34
|
var plugin_exports = {};
|
|
35
35
|
__export(plugin_exports, {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
hanzoguiAliases: () => hanzoguiAliases,
|
|
37
|
+
hanzoguiPlugin: () => hanzoguiPlugin
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(plugin_exports);
|
|
40
40
|
var Static = __toESM(require("@hanzogui/static-worker"), 1);
|
|
@@ -43,12 +43,12 @@ var import_node_crypto = require("node:crypto");
|
|
|
43
43
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
44
44
|
var import_node_url = require("node:url");
|
|
45
45
|
var import_vite = require("vite");
|
|
46
|
-
var
|
|
46
|
+
var import_loadHanzogui = require("./loadHanzogui.cjs");
|
|
47
47
|
const import_meta = {};
|
|
48
48
|
const resolve = name => (0, import_node_url.fileURLToPath)(import_meta.resolve(name));
|
|
49
|
-
const CACHE_KEY = "
|
|
50
|
-
const CACHE_SIZE_KEY = "
|
|
51
|
-
const PENDING_KEY = "
|
|
49
|
+
const CACHE_KEY = "__hanzogui_vite_cache__";
|
|
50
|
+
const CACHE_SIZE_KEY = "__hanzogui_vite_cache_size__";
|
|
51
|
+
const PENDING_KEY = "__hanzogui_vite_pending__";
|
|
52
52
|
function getSharedCache() {
|
|
53
53
|
if (!globalThis[CACHE_KEY]) {
|
|
54
54
|
;
|
|
@@ -75,7 +75,7 @@ function getPendingExtractions() {
|
|
|
75
75
|
}
|
|
76
76
|
return globalThis[PENDING_KEY];
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function hanzoguiAliases(options = {}) {
|
|
79
79
|
const aliases = [];
|
|
80
80
|
if (options.svg) {
|
|
81
81
|
aliases.push({
|
|
@@ -107,19 +107,19 @@ function guiAliases(options = {}) {
|
|
|
107
107
|
}
|
|
108
108
|
return aliases;
|
|
109
109
|
}
|
|
110
|
-
function
|
|
110
|
+
function hanzoguiPlugin({
|
|
111
111
|
disableResolveConfig,
|
|
112
|
-
...
|
|
112
|
+
...hanzoguiOptionsIn
|
|
113
113
|
} = {}) {
|
|
114
|
-
let shouldExtract = !
|
|
114
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction;
|
|
115
115
|
let watcher;
|
|
116
116
|
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv;
|
|
117
117
|
const extensions = [`.web.mjs`, `.web.js`, `.web.jsx`, `.web.ts`, `.web.tsx`, ".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"];
|
|
118
|
-
(0,
|
|
118
|
+
(0, import_loadHanzogui.loadHanzoguiBuildConfig)(hanzoguiOptionsIn);
|
|
119
119
|
const ensureLoaded = async () => {
|
|
120
|
-
const promise = (0,
|
|
120
|
+
const promise = (0, import_loadHanzogui.getLoadPromise)();
|
|
121
121
|
if (promise) await promise;
|
|
122
|
-
const options = (0,
|
|
122
|
+
const options = (0, import_loadHanzogui.getHanzoguiOptions)();
|
|
123
123
|
if (options) {
|
|
124
124
|
shouldExtract = !options.disableExtraction;
|
|
125
125
|
}
|
|
@@ -130,7 +130,7 @@ function guiPlugin({
|
|
|
130
130
|
const cssMap = /* @__PURE__ */new Map();
|
|
131
131
|
let config;
|
|
132
132
|
let server;
|
|
133
|
-
const virtualExt = `.
|
|
133
|
+
const virtualExt = `.hanzogui.css`;
|
|
134
134
|
const getAbsoluteVirtualFileId = filePath => {
|
|
135
135
|
if (filePath.startsWith(config.root)) {
|
|
136
136
|
return filePath;
|
|
@@ -157,7 +157,7 @@ function guiPlugin({
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
const basePlugin = {
|
|
160
|
-
name: "
|
|
160
|
+
name: "hanzogui",
|
|
161
161
|
enforce: "pre",
|
|
162
162
|
configureServer(_server) {
|
|
163
163
|
server = _server;
|
|
@@ -170,24 +170,24 @@ function guiPlugin({
|
|
|
170
170
|
async config(_, env) {
|
|
171
171
|
const options = await ensureLoaded();
|
|
172
172
|
if (!options) {
|
|
173
|
-
throw new Error(`No
|
|
173
|
+
throw new Error(`No hanzogui options loaded`);
|
|
174
174
|
}
|
|
175
|
-
if (!options.
|
|
176
|
-
watcher = Static.
|
|
177
|
-
components: ["
|
|
178
|
-
config: "./src/
|
|
175
|
+
if (!options.disableWatchHanzoguiConfig) {
|
|
176
|
+
watcher = Static.watchHanzoguiConfig({
|
|
177
|
+
components: ["hanzogui"],
|
|
178
|
+
config: "./src/hanzogui.config.ts",
|
|
179
179
|
...options
|
|
180
180
|
}).catch(err => {
|
|
181
|
-
console.error(` [
|
|
181
|
+
console.error(` [Hanzogui] Error watching config: ${err}`);
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
return {
|
|
185
|
-
envPrefix: ["
|
|
185
|
+
envPrefix: ["TAMAGUI_"],
|
|
186
186
|
environments: {
|
|
187
187
|
client: {
|
|
188
188
|
define: {
|
|
189
|
-
"process.env.
|
|
190
|
-
"process.env.
|
|
189
|
+
"process.env.TAMAGUI_IS_CLIENT": JSON.stringify(true),
|
|
190
|
+
"process.env.TAMAGUI_ENVIRONMENT": '"client"'
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
},
|
|
@@ -201,7 +201,7 @@ function guiPlugin({
|
|
|
201
201
|
"process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
|
|
202
202
|
"process.env.IS_STATIC": JSON.stringify(false),
|
|
203
203
|
...(env.mode === "production" && {
|
|
204
|
-
"process.env.
|
|
204
|
+
"process.env.TAMAGUI_OPTIMIZE_THEMES": JSON.stringify(true)
|
|
205
205
|
})
|
|
206
206
|
},
|
|
207
207
|
resolve: disableResolveConfig || enableNativeEnv ? {} : {
|
|
@@ -221,18 +221,18 @@ function guiPlugin({
|
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
223
|
const rnwLitePlugin = {
|
|
224
|
-
name: "
|
|
224
|
+
name: "hanzogui-rnw-lite",
|
|
225
225
|
config() {
|
|
226
226
|
if (enableNativeEnv) {
|
|
227
227
|
return {};
|
|
228
228
|
}
|
|
229
|
-
const options = (0,
|
|
229
|
+
const options = (0, import_loadHanzogui.getHanzoguiOptions)();
|
|
230
230
|
if (!options?.useReactNativeWebLite) {
|
|
231
231
|
return {};
|
|
232
232
|
}
|
|
233
233
|
return {
|
|
234
234
|
resolve: {
|
|
235
|
-
alias:
|
|
235
|
+
alias: hanzoguiAliases({
|
|
236
236
|
rnwLite: options.useReactNativeWebLite
|
|
237
237
|
})
|
|
238
238
|
},
|
|
@@ -244,7 +244,7 @@ function guiPlugin({
|
|
|
244
244
|
}
|
|
245
245
|
};
|
|
246
246
|
const extractPlugin = {
|
|
247
|
-
name: "
|
|
247
|
+
name: "hanzogui-extract",
|
|
248
248
|
enforce: "pre",
|
|
249
249
|
async config(userConf) {
|
|
250
250
|
const options = await ensureLoaded();
|
|
@@ -276,7 +276,7 @@ function guiPlugin({
|
|
|
276
276
|
},
|
|
277
277
|
async load(id) {
|
|
278
278
|
if (!shouldExtract) return;
|
|
279
|
-
const options = (0,
|
|
279
|
+
const options = (0, import_loadHanzogui.getHanzoguiOptions)();
|
|
280
280
|
if (options?.disable) {
|
|
281
281
|
return;
|
|
282
282
|
}
|
|
@@ -293,7 +293,7 @@ function guiPlugin({
|
|
|
293
293
|
order: "pre",
|
|
294
294
|
async handler(code, id) {
|
|
295
295
|
const options = await ensureLoaded();
|
|
296
|
-
await (0,
|
|
296
|
+
await (0, import_loadHanzogui.ensureFullConfigLoaded)();
|
|
297
297
|
if (options?.disable) {
|
|
298
298
|
return;
|
|
299
299
|
}
|
|
@@ -336,15 +336,15 @@ ${entry.cssImport}` : entry.js;
|
|
|
336
336
|
};
|
|
337
337
|
const cached = memoryCache[cacheKey];
|
|
338
338
|
if (cached) {
|
|
339
|
-
if (process.env.
|
|
340
|
-
console.info(`[
|
|
339
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
340
|
+
console.info(`[hanzogui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
341
341
|
}
|
|
342
342
|
return formatResult(cached);
|
|
343
343
|
}
|
|
344
344
|
const pendingExtraction = pending.get(cacheKey);
|
|
345
345
|
if (pendingExtraction) {
|
|
346
|
-
if (process.env.
|
|
347
|
-
console.info(`[
|
|
346
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
347
|
+
console.info(`[hanzogui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
348
348
|
}
|
|
349
349
|
const result = await pendingExtraction;
|
|
350
350
|
if (result) {
|
|
@@ -352,8 +352,8 @@ ${entry.cssImport}` : entry.js;
|
|
|
352
352
|
}
|
|
353
353
|
return;
|
|
354
354
|
}
|
|
355
|
-
if (process.env.
|
|
356
|
-
console.info(`[
|
|
355
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
356
|
+
console.info(`[hanzogui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
357
357
|
}
|
|
358
358
|
const extractionPromise = (async () => {
|
|
359
359
|
let extracted;
|
|
@@ -365,15 +365,15 @@ ${entry.cssImport}` : entry.js;
|
|
|
365
365
|
shouldPrintDebug
|
|
366
366
|
});
|
|
367
367
|
} catch (err) {
|
|
368
|
-
if (process.env.
|
|
369
|
-
console.info(`[
|
|
368
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
369
|
+
console.info(`[hanzogui-cache] ERROR extracting ${id.split("/").pop()}:`, err);
|
|
370
370
|
}
|
|
371
371
|
console.error(err instanceof Error ? err.message : String(err));
|
|
372
372
|
return null;
|
|
373
373
|
}
|
|
374
374
|
if (!extracted) {
|
|
375
|
-
if (process.env.
|
|
376
|
-
console.info(`[
|
|
375
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
376
|
+
console.info(`[hanzogui-cache] no extraction result for ${id.split("/").pop()}`);
|
|
377
377
|
}
|
|
378
378
|
return null;
|
|
379
379
|
}
|
|
@@ -401,8 +401,8 @@ ${entry.cssImport}` : entry.js;
|
|
|
401
401
|
setSharedCacheSize(newSize);
|
|
402
402
|
}
|
|
403
403
|
memoryCache[cacheKey] = cacheEntry;
|
|
404
|
-
if (process.env.
|
|
405
|
-
console.info(`[
|
|
404
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
405
|
+
console.info(`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`);
|
|
406
406
|
}
|
|
407
407
|
return cacheEntry;
|
|
408
408
|
})();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as StaticWorker from "@hanzogui/static-worker";
|
|
2
|
-
const LOAD_STATE_KEY = "
|
|
2
|
+
const LOAD_STATE_KEY = "__hanzogui_load_state__";
|
|
3
3
|
function getLoadState() {
|
|
4
4
|
if (!globalThis[LOAD_STATE_KEY]) {
|
|
5
5
|
;
|
|
@@ -12,18 +12,18 @@ function getLoadState() {
|
|
|
12
12
|
}
|
|
13
13
|
return globalThis[LOAD_STATE_KEY];
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function getHanzoguiOptions() {
|
|
16
16
|
return getLoadState().loadedOptions;
|
|
17
17
|
}
|
|
18
18
|
function getLoadPromise() {
|
|
19
19
|
return getLoadState().loadPromise;
|
|
20
20
|
}
|
|
21
|
-
async function
|
|
21
|
+
async function loadHanzoguiBuildConfig(optionsIn) {
|
|
22
22
|
const state = getLoadState();
|
|
23
23
|
if (state.loadedOptions) return state.loadedOptions;
|
|
24
24
|
if (state.loadPromise) return state.loadPromise;
|
|
25
25
|
state.loadPromise = (async () => {
|
|
26
|
-
const options = await StaticWorker.
|
|
26
|
+
const options = await StaticWorker.loadHanzoguiBuildConfig({
|
|
27
27
|
...optionsIn,
|
|
28
28
|
platform: "web"
|
|
29
29
|
});
|
|
@@ -37,10 +37,10 @@ async function ensureFullConfigLoaded() {
|
|
|
37
37
|
if (state.fullConfigLoaded) return;
|
|
38
38
|
if (state.fullConfigLoadPromise) return state.fullConfigLoadPromise;
|
|
39
39
|
state.fullConfigLoadPromise = (async () => {
|
|
40
|
-
const options = await
|
|
41
|
-
if (!options.
|
|
42
|
-
await StaticWorker.
|
|
43
|
-
components: ["
|
|
40
|
+
const options = await loadHanzoguiBuildConfig();
|
|
41
|
+
if (!options.disableWatchHanzoguiConfig && !options.disable) {
|
|
42
|
+
await StaticWorker.loadHanzogui({
|
|
43
|
+
components: ["hanzogui"],
|
|
44
44
|
platform: "web",
|
|
45
45
|
...options
|
|
46
46
|
});
|
|
@@ -57,5 +57,5 @@ async function cleanup() {
|
|
|
57
57
|
state.fullConfigLoaded = false;
|
|
58
58
|
state.fullConfigLoadPromise = null;
|
|
59
59
|
}
|
|
60
|
-
export { cleanup, ensureFullConfigLoaded,
|
|
61
|
-
//# sourceMappingURL=
|
|
60
|
+
export { cleanup, ensureFullConfigLoaded, getHanzoguiOptions, getLoadPromise, loadHanzoguiBuildConfig };
|
|
61
|
+
//# sourceMappingURL=loadHanzogui.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StaticWorker","LOAD_STATE_KEY","getLoadState","globalThis","loadPromise","loadedOptions","fullConfigLoaded","fullConfigLoadPromise","getHanzoguiOptions","getLoadPromise","loadHanzoguiBuildConfig","optionsIn","state","options","platform","ensureFullConfigLoaded","disableWatchHanzoguiConfig","disable","loadHanzogui","components","cleanup","destroyPool"],"sources":["../../src/loadHanzogui.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,YAAA,MAAkB;AAI9B,MAAMC,cAAA,GAAiB;AASvB,SAASC,aAAA,EAA0B;EACjC,IAAI,CAAEC,UAAA,CAAmBF,cAAc,GAAG;IACxC;IAAEE,UAAA,CAAmBF,cAAc,IAAI;MACrCG,WAAA,EAAa;MACbC,aAAA,EAAe;MACfC,gBAAA,EAAkB;MAClBC,qBAAA,EAAuB;IACzB;EACF;EACA,OAAQJ,UAAA,CAAmBF,cAAc;AAC3C;AAEO,SAASO,mBAAA,EAA6C;EAC3D,OAAON,YAAA,CAAa,EAAEG,aAAA;AACxB;AAEO,SAASI,eAAA,EAAkD;EAChE,OAAOP,YAAA,CAAa,EAAEE,WAAA;AACxB;AAMA,eAAsBM,wBACpBC,SAAA,EAC0B;EAC1B,MAAMC,KAAA,GAAQV,YAAA,CAAa;EAC3B,IAAIU,KAAA,CAAMP,aAAA,EAAe,OAAOO,KAAA,CAAMP,aAAA;EACtC,IAAIO,KAAA,CAAMR,WAAA,EAAa,OAAOQ,KAAA,CAAMR,WAAA;EAEpCQ,KAAA,CAAMR,WAAA,IAAe,YAAY;IAC/B,MAAMS,OAAA,GAAU,MAAMb,YAAA,CAAaU,uBAAA,CAAwB;MACzD,GAAGC,SAAA;MACHG,QAAA,EAAU;IACZ,CAAC;IAEDF,KAAA,CAAMP,aAAA,GAAgBQ,OAAA;IACtB,OAAOA,OAAA;EACT,GAAG;EAEH,OAAOD,KAAA,CAAMR,WAAA;AACf;AAMA,eAAsBW,uBAAA,EAAwC;EAC5D,MAAMH,KAAA,GAAQV,YAAA,CAAa;EAE3B,IAAIU,KAAA,CAAMN,gBAAA,EAAkB;EAC5B,IAAIM,KAAA,CAAML,qBAAA,EAAuB,OAAOK,KAAA,CAAML,qBAAA;EAI9CK,KAAA,CAAML,qBAAA,IAAyB,YAAY;IACzC,MAAMM,OAAA,GAAU,MAAMH,uBAAA,CAAwB;IAG9C,IAAI,CAACG,OAAA,CAAQG,0BAAA,IAA8B,CAACH,OAAA,CAAQI,OAAA,EAAS;MAC3D,MAAMjB,YAAA,CAAakB,YAAA,CAAa;QAC9BC,UAAA,EAAY,CAAC,UAAU;QACvBL,QAAA,EAAU;QACV,GAAGD;MACL,CAAC;IACH;IACAD,KAAA,CAAMN,gBAAA,GAAmB;EAC3B,GAAG;EAEH,OAAOM,KAAA,CAAML,qBAAA;AACf;AAEA,eAAsBa,QAAA,EAAU;EAC9B,MAAMpB,YAAA,CAAaqB,WAAA,CAAY;EAC/B,MAAMT,KAAA,GAAQV,YAAA,CAAa;EAC3BU,KAAA,CAAMR,WAAA,GAAc;EACpBQ,KAAA,CAAMP,aAAA,GAAgB;EACtBO,KAAA,CAAMN,gBAAA,GAAmB;EACzBM,KAAA,CAAML,qBAAA,GAAwB;AAChC","ignoreList":[]}
|
package/dist/esm/plugin.mjs
CHANGED
|
@@ -4,11 +4,11 @@ import { createHash } from "node:crypto";
|
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { normalizePath } from "vite";
|
|
7
|
-
import {
|
|
7
|
+
import { loadHanzoguiBuildConfig, getLoadPromise, getHanzoguiOptions, ensureFullConfigLoaded } from "./loadHanzogui.mjs";
|
|
8
8
|
const resolve = name => fileURLToPath(import.meta.resolve(name));
|
|
9
|
-
const CACHE_KEY = "
|
|
10
|
-
const CACHE_SIZE_KEY = "
|
|
11
|
-
const PENDING_KEY = "
|
|
9
|
+
const CACHE_KEY = "__hanzogui_vite_cache__";
|
|
10
|
+
const CACHE_SIZE_KEY = "__hanzogui_vite_cache_size__";
|
|
11
|
+
const PENDING_KEY = "__hanzogui_vite_pending__";
|
|
12
12
|
function getSharedCache() {
|
|
13
13
|
if (!globalThis[CACHE_KEY]) {
|
|
14
14
|
;
|
|
@@ -35,7 +35,7 @@ function getPendingExtractions() {
|
|
|
35
35
|
}
|
|
36
36
|
return globalThis[PENDING_KEY];
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function hanzoguiAliases(options = {}) {
|
|
39
39
|
const aliases = [];
|
|
40
40
|
if (options.svg) {
|
|
41
41
|
aliases.push({
|
|
@@ -67,19 +67,19 @@ function guiAliases(options = {}) {
|
|
|
67
67
|
}
|
|
68
68
|
return aliases;
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function hanzoguiPlugin({
|
|
71
71
|
disableResolveConfig,
|
|
72
|
-
...
|
|
72
|
+
...hanzoguiOptionsIn
|
|
73
73
|
} = {}) {
|
|
74
|
-
let shouldExtract = !
|
|
74
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction;
|
|
75
75
|
let watcher;
|
|
76
76
|
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv;
|
|
77
77
|
const extensions = [`.web.mjs`, `.web.js`, `.web.jsx`, `.web.ts`, `.web.tsx`, ".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"];
|
|
78
|
-
|
|
78
|
+
loadHanzoguiBuildConfig(hanzoguiOptionsIn);
|
|
79
79
|
const ensureLoaded = async () => {
|
|
80
80
|
const promise = getLoadPromise();
|
|
81
81
|
if (promise) await promise;
|
|
82
|
-
const options =
|
|
82
|
+
const options = getHanzoguiOptions();
|
|
83
83
|
if (options) {
|
|
84
84
|
shouldExtract = !options.disableExtraction;
|
|
85
85
|
}
|
|
@@ -90,7 +90,7 @@ function guiPlugin({
|
|
|
90
90
|
const cssMap = /* @__PURE__ */new Map();
|
|
91
91
|
let config;
|
|
92
92
|
let server;
|
|
93
|
-
const virtualExt = `.
|
|
93
|
+
const virtualExt = `.hanzogui.css`;
|
|
94
94
|
const getAbsoluteVirtualFileId = filePath => {
|
|
95
95
|
if (filePath.startsWith(config.root)) {
|
|
96
96
|
return filePath;
|
|
@@ -117,7 +117,7 @@ function guiPlugin({
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
const basePlugin = {
|
|
120
|
-
name: "
|
|
120
|
+
name: "hanzogui",
|
|
121
121
|
enforce: "pre",
|
|
122
122
|
configureServer(_server) {
|
|
123
123
|
server = _server;
|
|
@@ -130,24 +130,24 @@ function guiPlugin({
|
|
|
130
130
|
async config(_, env) {
|
|
131
131
|
const options = await ensureLoaded();
|
|
132
132
|
if (!options) {
|
|
133
|
-
throw new Error(`No
|
|
133
|
+
throw new Error(`No hanzogui options loaded`);
|
|
134
134
|
}
|
|
135
|
-
if (!options.
|
|
136
|
-
watcher = Static.
|
|
137
|
-
components: ["
|
|
138
|
-
config: "./src/
|
|
135
|
+
if (!options.disableWatchHanzoguiConfig) {
|
|
136
|
+
watcher = Static.watchHanzoguiConfig({
|
|
137
|
+
components: ["hanzogui"],
|
|
138
|
+
config: "./src/hanzogui.config.ts",
|
|
139
139
|
...options
|
|
140
140
|
}).catch(err => {
|
|
141
|
-
console.error(` [
|
|
141
|
+
console.error(` [Hanzogui] Error watching config: ${err}`);
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
return {
|
|
145
|
-
envPrefix: ["
|
|
145
|
+
envPrefix: ["TAMAGUI_"],
|
|
146
146
|
environments: {
|
|
147
147
|
client: {
|
|
148
148
|
define: {
|
|
149
|
-
"process.env.
|
|
150
|
-
"process.env.
|
|
149
|
+
"process.env.TAMAGUI_IS_CLIENT": JSON.stringify(true),
|
|
150
|
+
"process.env.TAMAGUI_ENVIRONMENT": '"client"'
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
},
|
|
@@ -161,7 +161,7 @@ function guiPlugin({
|
|
|
161
161
|
"process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
|
|
162
162
|
"process.env.IS_STATIC": JSON.stringify(false),
|
|
163
163
|
...(env.mode === "production" && {
|
|
164
|
-
"process.env.
|
|
164
|
+
"process.env.TAMAGUI_OPTIMIZE_THEMES": JSON.stringify(true)
|
|
165
165
|
})
|
|
166
166
|
},
|
|
167
167
|
resolve: disableResolveConfig || enableNativeEnv ? {} : {
|
|
@@ -181,18 +181,18 @@ function guiPlugin({
|
|
|
181
181
|
}
|
|
182
182
|
};
|
|
183
183
|
const rnwLitePlugin = {
|
|
184
|
-
name: "
|
|
184
|
+
name: "hanzogui-rnw-lite",
|
|
185
185
|
config() {
|
|
186
186
|
if (enableNativeEnv) {
|
|
187
187
|
return {};
|
|
188
188
|
}
|
|
189
|
-
const options =
|
|
189
|
+
const options = getHanzoguiOptions();
|
|
190
190
|
if (!options?.useReactNativeWebLite) {
|
|
191
191
|
return {};
|
|
192
192
|
}
|
|
193
193
|
return {
|
|
194
194
|
resolve: {
|
|
195
|
-
alias:
|
|
195
|
+
alias: hanzoguiAliases({
|
|
196
196
|
rnwLite: options.useReactNativeWebLite
|
|
197
197
|
})
|
|
198
198
|
},
|
|
@@ -204,7 +204,7 @@ function guiPlugin({
|
|
|
204
204
|
}
|
|
205
205
|
};
|
|
206
206
|
const extractPlugin = {
|
|
207
|
-
name: "
|
|
207
|
+
name: "hanzogui-extract",
|
|
208
208
|
enforce: "pre",
|
|
209
209
|
async config(userConf) {
|
|
210
210
|
const options = await ensureLoaded();
|
|
@@ -236,7 +236,7 @@ function guiPlugin({
|
|
|
236
236
|
},
|
|
237
237
|
async load(id) {
|
|
238
238
|
if (!shouldExtract) return;
|
|
239
|
-
const options =
|
|
239
|
+
const options = getHanzoguiOptions();
|
|
240
240
|
if (options?.disable) {
|
|
241
241
|
return;
|
|
242
242
|
}
|
|
@@ -296,15 +296,15 @@ ${entry.cssImport}` : entry.js;
|
|
|
296
296
|
};
|
|
297
297
|
const cached = memoryCache[cacheKey];
|
|
298
298
|
if (cached) {
|
|
299
|
-
if (process.env.
|
|
300
|
-
console.info(`[
|
|
299
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
300
|
+
console.info(`[hanzogui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
301
301
|
}
|
|
302
302
|
return formatResult(cached);
|
|
303
303
|
}
|
|
304
304
|
const pendingExtraction = pending.get(cacheKey);
|
|
305
305
|
if (pendingExtraction) {
|
|
306
|
-
if (process.env.
|
|
307
|
-
console.info(`[
|
|
306
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
307
|
+
console.info(`[hanzogui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
308
308
|
}
|
|
309
309
|
const result = await pendingExtraction;
|
|
310
310
|
if (result) {
|
|
@@ -312,8 +312,8 @@ ${entry.cssImport}` : entry.js;
|
|
|
312
312
|
}
|
|
313
313
|
return;
|
|
314
314
|
}
|
|
315
|
-
if (process.env.
|
|
316
|
-
console.info(`[
|
|
315
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
316
|
+
console.info(`[hanzogui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
317
317
|
}
|
|
318
318
|
const extractionPromise = (async () => {
|
|
319
319
|
let extracted;
|
|
@@ -325,15 +325,15 @@ ${entry.cssImport}` : entry.js;
|
|
|
325
325
|
shouldPrintDebug
|
|
326
326
|
});
|
|
327
327
|
} catch (err) {
|
|
328
|
-
if (process.env.
|
|
329
|
-
console.info(`[
|
|
328
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
329
|
+
console.info(`[hanzogui-cache] ERROR extracting ${id.split("/").pop()}:`, err);
|
|
330
330
|
}
|
|
331
331
|
console.error(err instanceof Error ? err.message : String(err));
|
|
332
332
|
return null;
|
|
333
333
|
}
|
|
334
334
|
if (!extracted) {
|
|
335
|
-
if (process.env.
|
|
336
|
-
console.info(`[
|
|
335
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
336
|
+
console.info(`[hanzogui-cache] no extraction result for ${id.split("/").pop()}`);
|
|
337
337
|
}
|
|
338
338
|
return null;
|
|
339
339
|
}
|
|
@@ -361,8 +361,8 @@ ${entry.cssImport}` : entry.js;
|
|
|
361
361
|
setSharedCacheSize(newSize);
|
|
362
362
|
}
|
|
363
363
|
memoryCache[cacheKey] = cacheEntry;
|
|
364
|
-
if (process.env.
|
|
365
|
-
console.info(`[
|
|
364
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
365
|
+
console.info(`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`);
|
|
366
366
|
}
|
|
367
367
|
return cacheEntry;
|
|
368
368
|
})();
|
|
@@ -381,5 +381,5 @@ ${entry.cssImport}` : entry.js;
|
|
|
381
381
|
};
|
|
382
382
|
return [basePlugin, rnwLitePlugin, extractPlugin];
|
|
383
383
|
}
|
|
384
|
-
export {
|
|
384
|
+
export { hanzoguiAliases, hanzoguiPlugin };
|
|
385
385
|
//# sourceMappingURL=plugin.mjs.map
|
package/dist/esm/plugin.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Static","getPragmaOptions","createHash","path","fileURLToPath","normalizePath","loadGuiBuildConfig","getLoadPromise","getGuiOptions","ensureFullConfigLoaded","resolve","name","import","meta","CACHE_KEY","CACHE_SIZE_KEY","PENDING_KEY","getSharedCache","globalThis","getSharedCacheSize","setSharedCacheSize","size","clearSharedCache","getPendingExtractions","Map","guiAliases","options","aliases","svg","push","find","replacement","rnwLite","rnwl","rnwlBase","dirname","guiPlugin","disableResolveConfig","guiOptionsIn","shouldExtract","disableExtraction","watcher","enableNativeEnv","__vxrnEnableNativeEnv","extensions","ensureLoaded","promise","getHash","input","update","digest","memoryCache","cssMap","config","server","virtualExt","getAbsoluteVirtualFileId","filePath","startsWith","root","join","isNotClient","environment","isNative","invalidateModule","absoluteId","moduleGraph","modules","getModulesByFile","module","lastHMRTimestamp","lastInvalidationTimestamp","Date","now","basePlugin","enforce","configureServer","_server","buildEnd","then","res","dispose","_","env","Error","disableWatchGuiConfig","watchGuiConfig","components","catch","err","console","error","envPrefix","environments","client","define","JSON","stringify","_frameTimestamp","_WORKLET","__DEV__","mode","process","NODE_ENV","ENABLE_RSC","ENABLE_STEPS","alias","platform","useReactNativeWebLite","rnwLitePlugin","optimizeDeps","exclude","extractPlugin","userConf","include","configResolved","resolvedConfig","resolveId","source","validId","query","split","endsWith","has","load","id","disable","get","transform","order","handler","code","shouldDisable","shouldPrintDebug","trace","info","isSSR","cacheKey","pending","formatResult","entry","finalCode","cssImport","js","map","cached","DEBUG_GUI_CACHE","pop","slice","pendingExtraction","result","extractionPromise","extracted","extractToClassNames","sourcePath","message","String","rootRelativeId","styles","addWatchFile","set","jsCode","toString","cacheEntry","newSize","length","Object","keys","delete"],"sources":["../../src/plugin.ts"],"sourcesContent":[null],"mappings":"AACA,YAAYA,MAAA,MAAY;AACxB,SAASC,gBAAA,QAAwB;AACjC,SAASC,UAAA,QAAkB;AAE3B,OAAOC,IAAA,MAAU;AACjB,SAASC,aAAA,QAAqB;AAE9B,SAASC,aAAA,QAA6D;AACtE,SACEC,kBAAA,EACAC,cAAA,EACAC,aAAA,EACAC,sBAAA,QACK;AAEP,MAAMC,OAAA,GAAWC,IAAA,IAAiBP,aAAA,CAAcQ,MAAA,CAAAC,IAAA,CAAYH,OAAA,CAAQC,IAAI,CAAC;AASzE,MAAMG,SAAA,GAAY;AAClB,MAAMC,cAAA,GAAiB;AACvB,MAAMC,WAAA,GAAc;AAEpB,SAASC,eAAA,EAA6C;EACpD,IAAI,CAAEC,UAAA,CAAmBJ,SAAS,GAAG;IACnC;IAAEI,UAAA,CAAmBJ,SAAS,IAAI,CAAC;EACrC;EACA,OAAQI,UAAA,CAAmBJ,SAAS;AACtC;AAEA,SAASK,mBAAA,EAA6B;EACpC,OAAQD,UAAA,CAAmBH,cAAc,KAAK;AAChD;AAEA,SAASK,mBAAmBC,IAAA,EAAc;EACxC;EAAEH,UAAA,CAAmBH,cAAc,IAAIM,IAAA;AACzC;AAEA,SAASC,iBAAA,EAAmB;EAC1B;EAAEJ,UAAA,CAAmBJ,SAAS,IAAI,CAAC;EACjCI,UAAA,CAAmBH,cAAc,IAAI;AACzC;AAGA,SAASQ,sBAAA,EAAiE;EACxE,IAAI,CAAEL,UAAA,CAAmBF,WAAW,GAAG;IACrC;IAAEE,UAAA,CAAmBF,WAAW,IAAI,mBAAIQ,GAAA,CAAI;EAC9C;EACA,OAAQN,UAAA,CAAmBF,WAAW;AACxC;AAeO,SAASS,WAAWC,OAAA,GAAwB,CAAC,GAAiB;EACnE,MAAMC,OAAA,GAAwB,EAAC;EAE/B,IAAID,OAAA,CAAQE,GAAA,EAAK;IACfD,OAAA,CAAQE,IAAA,CAAK;MACXC,IAAA,EAAM;MACNC,WAAA,EAAarB,OAAA,CAAQ,4BAA4B;IACnD,CAAC;EACH;EAEA,IAAIgB,OAAA,CAAQM,OAAA,EAAS;IAEnB,MAAMC,IAAA,GAAOvB,OAAA,CACXgB,OAAA,CAAQM,OAAA,KAAY,qBAChB,qDACA,iCACN;IAEA,MAAME,QAAA,GAAW/B,IAAA,CAAKgC,OAAA,CAAQzB,OAAA,CAAQ,8CAA8C,CAAC;IACrFiB,OAAA,CAAQE,IAAA,CACN;MAAA;MAAA;MAGEC,IAAA,EAAM;MACNC,WAAA,EAAa,GAAGG,QAAQ;IAC1B,GACA;MACEJ,IAAA,EAAM;MACNC,WAAA,EAAaE;IACf,GACA;MACEH,IAAA,EAAM;MACNC,WAAA,EAAa,GAAGG,QAAQ;IAC1B,GACA;MACEJ,IAAA,EAAM;MACNC,WAAA,EAAarB,OAAA,CAAQ,8CAA8C;IACrE,GACA;MACEoB,IAAA,EAAM;MACNC,WAAA,EAAaE;IACf,CACF;EACF;EAEA,OAAON,OAAA;AACT;AAEO,SAASS,UAAU;EACxBC,oBAAA;EACA,GAAGC;AACL,IAEI,CAAC,GAAiB;EAEpB,IAAIC,aAAA,GAAgB,CAACD,YAAA,CAAaE,iBAAA;EAClC,IAAIC,OAAA;EAGJ,MAAMC,eAAA,GAAkB,CAAC,CAACxB,UAAA,CAAWyB,qBAAA;EAErC,MAAMC,UAAA,GAAa,CACjB,YACA,WACA,YACA,WACA,YACA,QACA,OACA,QACA,OACA,QACA,QACA,QACF;EAGAtC,kBAAA,CAAmBgC,YAAY;EAG/B,MAAMO,YAAA,GAAe,MAAAA,CAAA,KAAY;IAC/B,MAAMC,OAAA,GAAUvC,cAAA,CAAe;IAC/B,IAAIuC,OAAA,EAAS,MAAMA,OAAA;IACnB,MAAMpB,OAAA,GAAUlB,aAAA,CAAc;IAE9B,IAAIkB,OAAA,EAAS;MACXa,aAAA,GAAgB,CAACb,OAAA,CAAQc,iBAAA;IAC3B;IACA,OAAOd,OAAA;EACT;EAGA,MAAMqB,OAAA,GAAWC,KAAA,IAAkB9C,UAAA,CAAW,MAAM,EAAE+C,MAAA,CAAOD,KAAK,EAAEE,MAAA,CAAO,QAAQ;EAGnF,MAAMC,WAAA,GAAclC,cAAA,CAAe;EAEnC,MAAMmC,MAAA,GAAS,mBAAI5B,GAAA,CAAoB;EACvC,IAAI6B,MAAA;EACJ,IAAIC,MAAA;EACJ,MAAMC,UAAA,GAAa;EAEnB,MAAMC,wBAAA,GAA4BC,QAAA,IAAqB;IACrD,IAAIA,QAAA,CAASC,UAAA,CAAWL,MAAA,CAAOM,IAAI,GAAG;MACpC,OAAOF,QAAA;IACT;IACA,OAAOpD,aAAA,CAAcF,IAAA,CAAKyD,IAAA,CAAKP,MAAA,CAAOM,IAAA,EAAMF,QAAQ,CAAC;EACvD;EAEA,SAASI,YAAYC,WAAA,EAA2B;IAC9C,OAAOA,WAAA,EAAanD,IAAA,IAAQmD,WAAA,CAAYnD,IAAA,KAAS;EACnD;EAEA,SAASoD,SAASD,WAAA,EAA2B;IAC3C,OACEA,WAAA,EAAanD,IAAA,KAASmD,WAAA,CAAYnD,IAAA,KAAS,SAASmD,WAAA,CAAYnD,IAAA,KAAS;EAE7E;EAEA,SAASqD,iBAAiBC,UAAA,EAAoB;IAC5C,IAAI,CAACX,MAAA,EAAQ;IAEb,MAAM;MAAEY;IAAY,IAAIZ,MAAA;IACxB,MAAMa,OAAA,GAAUD,WAAA,CAAYE,gBAAA,CAAiBH,UAAU;IAEvD,IAAIE,OAAA,EAAS;MACX,WAAWE,MAAA,IAAUF,OAAA,EAAS;QAC5BD,WAAA,CAAYF,gBAAA,CAAiBK,MAAM;QACnCA,MAAA,CAAOC,gBAAA,GAAmBD,MAAA,CAAOE,yBAAA,IAA6BC,IAAA,CAAKC,GAAA,CAAI;MACzE;IACF;EACF;EAEA,MAAMC,UAAA,GAAqB;IACzB/D,IAAA,EAAM;IACNgE,OAAA,EAAS;IAETC,gBAAgBC,OAAA,EAAS;MACvBvB,MAAA,GAASuB,OAAA;IACX;IAEA,MAAMC,SAAA,EAAW;MACf,MAAMrC,OAAA,EAASsC,IAAA,CAAMC,GAAA,IAAQ;QAC3BA,GAAA,EAAKC,OAAA,CAAQ;MACf,CAAC;IACH;IAEA,MAAM5B,OAAO6B,CAAA,EAAGC,GAAA,EAAK;MACnB,MAAMzD,OAAA,GAAU,MAAMmB,YAAA,CAAa;MAEnC,IAAI,CAACnB,OAAA,EAAS;QACZ,MAAM,IAAI0D,KAAA,CAAM,6BAA6B;MAC/C;MAGA,IAAI,CAAC1D,OAAA,CAAQ2D,qBAAA,EAAuB;QAClC5C,OAAA,GAAUzC,MAAA,CAAOsF,cAAA,CAAe;UAC9BC,UAAA,EAAY,CAAC,YAAY;UACzBlC,MAAA,EAAQ;UACR,GAAG3B;QACL,CAAC,EAAE8D,KAAA,CAAOC,GAAA,IAAQ;UAChBC,OAAA,CAAQC,KAAA,CAAM,iCAAiCF,GAAG,EAAE;QACtD,CAAC;MACH;MAEA,OAAO;QACLG,SAAA,EAAW,CAAC,MAAM;QAElBC,YAAA,EAAc;UACZC,MAAA,EAAQ;YACNC,MAAA,EAAQ;cACN,6BAA6BC,IAAA,CAAKC,SAAA,CAAU,IAAI;cAChD,+BAA+B;YACjC;UACF;QACF;QAEAF,MAAA,EAAQ;UAAA;UAENG,eAAA,EAAiB;UACjBC,QAAA,EAAU;UACVC,OAAA,EAAS,GAAGjB,GAAA,CAAIkB,IAAA,KAAS,aAAa;UACtC,wBAAwBL,IAAA,CAAKC,SAAA,CAAUK,OAAA,CAAQnB,GAAA,CAAIoB,QAAA,IAAYpB,GAAA,CAAIkB,IAAI;UACvE,0BAA0BL,IAAA,CAAKC,SAAA,CAAUK,OAAA,CAAQnB,GAAA,CAAIqB,UAAA,IAAc,EAAE;UACrE,4BAA4BR,IAAA,CAAKC,SAAA,CAAUK,OAAA,CAAQnB,GAAA,CAAIsB,YAAA,IAAgB,EAAE;UACzE,yBAAyBT,IAAA,CAAKC,SAAA,CAAU,KAAK;UAC7C,IAAId,GAAA,CAAIkB,IAAA,KAAS,gBAAgB;YAC/B,mCAAmCL,IAAA,CAAKC,SAAA,CAAU,IAAI;UACxD;QACF;QACAvF,OAAA,EACE2B,oBAAA,IAAwBK,eAAA,GACpB,CAAC,IACD;UACEE,UAAA;UACA8D,KAAA,EAAO;YACL,IAAIhF,OAAA,CAAQiF,QAAA,KAAa,YAAY;cACnC,qDACEjG,OAAA,CAAQ,sBAAsB;cAChC,2DACEA,OAAA,CAAQ,sBAAsB;cAChC,oBAAoBA,OAAA,CAAQ,4BAA4B;cACxD,IAAI,CAACgB,OAAA,EAASkF,qBAAA,IAAyB;gBACrC,gBAAgBlG,OAAA,CAAQ,kBAAkB;cAC5C;YACF;UACF;QACF;MACR;IACF;EACF;EAEA,MAAMmG,aAAA,GAAwB;IAC5BlG,IAAA,EAAM;IAEN0C,OAAA,EAAS;MACP,IAAIX,eAAA,EAAiB;QACnB,OAAO,CAAC;MACV;MAEA,MAAMhB,OAAA,GAAUlB,aAAA,CAAc;MAC9B,IAAI,CAACkB,OAAA,EAASkF,qBAAA,EAAuB;QACnC,OAAO,CAAC;MACV;MAEA,OAAO;QACLlG,OAAA,EAAS;UACPgG,KAAA,EAAOjF,UAAA,CAAW;YAAEO,OAAA,EAASN,OAAA,CAAQkF;UAAsB,CAAC;QAC9D;QACAE,YAAA,EAAc;UAAA;UAEZC,OAAA,EAAS,CAAC,kBAAkB;QAC9B;MACF;IACF;EACF;EAIA,MAAMC,aAAA,GAAwB;IAC5BrG,IAAA,EAAM;IACNgE,OAAA,EAAS;IAET,MAAMtB,OAAO4D,QAAA,EAAU;MAErB,MAAMvF,OAAA,GAAU,MAAMmB,YAAA,CAAa;MAEnCoE,QAAA,CAASH,YAAA,KAAiB,CAAC;MAC3BG,QAAA,CAASH,YAAA,CAAaI,OAAA,KAAY,EAAC;MAInCD,QAAA,CAASH,YAAA,CAAaI,OAAA,CAAQrF,IAAA,CAAK,uBAAuB;MAE1D,IAAI,CAACU,aAAA,EAAe;MAEpB0E,QAAA,CAASH,YAAA,CAAaI,OAAA,CAAQrF,IAAA,CAAK,8BAA8B;IACnE;IAEA,MAAMsF,eAAeC,cAAA,EAAgB;MACnC/D,MAAA,GAAS+D,cAAA;IACX;IAEA,MAAMC,UAAUC,MAAA,EAAQ;MACtB,IAAI,CAAC/E,aAAA,EAAe;MAEpB,IAAIwB,QAAA,CAAS,KAAKD,WAAW,GAAG;QAC9B;MACF;MAEA,IAAID,WAAA,CAAY,KAAKC,WAAW,GAAG;QACjC;MACF;MAEA,MAAM,CAACyD,OAAA,EAASC,KAAK,IAAIF,MAAA,CAAOG,KAAA,CAAM,GAAG;MAEzC,IAAI,CAACF,OAAA,CAAQG,QAAA,CAASnE,UAAU,GAAG;QACjC;MACF;MAEA,MAAMU,UAAA,GAAaqD,MAAA,CAAO5D,UAAA,CAAWL,MAAA,CAAOM,IAAI,IAC5C2D,MAAA,GACA9D,wBAAA,CAAyB+D,OAAO;MAEpC,IAAInE,MAAA,CAAOuE,GAAA,CAAI1D,UAAU,GAAG;QAC1B,OAAOA,UAAA,IAAcuD,KAAA,GAAQ,IAAIA,KAAK,KAAK;MAC7C;IACF;IAEA,MAAMI,KAAKC,EAAA,EAAI;MACb,IAAI,CAACtF,aAAA,EAAe;MAEpB,MAAMb,OAAA,GAAUlB,aAAA,CAAc;MAC9B,IAAIkB,OAAA,EAASoG,OAAA,EAAS;QACpB;MACF;MAEA,IAAI/D,QAAA,CAAS,KAAKD,WAAW,GAAG;QAC9B;MACF;MAEA,IAAID,WAAA,CAAY,KAAKC,WAAW,GAAG;QACjC;MACF;MAEA,MAAM,CAACyD,OAAO,IAAIM,EAAA,CAAGJ,KAAA,CAAM,GAAG;MAC9B,OAAOrE,MAAA,CAAO2E,GAAA,CAAIR,OAAO;IAC3B;IAEAS,SAAA,EAAW;MACTC,KAAA,EAAO;MACP,MAAMC,QAAQC,IAAA,EAAMN,EAAA,EAAI;QAEtB,MAAMnG,OAAA,GAAU,MAAMmB,YAAA,CAAa;QAGnC,MAAMpC,sBAAA,CAAuB;QAG7B,IAAIiB,OAAA,EAASoG,OAAA,EAAS;UACpB;QACF;QAEA,IAAI/D,QAAA,CAAS,KAAKD,WAAW,GAAG;UAC9B;QACF;QAEA,MAAM,CAACyD,OAAO,IAAIM,EAAA,CAAGJ,KAAA,CAAM,GAAG;QAC9B,IAAI,CAACF,OAAA,CAAQG,QAAA,CAAS,MAAM,GAAG;UAC7B;QACF;QAEA,MAAM;UAAEU,aAAA;UAAeC;QAAiB,IAAI,MAAMpI,gBAAA,CAAiB;UACjEqH,MAAA,EAAQa,IAAA;UACRhI,IAAA,EAAMoH;QACR,CAAC;QAED,IAAIc,gBAAA,EAAkB;UACpB3C,OAAA,CAAQ4C,KAAA,CACN,iBAAiBT,EAAE,oBAAoB,KAAK/D,WAAA,EAAanD,IAAI,oBAAoByH,aAAa,EAChG;UACA1C,OAAA,CAAQ6C,IAAA,CAAK;AAAA;AAAA;AAAA,EAAyBJ,IAAI;AAAA;AAAA,CAAM;QAClD;QAEA,IAAIC,aAAA,EAAe;UACjB;QACF;QAEA,MAAMI,KAAA,GAAQ3E,WAAA,CAAY,KAAKC,WAAW;QAG1C,MAAM2E,QAAA,GAAW1F,OAAA,CAAQ,GAAGoF,IAAI,GAAGN,EAAE,EAAE;QACvC,MAAMa,OAAA,GAAUnH,qBAAA,CAAsB;QAGtC,MAAMoH,YAAA,GAAgBC,KAAA,IAAsB;UAC1C,MAAMC,SAAA,GACJ,CAACL,KAAA,IAASI,KAAA,CAAME,SAAA,GAAY,GAAGF,KAAA,CAAMG,EAAE;AAAA,EAAKH,KAAA,CAAME,SAAS,KAAKF,KAAA,CAAMG,EAAA;UACxE,OAAO;YAAEZ,IAAA,EAAMU,SAAA;YAAWG,GAAA,EAAKJ,KAAA,CAAMI;UAAI;QAC3C;QAGA,MAAMC,MAAA,GAAS9F,WAAA,CAAYsF,QAAQ;QACnC,IAAIQ,MAAA,EAAQ;UACV,IAAI3C,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;YAC/BxD,OAAA,CAAQ6C,IAAA,CACN,mBAAmB,KAAKzE,WAAA,EAAanD,IAAA,IAAQ,SAAS,IAAIkH,EAAA,CAAGJ,KAAA,CAAM,GAAG,EAAE0B,GAAA,CAAI,CAAC,QAAQV,QAAA,CAASW,KAAA,CAAM,GAAG,CAAC,CAAC,EAC3G;UACF;UACA,OAAOT,YAAA,CAAaM,MAAM;QAC5B;QAGA,MAAMI,iBAAA,GAAoBX,OAAA,CAAQX,GAAA,CAAIU,QAAQ;QAC9C,IAAIY,iBAAA,EAAmB;UACrB,IAAI/C,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;YAC/BxD,OAAA,CAAQ6C,IAAA,CACN,oBAAoB,KAAKzE,WAAA,EAAanD,IAAA,IAAQ,SAAS,IAAIkH,EAAA,CAAGJ,KAAA,CAAM,GAAG,EAAE0B,GAAA,CAAI,CAAC,QAAQV,QAAA,CAASW,KAAA,CAAM,GAAG,CAAC,CAAC,EAC5G;UACF;UACA,MAAME,MAAA,GAAS,MAAMD,iBAAA;UACrB,IAAIC,MAAA,EAAQ;YACV,OAAOX,YAAA,CAAaW,MAAM;UAC5B;UACA;QACF;QAEA,IAAIhD,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;UAC/BxD,OAAA,CAAQ6C,IAAA,CACN,uBAAuB,KAAKzE,WAAA,EAAanD,IAAA,IAAQ,SAAS,IAAIkH,EAAA,CAAGJ,KAAA,CAAM,GAAG,EAAE0B,GAAA,CAAI,CAAC,QAAQV,QAAA,CAASW,KAAA,CAAM,GAAG,CAAC,CAAC,EAC/G;QACF;QAGA,MAAMG,iBAAA,IAAqB,YAAwC;UACjE,IAAIC,SAAA;UACJ,IAAI;YACFA,SAAA,GAAY,MAAMxJ,MAAA,CAAQyJ,mBAAA,CAAoB;cAC5CnC,MAAA,EAAQa,IAAA;cACRuB,UAAA,EAAYnC,OAAA;cACZ7F,OAAA;cACA2G;YACF,CAAC;UACH,SAAS5C,GAAA,EAAK;YACZ,IAAIa,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;cAC/BxD,OAAA,CAAQ6C,IAAA,CAAK,gCAAgCV,EAAA,CAAGJ,KAAA,CAAM,GAAG,EAAE0B,GAAA,CAAI,CAAC,KAAK1D,GAAG;YAC1E;YACAC,OAAA,CAAQC,KAAA,CAAMF,GAAA,YAAeL,KAAA,GAAQK,GAAA,CAAIkE,OAAA,GAAUC,MAAA,CAAOnE,GAAG,CAAC;YAC9D,OAAO;UACT;UAEA,IAAI,CAAC+D,SAAA,EAAW;YACd,IAAIlD,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;cAC/BxD,OAAA,CAAQ6C,IAAA,CAAK,wCAAwCV,EAAA,CAAGJ,KAAA,CAAM,GAAG,EAAE0B,GAAA,CAAI,CAAC,EAAE;YAC5E;YACA,OAAO;UACT;UAEA,MAAMU,cAAA,GAAiB,GAAGtC,OAAO,GAAGhE,UAAU;UAC9C,MAAMU,UAAA,GAAaT,wBAAA,CAAyBqG,cAAc;UAE1D,IAAIf,SAAA,GAA2B;UAG/B,IAAIU,SAAA,CAAUM,MAAA,EAAQ;YACpB,KAAKC,YAAA,CAAaF,cAAc;YAEhC,IAAIvG,MAAA,IAAUF,MAAA,CAAOuE,GAAA,CAAI1D,UAAU,GAAG;cACpCD,gBAAA,CAAiB6F,cAAc;YACjC;YAEAf,SAAA,GAAY,WAAWe,cAAc;YACrCzG,MAAA,CAAO4G,GAAA,CAAI/F,UAAA,EAAYuF,SAAA,CAAUM,MAAM;UACzC;UAGA,MAAMG,MAAA,GAAST,SAAA,CAAUT,EAAA,CAAGmB,QAAA,CAAS;UACrC,MAAMC,UAAA,GAAyB;YAC7BpB,EAAA,EAAIkB,MAAA;YACJjB,GAAA,EAAKQ,SAAA,CAAUR,GAAA;YACfF;UACF;UAGA,MAAMsB,OAAA,GAAUjJ,kBAAA,CAAmB,IAAI8I,MAAA,CAAOI,MAAA;UAC9C,IAAID,OAAA,GAAU,UAAU;YACtB9I,gBAAA,CAAiB;UACnB,OAAO;YACLF,kBAAA,CAAmBgJ,OAAO;UAC5B;UACAjH,WAAA,CAAYsF,QAAQ,IAAI0B,UAAA;UAExB,IAAI7D,OAAA,CAAQnB,GAAA,CAAI+D,eAAA,EAAiB;YAC/BxD,OAAA,CAAQ6C,IAAA,CACN,yBAAyBE,QAAA,CAASW,KAAA,CAAM,GAAG,CAAC,CAAC,cAAckB,MAAA,CAAOC,IAAA,CAAKpH,WAAW,EAAEkH,MAAM,EAC5F;UACF;UAEA,OAAOF,UAAA;QACT,GAAG;QAGHzB,OAAA,CAAQsB,GAAA,CAAIvB,QAAA,EAAUc,iBAAiB;QAEvC,IAAI;UACF,MAAMD,MAAA,GAAS,MAAMC,iBAAA;UACrB,IAAID,MAAA,EAAQ;YACV,OAAOX,YAAA,CAAaW,MAAM;UAC5B;UACA;QACF,UAAE;UAEAZ,OAAA,CAAQ8B,MAAA,CAAO/B,QAAQ;QACzB;MACF;IACF;EACF;EAEA,OAAO,CAAC/D,UAAA,EAAYmC,aAAA,EAAeG,aAAa;AAClD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Static","getPragmaOptions","createHash","path","fileURLToPath","normalizePath","loadHanzoguiBuildConfig","getLoadPromise","getHanzoguiOptions","ensureFullConfigLoaded","resolve","name","import","meta","CACHE_KEY","CACHE_SIZE_KEY","PENDING_KEY","getSharedCache","globalThis","getSharedCacheSize","setSharedCacheSize","size","clearSharedCache","getPendingExtractions","Map","hanzoguiAliases","options","aliases","svg","push","find","replacement","rnwLite","rnwl","rnwlBase","dirname","hanzoguiPlugin","disableResolveConfig","hanzoguiOptionsIn","shouldExtract","disableExtraction","watcher","enableNativeEnv","__vxrnEnableNativeEnv","extensions","ensureLoaded","promise","getHash","input","update","digest","memoryCache","cssMap","config","server","virtualExt","getAbsoluteVirtualFileId","filePath","startsWith","root","join","isNotClient","environment","isNative","invalidateModule","absoluteId","moduleGraph","modules","getModulesByFile","module","lastHMRTimestamp","lastInvalidationTimestamp","Date","now","basePlugin","enforce","configureServer","_server","buildEnd","then","res","dispose","_","env","Error","disableWatchHanzoguiConfig","watchHanzoguiConfig","components","catch","err","console","error","envPrefix","environments","client","define","JSON","stringify","_frameTimestamp","_WORKLET","__DEV__","mode","process","NODE_ENV","ENABLE_RSC","ENABLE_STEPS","alias","platform","useReactNativeWebLite","rnwLitePlugin","optimizeDeps","exclude","extractPlugin","userConf","include","configResolved","resolvedConfig","resolveId","source","validId","query","split","endsWith","has","load","id","disable","get","transform","order","handler","code","shouldDisable","shouldPrintDebug","trace","info","isSSR","cacheKey","pending","formatResult","entry","finalCode","cssImport","js","map","cached","DEBUG_TAMAGUI_CACHE","pop","slice","pendingExtraction","result","extractionPromise","extracted","extractToClassNames","sourcePath","message","String","rootRelativeId","styles","addWatchFile","set","jsCode","toString","cacheEntry","newSize","length","Object","keys","delete"],"sources":["../../src/plugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/vite-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "102.0.0-rc.41-hanzoai.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -26,31 +26,33 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
|
-
"build": "
|
|
30
|
-
"watch": "
|
|
31
|
-
"clean": "
|
|
32
|
-
"clean:build": "
|
|
29
|
+
"build": "hanzogui-build --skip-native",
|
|
30
|
+
"watch": "hanzogui-build --skip-native --watch",
|
|
31
|
+
"clean": "hanzogui-build clean",
|
|
32
|
+
"clean:build": "hanzogui-build clean:build"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@hanzogui/fake-react-native": "
|
|
36
|
-
"@hanzogui/proxy-worm": "
|
|
37
|
-
"@hanzogui/react-native-svg": "
|
|
38
|
-
"@hanzogui/react-native-web-lite": "
|
|
39
|
-
"@hanzogui/static-worker": "
|
|
40
|
-
"@hanzogui/types": "
|
|
35
|
+
"@hanzogui/fake-react-native": "102.0.0-rc.41-hanzoai.1",
|
|
36
|
+
"@hanzogui/proxy-worm": "102.0.0-rc.41-hanzoai.1",
|
|
37
|
+
"@hanzogui/react-native-svg": "102.0.0-rc.41-hanzoai.1",
|
|
38
|
+
"@hanzogui/react-native-web-lite": "102.0.0-rc.41-hanzoai.1",
|
|
39
|
+
"@hanzogui/static-worker": "102.0.0-rc.41-hanzoai.1",
|
|
40
|
+
"@hanzogui/types": "102.0.0-rc.41-hanzoai.1",
|
|
41
41
|
"esm-resolve": "^1.0.8",
|
|
42
42
|
"fs-extra": "^11.2.0",
|
|
43
43
|
"outdent": "^0.8.0",
|
|
44
44
|
"react-native-web": "^0.21.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@hanzogui/build": "
|
|
48
|
-
"vite": "^8.0.
|
|
47
|
+
"@hanzogui/build": "102.0.0-rc.41-hanzoai.1",
|
|
48
|
+
"vite": "^8.0.3"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"vite": "*"
|
|
51
|
+
"vite": "*8.0.3"
|
|
52
52
|
},
|
|
53
|
-
"
|
|
54
|
-
"
|
|
53
|
+
"hanzogui": {
|
|
54
|
+
"build": {
|
|
55
|
+
"skipEnvToMeta": true
|
|
56
|
+
}
|
|
55
57
|
}
|
|
56
58
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as StaticWorker from '@hanzogui/static-worker'
|
|
2
|
-
import type {
|
|
2
|
+
import type { HanzoguiOptions } from '@hanzogui/types'
|
|
3
3
|
|
|
4
4
|
// use globalThis to share state across vite environments (SSR, client, etc.)
|
|
5
|
-
const LOAD_STATE_KEY = '
|
|
5
|
+
const LOAD_STATE_KEY = '__hanzogui_load_state__'
|
|
6
6
|
|
|
7
7
|
type LoadState = {
|
|
8
|
-
loadPromise: Promise<
|
|
9
|
-
loadedOptions:
|
|
8
|
+
loadPromise: Promise<HanzoguiOptions> | null
|
|
9
|
+
loadedOptions: HanzoguiOptions | null
|
|
10
10
|
fullConfigLoaded: boolean
|
|
11
11
|
fullConfigLoadPromise: Promise<void> | null
|
|
12
12
|
}
|
|
@@ -23,27 +23,27 @@ function getLoadState(): LoadState {
|
|
|
23
23
|
return (globalThis as any)[LOAD_STATE_KEY]
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export function
|
|
26
|
+
export function getHanzoguiOptions(): HanzoguiOptions | null {
|
|
27
27
|
return getLoadState().loadedOptions
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export function getLoadPromise(): Promise<
|
|
30
|
+
export function getLoadPromise(): Promise<HanzoguiOptions> | null {
|
|
31
31
|
return getLoadState().loadPromise
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* Load just the
|
|
36
|
-
* This doesn't bundle the full
|
|
35
|
+
* Load just the hanzogui.build.ts config (lightweight)
|
|
36
|
+
* This doesn't bundle the full hanzogui config - call ensureFullConfigLoaded() for that
|
|
37
37
|
*/
|
|
38
|
-
export async function
|
|
39
|
-
optionsIn?: Partial<
|
|
40
|
-
): Promise<
|
|
38
|
+
export async function loadHanzoguiBuildConfig(
|
|
39
|
+
optionsIn?: Partial<HanzoguiOptions>
|
|
40
|
+
): Promise<HanzoguiOptions> {
|
|
41
41
|
const state = getLoadState()
|
|
42
42
|
if (state.loadedOptions) return state.loadedOptions
|
|
43
43
|
if (state.loadPromise) return state.loadPromise
|
|
44
44
|
|
|
45
45
|
state.loadPromise = (async () => {
|
|
46
|
-
const options = await StaticWorker.
|
|
46
|
+
const options = await StaticWorker.loadHanzoguiBuildConfig({
|
|
47
47
|
...optionsIn,
|
|
48
48
|
platform: 'web',
|
|
49
49
|
})
|
|
@@ -56,7 +56,7 @@ export async function loadGuiBuildConfig(
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Ensure the full
|
|
59
|
+
* Ensure the full hanzogui config is loaded (heavy - bundles config + components)
|
|
60
60
|
* Call this lazily when transform/extraction is actually needed
|
|
61
61
|
*/
|
|
62
62
|
export async function ensureFullConfigLoaded(): Promise<void> {
|
|
@@ -66,14 +66,14 @@ export async function ensureFullConfigLoaded(): Promise<void> {
|
|
|
66
66
|
if (state.fullConfigLoadPromise) return state.fullConfigLoadPromise
|
|
67
67
|
|
|
68
68
|
// set promise immediately to prevent race conditions
|
|
69
|
-
// (don't await
|
|
69
|
+
// (don't await loadHanzoguiBuildConfig before setting this)
|
|
70
70
|
state.fullConfigLoadPromise = (async () => {
|
|
71
|
-
const options = await
|
|
71
|
+
const options = await loadHanzoguiBuildConfig()
|
|
72
72
|
|
|
73
|
-
// load full
|
|
74
|
-
if (!options.
|
|
75
|
-
await StaticWorker.
|
|
76
|
-
components: ['
|
|
73
|
+
// load full hanzogui config in worker (asynchronous)
|
|
74
|
+
if (!options.disableWatchHanzoguiConfig && !options.disable) {
|
|
75
|
+
await StaticWorker.loadHanzogui({
|
|
76
|
+
components: ['hanzogui'],
|
|
77
77
|
platform: 'web',
|
|
78
78
|
...options,
|
|
79
79
|
})
|
package/src/plugin.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HanzoguiOptions, ExtractedResponse } from '@hanzogui/static-worker'
|
|
2
2
|
import * as Static from '@hanzogui/static-worker'
|
|
3
3
|
import { getPragmaOptions } from '@hanzogui/static-worker'
|
|
4
4
|
import { createHash } from 'node:crypto'
|
|
@@ -8,11 +8,11 @@ import { fileURLToPath } from 'node:url'
|
|
|
8
8
|
import type { Plugin, PluginOption, ResolvedConfig, ViteDevServer } from 'vite'
|
|
9
9
|
import { normalizePath, transformWithEsbuild, type Environment } from 'vite'
|
|
10
10
|
import {
|
|
11
|
-
|
|
11
|
+
loadHanzoguiBuildConfig,
|
|
12
12
|
getLoadPromise,
|
|
13
|
-
|
|
13
|
+
getHanzoguiOptions,
|
|
14
14
|
ensureFullConfigLoaded,
|
|
15
|
-
} from './
|
|
15
|
+
} from './loadHanzogui'
|
|
16
16
|
|
|
17
17
|
const resolve = (name: string) => fileURLToPath(import.meta.resolve(name))
|
|
18
18
|
|
|
@@ -23,9 +23,9 @@ type CacheEntry = {
|
|
|
23
23
|
cssImport: string | null
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const CACHE_KEY = '
|
|
27
|
-
const CACHE_SIZE_KEY = '
|
|
28
|
-
const PENDING_KEY = '
|
|
26
|
+
const CACHE_KEY = '__hanzogui_vite_cache__'
|
|
27
|
+
const CACHE_SIZE_KEY = '__hanzogui_vite_cache_size__'
|
|
28
|
+
const PENDING_KEY = '__hanzogui_vite_pending__'
|
|
29
29
|
|
|
30
30
|
function getSharedCache(): Record<string, CacheEntry> {
|
|
31
31
|
if (!(globalThis as any)[CACHE_KEY]) {
|
|
@@ -65,10 +65,10 @@ type AliasOptions = {
|
|
|
65
65
|
type AliasEntry = { find: string | RegExp; replacement: string }
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
|
-
* returns vite-compatible aliases for
|
|
68
|
+
* returns vite-compatible aliases for hanzogui
|
|
69
69
|
* use this when you need control over alias ordering in your config
|
|
70
70
|
*/
|
|
71
|
-
export function
|
|
71
|
+
export function hanzoguiAliases(options: AliasOptions = {}): AliasEntry[] {
|
|
72
72
|
const aliases: AliasEntry[] = []
|
|
73
73
|
|
|
74
74
|
if (options.svg) {
|
|
@@ -116,14 +116,14 @@ export function guiAliases(options: AliasOptions = {}): AliasEntry[] {
|
|
|
116
116
|
return aliases
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
export function
|
|
119
|
+
export function hanzoguiPlugin({
|
|
120
120
|
disableResolveConfig,
|
|
121
|
-
...
|
|
122
|
-
}:
|
|
121
|
+
...hanzoguiOptionsIn
|
|
122
|
+
}: HanzoguiOptions & {
|
|
123
123
|
disableResolveConfig?: boolean
|
|
124
124
|
} = {}): PluginOption {
|
|
125
125
|
// extraction ON by default, set disableExtraction: true to opt out
|
|
126
|
-
let shouldExtract = !
|
|
126
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction
|
|
127
127
|
let watcher: Promise<{ dispose: () => void } | void | undefined> | undefined
|
|
128
128
|
|
|
129
129
|
// TODO temporary fix
|
|
@@ -145,14 +145,14 @@ export function guiPlugin({
|
|
|
145
145
|
]
|
|
146
146
|
|
|
147
147
|
// start loading immediately but don't block
|
|
148
|
-
|
|
148
|
+
loadHanzoguiBuildConfig(hanzoguiOptionsIn)
|
|
149
149
|
|
|
150
150
|
// helper to await load when needed
|
|
151
151
|
const ensureLoaded = async () => {
|
|
152
152
|
const promise = getLoadPromise()
|
|
153
153
|
if (promise) await promise
|
|
154
|
-
const options =
|
|
155
|
-
// update shouldExtract from loaded config (
|
|
154
|
+
const options = getHanzoguiOptions()
|
|
155
|
+
// update shouldExtract from loaded config (hanzogui.build.ts)
|
|
156
156
|
if (options) {
|
|
157
157
|
shouldExtract = !options.disableExtraction
|
|
158
158
|
}
|
|
@@ -168,7 +168,7 @@ export function guiPlugin({
|
|
|
168
168
|
const cssMap = new Map<string, string>()
|
|
169
169
|
let config: ResolvedConfig
|
|
170
170
|
let server: ViteDevServer
|
|
171
|
-
const virtualExt = `.
|
|
171
|
+
const virtualExt = `.hanzogui.css`
|
|
172
172
|
|
|
173
173
|
const getAbsoluteVirtualFileId = (filePath: string) => {
|
|
174
174
|
if (filePath.startsWith(config.root)) {
|
|
@@ -202,7 +202,7 @@ export function guiPlugin({
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
const basePlugin: Plugin = {
|
|
205
|
-
name: '
|
|
205
|
+
name: 'hanzogui',
|
|
206
206
|
enforce: 'pre',
|
|
207
207
|
|
|
208
208
|
configureServer(_server) {
|
|
@@ -219,28 +219,28 @@ export function guiPlugin({
|
|
|
219
219
|
const options = await ensureLoaded()
|
|
220
220
|
|
|
221
221
|
if (!options) {
|
|
222
|
-
throw new Error(`No
|
|
222
|
+
throw new Error(`No hanzogui options loaded`)
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
// start watching config if enabled
|
|
226
|
-
if (!options.
|
|
227
|
-
watcher = Static.
|
|
228
|
-
components: ['
|
|
229
|
-
config: './src/
|
|
226
|
+
if (!options.disableWatchHanzoguiConfig) {
|
|
227
|
+
watcher = Static.watchHanzoguiConfig({
|
|
228
|
+
components: ['hanzogui'],
|
|
229
|
+
config: './src/hanzogui.config.ts',
|
|
230
230
|
...options,
|
|
231
231
|
}).catch((err) => {
|
|
232
|
-
console.error(` [
|
|
232
|
+
console.error(` [Hanzogui] Error watching config: ${err}`)
|
|
233
233
|
})
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
return {
|
|
237
|
-
envPrefix: ['
|
|
237
|
+
envPrefix: ['TAMAGUI_'],
|
|
238
238
|
|
|
239
239
|
environments: {
|
|
240
240
|
client: {
|
|
241
241
|
define: {
|
|
242
|
-
'process.env.
|
|
243
|
-
'process.env.
|
|
242
|
+
'process.env.TAMAGUI_IS_CLIENT': JSON.stringify(true),
|
|
243
|
+
'process.env.TAMAGUI_ENVIRONMENT': '"client"',
|
|
244
244
|
},
|
|
245
245
|
},
|
|
246
246
|
},
|
|
@@ -255,7 +255,7 @@ export function guiPlugin({
|
|
|
255
255
|
'process.env.ENABLE_STEPS': JSON.stringify(process.env.ENABLE_STEPS || ''),
|
|
256
256
|
'process.env.IS_STATIC': JSON.stringify(false),
|
|
257
257
|
...(env.mode === 'production' && {
|
|
258
|
-
'process.env.
|
|
258
|
+
'process.env.TAMAGUI_OPTIMIZE_THEMES': JSON.stringify(true),
|
|
259
259
|
}),
|
|
260
260
|
},
|
|
261
261
|
resolve:
|
|
@@ -281,21 +281,21 @@ export function guiPlugin({
|
|
|
281
281
|
}
|
|
282
282
|
|
|
283
283
|
const rnwLitePlugin: Plugin = {
|
|
284
|
-
name: '
|
|
284
|
+
name: 'hanzogui-rnw-lite',
|
|
285
285
|
|
|
286
286
|
config() {
|
|
287
287
|
if (enableNativeEnv) {
|
|
288
288
|
return {}
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
const options =
|
|
291
|
+
const options = getHanzoguiOptions()
|
|
292
292
|
if (!options?.useReactNativeWebLite) {
|
|
293
293
|
return {}
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
return {
|
|
297
297
|
resolve: {
|
|
298
|
-
alias:
|
|
298
|
+
alias: hanzoguiAliases({ rnwLite: options.useReactNativeWebLite }),
|
|
299
299
|
},
|
|
300
300
|
optimizeDeps: {
|
|
301
301
|
// upstream react-native-web must not be pre-bundled when aliased to lite
|
|
@@ -308,7 +308,7 @@ export function guiPlugin({
|
|
|
308
308
|
// extract plugin for optimize mode
|
|
309
309
|
// always included, but checks shouldExtract dynamically after config loads
|
|
310
310
|
const extractPlugin: Plugin = {
|
|
311
|
-
name: '
|
|
311
|
+
name: 'hanzogui-extract',
|
|
312
312
|
enforce: 'pre',
|
|
313
313
|
|
|
314
314
|
async config(userConf) {
|
|
@@ -360,7 +360,7 @@ export function guiPlugin({
|
|
|
360
360
|
async load(id) {
|
|
361
361
|
if (!shouldExtract) return
|
|
362
362
|
|
|
363
|
-
const options =
|
|
363
|
+
const options = getHanzoguiOptions()
|
|
364
364
|
if (options?.disable) {
|
|
365
365
|
return
|
|
366
366
|
}
|
|
@@ -380,7 +380,7 @@ export function guiPlugin({
|
|
|
380
380
|
transform: {
|
|
381
381
|
order: 'pre',
|
|
382
382
|
async handler(code, id) {
|
|
383
|
-
// ensure
|
|
383
|
+
// ensure hanzogui is loaded before transform
|
|
384
384
|
const options = await ensureLoaded()
|
|
385
385
|
|
|
386
386
|
// ensure full config (heavy bundling) is loaded before extraction
|
|
@@ -432,9 +432,9 @@ export function guiPlugin({
|
|
|
432
432
|
// check cache first
|
|
433
433
|
const cached = memoryCache[cacheKey]
|
|
434
434
|
if (cached) {
|
|
435
|
-
if (process.env.
|
|
435
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
436
436
|
console.info(
|
|
437
|
-
`[
|
|
437
|
+
`[hanzogui-cache] HIT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
438
438
|
)
|
|
439
439
|
}
|
|
440
440
|
return formatResult(cached)
|
|
@@ -443,9 +443,9 @@ export function guiPlugin({
|
|
|
443
443
|
// check if another request is already extracting this file
|
|
444
444
|
const pendingExtraction = pending.get(cacheKey)
|
|
445
445
|
if (pendingExtraction) {
|
|
446
|
-
if (process.env.
|
|
446
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
447
447
|
console.info(
|
|
448
|
-
`[
|
|
448
|
+
`[hanzogui-cache] WAIT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
449
449
|
)
|
|
450
450
|
}
|
|
451
451
|
const result = await pendingExtraction
|
|
@@ -455,9 +455,9 @@ export function guiPlugin({
|
|
|
455
455
|
return
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
if (process.env.
|
|
458
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
459
459
|
console.info(
|
|
460
|
-
`[
|
|
460
|
+
`[hanzogui-cache] EXTRACT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
461
461
|
)
|
|
462
462
|
}
|
|
463
463
|
|
|
@@ -472,16 +472,21 @@ export function guiPlugin({
|
|
|
472
472
|
shouldPrintDebug,
|
|
473
473
|
})
|
|
474
474
|
} catch (err) {
|
|
475
|
-
if (process.env.
|
|
476
|
-
console.info(
|
|
475
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
476
|
+
console.info(
|
|
477
|
+
`[hanzogui-cache] ERROR extracting ${id.split('/').pop()}:`,
|
|
478
|
+
err
|
|
479
|
+
)
|
|
477
480
|
}
|
|
478
481
|
console.error(err instanceof Error ? err.message : String(err))
|
|
479
482
|
return null
|
|
480
483
|
}
|
|
481
484
|
|
|
482
485
|
if (!extracted) {
|
|
483
|
-
if (process.env.
|
|
484
|
-
console.info(
|
|
486
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
487
|
+
console.info(
|
|
488
|
+
`[hanzogui-cache] no extraction result for ${id.split('/').pop()}`
|
|
489
|
+
)
|
|
485
490
|
}
|
|
486
491
|
return null
|
|
487
492
|
}
|
|
@@ -520,9 +525,9 @@ export function guiPlugin({
|
|
|
520
525
|
}
|
|
521
526
|
memoryCache[cacheKey] = cacheEntry
|
|
522
527
|
|
|
523
|
-
if (process.env.
|
|
528
|
+
if (process.env.DEBUG_TAMAGUI_CACHE) {
|
|
524
529
|
console.info(
|
|
525
|
-
`[
|
|
530
|
+
`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`
|
|
526
531
|
)
|
|
527
532
|
}
|
|
528
533
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HanzoguiOptions } from '@hanzogui/types';
|
|
2
|
+
export declare function getHanzoguiOptions(): HanzoguiOptions | null;
|
|
3
|
+
export declare function getLoadPromise(): Promise<HanzoguiOptions> | null;
|
|
4
|
+
/**
|
|
5
|
+
* Load just the hanzogui.build.ts config (lightweight)
|
|
6
|
+
* This doesn't bundle the full hanzogui config - call ensureFullConfigLoaded() for that
|
|
7
|
+
*/
|
|
8
|
+
export declare function loadHanzoguiBuildConfig(optionsIn?: Partial<HanzoguiOptions>): Promise<HanzoguiOptions>;
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the full hanzogui config is loaded (heavy - bundles config + components)
|
|
11
|
+
* Call this lazily when transform/extraction is actually needed
|
|
12
|
+
*/
|
|
13
|
+
export declare function ensureFullConfigLoaded(): Promise<void>;
|
|
14
|
+
export declare function cleanup(): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=loadHanzogui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadHanzogui.d.ts","sourceRoot":"","sources":["../src/loadHanzogui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAwBtD,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACnC,OAAO,CAAC,eAAe,CAAC,CAgB1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB5D;AAED,wBAAsB,OAAO,kBAO5B"}
|
package/types/plugin.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HanzoguiOptions } from '@hanzogui/static-worker';
|
|
2
2
|
import type { PluginOption } from 'vite';
|
|
3
3
|
type AliasOptions = {
|
|
4
4
|
/** use @hanzogui/react-native-web-lite, 'without-animated' for smaller bundle */
|
|
@@ -11,11 +11,11 @@ type AliasEntry = {
|
|
|
11
11
|
replacement: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
* returns vite-compatible aliases for
|
|
14
|
+
* returns vite-compatible aliases for hanzogui
|
|
15
15
|
* use this when you need control over alias ordering in your config
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function
|
|
17
|
+
export declare function hanzoguiAliases(options?: AliasOptions): AliasEntry[];
|
|
18
|
+
export declare function hanzoguiPlugin({ disableResolveConfig, ...hanzoguiOptionsIn }?: HanzoguiOptions & {
|
|
19
19
|
disableResolveConfig?: boolean;
|
|
20
20
|
}): PluginOption;
|
|
21
21
|
export {};
|
package/types/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,yBAAyB,CAAA;AAOjF,OAAO,KAAK,EAAU,YAAY,EAAiC,MAAM,MAAM,CAAA;AAkD/E,KAAK,YAAY,GAAG;IAClB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAA;IACtC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,YAAiB,GAAG,UAAU,EAAE,CA8CxE;AAED,wBAAgB,cAAc,CAAC,EAC7B,oBAAoB,EACpB,GAAG,iBAAiB,EACrB,GAAE,eAAe,GAAG;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,YAAY,CA+apB"}
|
package/dist/esm/loadGui.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["StaticWorker","LOAD_STATE_KEY","getLoadState","globalThis","loadPromise","loadedOptions","fullConfigLoaded","fullConfigLoadPromise","getGuiOptions","getLoadPromise","loadGuiBuildConfig","optionsIn","state","options","platform","ensureFullConfigLoaded","disableWatchGuiConfig","disable","loadGui","components","cleanup","destroyPool"],"sources":["../../src/loadGui.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,YAAA,MAAkB;AAI9B,MAAMC,cAAA,GAAiB;AASvB,SAASC,aAAA,EAA0B;EACjC,IAAI,CAAEC,UAAA,CAAmBF,cAAc,GAAG;IACxC;IAAEE,UAAA,CAAmBF,cAAc,IAAI;MACrCG,WAAA,EAAa;MACbC,aAAA,EAAe;MACfC,gBAAA,EAAkB;MAClBC,qBAAA,EAAuB;IACzB;EACF;EACA,OAAQJ,UAAA,CAAmBF,cAAc;AAC3C;AAEO,SAASO,cAAA,EAAmC;EACjD,OAAON,YAAA,CAAa,EAAEG,aAAA;AACxB;AAEO,SAASI,eAAA,EAA6C;EAC3D,OAAOP,YAAA,CAAa,EAAEE,WAAA;AACxB;AAMA,eAAsBM,mBACpBC,SAAA,EACqB;EACrB,MAAMC,KAAA,GAAQV,YAAA,CAAa;EAC3B,IAAIU,KAAA,CAAMP,aAAA,EAAe,OAAOO,KAAA,CAAMP,aAAA;EACtC,IAAIO,KAAA,CAAMR,WAAA,EAAa,OAAOQ,KAAA,CAAMR,WAAA;EAEpCQ,KAAA,CAAMR,WAAA,IAAe,YAAY;IAC/B,MAAMS,OAAA,GAAU,MAAMb,YAAA,CAAaU,kBAAA,CAAmB;MACpD,GAAGC,SAAA;MACHG,QAAA,EAAU;IACZ,CAAC;IAEDF,KAAA,CAAMP,aAAA,GAAgBQ,OAAA;IACtB,OAAOA,OAAA;EACT,GAAG;EAEH,OAAOD,KAAA,CAAMR,WAAA;AACf;AAMA,eAAsBW,uBAAA,EAAwC;EAC5D,MAAMH,KAAA,GAAQV,YAAA,CAAa;EAE3B,IAAIU,KAAA,CAAMN,gBAAA,EAAkB;EAC5B,IAAIM,KAAA,CAAML,qBAAA,EAAuB,OAAOK,KAAA,CAAML,qBAAA;EAI9CK,KAAA,CAAML,qBAAA,IAAyB,YAAY;IACzC,MAAMM,OAAA,GAAU,MAAMH,kBAAA,CAAmB;IAGzC,IAAI,CAACG,OAAA,CAAQG,qBAAA,IAAyB,CAACH,OAAA,CAAQI,OAAA,EAAS;MACtD,MAAMjB,YAAA,CAAakB,OAAA,CAAQ;QACzBC,UAAA,EAAY,CAAC,YAAY;QACzBL,QAAA,EAAU;QACV,GAAGD;MACL,CAAC;IACH;IACAD,KAAA,CAAMN,gBAAA,GAAmB;EAC3B,GAAG;EAEH,OAAOM,KAAA,CAAML,qBAAA;AACf;AAEA,eAAsBa,QAAA,EAAU;EAC9B,MAAMpB,YAAA,CAAaqB,WAAA,CAAY;EAC/B,MAAMT,KAAA,GAAQV,YAAA,CAAa;EAC3BU,KAAA,CAAMR,WAAA,GAAc;EACpBQ,KAAA,CAAMP,aAAA,GAAgB;EACtBO,KAAA,CAAMN,gBAAA,GAAmB;EACzBM,KAAA,CAAML,qBAAA,GAAwB;AAChC","ignoreList":[]}
|
package/types/loadGui.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { GuiOptions } from '@hanzogui/types';
|
|
2
|
-
export declare function getGuiOptions(): GuiOptions | null;
|
|
3
|
-
export declare function getLoadPromise(): Promise<GuiOptions> | null;
|
|
4
|
-
/**
|
|
5
|
-
* Load just the gui.build.ts config (lightweight)
|
|
6
|
-
* This doesn't bundle the full gui config - call ensureFullConfigLoaded() for that
|
|
7
|
-
*/
|
|
8
|
-
export declare function loadGuiBuildConfig(optionsIn?: Partial<GuiOptions>): Promise<GuiOptions>;
|
|
9
|
-
/**
|
|
10
|
-
* Ensure the full gui config is loaded (heavy - bundles config + components)
|
|
11
|
-
* Call this lazily when transform/extraction is actually needed
|
|
12
|
-
*/
|
|
13
|
-
export declare function ensureFullConfigLoaded(): Promise<void>;
|
|
14
|
-
export declare function cleanup(): Promise<void>;
|
|
15
|
-
//# sourceMappingURL=loadGui.d.ts.map
|
package/types/loadGui.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadGui.d.ts","sourceRoot":"","sources":["../src/loadGui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAwBjD,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAE3D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC9B,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB5D;AAED,wBAAsB,OAAO,kBAO5B"}
|