@hanzogui/vite-plugin 8.3.0 → 8.3.2
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/extensions.js +16 -0
- package/dist/cjs/extensions.js.map +1 -0
- package/dist/cjs/here.js +6 -0
- package/dist/cjs/here.js.map +1 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/loadGui.js +84 -0
- package/dist/cjs/loadGui.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugin.js +523 -0
- package/dist/cjs/plugin.js.map +1 -0
- package/dist/esm/extensions.js +13 -0
- package/dist/esm/extensions.js.map +1 -0
- package/dist/esm/here.js +3 -0
- package/dist/esm/here.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loadGui.js +76 -0
- package/dist/esm/loadGui.js.map +1 -0
- package/dist/esm/plugin.js +518 -0
- package/dist/esm/plugin.js.map +1 -0
- package/package.json +20 -19
- package/src/here.cjs.ts +3 -0
- package/src/here.ts +2 -0
- package/src/index.ts +1 -1
- package/src/plugin.ts +7 -9
- package/types/here.d.ts +2 -0
- package/types/here.d.ts.map +1 -0
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/plugin.d.ts.map +1 -1
- package/dist/cjs/extensions.cjs +0 -28
- package/dist/cjs/index.cjs +0 -20
- package/dist/cjs/loadGui.cjs +0 -101
- package/dist/cjs/plugin.cjs +0 -473
- package/dist/esm/extensions.mjs +0 -3
- package/dist/esm/extensions.mjs.map +0 -1
- package/dist/esm/index.mjs +0 -2
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/loadGui.mjs +0 -61
- package/dist/esm/loadGui.mjs.map +0 -1
- package/dist/esm/plugin.mjs +0 -435
- package/dist/esm/plugin.mjs.map +0 -1
package/dist/esm/plugin.mjs
DELETED
|
@@ -1,435 +0,0 @@
|
|
|
1
|
-
import * as Static from "@hanzogui/static-worker";
|
|
2
|
-
import { getPragmaOptions, installedPackageOf, isExtractable } from "@hanzogui/static-worker";
|
|
3
|
-
import { createHash } from "node:crypto";
|
|
4
|
-
import { createRequire } from "node:module";
|
|
5
|
-
import path from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
|
-
import { loadGuiBuildConfig, getLoadPromise, getGuiOptions, ensureFullConfigLoaded } from "./loadGui.mjs";
|
|
8
|
-
const _pluginRequire = createRequire(typeof __filename === "string" ? __filename : fileURLToPath(import.meta.url));
|
|
9
|
-
const resolve = name => _pluginRequire.resolve(name);
|
|
10
|
-
const normalizePath = value => value.replace(/\\/g, "/");
|
|
11
|
-
const PACKAGE_EXTENSIONS = /\.(mjs|js|jsx|tsx)$/;
|
|
12
|
-
const CACHE_KEY = "__hanzogui_vite_cache__";
|
|
13
|
-
const CACHE_SIZE_KEY = "__hanzogui_vite_cache_size__";
|
|
14
|
-
const PENDING_KEY = "__hanzogui_vite_pending__";
|
|
15
|
-
function getSharedCache() {
|
|
16
|
-
if (!globalThis[CACHE_KEY]) {
|
|
17
|
-
;
|
|
18
|
-
globalThis[CACHE_KEY] = {};
|
|
19
|
-
}
|
|
20
|
-
return globalThis[CACHE_KEY];
|
|
21
|
-
}
|
|
22
|
-
function getSharedCacheSize() {
|
|
23
|
-
return globalThis[CACHE_SIZE_KEY] || 0;
|
|
24
|
-
}
|
|
25
|
-
function setSharedCacheSize(size) {
|
|
26
|
-
;
|
|
27
|
-
globalThis[CACHE_SIZE_KEY] = size;
|
|
28
|
-
}
|
|
29
|
-
function clearSharedCache() {
|
|
30
|
-
;
|
|
31
|
-
globalThis[CACHE_KEY] = {};
|
|
32
|
-
globalThis[CACHE_SIZE_KEY] = 0;
|
|
33
|
-
}
|
|
34
|
-
function isInstalled(projectRoot, id) {
|
|
35
|
-
try {
|
|
36
|
-
const req = createRequire(path.join(projectRoot, "package.json"));
|
|
37
|
-
req.resolve(id);
|
|
38
|
-
return true;
|
|
39
|
-
} catch {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function addIfInstalled(userConf, projectRoot, ids) {
|
|
44
|
-
const root = projectRoot || process.cwd();
|
|
45
|
-
userConf.optimizeDeps ||= {};
|
|
46
|
-
userConf.optimizeDeps.include ||= [];
|
|
47
|
-
for (const id of ids) {
|
|
48
|
-
if (!userConf.optimizeDeps.include.includes(id) && isInstalled(root, id)) {
|
|
49
|
-
userConf.optimizeDeps.include.push(id);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function getPendingExtractions() {
|
|
54
|
-
if (!globalThis[PENDING_KEY]) {
|
|
55
|
-
;
|
|
56
|
-
globalThis[PENDING_KEY] = /* @__PURE__ */new Map();
|
|
57
|
-
}
|
|
58
|
-
return globalThis[PENDING_KEY];
|
|
59
|
-
}
|
|
60
|
-
function hanzoguiAliases(options = {}) {
|
|
61
|
-
const aliases = [];
|
|
62
|
-
if (options.svg) {
|
|
63
|
-
aliases.push({
|
|
64
|
-
find: "react-native-svg",
|
|
65
|
-
replacement: resolve("@hanzogui/react-native-svg")
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
if (options.rnwLite) {
|
|
69
|
-
const rnwlBase = path.dirname(resolve("@hanzogui/react-native-web-lite/package.json"));
|
|
70
|
-
const rnwl = normalizePath(path.join(rnwlBase, options.rnwLite === "without-animated" ? "dist/esm/without-animated.mjs" : "dist/esm/index.mjs"));
|
|
71
|
-
aliases.push({
|
|
72
|
-
// map deep RNW paths like dist/exports/StyleSheet/preprocess to rnw-lite's flat structure
|
|
73
|
-
// extracts the final path segment (e.g. "preprocess" or "createReactDOMStyle")
|
|
74
|
-
find: /^react-native(?:-web)?\/dist\/(?:exports|modules)\/.*\/([^/]+)$/,
|
|
75
|
-
replacement: `${normalizePath(rnwlBase)}/dist/esm/$1.mjs`
|
|
76
|
-
}, {
|
|
77
|
-
find: /^react-native$/,
|
|
78
|
-
replacement: rnwl
|
|
79
|
-
}, {
|
|
80
|
-
find: /^react-native\/(Libraries\/Utilities\/codegenNativeComponent|Libraries\/Utilities\/codegenNativeCommand)$/,
|
|
81
|
-
replacement: `${rnwlBase}/$1`
|
|
82
|
-
}, {
|
|
83
|
-
find: "react-native/package.json",
|
|
84
|
-
replacement: resolve("@hanzogui/react-native-web-lite/package.json")
|
|
85
|
-
}, {
|
|
86
|
-
find: /^react-native-web$/,
|
|
87
|
-
replacement: rnwl
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return aliases;
|
|
91
|
-
}
|
|
92
|
-
function hanzoguiPlugin({
|
|
93
|
-
disableResolveConfig,
|
|
94
|
-
...hanzoguiOptionsIn
|
|
95
|
-
} = {}) {
|
|
96
|
-
let shouldExtract = !hanzoguiOptionsIn.disableExtraction;
|
|
97
|
-
let watcher;
|
|
98
|
-
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv;
|
|
99
|
-
const extensions = [`.web.mjs`, `.web.js`, `.web.jsx`, `.web.ts`, `.web.tsx`, ".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"];
|
|
100
|
-
loadGuiBuildConfig(hanzoguiOptionsIn);
|
|
101
|
-
const ensureLoaded = async () => {
|
|
102
|
-
const promise = getLoadPromise();
|
|
103
|
-
if (promise) await promise;
|
|
104
|
-
const options = getGuiOptions();
|
|
105
|
-
if (options) {
|
|
106
|
-
shouldExtract = !options.disableExtraction;
|
|
107
|
-
}
|
|
108
|
-
return options;
|
|
109
|
-
};
|
|
110
|
-
const getHash = input => createHash("sha1").update(input).digest("base64");
|
|
111
|
-
const memoryCache = getSharedCache();
|
|
112
|
-
const cssMap = /* @__PURE__ */new Map();
|
|
113
|
-
let config;
|
|
114
|
-
let server;
|
|
115
|
-
const virtualExt = `.hanzogui.css`;
|
|
116
|
-
const getAbsoluteVirtualFileId = filePath => {
|
|
117
|
-
if (filePath.startsWith(config.root)) {
|
|
118
|
-
return filePath;
|
|
119
|
-
}
|
|
120
|
-
return normalizePath(path.join(config.root, filePath));
|
|
121
|
-
};
|
|
122
|
-
function isNotClient(environment) {
|
|
123
|
-
return environment?.name && environment.name !== "client";
|
|
124
|
-
}
|
|
125
|
-
function isNative(environment) {
|
|
126
|
-
return environment?.name && (environment.name === "ios" || environment.name === "android");
|
|
127
|
-
}
|
|
128
|
-
function invalidateModule(absoluteId) {
|
|
129
|
-
if (!server) return;
|
|
130
|
-
const {
|
|
131
|
-
moduleGraph
|
|
132
|
-
} = server;
|
|
133
|
-
const modules = moduleGraph.getModulesByFile(absoluteId);
|
|
134
|
-
if (modules) {
|
|
135
|
-
for (const module of modules) {
|
|
136
|
-
moduleGraph.invalidateModule(module);
|
|
137
|
-
module.lastHMRTimestamp = module.lastInvalidationTimestamp || Date.now();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
const basePlugin = {
|
|
142
|
-
name: "hanzogui",
|
|
143
|
-
enforce: "pre",
|
|
144
|
-
configureServer(_server) {
|
|
145
|
-
server = _server;
|
|
146
|
-
},
|
|
147
|
-
async buildEnd() {
|
|
148
|
-
await watcher?.then(res => {
|
|
149
|
-
res?.dispose();
|
|
150
|
-
});
|
|
151
|
-
},
|
|
152
|
-
async config(_, env) {
|
|
153
|
-
const options = await ensureLoaded();
|
|
154
|
-
if (!options) {
|
|
155
|
-
throw new Error(`No hanzogui options loaded`);
|
|
156
|
-
}
|
|
157
|
-
if (!options.disableWatchGuiConfig) {
|
|
158
|
-
watcher = Static.watchGuiConfig({
|
|
159
|
-
components: ["@hanzo/gui"],
|
|
160
|
-
config: "./src/hanzogui.config.ts",
|
|
161
|
-
...options
|
|
162
|
-
}).catch(err => {
|
|
163
|
-
console.error(` [Gui] Error watching config: ${err}`);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
envPrefix: ["GUI_"],
|
|
168
|
-
// A dependency that RENDERS is bundled, not externalised.
|
|
169
|
-
//
|
|
170
|
-
// An externalised package resolves react itself, and under SSR that is a
|
|
171
|
-
// second module instance of the one react in the tree — its dispatcher is
|
|
172
|
-
// null while the app renders, so the package's first hook throws and the
|
|
173
|
-
// whole page fails, not just the subtree. GuiProvider mounts a telemetry
|
|
174
|
-
// client for every app, so these two arrive in apps that never named them.
|
|
175
|
-
//
|
|
176
|
-
// It belongs here rather than in each app's config because every gui app
|
|
177
|
-
// already mounts this plugin, and a list repeated per app is a list the
|
|
178
|
-
// next app forgets.
|
|
179
|
-
ssr: {
|
|
180
|
-
noExternal: ["@hanzo/event", "@hanzo/observe"]
|
|
181
|
-
},
|
|
182
|
-
environments: {
|
|
183
|
-
client: {
|
|
184
|
-
define: {
|
|
185
|
-
"process.env.GUI_IS_CLIENT": JSON.stringify(true),
|
|
186
|
-
"process.env.GUI_ENVIRONMENT": '"client"'
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
},
|
|
190
|
-
define: {
|
|
191
|
-
// reanimated support
|
|
192
|
-
_frameTimestamp: void 0,
|
|
193
|
-
_WORKLET: false,
|
|
194
|
-
__DEV__: `${env.mode === "development"}`,
|
|
195
|
-
"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || env.mode),
|
|
196
|
-
"process.env.ENABLE_RSC": JSON.stringify(process.env.ENABLE_RSC || ""),
|
|
197
|
-
"process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
|
|
198
|
-
"process.env.IS_STATIC": JSON.stringify(false),
|
|
199
|
-
...(env.mode === "production" && {
|
|
200
|
-
"process.env.GUI_OPTIMIZE_THEMES": JSON.stringify(true)
|
|
201
|
-
})
|
|
202
|
-
},
|
|
203
|
-
resolve: disableResolveConfig || enableNativeEnv ? {} : {
|
|
204
|
-
extensions,
|
|
205
|
-
alias: {
|
|
206
|
-
...(options.platform !== "native" && {
|
|
207
|
-
"react-native/Libraries/Renderer/shims/ReactFabric": resolve("@hanzogui/proxy-worm"),
|
|
208
|
-
"react-native/Libraries/Utilities/codegenNativeComponent": resolve("@hanzogui/proxy-worm"),
|
|
209
|
-
"react-native-svg": resolve("@hanzogui/react-native-svg"),
|
|
210
|
-
...(!options?.useReactNativeWebLite && {
|
|
211
|
-
"react-native": resolve("react-native-web")
|
|
212
|
-
})
|
|
213
|
-
})
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
const rnwLitePlugin = {
|
|
220
|
-
name: "hanzogui-rnw-lite",
|
|
221
|
-
config() {
|
|
222
|
-
if (enableNativeEnv) {
|
|
223
|
-
return {};
|
|
224
|
-
}
|
|
225
|
-
const options = getGuiOptions();
|
|
226
|
-
if (!options?.useReactNativeWebLite) {
|
|
227
|
-
return {};
|
|
228
|
-
}
|
|
229
|
-
const include = [];
|
|
230
|
-
if (isInstalled(process.cwd(), "memoize-one")) {
|
|
231
|
-
include.push("memoize-one");
|
|
232
|
-
}
|
|
233
|
-
return {
|
|
234
|
-
resolve: {
|
|
235
|
-
alias: hanzoguiAliases({
|
|
236
|
-
rnwLite: options.useReactNativeWebLite
|
|
237
|
-
})
|
|
238
|
-
},
|
|
239
|
-
optimizeDeps: {
|
|
240
|
-
// upstream react-native-web must not be pre-bundled when aliased to lite
|
|
241
|
-
exclude: ["react-native-web"],
|
|
242
|
-
include
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
const extractPlugin = {
|
|
248
|
-
name: "hanzogui-extract",
|
|
249
|
-
enforce: "pre",
|
|
250
|
-
async config(userConf) {
|
|
251
|
-
const options = await ensureLoaded();
|
|
252
|
-
userConf.optimizeDeps ||= {};
|
|
253
|
-
userConf.optimizeDeps.include ||= [];
|
|
254
|
-
userConf.optimizeDeps.include.push("inline-style-prefixer");
|
|
255
|
-
addIfInstalled(userConf, userConf.root, ["@hanzogui/toast", "@hanzogui/toast/v2", "@hanzogui/sheet", "@hanzogui/sheet/controller"]);
|
|
256
|
-
userConf.resolve ||= {};
|
|
257
|
-
userConf.resolve.dedupe ||= [];
|
|
258
|
-
for (const id of ["hanzogui", "@hanzogui/core", "@hanzogui/web", "@hanzogui/toast", "@hanzogui/sheet"]) {
|
|
259
|
-
if (!userConf.resolve.dedupe.includes(id) && isInstalled(userConf.root || process.cwd(), id)) {
|
|
260
|
-
userConf.resolve.dedupe.push(id);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
if (!shouldExtract) return;
|
|
264
|
-
userConf.optimizeDeps.include.push("@hanzogui/core/inject-styles");
|
|
265
|
-
},
|
|
266
|
-
async configResolved(resolvedConfig) {
|
|
267
|
-
config = resolvedConfig;
|
|
268
|
-
},
|
|
269
|
-
async resolveId(source) {
|
|
270
|
-
if (!shouldExtract) return;
|
|
271
|
-
if (isNative(this.environment)) {
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
if (isNotClient(this.environment)) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
const [validId, query] = source.split("?");
|
|
278
|
-
if (!validId.endsWith(virtualExt)) {
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
const absoluteId = source.startsWith(config.root) ? source : getAbsoluteVirtualFileId(validId);
|
|
282
|
-
if (cssMap.has(absoluteId)) {
|
|
283
|
-
return absoluteId + (query ? `?${query}` : "");
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
async load(id) {
|
|
287
|
-
if (!shouldExtract) return;
|
|
288
|
-
const options = getGuiOptions();
|
|
289
|
-
if (options?.disable) {
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
if (isNative(this.environment)) {
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
295
|
-
if (isNotClient(this.environment)) {
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
const [validId] = id.split("?");
|
|
299
|
-
return cssMap.get(validId);
|
|
300
|
-
},
|
|
301
|
-
transform: {
|
|
302
|
-
order: "pre",
|
|
303
|
-
async handler(code, id) {
|
|
304
|
-
const options = await ensureLoaded();
|
|
305
|
-
await ensureFullConfigLoaded();
|
|
306
|
-
if (options?.disable) {
|
|
307
|
-
return;
|
|
308
|
-
}
|
|
309
|
-
if (isNative(this.environment)) {
|
|
310
|
-
return;
|
|
311
|
-
}
|
|
312
|
-
const [validId] = id.split("?");
|
|
313
|
-
const pkg = installedPackageOf(validId);
|
|
314
|
-
if (pkg ? !isExtractable(validId, options?.extractPackages) || !PACKAGE_EXTENSIONS.test(validId) : !validId.endsWith(".tsx")) {
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
const {
|
|
318
|
-
shouldDisable,
|
|
319
|
-
shouldPrintDebug
|
|
320
|
-
} = await getPragmaOptions({
|
|
321
|
-
source: code,
|
|
322
|
-
path: validId
|
|
323
|
-
});
|
|
324
|
-
if (shouldPrintDebug) {
|
|
325
|
-
console.trace(`Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}`);
|
|
326
|
-
console.info(`
|
|
327
|
-
|
|
328
|
-
Original source:
|
|
329
|
-
${code}
|
|
330
|
-
|
|
331
|
-
`);
|
|
332
|
-
}
|
|
333
|
-
if (shouldDisable) {
|
|
334
|
-
return;
|
|
335
|
-
}
|
|
336
|
-
const isSSR = isNotClient(this.environment);
|
|
337
|
-
const cacheKey = getHash(`${code}${id}`);
|
|
338
|
-
const pending = getPendingExtractions();
|
|
339
|
-
const formatResult = entry => {
|
|
340
|
-
const finalCode = !isSSR && entry.cssImport ? `${entry.js}
|
|
341
|
-
${entry.cssImport}` : entry.js;
|
|
342
|
-
return {
|
|
343
|
-
code: finalCode,
|
|
344
|
-
map: entry.map
|
|
345
|
-
};
|
|
346
|
-
};
|
|
347
|
-
const cached = memoryCache[cacheKey];
|
|
348
|
-
if (cached) {
|
|
349
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
350
|
-
console.info(`[hanzogui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
351
|
-
}
|
|
352
|
-
return formatResult(cached);
|
|
353
|
-
}
|
|
354
|
-
const pendingExtraction = pending.get(cacheKey);
|
|
355
|
-
if (pendingExtraction) {
|
|
356
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
357
|
-
console.info(`[hanzogui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
358
|
-
}
|
|
359
|
-
const result = await pendingExtraction;
|
|
360
|
-
if (result) {
|
|
361
|
-
return formatResult(result);
|
|
362
|
-
}
|
|
363
|
-
return;
|
|
364
|
-
}
|
|
365
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
366
|
-
console.info(`[hanzogui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
367
|
-
}
|
|
368
|
-
const extractionPromise = (async () => {
|
|
369
|
-
let extracted;
|
|
370
|
-
try {
|
|
371
|
-
extracted = await Static.extractToClassNames({
|
|
372
|
-
source: code,
|
|
373
|
-
sourcePath: validId,
|
|
374
|
-
options,
|
|
375
|
-
shouldPrintDebug
|
|
376
|
-
});
|
|
377
|
-
} catch (err) {
|
|
378
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
379
|
-
console.info(`[hanzogui-cache] ERROR extracting ${id.split("/").pop()}:`, err);
|
|
380
|
-
}
|
|
381
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
382
|
-
return null;
|
|
383
|
-
}
|
|
384
|
-
if (!extracted) {
|
|
385
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
386
|
-
console.info(`[hanzogui-cache] no extraction result for ${id.split("/").pop()}`);
|
|
387
|
-
}
|
|
388
|
-
return null;
|
|
389
|
-
}
|
|
390
|
-
const rootRelativeId = `${validId}${virtualExt}`;
|
|
391
|
-
const absoluteId = getAbsoluteVirtualFileId(rootRelativeId);
|
|
392
|
-
let cssImport = null;
|
|
393
|
-
if (extracted.styles) {
|
|
394
|
-
this.addWatchFile(rootRelativeId);
|
|
395
|
-
if (server && cssMap.has(absoluteId)) {
|
|
396
|
-
invalidateModule(rootRelativeId);
|
|
397
|
-
}
|
|
398
|
-
cssImport = `import "${rootRelativeId}";`;
|
|
399
|
-
cssMap.set(absoluteId, extracted.styles);
|
|
400
|
-
}
|
|
401
|
-
const jsCode = extracted.js.toString();
|
|
402
|
-
const cacheEntry = {
|
|
403
|
-
js: jsCode,
|
|
404
|
-
map: extracted.map,
|
|
405
|
-
cssImport
|
|
406
|
-
};
|
|
407
|
-
const newSize = getSharedCacheSize() + jsCode.length;
|
|
408
|
-
if (newSize > 67108864) {
|
|
409
|
-
clearSharedCache();
|
|
410
|
-
} else {
|
|
411
|
-
setSharedCacheSize(newSize);
|
|
412
|
-
}
|
|
413
|
-
memoryCache[cacheKey] = cacheEntry;
|
|
414
|
-
if (process.env.DEBUG_GUI_CACHE) {
|
|
415
|
-
console.info(`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`);
|
|
416
|
-
}
|
|
417
|
-
return cacheEntry;
|
|
418
|
-
})();
|
|
419
|
-
pending.set(cacheKey, extractionPromise);
|
|
420
|
-
try {
|
|
421
|
-
const result = await extractionPromise;
|
|
422
|
-
if (result) {
|
|
423
|
-
return formatResult(result);
|
|
424
|
-
}
|
|
425
|
-
return;
|
|
426
|
-
} finally {
|
|
427
|
-
pending.delete(cacheKey);
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
};
|
|
432
|
-
return [basePlugin, rnwLitePlugin, extractPlugin];
|
|
433
|
-
}
|
|
434
|
-
export { hanzoguiAliases, hanzoguiPlugin };
|
|
435
|
-
//# sourceMappingURL=plugin.mjs.map
|
package/dist/esm/plugin.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Static","getPragmaOptions","installedPackageOf","isExtractable","createHash","createRequire","path","fileURLToPath","loadGuiBuildConfig","getLoadPromise","getGuiOptions","ensureFullConfigLoaded","_pluginRequire","__filename","import","meta","url","resolve","name","normalizePath","value","replace","PACKAGE_EXTENSIONS","CACHE_KEY","CACHE_SIZE_KEY","PENDING_KEY","getSharedCache","globalThis","getSharedCacheSize","setSharedCacheSize","size","clearSharedCache","isInstalled","projectRoot","id","req","join","addIfInstalled","userConf","ids","root","process","cwd","optimizeDeps","include","includes","push","getPendingExtractions","Map","hanzoguiAliases","options","aliases","svg","find","replacement","rnwLite","rnwlBase","dirname","rnwl","hanzoguiPlugin","disableResolveConfig","hanzoguiOptionsIn","shouldExtract","disableExtraction","watcher","enableNativeEnv","__vxrnEnableNativeEnv","extensions","ensureLoaded","promise","getHash","input","update","digest","memoryCache","cssMap","config","server","virtualExt","getAbsoluteVirtualFileId","filePath","startsWith","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","ssr","noExternal","environments","client","define","JSON","stringify","_frameTimestamp","_WORKLET","__DEV__","mode","NODE_ENV","ENABLE_RSC","ENABLE_STEPS","alias","platform","useReactNativeWebLite","rnwLitePlugin","exclude","extractPlugin","dedupe","configResolved","resolvedConfig","resolveId","source","validId","query","split","endsWith","has","load","disable","get","transform","order","handler","code","pkg","extractPackages","test","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":"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","ignoreList":[]}
|