@hanzogui/vite-plugin 7.3.0 → 8.0.0
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 +2 -2
- package/dist/cjs/plugin.cjs +64 -30
- package/dist/esm/loadGui.mjs +2 -2
- package/dist/esm/loadGui.mjs.map +1 -1
- package/dist/esm/plugin.mjs +62 -28
- package/dist/esm/plugin.mjs.map +1 -1
- package/package.json +15 -16
- package/src/loadGui.ts +6 -6
- package/src/plugin.ts +123 -37
- package/types/loadGui.d.ts +3 -3
- package/types/plugin.d.ts +3 -3
- package/types/plugin.d.ts.map +1 -1
- package/LICENSE +0 -42
package/dist/cjs/loadGui.cjs
CHANGED
|
@@ -41,7 +41,7 @@ __export(loadGui_exports, {
|
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(loadGui_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
|
;
|
|
@@ -82,7 +82,7 @@ async function ensureFullConfigLoaded() {
|
|
|
82
82
|
const options = await loadGuiBuildConfig();
|
|
83
83
|
if (!options.disableWatchGuiConfig && !options.disable) {
|
|
84
84
|
await StaticWorker.loadGui({
|
|
85
|
-
components: ["
|
|
85
|
+
components: ["hanzogui"],
|
|
86
86
|
platform: "web",
|
|
87
87
|
...options
|
|
88
88
|
});
|
package/dist/cjs/plugin.cjs
CHANGED
|
@@ -33,22 +33,24 @@ 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);
|
|
41
41
|
var import_static_worker = require("@hanzogui/static-worker");
|
|
42
42
|
var import_node_crypto = require("node:crypto");
|
|
43
|
+
var import_node_module = require("node:module");
|
|
43
44
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
44
45
|
var import_node_url = require("node:url");
|
|
45
|
-
var import_vite = require("vite");
|
|
46
46
|
var import_loadGui = require("./loadGui.cjs");
|
|
47
47
|
const import_meta = {};
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
48
|
+
const _pluginRequire = (0, import_node_module.createRequire)(typeof __filename === "string" ? __filename : (0, import_node_url.fileURLToPath)(import_meta.url));
|
|
49
|
+
const resolve = name => _pluginRequire.resolve(name);
|
|
50
|
+
const normalizePath = value => value.replace(/\\/g, "/");
|
|
51
|
+
const CACHE_KEY = "__hanzogui_vite_cache__";
|
|
52
|
+
const CACHE_SIZE_KEY = "__hanzogui_vite_cache_size__";
|
|
53
|
+
const PENDING_KEY = "__hanzogui_vite_pending__";
|
|
52
54
|
function getSharedCache() {
|
|
53
55
|
if (!globalThis[CACHE_KEY]) {
|
|
54
56
|
;
|
|
@@ -68,6 +70,25 @@ function clearSharedCache() {
|
|
|
68
70
|
globalThis[CACHE_KEY] = {};
|
|
69
71
|
globalThis[CACHE_SIZE_KEY] = 0;
|
|
70
72
|
}
|
|
73
|
+
function isInstalled(projectRoot, id) {
|
|
74
|
+
try {
|
|
75
|
+
const req = (0, import_node_module.createRequire)(import_node_path.default.join(projectRoot, "package.json"));
|
|
76
|
+
req.resolve(id);
|
|
77
|
+
return true;
|
|
78
|
+
} catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function addIfInstalled(userConf, projectRoot, ids) {
|
|
83
|
+
const root = projectRoot || process.cwd();
|
|
84
|
+
userConf.optimizeDeps ||= {};
|
|
85
|
+
userConf.optimizeDeps.include ||= [];
|
|
86
|
+
for (const id of ids) {
|
|
87
|
+
if (!userConf.optimizeDeps.include.includes(id) && isInstalled(root, id)) {
|
|
88
|
+
userConf.optimizeDeps.include.push(id);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
71
92
|
function getPendingExtractions() {
|
|
72
93
|
if (!globalThis[PENDING_KEY]) {
|
|
73
94
|
;
|
|
@@ -75,7 +96,7 @@ function getPendingExtractions() {
|
|
|
75
96
|
}
|
|
76
97
|
return globalThis[PENDING_KEY];
|
|
77
98
|
}
|
|
78
|
-
function
|
|
99
|
+
function hanzoguiAliases(options = {}) {
|
|
79
100
|
const aliases = [];
|
|
80
101
|
if (options.svg) {
|
|
81
102
|
aliases.push({
|
|
@@ -84,13 +105,13 @@ function guiAliases(options = {}) {
|
|
|
84
105
|
});
|
|
85
106
|
}
|
|
86
107
|
if (options.rnwLite) {
|
|
87
|
-
const rnwl = resolve(options.rnwLite === "without-animated" ? "@hanzogui/react-native-web-lite/without-animated" : "@hanzogui/react-native-web-lite");
|
|
88
108
|
const rnwlBase = import_node_path.default.dirname(resolve("@hanzogui/react-native-web-lite/package.json"));
|
|
109
|
+
const rnwl = normalizePath(import_node_path.default.join(rnwlBase, options.rnwLite === "without-animated" ? "dist/esm/without-animated.mjs" : "dist/esm/index.mjs"));
|
|
89
110
|
aliases.push({
|
|
90
111
|
// map deep RNW paths like dist/exports/StyleSheet/preprocess to rnw-lite's flat structure
|
|
91
112
|
// extracts the final path segment (e.g. "preprocess" or "createReactDOMStyle")
|
|
92
113
|
find: /^react-native(?:-web)?\/dist\/(?:exports|modules)\/.*\/([^/]+)$/,
|
|
93
|
-
replacement: `${rnwlBase}/dist/esm/$1.mjs`
|
|
114
|
+
replacement: `${normalizePath(rnwlBase)}/dist/esm/$1.mjs`
|
|
94
115
|
}, {
|
|
95
116
|
find: /^react-native$/,
|
|
96
117
|
replacement: rnwl
|
|
@@ -107,15 +128,15 @@ function guiAliases(options = {}) {
|
|
|
107
128
|
}
|
|
108
129
|
return aliases;
|
|
109
130
|
}
|
|
110
|
-
function
|
|
131
|
+
function hanzoguiPlugin({
|
|
111
132
|
disableResolveConfig,
|
|
112
|
-
...
|
|
133
|
+
...hanzoguiOptionsIn
|
|
113
134
|
} = {}) {
|
|
114
|
-
let shouldExtract = !
|
|
135
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction;
|
|
115
136
|
let watcher;
|
|
116
137
|
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv;
|
|
117
138
|
const extensions = [`.web.mjs`, `.web.js`, `.web.jsx`, `.web.ts`, `.web.tsx`, ".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"];
|
|
118
|
-
(0, import_loadGui.loadGuiBuildConfig)(
|
|
139
|
+
(0, import_loadGui.loadGuiBuildConfig)(hanzoguiOptionsIn);
|
|
119
140
|
const ensureLoaded = async () => {
|
|
120
141
|
const promise = (0, import_loadGui.getLoadPromise)();
|
|
121
142
|
if (promise) await promise;
|
|
@@ -130,12 +151,12 @@ function guiPlugin({
|
|
|
130
151
|
const cssMap = /* @__PURE__ */new Map();
|
|
131
152
|
let config;
|
|
132
153
|
let server;
|
|
133
|
-
const virtualExt = `.
|
|
154
|
+
const virtualExt = `.hanzogui.css`;
|
|
134
155
|
const getAbsoluteVirtualFileId = filePath => {
|
|
135
156
|
if (filePath.startsWith(config.root)) {
|
|
136
157
|
return filePath;
|
|
137
158
|
}
|
|
138
|
-
return
|
|
159
|
+
return normalizePath(import_node_path.default.join(config.root, filePath));
|
|
139
160
|
};
|
|
140
161
|
function isNotClient(environment) {
|
|
141
162
|
return environment?.name && environment.name !== "client";
|
|
@@ -157,7 +178,7 @@ function guiPlugin({
|
|
|
157
178
|
}
|
|
158
179
|
}
|
|
159
180
|
const basePlugin = {
|
|
160
|
-
name: "
|
|
181
|
+
name: "hanzogui",
|
|
161
182
|
enforce: "pre",
|
|
162
183
|
configureServer(_server) {
|
|
163
184
|
server = _server;
|
|
@@ -170,12 +191,12 @@ function guiPlugin({
|
|
|
170
191
|
async config(_, env) {
|
|
171
192
|
const options = await ensureLoaded();
|
|
172
193
|
if (!options) {
|
|
173
|
-
throw new Error(`No
|
|
194
|
+
throw new Error(`No hanzogui options loaded`);
|
|
174
195
|
}
|
|
175
196
|
if (!options.disableWatchGuiConfig) {
|
|
176
197
|
watcher = Static.watchGuiConfig({
|
|
177
|
-
components: ["
|
|
178
|
-
config: "./src/
|
|
198
|
+
components: ["hanzogui"],
|
|
199
|
+
config: "./src/hanzogui.config.ts",
|
|
179
200
|
...options
|
|
180
201
|
}).catch(err => {
|
|
181
202
|
console.error(` [Gui] Error watching config: ${err}`);
|
|
@@ -221,7 +242,7 @@ function guiPlugin({
|
|
|
221
242
|
}
|
|
222
243
|
};
|
|
223
244
|
const rnwLitePlugin = {
|
|
224
|
-
name: "
|
|
245
|
+
name: "hanzogui-rnw-lite",
|
|
225
246
|
config() {
|
|
226
247
|
if (enableNativeEnv) {
|
|
227
248
|
return {};
|
|
@@ -230,27 +251,40 @@ function guiPlugin({
|
|
|
230
251
|
if (!options?.useReactNativeWebLite) {
|
|
231
252
|
return {};
|
|
232
253
|
}
|
|
254
|
+
const include = [];
|
|
255
|
+
if (isInstalled(process.cwd(), "memoize-one")) {
|
|
256
|
+
include.push("memoize-one");
|
|
257
|
+
}
|
|
233
258
|
return {
|
|
234
259
|
resolve: {
|
|
235
|
-
alias:
|
|
260
|
+
alias: hanzoguiAliases({
|
|
236
261
|
rnwLite: options.useReactNativeWebLite
|
|
237
262
|
})
|
|
238
263
|
},
|
|
239
264
|
optimizeDeps: {
|
|
240
265
|
// upstream react-native-web must not be pre-bundled when aliased to lite
|
|
241
|
-
exclude: ["react-native-web"]
|
|
266
|
+
exclude: ["react-native-web"],
|
|
267
|
+
include
|
|
242
268
|
}
|
|
243
269
|
};
|
|
244
270
|
}
|
|
245
271
|
};
|
|
246
272
|
const extractPlugin = {
|
|
247
|
-
name: "
|
|
273
|
+
name: "hanzogui-extract",
|
|
248
274
|
enforce: "pre",
|
|
249
275
|
async config(userConf) {
|
|
250
276
|
const options = await ensureLoaded();
|
|
251
277
|
userConf.optimizeDeps ||= {};
|
|
252
278
|
userConf.optimizeDeps.include ||= [];
|
|
253
279
|
userConf.optimizeDeps.include.push("inline-style-prefixer");
|
|
280
|
+
addIfInstalled(userConf, userConf.root, ["@hanzogui/toast", "@hanzogui/toast/v2", "@hanzogui/sheet", "@hanzogui/sheet/controller"]);
|
|
281
|
+
userConf.resolve ||= {};
|
|
282
|
+
userConf.resolve.dedupe ||= [];
|
|
283
|
+
for (const id of ["hanzogui", "@hanzogui/core", "@hanzogui/web", "@hanzogui/toast", "@hanzogui/sheet"]) {
|
|
284
|
+
if (!userConf.resolve.dedupe.includes(id) && isInstalled(userConf.root || process.cwd(), id)) {
|
|
285
|
+
userConf.resolve.dedupe.push(id);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
254
288
|
if (!shouldExtract) return;
|
|
255
289
|
userConf.optimizeDeps.include.push("@hanzogui/core/inject-styles");
|
|
256
290
|
},
|
|
@@ -337,14 +371,14 @@ ${entry.cssImport}` : entry.js;
|
|
|
337
371
|
const cached = memoryCache[cacheKey];
|
|
338
372
|
if (cached) {
|
|
339
373
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
340
|
-
console.info(`[
|
|
374
|
+
console.info(`[hanzogui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
341
375
|
}
|
|
342
376
|
return formatResult(cached);
|
|
343
377
|
}
|
|
344
378
|
const pendingExtraction = pending.get(cacheKey);
|
|
345
379
|
if (pendingExtraction) {
|
|
346
380
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
347
|
-
console.info(`[
|
|
381
|
+
console.info(`[hanzogui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
348
382
|
}
|
|
349
383
|
const result = await pendingExtraction;
|
|
350
384
|
if (result) {
|
|
@@ -353,7 +387,7 @@ ${entry.cssImport}` : entry.js;
|
|
|
353
387
|
return;
|
|
354
388
|
}
|
|
355
389
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
356
|
-
console.info(`[
|
|
390
|
+
console.info(`[hanzogui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
357
391
|
}
|
|
358
392
|
const extractionPromise = (async () => {
|
|
359
393
|
let extracted;
|
|
@@ -366,14 +400,14 @@ ${entry.cssImport}` : entry.js;
|
|
|
366
400
|
});
|
|
367
401
|
} catch (err) {
|
|
368
402
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
369
|
-
console.info(`[
|
|
403
|
+
console.info(`[hanzogui-cache] ERROR extracting ${id.split("/").pop()}:`, err);
|
|
370
404
|
}
|
|
371
405
|
console.error(err instanceof Error ? err.message : String(err));
|
|
372
406
|
return null;
|
|
373
407
|
}
|
|
374
408
|
if (!extracted) {
|
|
375
409
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
376
|
-
console.info(`[
|
|
410
|
+
console.info(`[hanzogui-cache] no extraction result for ${id.split("/").pop()}`);
|
|
377
411
|
}
|
|
378
412
|
return null;
|
|
379
413
|
}
|
|
@@ -402,7 +436,7 @@ ${entry.cssImport}` : entry.js;
|
|
|
402
436
|
}
|
|
403
437
|
memoryCache[cacheKey] = cacheEntry;
|
|
404
438
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
405
|
-
console.info(`[
|
|
439
|
+
console.info(`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`);
|
|
406
440
|
}
|
|
407
441
|
return cacheEntry;
|
|
408
442
|
})();
|
package/dist/esm/loadGui.mjs
CHANGED
|
@@ -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
|
;
|
|
@@ -40,7 +40,7 @@ async function ensureFullConfigLoaded() {
|
|
|
40
40
|
const options = await loadGuiBuildConfig();
|
|
41
41
|
if (!options.disableWatchGuiConfig && !options.disable) {
|
|
42
42
|
await StaticWorker.loadGui({
|
|
43
|
-
components: ["
|
|
43
|
+
components: ["hanzogui"],
|
|
44
44
|
platform: "web",
|
|
45
45
|
...options
|
|
46
46
|
});
|
package/dist/esm/loadGui.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,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
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import * as Static from "@hanzogui/static-worker";
|
|
2
2
|
import { getPragmaOptions } from "@hanzogui/static-worker";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
4
5
|
import path from "node:path";
|
|
5
6
|
import { fileURLToPath } from "node:url";
|
|
6
|
-
import { normalizePath } from "vite";
|
|
7
7
|
import { loadGuiBuildConfig, getLoadPromise, getGuiOptions, ensureFullConfigLoaded } from "./loadGui.mjs";
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
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 CACHE_KEY = "__hanzogui_vite_cache__";
|
|
12
|
+
const CACHE_SIZE_KEY = "__hanzogui_vite_cache_size__";
|
|
13
|
+
const PENDING_KEY = "__hanzogui_vite_pending__";
|
|
12
14
|
function getSharedCache() {
|
|
13
15
|
if (!globalThis[CACHE_KEY]) {
|
|
14
16
|
;
|
|
@@ -28,6 +30,25 @@ function clearSharedCache() {
|
|
|
28
30
|
globalThis[CACHE_KEY] = {};
|
|
29
31
|
globalThis[CACHE_SIZE_KEY] = 0;
|
|
30
32
|
}
|
|
33
|
+
function isInstalled(projectRoot, id) {
|
|
34
|
+
try {
|
|
35
|
+
const req = createRequire(path.join(projectRoot, "package.json"));
|
|
36
|
+
req.resolve(id);
|
|
37
|
+
return true;
|
|
38
|
+
} catch {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function addIfInstalled(userConf, projectRoot, ids) {
|
|
43
|
+
const root = projectRoot || process.cwd();
|
|
44
|
+
userConf.optimizeDeps ||= {};
|
|
45
|
+
userConf.optimizeDeps.include ||= [];
|
|
46
|
+
for (const id of ids) {
|
|
47
|
+
if (!userConf.optimizeDeps.include.includes(id) && isInstalled(root, id)) {
|
|
48
|
+
userConf.optimizeDeps.include.push(id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
31
52
|
function getPendingExtractions() {
|
|
32
53
|
if (!globalThis[PENDING_KEY]) {
|
|
33
54
|
;
|
|
@@ -35,7 +56,7 @@ function getPendingExtractions() {
|
|
|
35
56
|
}
|
|
36
57
|
return globalThis[PENDING_KEY];
|
|
37
58
|
}
|
|
38
|
-
function
|
|
59
|
+
function hanzoguiAliases(options = {}) {
|
|
39
60
|
const aliases = [];
|
|
40
61
|
if (options.svg) {
|
|
41
62
|
aliases.push({
|
|
@@ -44,13 +65,13 @@ function guiAliases(options = {}) {
|
|
|
44
65
|
});
|
|
45
66
|
}
|
|
46
67
|
if (options.rnwLite) {
|
|
47
|
-
const rnwl = resolve(options.rnwLite === "without-animated" ? "@hanzogui/react-native-web-lite/without-animated" : "@hanzogui/react-native-web-lite");
|
|
48
68
|
const rnwlBase = path.dirname(resolve("@hanzogui/react-native-web-lite/package.json"));
|
|
69
|
+
const rnwl = normalizePath(path.join(rnwlBase, options.rnwLite === "without-animated" ? "dist/esm/without-animated.mjs" : "dist/esm/index.mjs"));
|
|
49
70
|
aliases.push({
|
|
50
71
|
// map deep RNW paths like dist/exports/StyleSheet/preprocess to rnw-lite's flat structure
|
|
51
72
|
// extracts the final path segment (e.g. "preprocess" or "createReactDOMStyle")
|
|
52
73
|
find: /^react-native(?:-web)?\/dist\/(?:exports|modules)\/.*\/([^/]+)$/,
|
|
53
|
-
replacement: `${rnwlBase}/dist/esm/$1.mjs`
|
|
74
|
+
replacement: `${normalizePath(rnwlBase)}/dist/esm/$1.mjs`
|
|
54
75
|
}, {
|
|
55
76
|
find: /^react-native$/,
|
|
56
77
|
replacement: rnwl
|
|
@@ -67,15 +88,15 @@ function guiAliases(options = {}) {
|
|
|
67
88
|
}
|
|
68
89
|
return aliases;
|
|
69
90
|
}
|
|
70
|
-
function
|
|
91
|
+
function hanzoguiPlugin({
|
|
71
92
|
disableResolveConfig,
|
|
72
|
-
...
|
|
93
|
+
...hanzoguiOptionsIn
|
|
73
94
|
} = {}) {
|
|
74
|
-
let shouldExtract = !
|
|
95
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction;
|
|
75
96
|
let watcher;
|
|
76
97
|
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv;
|
|
77
98
|
const extensions = [`.web.mjs`, `.web.js`, `.web.jsx`, `.web.ts`, `.web.tsx`, ".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"];
|
|
78
|
-
loadGuiBuildConfig(
|
|
99
|
+
loadGuiBuildConfig(hanzoguiOptionsIn);
|
|
79
100
|
const ensureLoaded = async () => {
|
|
80
101
|
const promise = getLoadPromise();
|
|
81
102
|
if (promise) await promise;
|
|
@@ -90,7 +111,7 @@ function guiPlugin({
|
|
|
90
111
|
const cssMap = /* @__PURE__ */new Map();
|
|
91
112
|
let config;
|
|
92
113
|
let server;
|
|
93
|
-
const virtualExt = `.
|
|
114
|
+
const virtualExt = `.hanzogui.css`;
|
|
94
115
|
const getAbsoluteVirtualFileId = filePath => {
|
|
95
116
|
if (filePath.startsWith(config.root)) {
|
|
96
117
|
return filePath;
|
|
@@ -117,7 +138,7 @@ function guiPlugin({
|
|
|
117
138
|
}
|
|
118
139
|
}
|
|
119
140
|
const basePlugin = {
|
|
120
|
-
name: "
|
|
141
|
+
name: "hanzogui",
|
|
121
142
|
enforce: "pre",
|
|
122
143
|
configureServer(_server) {
|
|
123
144
|
server = _server;
|
|
@@ -130,12 +151,12 @@ function guiPlugin({
|
|
|
130
151
|
async config(_, env) {
|
|
131
152
|
const options = await ensureLoaded();
|
|
132
153
|
if (!options) {
|
|
133
|
-
throw new Error(`No
|
|
154
|
+
throw new Error(`No hanzogui options loaded`);
|
|
134
155
|
}
|
|
135
156
|
if (!options.disableWatchGuiConfig) {
|
|
136
157
|
watcher = Static.watchGuiConfig({
|
|
137
|
-
components: ["
|
|
138
|
-
config: "./src/
|
|
158
|
+
components: ["hanzogui"],
|
|
159
|
+
config: "./src/hanzogui.config.ts",
|
|
139
160
|
...options
|
|
140
161
|
}).catch(err => {
|
|
141
162
|
console.error(` [Gui] Error watching config: ${err}`);
|
|
@@ -181,7 +202,7 @@ function guiPlugin({
|
|
|
181
202
|
}
|
|
182
203
|
};
|
|
183
204
|
const rnwLitePlugin = {
|
|
184
|
-
name: "
|
|
205
|
+
name: "hanzogui-rnw-lite",
|
|
185
206
|
config() {
|
|
186
207
|
if (enableNativeEnv) {
|
|
187
208
|
return {};
|
|
@@ -190,27 +211,40 @@ function guiPlugin({
|
|
|
190
211
|
if (!options?.useReactNativeWebLite) {
|
|
191
212
|
return {};
|
|
192
213
|
}
|
|
214
|
+
const include = [];
|
|
215
|
+
if (isInstalled(process.cwd(), "memoize-one")) {
|
|
216
|
+
include.push("memoize-one");
|
|
217
|
+
}
|
|
193
218
|
return {
|
|
194
219
|
resolve: {
|
|
195
|
-
alias:
|
|
220
|
+
alias: hanzoguiAliases({
|
|
196
221
|
rnwLite: options.useReactNativeWebLite
|
|
197
222
|
})
|
|
198
223
|
},
|
|
199
224
|
optimizeDeps: {
|
|
200
225
|
// upstream react-native-web must not be pre-bundled when aliased to lite
|
|
201
|
-
exclude: ["react-native-web"]
|
|
226
|
+
exclude: ["react-native-web"],
|
|
227
|
+
include
|
|
202
228
|
}
|
|
203
229
|
};
|
|
204
230
|
}
|
|
205
231
|
};
|
|
206
232
|
const extractPlugin = {
|
|
207
|
-
name: "
|
|
233
|
+
name: "hanzogui-extract",
|
|
208
234
|
enforce: "pre",
|
|
209
235
|
async config(userConf) {
|
|
210
236
|
const options = await ensureLoaded();
|
|
211
237
|
userConf.optimizeDeps ||= {};
|
|
212
238
|
userConf.optimizeDeps.include ||= [];
|
|
213
239
|
userConf.optimizeDeps.include.push("inline-style-prefixer");
|
|
240
|
+
addIfInstalled(userConf, userConf.root, ["@hanzogui/toast", "@hanzogui/toast/v2", "@hanzogui/sheet", "@hanzogui/sheet/controller"]);
|
|
241
|
+
userConf.resolve ||= {};
|
|
242
|
+
userConf.resolve.dedupe ||= [];
|
|
243
|
+
for (const id of ["hanzogui", "@hanzogui/core", "@hanzogui/web", "@hanzogui/toast", "@hanzogui/sheet"]) {
|
|
244
|
+
if (!userConf.resolve.dedupe.includes(id) && isInstalled(userConf.root || process.cwd(), id)) {
|
|
245
|
+
userConf.resolve.dedupe.push(id);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
214
248
|
if (!shouldExtract) return;
|
|
215
249
|
userConf.optimizeDeps.include.push("@hanzogui/core/inject-styles");
|
|
216
250
|
},
|
|
@@ -297,14 +331,14 @@ ${entry.cssImport}` : entry.js;
|
|
|
297
331
|
const cached = memoryCache[cacheKey];
|
|
298
332
|
if (cached) {
|
|
299
333
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
300
|
-
console.info(`[
|
|
334
|
+
console.info(`[hanzogui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
301
335
|
}
|
|
302
336
|
return formatResult(cached);
|
|
303
337
|
}
|
|
304
338
|
const pendingExtraction = pending.get(cacheKey);
|
|
305
339
|
if (pendingExtraction) {
|
|
306
340
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
307
|
-
console.info(`[
|
|
341
|
+
console.info(`[hanzogui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
308
342
|
}
|
|
309
343
|
const result = await pendingExtraction;
|
|
310
344
|
if (result) {
|
|
@@ -313,7 +347,7 @@ ${entry.cssImport}` : entry.js;
|
|
|
313
347
|
return;
|
|
314
348
|
}
|
|
315
349
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
316
|
-
console.info(`[
|
|
350
|
+
console.info(`[hanzogui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`);
|
|
317
351
|
}
|
|
318
352
|
const extractionPromise = (async () => {
|
|
319
353
|
let extracted;
|
|
@@ -326,14 +360,14 @@ ${entry.cssImport}` : entry.js;
|
|
|
326
360
|
});
|
|
327
361
|
} catch (err) {
|
|
328
362
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
329
|
-
console.info(`[
|
|
363
|
+
console.info(`[hanzogui-cache] ERROR extracting ${id.split("/").pop()}:`, err);
|
|
330
364
|
}
|
|
331
365
|
console.error(err instanceof Error ? err.message : String(err));
|
|
332
366
|
return null;
|
|
333
367
|
}
|
|
334
368
|
if (!extracted) {
|
|
335
369
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
336
|
-
console.info(`[
|
|
370
|
+
console.info(`[hanzogui-cache] no extraction result for ${id.split("/").pop()}`);
|
|
337
371
|
}
|
|
338
372
|
return null;
|
|
339
373
|
}
|
|
@@ -362,7 +396,7 @@ ${entry.cssImport}` : entry.js;
|
|
|
362
396
|
}
|
|
363
397
|
memoryCache[cacheKey] = cacheEntry;
|
|
364
398
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
365
|
-
console.info(`[
|
|
399
|
+
console.info(`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`);
|
|
366
400
|
}
|
|
367
401
|
return cacheEntry;
|
|
368
402
|
})();
|
|
@@ -381,5 +415,5 @@ ${entry.cssImport}` : entry.js;
|
|
|
381
415
|
};
|
|
382
416
|
return [basePlugin, rnwLitePlugin, extractPlugin];
|
|
383
417
|
}
|
|
384
|
-
export {
|
|
418
|
+
export { hanzoguiAliases, hanzoguiPlugin };
|
|
385
419
|
//# 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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Static","getPragmaOptions","createHash","createRequire","path","fileURLToPath","loadGuiBuildConfig","getLoadPromise","getGuiOptions","ensureFullConfigLoaded","_pluginRequire","__filename","import","meta","url","resolve","name","normalizePath","value","replace","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","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","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":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/vite-plugin",
|
|
3
|
-
"version": "
|
|
4
|
-
"license": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
7
7
|
"types",
|
|
@@ -26,34 +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": "8.0.0",
|
|
36
|
+
"@hanzogui/proxy-worm": "8.0.0",
|
|
37
|
+
"@hanzogui/react-native-svg": "8.0.0",
|
|
38
|
+
"@hanzogui/react-native-web-lite": "8.0.0",
|
|
39
|
+
"@hanzogui/static-worker": "8.0.0",
|
|
40
|
+
"@hanzogui/types": "8.0.0",
|
|
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": "
|
|
47
|
+
"@hanzogui/build": "8.0.0",
|
|
48
48
|
"vite": "^8.0.3"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"vite": "
|
|
51
|
+
"vite": "^8.0.3"
|
|
52
52
|
},
|
|
53
53
|
"hanzogui": {
|
|
54
54
|
"build": {
|
|
55
55
|
"skipEnvToMeta": true
|
|
56
56
|
}
|
|
57
|
-
}
|
|
58
|
-
"author": "Hanzo AI <dev@hanzo.ai>"
|
|
57
|
+
}
|
|
59
58
|
}
|
package/src/loadGui.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as StaticWorker from '@hanzogui/static-worker'
|
|
|
2
2
|
import type { GuiOptions } 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
8
|
loadPromise: Promise<GuiOptions> | null
|
|
@@ -32,8 +32,8 @@ export function getLoadPromise(): Promise<GuiOptions> | null {
|
|
|
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
38
|
export async function loadGuiBuildConfig(
|
|
39
39
|
optionsIn?: Partial<GuiOptions>
|
|
@@ -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> {
|
|
@@ -70,10 +70,10 @@ export async function ensureFullConfigLoaded(): Promise<void> {
|
|
|
70
70
|
state.fullConfigLoadPromise = (async () => {
|
|
71
71
|
const options = await loadGuiBuildConfig()
|
|
72
72
|
|
|
73
|
-
// load full
|
|
73
|
+
// load full hanzogui config in worker (asynchronous)
|
|
74
74
|
if (!options.disableWatchGuiConfig && !options.disable) {
|
|
75
75
|
await StaticWorker.loadGui({
|
|
76
|
-
components: ['
|
|
76
|
+
components: ['hanzogui'],
|
|
77
77
|
platform: 'web',
|
|
78
78
|
...options,
|
|
79
79
|
})
|
package/src/plugin.ts
CHANGED
|
@@ -2,11 +2,11 @@ import type { GuiOptions, 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'
|
|
5
|
-
import {
|
|
5
|
+
import { createRequire } from 'node:module'
|
|
6
6
|
import path from 'node:path'
|
|
7
7
|
import { fileURLToPath } from 'node:url'
|
|
8
8
|
import type { Plugin, PluginOption, ResolvedConfig, ViteDevServer } from 'vite'
|
|
9
|
-
import {
|
|
9
|
+
import type { Environment } from 'vite'
|
|
10
10
|
import {
|
|
11
11
|
loadGuiBuildConfig,
|
|
12
12
|
getLoadPromise,
|
|
@@ -14,7 +14,12 @@ import {
|
|
|
14
14
|
ensureFullConfigLoaded,
|
|
15
15
|
} from './loadGui'
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
// handle ESM/CJS duality for plugin dependencies - resolve from plugin's location, not user's project
|
|
18
|
+
const _pluginRequire = createRequire(
|
|
19
|
+
typeof __filename === 'string' ? __filename : fileURLToPath(import.meta.url)
|
|
20
|
+
)
|
|
21
|
+
const resolve = (name: string) => _pluginRequire.resolve(name)
|
|
22
|
+
const normalizePath = (value: string) => value.replace(/\\/g, '/')
|
|
18
23
|
|
|
19
24
|
// shared cache across all plugin instances/environments via globalThis
|
|
20
25
|
type CacheEntry = {
|
|
@@ -23,9 +28,9 @@ type CacheEntry = {
|
|
|
23
28
|
cssImport: string | null
|
|
24
29
|
}
|
|
25
30
|
|
|
26
|
-
const CACHE_KEY = '
|
|
27
|
-
const CACHE_SIZE_KEY = '
|
|
28
|
-
const PENDING_KEY = '
|
|
31
|
+
const CACHE_KEY = '__hanzogui_vite_cache__'
|
|
32
|
+
const CACHE_SIZE_KEY = '__hanzogui_vite_cache_size__'
|
|
33
|
+
const PENDING_KEY = '__hanzogui_vite_pending__'
|
|
29
34
|
|
|
30
35
|
function getSharedCache(): Record<string, CacheEntry> {
|
|
31
36
|
if (!(globalThis as any)[CACHE_KEY]) {
|
|
@@ -47,6 +52,34 @@ function clearSharedCache() {
|
|
|
47
52
|
;(globalThis as any)[CACHE_SIZE_KEY] = 0
|
|
48
53
|
}
|
|
49
54
|
|
|
55
|
+
// resolves package ids against the user's project root (not the plugin's
|
|
56
|
+
// install location). returns true if the id is resolvable, false if the
|
|
57
|
+
// dep isn't installed, safe to call for optional deps.
|
|
58
|
+
function isInstalled(projectRoot: string, id: string): boolean {
|
|
59
|
+
try {
|
|
60
|
+
const req = createRequire(path.join(projectRoot, 'package.json'))
|
|
61
|
+
req.resolve(id)
|
|
62
|
+
return true
|
|
63
|
+
} catch {
|
|
64
|
+
return false
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function addIfInstalled(
|
|
69
|
+
userConf: { optimizeDeps?: { include?: string[] } },
|
|
70
|
+
projectRoot: string | undefined,
|
|
71
|
+
ids: string[]
|
|
72
|
+
): void {
|
|
73
|
+
const root = projectRoot || process.cwd()
|
|
74
|
+
userConf.optimizeDeps ||= {}
|
|
75
|
+
userConf.optimizeDeps.include ||= []
|
|
76
|
+
for (const id of ids) {
|
|
77
|
+
if (!userConf.optimizeDeps.include.includes(id) && isInstalled(root, id)) {
|
|
78
|
+
userConf.optimizeDeps.include.push(id)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
50
83
|
// pending extractions map - dedupes concurrent requests for same file
|
|
51
84
|
function getPendingExtractions(): Map<string, Promise<CacheEntry | null>> {
|
|
52
85
|
if (!(globalThis as any)[PENDING_KEY]) {
|
|
@@ -65,10 +98,10 @@ type AliasOptions = {
|
|
|
65
98
|
type AliasEntry = { find: string | RegExp; replacement: string }
|
|
66
99
|
|
|
67
100
|
/**
|
|
68
|
-
* returns vite-compatible aliases for
|
|
101
|
+
* returns vite-compatible aliases for hanzogui
|
|
69
102
|
* use this when you need control over alias ordering in your config
|
|
70
103
|
*/
|
|
71
|
-
export function
|
|
104
|
+
export function hanzoguiAliases(options: AliasOptions = {}): AliasEntry[] {
|
|
72
105
|
const aliases: AliasEntry[] = []
|
|
73
106
|
|
|
74
107
|
if (options.svg) {
|
|
@@ -79,20 +112,23 @@ export function guiAliases(options: AliasOptions = {}): AliasEntry[] {
|
|
|
79
112
|
}
|
|
80
113
|
|
|
81
114
|
if (options.rnwLite) {
|
|
82
|
-
// entry point for main import (may be without-animated variant)
|
|
83
|
-
const rnwl = resolve(
|
|
84
|
-
options.rnwLite === 'without-animated'
|
|
85
|
-
? '@hanzogui/react-native-web-lite/without-animated'
|
|
86
|
-
: '@hanzogui/react-native-web-lite'
|
|
87
|
-
)
|
|
88
115
|
// base package path for subpath imports (package directory, not entry file)
|
|
89
116
|
const rnwlBase = path.dirname(resolve('@hanzogui/react-native-web-lite/package.json'))
|
|
117
|
+
// vite aliases need the esm entry; require.resolve points at cjs.
|
|
118
|
+
const rnwl = normalizePath(
|
|
119
|
+
path.join(
|
|
120
|
+
rnwlBase,
|
|
121
|
+
options.rnwLite === 'without-animated'
|
|
122
|
+
? 'dist/esm/without-animated.mjs'
|
|
123
|
+
: 'dist/esm/index.mjs'
|
|
124
|
+
)
|
|
125
|
+
)
|
|
90
126
|
aliases.push(
|
|
91
127
|
{
|
|
92
128
|
// map deep RNW paths like dist/exports/StyleSheet/preprocess to rnw-lite's flat structure
|
|
93
129
|
// extracts the final path segment (e.g. "preprocess" or "createReactDOMStyle")
|
|
94
130
|
find: /^react-native(?:-web)?\/dist\/(?:exports|modules)\/.*\/([^/]+)$/,
|
|
95
|
-
replacement: `${rnwlBase}/dist/esm/$1.mjs`,
|
|
131
|
+
replacement: `${normalizePath(rnwlBase)}/dist/esm/$1.mjs`,
|
|
96
132
|
},
|
|
97
133
|
{
|
|
98
134
|
find: /^react-native$/,
|
|
@@ -116,17 +152,17 @@ export function guiAliases(options: AliasOptions = {}): AliasEntry[] {
|
|
|
116
152
|
return aliases
|
|
117
153
|
}
|
|
118
154
|
|
|
119
|
-
export function
|
|
155
|
+
export function hanzoguiPlugin({
|
|
120
156
|
disableResolveConfig,
|
|
121
|
-
...
|
|
157
|
+
...hanzoguiOptionsIn
|
|
122
158
|
}: GuiOptions & {
|
|
123
159
|
disableResolveConfig?: boolean
|
|
124
160
|
} = {}): PluginOption {
|
|
125
161
|
// extraction ON by default, set disableExtraction: true to opt out
|
|
126
|
-
let shouldExtract = !
|
|
162
|
+
let shouldExtract = !hanzoguiOptionsIn.disableExtraction
|
|
127
163
|
let watcher: Promise<{ dispose: () => void } | void | undefined> | undefined
|
|
128
164
|
|
|
129
|
-
//
|
|
165
|
+
// temporary vxrn native env bridge
|
|
130
166
|
const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv
|
|
131
167
|
|
|
132
168
|
const extensions = [
|
|
@@ -145,14 +181,14 @@ export function guiPlugin({
|
|
|
145
181
|
]
|
|
146
182
|
|
|
147
183
|
// start loading immediately but don't block
|
|
148
|
-
loadGuiBuildConfig(
|
|
184
|
+
loadGuiBuildConfig(hanzoguiOptionsIn)
|
|
149
185
|
|
|
150
186
|
// helper to await load when needed
|
|
151
187
|
const ensureLoaded = async () => {
|
|
152
188
|
const promise = getLoadPromise()
|
|
153
189
|
if (promise) await promise
|
|
154
190
|
const options = getGuiOptions()
|
|
155
|
-
// update shouldExtract from loaded config (
|
|
191
|
+
// update shouldExtract from loaded config (hanzogui.build.ts)
|
|
156
192
|
if (options) {
|
|
157
193
|
shouldExtract = !options.disableExtraction
|
|
158
194
|
}
|
|
@@ -168,7 +204,7 @@ export function guiPlugin({
|
|
|
168
204
|
const cssMap = new Map<string, string>()
|
|
169
205
|
let config: ResolvedConfig
|
|
170
206
|
let server: ViteDevServer
|
|
171
|
-
const virtualExt = `.
|
|
207
|
+
const virtualExt = `.hanzogui.css`
|
|
172
208
|
|
|
173
209
|
const getAbsoluteVirtualFileId = (filePath: string) => {
|
|
174
210
|
if (filePath.startsWith(config.root)) {
|
|
@@ -202,7 +238,7 @@ export function guiPlugin({
|
|
|
202
238
|
}
|
|
203
239
|
|
|
204
240
|
const basePlugin: Plugin = {
|
|
205
|
-
name: '
|
|
241
|
+
name: 'hanzogui',
|
|
206
242
|
enforce: 'pre',
|
|
207
243
|
|
|
208
244
|
configureServer(_server) {
|
|
@@ -219,14 +255,14 @@ export function guiPlugin({
|
|
|
219
255
|
const options = await ensureLoaded()
|
|
220
256
|
|
|
221
257
|
if (!options) {
|
|
222
|
-
throw new Error(`No
|
|
258
|
+
throw new Error(`No hanzogui options loaded`)
|
|
223
259
|
}
|
|
224
260
|
|
|
225
261
|
// start watching config if enabled
|
|
226
262
|
if (!options.disableWatchGuiConfig) {
|
|
227
263
|
watcher = Static.watchGuiConfig({
|
|
228
|
-
components: ['
|
|
229
|
-
config: './src/
|
|
264
|
+
components: ['hanzogui'],
|
|
265
|
+
config: './src/hanzogui.config.ts',
|
|
230
266
|
...options,
|
|
231
267
|
}).catch((err) => {
|
|
232
268
|
console.error(` [Gui] Error watching config: ${err}`)
|
|
@@ -281,7 +317,7 @@ export function guiPlugin({
|
|
|
281
317
|
}
|
|
282
318
|
|
|
283
319
|
const rnwLitePlugin: Plugin = {
|
|
284
|
-
name: '
|
|
320
|
+
name: 'hanzogui-rnw-lite',
|
|
285
321
|
|
|
286
322
|
config() {
|
|
287
323
|
if (enableNativeEnv) {
|
|
@@ -293,13 +329,25 @@ export function guiPlugin({
|
|
|
293
329
|
return {}
|
|
294
330
|
}
|
|
295
331
|
|
|
332
|
+
// react-native-web-lite imports memoize-one internally. the esbuild dep
|
|
333
|
+
// scanner doesn't follow it through the react-native -> rnw-lite alias, so
|
|
334
|
+
// vite discovers it only at request time, re-optimizes mid-load, and full
|
|
335
|
+
// reloads. on slow runners (CI) the in-flight optimized-dep request 504s
|
|
336
|
+
// ("Outdated Optimize Dep") and surfaces as a console error. pre-include
|
|
337
|
+
// it so the first optimize pass is complete and no reload is triggered.
|
|
338
|
+
const include: string[] = []
|
|
339
|
+
if (isInstalled(process.cwd(), 'memoize-one')) {
|
|
340
|
+
include.push('memoize-one')
|
|
341
|
+
}
|
|
342
|
+
|
|
296
343
|
return {
|
|
297
344
|
resolve: {
|
|
298
|
-
alias:
|
|
345
|
+
alias: hanzoguiAliases({ rnwLite: options.useReactNativeWebLite }),
|
|
299
346
|
},
|
|
300
347
|
optimizeDeps: {
|
|
301
348
|
// upstream react-native-web must not be pre-bundled when aliased to lite
|
|
302
349
|
exclude: ['react-native-web'],
|
|
350
|
+
include,
|
|
303
351
|
},
|
|
304
352
|
}
|
|
305
353
|
},
|
|
@@ -308,7 +356,7 @@ export function guiPlugin({
|
|
|
308
356
|
// extract plugin for optimize mode
|
|
309
357
|
// always included, but checks shouldExtract dynamically after config loads
|
|
310
358
|
const extractPlugin: Plugin = {
|
|
311
|
-
name: '
|
|
359
|
+
name: 'hanzogui-extract',
|
|
312
360
|
enforce: 'pre',
|
|
313
361
|
|
|
314
362
|
async config(userConf) {
|
|
@@ -319,9 +367,47 @@ export function guiPlugin({
|
|
|
319
367
|
userConf.optimizeDeps.include ||= []
|
|
320
368
|
|
|
321
369
|
// inline-style-prefixer is CJS with __esModule and breaks without pre-bundling
|
|
322
|
-
// (
|
|
370
|
+
// (reference error: exports is not defined). always include it.
|
|
323
371
|
userConf.optimizeDeps.include.push('inline-style-prefixer')
|
|
324
372
|
|
|
373
|
+
// pre-bundle hanzogui packages that use internal hooks (useThemeName, etc.)
|
|
374
|
+
// from sub-entries, vite's dep crawler can otherwise split them into a
|
|
375
|
+
// separate chunk with its own hanzogui copy, producing two ThemeStateContext
|
|
376
|
+
// instances and "Missing theme" errors at runtime.
|
|
377
|
+
//
|
|
378
|
+
// @hanzogui/sheet/controller is the lightweight controller subpath imported
|
|
379
|
+
// by popover/dialog/select; the app imports @hanzogui/sheet (full). if these
|
|
380
|
+
// land in separate optimized chunks they each get their own copy of
|
|
381
|
+
// SheetControllerContext, so the SheetController provider (from /controller)
|
|
382
|
+
// and the Sheet consumer (from the full entry) never match and adapted
|
|
383
|
+
// sheets silently never open. include both so they share one context chunk.
|
|
384
|
+
addIfInstalled(userConf, userConf.root, [
|
|
385
|
+
'@hanzogui/toast',
|
|
386
|
+
'@hanzogui/toast/v2',
|
|
387
|
+
'@hanzogui/sheet',
|
|
388
|
+
'@hanzogui/sheet/controller',
|
|
389
|
+
])
|
|
390
|
+
|
|
391
|
+
// dedupe hanzogui packages so nested resolutions collapse to a single
|
|
392
|
+
// instance. pairs with the include above: include pre-bundles, dedupe
|
|
393
|
+
// prevents duplicate bundling when sub-deps re-resolve them.
|
|
394
|
+
userConf.resolve ||= {}
|
|
395
|
+
userConf.resolve.dedupe ||= []
|
|
396
|
+
for (const id of [
|
|
397
|
+
'hanzogui',
|
|
398
|
+
'@hanzogui/core',
|
|
399
|
+
'@hanzogui/web',
|
|
400
|
+
'@hanzogui/toast',
|
|
401
|
+
'@hanzogui/sheet',
|
|
402
|
+
]) {
|
|
403
|
+
if (
|
|
404
|
+
!userConf.resolve.dedupe.includes(id) &&
|
|
405
|
+
isInstalled(userConf.root || process.cwd(), id)
|
|
406
|
+
) {
|
|
407
|
+
userConf.resolve.dedupe.push(id)
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
325
411
|
if (!shouldExtract) return
|
|
326
412
|
|
|
327
413
|
userConf.optimizeDeps.include.push('@hanzogui/core/inject-styles')
|
|
@@ -380,7 +466,7 @@ export function guiPlugin({
|
|
|
380
466
|
transform: {
|
|
381
467
|
order: 'pre',
|
|
382
468
|
async handler(code, id) {
|
|
383
|
-
// ensure
|
|
469
|
+
// ensure hanzogui is loaded before transform
|
|
384
470
|
const options = await ensureLoaded()
|
|
385
471
|
|
|
386
472
|
// ensure full config (heavy bundling) is loaded before extraction
|
|
@@ -434,7 +520,7 @@ export function guiPlugin({
|
|
|
434
520
|
if (cached) {
|
|
435
521
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
436
522
|
console.info(
|
|
437
|
-
`[
|
|
523
|
+
`[hanzogui-cache] HIT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
438
524
|
)
|
|
439
525
|
}
|
|
440
526
|
return formatResult(cached)
|
|
@@ -445,7 +531,7 @@ export function guiPlugin({
|
|
|
445
531
|
if (pendingExtraction) {
|
|
446
532
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
447
533
|
console.info(
|
|
448
|
-
`[
|
|
534
|
+
`[hanzogui-cache] WAIT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
449
535
|
)
|
|
450
536
|
}
|
|
451
537
|
const result = await pendingExtraction
|
|
@@ -457,7 +543,7 @@ export function guiPlugin({
|
|
|
457
543
|
|
|
458
544
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
459
545
|
console.info(
|
|
460
|
-
`[
|
|
546
|
+
`[hanzogui-cache] EXTRACT ${this.environment?.name || 'unknown'} ${id.split('/').pop()} key=${cacheKey.slice(0, 8)}`
|
|
461
547
|
)
|
|
462
548
|
}
|
|
463
549
|
|
|
@@ -474,7 +560,7 @@ export function guiPlugin({
|
|
|
474
560
|
} catch (err) {
|
|
475
561
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
476
562
|
console.info(
|
|
477
|
-
`[
|
|
563
|
+
`[hanzogui-cache] ERROR extracting ${id.split('/').pop()}:`,
|
|
478
564
|
err
|
|
479
565
|
)
|
|
480
566
|
}
|
|
@@ -485,7 +571,7 @@ export function guiPlugin({
|
|
|
485
571
|
if (!extracted) {
|
|
486
572
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
487
573
|
console.info(
|
|
488
|
-
`[
|
|
574
|
+
`[hanzogui-cache] no extraction result for ${id.split('/').pop()}`
|
|
489
575
|
)
|
|
490
576
|
}
|
|
491
577
|
return null
|
|
@@ -527,7 +613,7 @@ export function guiPlugin({
|
|
|
527
613
|
|
|
528
614
|
if (process.env.DEBUG_GUI_CACHE) {
|
|
529
615
|
console.info(
|
|
530
|
-
`[
|
|
616
|
+
`[hanzogui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`
|
|
531
617
|
)
|
|
532
618
|
}
|
|
533
619
|
|
package/types/loadGui.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import type { GuiOptions } from '@hanzogui/types';
|
|
|
2
2
|
export declare function getGuiOptions(): GuiOptions | null;
|
|
3
3
|
export declare function getLoadPromise(): Promise<GuiOptions> | null;
|
|
4
4
|
/**
|
|
5
|
-
* Load just the
|
|
6
|
-
* This doesn't bundle the full
|
|
5
|
+
* Load just the hanzogui.build.ts config (lightweight)
|
|
6
|
+
* This doesn't bundle the full hanzogui config - call ensureFullConfigLoaded() for that
|
|
7
7
|
*/
|
|
8
8
|
export declare function loadGuiBuildConfig(optionsIn?: Partial<GuiOptions>): Promise<GuiOptions>;
|
|
9
9
|
/**
|
|
10
|
-
* Ensure the full
|
|
10
|
+
* Ensure the full hanzogui config is loaded (heavy - bundles config + components)
|
|
11
11
|
* Call this lazily when transform/extraction is actually needed
|
|
12
12
|
*/
|
|
13
13
|
export declare function ensureFullConfigLoaded(): Promise<void>;
|
package/types/plugin.d.ts
CHANGED
|
@@ -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 }?: GuiOptions & {
|
|
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,UAAU,EAAqB,MAAM,yBAAyB,CAAA;AAO5E,OAAO,KAAK,EAAU,YAAY,EAAiC,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAA;AAO5E,OAAO,KAAK,EAAU,YAAY,EAAiC,MAAM,MAAM,CAAA;AAmF/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,CAiDxE;AAED,wBAAgB,cAAc,CAAC,EAC7B,oBAAoB,EACpB,GAAG,iBAAiB,EACrB,GAAE,UAAU,GAAG;IACd,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,YAAY,CAiepB"}
|
package/LICENSE
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
BSD 3-Clause License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026-present, Hanzo AI, Inc.
|
|
4
|
-
|
|
5
|
-
Portions of this software are derived from upstream code originally licensed under
|
|
6
|
-
the MIT License, with the following copyright notices retained per its terms:
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2020 Nate Wienert
|
|
9
|
-
Copyright (c) 2015-present, Nicolas Gallagher.
|
|
10
|
-
Copyright (c) 2015-present, Facebook, Inc.
|
|
11
|
-
Copyright (c) 2021 Radix
|
|
12
|
-
Copyright (c) 2017 Carmelo Pullara
|
|
13
|
-
Copyright (c) 2018 Framer B.V.
|
|
14
|
-
Copyright (c) 2022 WorkOS
|
|
15
|
-
|
|
16
|
-
All rights reserved.
|
|
17
|
-
|
|
18
|
-
Redistribution and use in source and binary forms, with or without
|
|
19
|
-
modification, are permitted provided that the following conditions are met:
|
|
20
|
-
|
|
21
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
22
|
-
list of conditions and the following disclaimer.
|
|
23
|
-
|
|
24
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
25
|
-
this list of conditions and the following disclaimer in the documentation
|
|
26
|
-
and/or other materials provided with the distribution.
|
|
27
|
-
|
|
28
|
-
3. Neither the name of the copyright holder nor the names of its contributors
|
|
29
|
-
may be used to endorse or promote products derived from this software
|
|
30
|
-
without specific prior written permission.
|
|
31
|
-
|
|
32
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
33
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
34
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
35
|
-
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
36
|
-
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
37
|
-
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
38
|
-
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
39
|
-
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
40
|
-
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
41
|
-
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
42
|
-
POSSIBILITY OF SUCH DAMAGE.
|