@vxrn/compiler 1.2.16 → 1.2.18

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.
@@ -0,0 +1,97 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var cache_exports = {};
22
+ __export(cache_exports, {
23
+ getCacheStats: () => getCacheStats,
24
+ getCachedTransform: () => getCachedTransform,
25
+ logCacheStats: () => logCacheStats,
26
+ setCachedTransform: () => setCachedTransform
27
+ });
28
+ module.exports = __toCommonJS(cache_exports);
29
+ var import_node_crypto = require("node:crypto"),
30
+ import_node_fs = require("node:fs"),
31
+ import_node_path = require("node:path");
32
+ const stats = {
33
+ hits: 0,
34
+ misses: 0,
35
+ writes: 0
36
+ };
37
+ function getCacheDir() {
38
+ const cacheDir = (0, import_node_path.join)(process.cwd(), "node_modules", ".vxrn", "compiler-cache");
39
+ return (0, import_node_fs.existsSync)(cacheDir) || (0, import_node_fs.mkdirSync)(cacheDir, {
40
+ recursive: !0
41
+ }), cacheDir;
42
+ }
43
+ function getCacheKey(filePath, environment) {
44
+ return (0, import_node_crypto.createHash)("sha1").update(`${environment}:${filePath}`).digest("hex");
45
+ }
46
+ function getContentHash(code) {
47
+ return (0, import_node_crypto.createHash)("sha1").update(code).digest("hex").slice(0, 16);
48
+ }
49
+ function getCachedTransform(filePath, code, environment) {
50
+ try {
51
+ const cacheDir = getCacheDir(),
52
+ cacheKey = getCacheKey(filePath, environment),
53
+ cachePath = (0, import_node_path.join)(cacheDir, `${cacheKey}.json`);
54
+ if (!(0, import_node_fs.existsSync)(cachePath)) return stats.misses++, null;
55
+ const cached = JSON.parse((0, import_node_fs.readFileSync)(cachePath, "utf-8")),
56
+ currentMtime = (0, import_node_fs.statSync)(filePath).mtimeMs;
57
+ if (cached.mtime !== currentMtime) return stats.misses++, null;
58
+ const currentHash = getContentHash(code);
59
+ return cached.hash !== currentHash ? (stats.misses++, null) : (stats.hits++, {
60
+ code: cached.code,
61
+ map: cached.map
62
+ });
63
+ } catch {
64
+ return stats.misses++, null;
65
+ }
66
+ }
67
+ function setCachedTransform(filePath, code, result, environment) {
68
+ try {
69
+ const cacheDir = getCacheDir(),
70
+ cacheKey = getCacheKey(filePath, environment),
71
+ cachePath = (0, import_node_path.join)(cacheDir, `${cacheKey}.json`),
72
+ mtime = (0, import_node_fs.statSync)(filePath).mtimeMs,
73
+ hash = getContentHash(code),
74
+ entry = {
75
+ mtime,
76
+ hash,
77
+ code: result.code,
78
+ map: result.map
79
+ };
80
+ (0, import_node_fs.writeFileSync)(cachePath, JSON.stringify(entry), "utf-8"), stats.writes++;
81
+ } catch (err) {
82
+ console.warn(`[cache] Failed to write cache for ${filePath}:`, err);
83
+ }
84
+ }
85
+ function getCacheStats() {
86
+ return {
87
+ ...stats
88
+ };
89
+ }
90
+ function logCacheStats() {
91
+ if (!process.env.DEBUG_COMPILER_PERF) return;
92
+ const total = stats.hits + stats.misses;
93
+ if (total === 0) return;
94
+ const hitRate = (stats.hits / total * 100).toFixed(1);
95
+ console.info(`
96
+ \u{1F4BE} [Cache Stats] ${stats.hits} hits / ${stats.misses} misses (${hitRate}% hit rate), ${stats.writes} writes`);
97
+ }
@@ -0,0 +1,76 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var cache_exports = {};
16
+ __export(cache_exports, {
17
+ getCacheStats: () => getCacheStats,
18
+ getCachedTransform: () => getCachedTransform,
19
+ logCacheStats: () => logCacheStats,
20
+ setCachedTransform: () => setCachedTransform
21
+ });
22
+ module.exports = __toCommonJS(cache_exports);
23
+ var import_node_crypto = require("node:crypto"), import_node_fs = require("node:fs"), import_node_path = require("node:path");
24
+ const stats = { hits: 0, misses: 0, writes: 0 };
25
+ function getCacheDir() {
26
+ const cacheDir = (0, import_node_path.join)(process.cwd(), "node_modules", ".vxrn", "compiler-cache");
27
+ return (0, import_node_fs.existsSync)(cacheDir) || (0, import_node_fs.mkdirSync)(cacheDir, { recursive: !0 }), cacheDir;
28
+ }
29
+ function getCacheKey(filePath, environment) {
30
+ return (0, import_node_crypto.createHash)("sha1").update(`${environment}:${filePath}`).digest("hex");
31
+ }
32
+ function getContentHash(code) {
33
+ return (0, import_node_crypto.createHash)("sha1").update(code).digest("hex").slice(0, 16);
34
+ }
35
+ function getCachedTransform(filePath, code, environment) {
36
+ try {
37
+ const cacheDir = getCacheDir(), cacheKey = getCacheKey(filePath, environment), cachePath = (0, import_node_path.join)(cacheDir, `${cacheKey}.json`);
38
+ if (!(0, import_node_fs.existsSync)(cachePath))
39
+ return stats.misses++, null;
40
+ const cached = JSON.parse((0, import_node_fs.readFileSync)(cachePath, "utf-8")), currentMtime = (0, import_node_fs.statSync)(filePath).mtimeMs;
41
+ if (cached.mtime !== currentMtime)
42
+ return stats.misses++, null;
43
+ const currentHash = getContentHash(code);
44
+ return cached.hash !== currentHash ? (stats.misses++, null) : (stats.hits++, { code: cached.code, map: cached.map });
45
+ } catch {
46
+ return stats.misses++, null;
47
+ }
48
+ }
49
+ function setCachedTransform(filePath, code, result, environment) {
50
+ try {
51
+ const cacheDir = getCacheDir(), cacheKey = getCacheKey(filePath, environment), cachePath = (0, import_node_path.join)(cacheDir, `${cacheKey}.json`), mtime = (0, import_node_fs.statSync)(filePath).mtimeMs, hash = getContentHash(code), entry = {
52
+ mtime,
53
+ hash,
54
+ code: result.code,
55
+ map: result.map
56
+ };
57
+ (0, import_node_fs.writeFileSync)(cachePath, JSON.stringify(entry), "utf-8"), stats.writes++;
58
+ } catch (err) {
59
+ console.warn(`[cache] Failed to write cache for ${filePath}:`, err);
60
+ }
61
+ }
62
+ function getCacheStats() {
63
+ return { ...stats };
64
+ }
65
+ function logCacheStats() {
66
+ if (!process.env.DEBUG_COMPILER_PERF)
67
+ return;
68
+ const total = stats.hits + stats.misses;
69
+ if (total === 0) return;
70
+ const hitRate = (stats.hits / total * 100).toFixed(1);
71
+ console.info(
72
+ `
73
+ \u{1F4BE} [Cache Stats] ${stats.hits} hits / ${stats.misses} misses (${hitRate}% hit rate), ${stats.writes} writes`
74
+ );
75
+ }
76
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cache.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA2B,wBAC3B,iBAA6E,oBAC7E,mBAAqB;AAwBrB,MAAM,QAAoB,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE;AAE1D,SAAS,cAAsB;AAE7B,QAAM,eAAW,uBAAK,QAAQ,IAAI,GAAG,gBAAgB,SAAS,gBAAgB;AAC9E,aAAK,2BAAW,QAAQ,SACtB,0BAAU,UAAU,EAAE,WAAW,GAAK,CAAC,GAElC;AACT;AAEA,SAAS,YAAY,UAAkB,aAA6B;AAGlE,aADa,+BAAW,MAAM,EAAE,OAAO,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,OAAO,KAAK;AAEnF;AAEA,SAAS,eAAe,MAAsB;AAE5C,aAAO,+BAAW,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE;AAClE;AAEO,SAAS,mBACd,UACA,MACA,aACoC;AACpC,MAAI;AACF,UAAM,WAAW,YAAY,GACvB,WAAW,YAAY,UAAU,WAAW,GAC5C,gBAAY,uBAAK,UAAU,GAAG,QAAQ,OAAO;AAEnD,QAAI,KAAC,2BAAW,SAAS;AACvB,mBAAM,UACC;AAGT,UAAM,SAAqB,KAAK,UAAM,6BAAa,WAAW,OAAO,CAAC,GAGhE,mBAAe,yBAAS,QAAQ,EAAE;AACxC,QAAI,OAAO,UAAU;AACnB,mBAAM,UACC;AAIT,UAAM,cAAc,eAAe,IAAI;AACvC,WAAI,OAAO,SAAS,eAClB,MAAM,UACC,SAGT,MAAM,QACC,EAAE,MAAM,OAAO,MAAM,KAAK,OAAO,IAAI;AAAA,EAC9C,QAAc;AAEZ,iBAAM,UACC;AAAA,EACT;AACF;AAEO,SAAS,mBACd,UACA,MACA,QACA,aACM;AACN,MAAI;AACF,UAAM,WAAW,YAAY,GACvB,WAAW,YAAY,UAAU,WAAW,GAC5C,gBAAY,uBAAK,UAAU,GAAG,QAAQ,OAAO,GAE7C,YAAQ,yBAAS,QAAQ,EAAE,SAC3B,OAAO,eAAe,IAAI,GAE1B,QAAoB;AAAA,MACxB;AAAA,MACA;AAAA,MACA,MAAM,OAAO;AAAA,MACb,KAAK,OAAO;AAAA,IACd;AAEA,sCAAc,WAAW,KAAK,UAAU,KAAK,GAAG,OAAO,GACvD,MAAM;AAAA,EACR,SAAS,KAAK;AAEZ,YAAQ,KAAK,qCAAqC,QAAQ,KAAK,GAAG;AAAA,EACpE;AACF;AAEO,SAAS,gBAA4B;AAC1C,SAAO,EAAE,GAAG,MAAM;AACpB;AAEO,SAAS,gBAAsB;AAEpC,MAAI,CAAC,QAAQ,IAAI;AACf;AAGF,QAAM,QAAQ,MAAM,OAAO,MAAM;AACjC,MAAI,UAAU,EAAG;AAEjB,QAAM,WAAY,MAAM,OAAO,QAAS,KAAK,QAAQ,CAAC;AACtD,UAAQ;AAAA,IACN;AAAA,0BAAsB,MAAM,IAAI,WAAW,MAAM,MAAM,YAAY,OAAO,gBAAgB,MAAM,MAAM;AAAA,EACxG;AACF;",
5
+ "names": []
6
+ }
@@ -32,11 +32,34 @@ var import_node_fs = require("node:fs"),
32
32
  import_configure = require("./configure.cjs"),
33
33
  import_constants = require("./constants.cjs"),
34
34
  import_transformBabel = require("./transformBabel.cjs"),
35
- import_transformSWC = require("./transformSWC.cjs");
35
+ import_transformSWC = require("./transformSWC.cjs"),
36
+ import_cache = require("./cache.cjs");
36
37
  __reExport(index_exports, require("./configure.cjs"), module.exports);
37
38
  __reExport(index_exports, require("./transformBabel.cjs"), module.exports);
38
39
  __reExport(index_exports, require("./transformSWC.cjs"), module.exports);
39
- const import_meta = {};
40
+ const import_meta = {},
41
+ perfStats = {
42
+ babel: {
43
+ totalCalls: 0,
44
+ totalTransforms: 0,
45
+ totalTime: 0,
46
+ byEnvironment: {}
47
+ },
48
+ optimizeDeps: {
49
+ byEnvironment: {}
50
+ }
51
+ };
52
+ function logPerfSummary() {
53
+ if (process.env.DEBUG_COMPILER_PERF) {
54
+ console.info(`
55
+ \u{1F4CA} [Compiler Performance Summary]`), console.info(`Babel: ${perfStats.babel.totalTransforms} transforms / ${perfStats.babel.totalCalls} calls (${(perfStats.babel.totalTransforms / Math.max(perfStats.babel.totalCalls, 1) * 100).toFixed(1)}% transform rate)`), console.info(`Babel total time: ${perfStats.babel.totalTime}ms`);
56
+ for (const [env, stats] of Object.entries(perfStats.babel.byEnvironment)) stats.transforms > 0 && console.info(` ${env}: ${stats.transforms} transforms, ${stats.time}ms (${(stats.time / stats.transforms).toFixed(1)}ms avg)`);
57
+ for (const [env, stats] of Object.entries(perfStats.optimizeDeps.byEnvironment)) {
58
+ const elapsed = Date.now() - stats.startTime;
59
+ console.info(`optimizeDeps ${env}: checked ${stats.filesChecked} files, transformed ${stats.filesTransformed} (${elapsed}ms)`);
60
+ }
61
+ }
62
+ }
40
63
  async function performBabelTransform({
41
64
  id,
42
65
  code,
@@ -45,6 +68,11 @@ async function performBabelTransform({
45
68
  reactForRNVersion,
46
69
  optionsIn
47
70
  }) {
71
+ perfStats.babel.totalCalls++, perfStats.babel.byEnvironment[environment] || (perfStats.babel.byEnvironment[environment] = {
72
+ calls: 0,
73
+ transforms: 0,
74
+ time: 0
75
+ }), perfStats.babel.byEnvironment[environment].calls++;
48
76
  const transformProps = {
49
77
  id,
50
78
  code,
@@ -60,12 +88,20 @@ async function performBabelTransform({
60
88
  userSetting: userTransform
61
89
  });
62
90
  if (babelOptions) {
63
- const babelOut = await (0, import_transformBabel.transformBabel)(id, code, babelOptions);
64
- if (babelOut?.code) return (0, import_constants.debug)?.(`[babel] ${id}`), {
65
- code: `${babelOut.code}
91
+ const cached = (0, import_cache.getCachedTransform)(id, code, environment);
92
+ if (cached) return perfStats.babel.byEnvironment[environment].transforms++, (0, import_constants.debug)?.(`[babel/cached] ${id}`), cached;
93
+ const startTime = Date.now(),
94
+ babelOut = await (0, import_transformBabel.transformBabel)(id, code, babelOptions),
95
+ babelTime = Date.now() - startTime;
96
+ if (babelOut?.code) {
97
+ perfStats.babel.totalTransforms++, perfStats.babel.totalTime += babelTime, perfStats.babel.byEnvironment[environment].transforms++, perfStats.babel.byEnvironment[environment].time += babelTime, (0, import_constants.debug)?.(`[babel] ${id}`);
98
+ const result = {
99
+ code: `${babelOut.code}
66
100
  // vxrn-did-babel`,
67
- map: babelOut.map
68
- };
101
+ map: babelOut.map
102
+ };
103
+ return (0, import_cache.setCachedTransform)(id, code, result, environment), result;
104
+ }
69
105
  }
70
106
  }
71
107
  return null;
@@ -189,9 +225,14 @@ ${rootJS.code}
189
225
  plugins: [{
190
226
  name: `transform-before-optimize-deps-${environment}`,
191
227
  setup(build) {
192
- build.onLoad({
228
+ perfStats.optimizeDeps.byEnvironment[environment] || (perfStats.optimizeDeps.byEnvironment[environment] = {
229
+ filesChecked: 0,
230
+ filesTransformed: 0,
231
+ startTime: Date.now()
232
+ }), build.onLoad({
193
233
  filter: /node_modules\/.*\.(tsx?|jsx?|mjs|cjs)$/
194
234
  }, async args => {
235
+ perfStats.optimizeDeps.byEnvironment[environment].filesChecked++;
195
236
  const production = process.env.NODE_ENV === "production",
196
237
  code = await (0, import_promises.readFile)(args.path, "utf-8");
197
238
  (0, import_constants.debug)?.(`[esbuild optimizeDeps] ${args.path}`);
@@ -204,12 +245,20 @@ ${rootJS.code}
204
245
  optionsIn
205
246
  });
206
247
  if (!result) return null;
248
+ perfStats.optimizeDeps.byEnvironment[environment].filesTransformed++;
207
249
  const ext = (0, import_node_path.extname)(args.path),
208
250
  loader = ext === ".tsx" ? "tsx" : ext === ".ts" ? "ts" : ext === ".jsx" ? "jsx" : "js";
209
251
  return {
210
252
  contents: result.code,
211
253
  loader
212
254
  };
255
+ }), build.onEnd(() => {
256
+ if (process.env.DEBUG_COMPILER_PERF) {
257
+ const stats = perfStats.optimizeDeps.byEnvironment[environment],
258
+ elapsed = Date.now() - stats.startTime;
259
+ console.info(`[optimizeDeps ${environment}] Done: ${stats.filesChecked} files checked, ${stats.filesTransformed} transformed (${elapsed}ms)`);
260
+ }
261
+ Object.keys(perfStats.optimizeDeps.byEnvironment).length >= 2 && ((0, import_cache.logCacheStats)(), logPerfSummary());
213
262
  });
214
263
  }
215
264
  }]
package/dist/cjs/index.js CHANGED
@@ -17,11 +17,39 @@ __export(index_exports, {
17
17
  createVXRNCompilerPlugin: () => createVXRNCompilerPlugin
18
18
  });
19
19
  module.exports = __toCommonJS(index_exports);
20
- var import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_utils = require("@vxrn/utils"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC");
20
+ var import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_utils = require("@vxrn/utils"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC"), import_cache = require("./cache");
21
21
  __reExport(index_exports, require("./configure"), module.exports);
22
22
  __reExport(index_exports, require("./transformBabel"), module.exports);
23
23
  __reExport(index_exports, require("./transformSWC"), module.exports);
24
- const import_meta = {};
24
+ const import_meta = {}, perfStats = {
25
+ babel: {
26
+ totalCalls: 0,
27
+ totalTransforms: 0,
28
+ totalTime: 0,
29
+ byEnvironment: {}
30
+ },
31
+ optimizeDeps: {
32
+ byEnvironment: {}
33
+ }
34
+ };
35
+ function logPerfSummary() {
36
+ if (process.env.DEBUG_COMPILER_PERF) {
37
+ console.info(`
38
+ \u{1F4CA} [Compiler Performance Summary]`), console.info(
39
+ `Babel: ${perfStats.babel.totalTransforms} transforms / ${perfStats.babel.totalCalls} calls (${(perfStats.babel.totalTransforms / Math.max(perfStats.babel.totalCalls, 1) * 100).toFixed(1)}% transform rate)`
40
+ ), console.info(`Babel total time: ${perfStats.babel.totalTime}ms`);
41
+ for (const [env, stats] of Object.entries(perfStats.babel.byEnvironment))
42
+ stats.transforms > 0 && console.info(
43
+ ` ${env}: ${stats.transforms} transforms, ${stats.time}ms (${(stats.time / stats.transforms).toFixed(1)}ms avg)`
44
+ );
45
+ for (const [env, stats] of Object.entries(perfStats.optimizeDeps.byEnvironment)) {
46
+ const elapsed = Date.now() - stats.startTime;
47
+ console.info(
48
+ `optimizeDeps ${env}: checked ${stats.filesChecked} files, transformed ${stats.filesTransformed} (${elapsed}ms)`
49
+ );
50
+ }
51
+ }
52
+ }
25
53
  async function performBabelTransform({
26
54
  id,
27
55
  code,
@@ -30,6 +58,7 @@ async function performBabelTransform({
30
58
  reactForRNVersion,
31
59
  optionsIn
32
60
  }) {
61
+ perfStats.babel.totalCalls++, perfStats.babel.byEnvironment[environment] || (perfStats.babel.byEnvironment[environment] = { calls: 0, transforms: 0, time: 0 }), perfStats.babel.byEnvironment[environment].calls++;
33
62
  const transformProps = {
34
63
  id,
35
64
  code,
@@ -45,10 +74,16 @@ async function performBabelTransform({
45
74
  userSetting: userTransform
46
75
  });
47
76
  if (babelOptions) {
48
- const babelOut = await (0, import_transformBabel.transformBabel)(id, code, babelOptions);
49
- if (babelOut?.code)
50
- return (0, import_constants.debug)?.(`[babel] ${id}`), { code: `${babelOut.code}
77
+ const cached = (0, import_cache.getCachedTransform)(id, code, environment);
78
+ if (cached)
79
+ return perfStats.babel.byEnvironment[environment].transforms++, (0, import_constants.debug)?.(`[babel/cached] ${id}`), cached;
80
+ const startTime = Date.now(), babelOut = await (0, import_transformBabel.transformBabel)(id, code, babelOptions), babelTime = Date.now() - startTime;
81
+ if (babelOut?.code) {
82
+ perfStats.babel.totalTransforms++, perfStats.babel.totalTime += babelTime, perfStats.babel.byEnvironment[environment].transforms++, perfStats.babel.byEnvironment[environment].time += babelTime, (0, import_constants.debug)?.(`[babel] ${id}`);
83
+ const result = { code: `${babelOut.code}
51
84
  // vxrn-did-babel`, map: babelOut.map };
85
+ return (0, import_cache.setCachedTransform)(id, code, result, environment), result;
86
+ }
52
87
  }
53
88
  }
54
89
  return null;
@@ -172,9 +207,14 @@ ${rootJS.code}
172
207
  {
173
208
  name: `transform-before-optimize-deps-${environment}`,
174
209
  setup(build) {
175
- build.onLoad(
210
+ perfStats.optimizeDeps.byEnvironment[environment] || (perfStats.optimizeDeps.byEnvironment[environment] = {
211
+ filesChecked: 0,
212
+ filesTransformed: 0,
213
+ startTime: Date.now()
214
+ }), build.onLoad(
176
215
  { filter: /node_modules\/.*\.(tsx?|jsx?|mjs|cjs)$/ },
177
216
  async (args) => {
217
+ perfStats.optimizeDeps.byEnvironment[environment].filesChecked++;
178
218
  const production = process.env.NODE_ENV === "production", code = await (0, import_promises.readFile)(args.path, "utf-8");
179
219
  (0, import_constants.debug)?.(`[esbuild optimizeDeps] ${args.path}`);
180
220
  const result = await performBabelTransform({
@@ -187,13 +227,22 @@ ${rootJS.code}
187
227
  });
188
228
  if (!result)
189
229
  return null;
230
+ perfStats.optimizeDeps.byEnvironment[environment].filesTransformed++;
190
231
  const ext = (0, import_node_path.extname)(args.path), loader = ext === ".tsx" ? "tsx" : ext === ".ts" ? "ts" : ext === ".jsx" ? "jsx" : "js";
191
232
  return {
192
233
  contents: result.code,
193
234
  loader
194
235
  };
195
236
  }
196
- );
237
+ ), build.onEnd(() => {
238
+ if (process.env.DEBUG_COMPILER_PERF) {
239
+ const stats = perfStats.optimizeDeps.byEnvironment[environment], elapsed = Date.now() - stats.startTime;
240
+ console.info(
241
+ `[optimizeDeps ${environment}] Done: ${stats.filesChecked} files checked, ${stats.filesTransformed} transformed (${elapsed}ms)`
242
+ );
243
+ }
244
+ Object.keys(perfStats.optimizeDeps.byEnvironment).length >= 2 && ((0, import_cache.logCacheStats)(), logPerfSummary());
245
+ });
197
246
  }
198
247
  }
199
248
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAA6B,oBAC7B,kBAAyB,6BACzB,mBAAmC,sBACnC,eAA4B,wBAC5B,mBAAwC,wDAGxC,mBAA8B,wBAC9B,mBAAuD,wBACvD,wBAAgD,6BAChD,sBAA6B;AAG7B,0BAAc,wBAlBd;AAmBA,0BAAc,6BAnBd;AAoBA,0BAAc,2BApBd;AAAA;AAwBA,eAAe,sBAAsB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAOG;AACD,QAAM,iBAAoC;AAAA,IACxC;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,IACd;AAAA,IACA;AAAA,EACF,GAEM,gBAAgB,WAAW,YAAY,cAAc;AAE3D,MAAI,kBAAkB;AACpB,WAAO;AAKT,MAAI,CAFiB,GAAG,WAAW,sBAAsB,KAEpC,kBAAkB,OAAO;AAC5C,UAAM,mBAAe,uCAAgB;AAAA,MACnC,GAAG;AAAA,MACH,aAAa;AAAA,IACf,CAAC;AAED,QAAI,cAAc;AAChB,YAAM,WAAW,UAAM,sCAAe,IAAI,MAAM,YAAY;AAC5D,UAAI,UAAU;AACZ,6CAAQ,WAAW,EAAE,EAAE,GAEhB,EAAE,MADO,GAAG,SAAS,IAAI;AAAA,oBACR,KAAK,SAAS,IAAI;AAAA,IAE9C;AAAA,EACF;AAEA,SAAO;AACT;AAGA,eAAe,qBAAqB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQG;AACD,QAAM,cAAc,QAAQ,IAAI,aAAa,iBAAiB,OAAO,WAAW,UAAU;AAE1F,EAAI,gBACF,QAAQ,KAAK,SAAS,GAAG,SAAS,GAClC,QAAQ,KAAK,MAAM;AAGrB,MAAI,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC;AAEzB,QAAM,gBAAY,0BAAQ,EAAE;AAM5B,MAJI,cAAc,UAId,CAAC,8BAAa,IAAI,SAAS;AAC7B;AAGF,QAAM,eAAe,GAAG,WAAW,sBAAsB;AAKzD,MAJI,iBACF,KAAK,GAAG,QAAQ,wBAAwB,EAAE,IAGxC,GAAG,SAAS,UAAU;AACxB;AAGF,MAAI,OAAO,QACP,MAGO;AAGX,MAAI,OAAO,SAAS,mBAAmB;AACrC,kCAAQ,gBAAgB,EAAE,EAAE;AAAA,OACvB;AACL,UAAM,cAAc,MAAM,sBAAsB;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,IAAI,gBACF,MAAM,aACN,OAAO,YAAY;AAAA,EAEvB;AAGA,QAAM,aAAa;AAAA,IACjB;AAAA,IACA,MAAM,WAAW,QAAQ;AAAA,IACzB;AAAA,IACA,GAAG;AAAA,EACL,GAEM,SAAS,UAAM,kCAAa,IAAI,MAAM;AAAA,IAC1C,KAAK;AAAA,IACL,OAAO,gBAAgB,gBAAgB;AAAA,IACvC,GAAG;AAAA,EACL,CAAC;AAED,SAAI,eACF,0BAAQ,SAAS,EAAE,EAAE,GACrB,MAAM;AAAA,IACJ,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,EACd,IAGE,gBACF,QAAQ,KAAK,cAAc,UAAU,GACrC,QAAQ,KAAK,iBAAiB,KAAK,IAAI,IAGlC;AACT;AAEA,eAAsB,yBACpB,WACyB;AACzB,QAAM,eAAe,OAAO,YAAY;AACtC,UAAM,WAAO,0BAAY,oBAAoB;AAE7C,WADa,KAAK,MAAM,UAAM,0BAAS,MAAM,OAAO,CAAC,EACzC;AAAA,EACd,GAAG,GAEG,WAAW;AAAA,IACf,KAAK;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAEA,WAAS,WAAW,MAAc;AAChC,QAAI,CAAC,SAAS,IAAI,EAAG,OAAM,IAAI,MAAM,gBAAgB,IAAI,EAAE;AAC3D,WAAO;AAAA,EACT;AAEA,QAAM,oBAAoB,aAAa,MAAM,GAAG,EAAE,CAAC,GAE7C,oBAAoB,oBAAI,IAAoB,GAG5C,iBAAa,0BAAY,QAAQ,GACjC,iBAAiB,WAAW,MAAM,GAAG,WAAW,QAAQ,uBAAM,cAAc,CAAC;AAKnF,MAAI;AAEJ,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA;AAAA,MACT,WAAW,CAAC,OAAQ,OAAO,qCAAoB,KAAK;AAAA,MACpD,MAAM,CAAC,OACL,OAAO,yCACH,iCAAa,uBAAK,YAAY,SAAS,oBAAoB,GAAG,OAAO,IACrE;AAAA,IACR;AAAA,IAEA;AAAA,MACE,MAAM;AAAA,MAEN,UAAU,QAAQ,IAAI;AACpB,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI;AACpD,YAAI,+BAAc,oBAAoB,gBAAgB,SAAS,gBAAgB,kBACzE,0BAAQ,EAAE,MAAM,QAAQ;AAI1B,gBAAM,OAAO,+EAHA,KAAK,cAAU,0CAAwB,QAAQ,EAAE,WAAW,GAAG,CAAC,CAAC,CAGkB,KAC1F,QAAQ,GAAG,EAAE,OAGb,QAAQ,MAAM,QAAQ,iBAAiB,sBAAK,EAAE;AACpD,mCAAkB,IAAI,OAAO,IAAI,GAE1B;AAAA,YACL;AAAA,YACA,IAAI;AAAA,YACJ,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MAEJ;AAAA,MAEA,eAAe,GAAG,QAAQ;AACxB,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI;AAEpD,YAAI,+BAAc,oBAAoB,gBAAgB,SAAS,gBAAgB,YAAY;AACzF,gBAAM,aAAa,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,MAAM;AACjD,kBAAM,QAAQ,OAAO,CAAC;AACtB,mBAAO,MAAM,QAAQ,WAAW,MAAM,SAAS,MAAM,oBAAoB,KAAK;AAAA,UAChF,CAAC;AACD,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,wCAAwC;AAG1D,gBAAM,SAAS,OAAO,UAAU,GAE1B,YAAY,OAAO,KAAK,MAAM,EAAE;AAAA,YAAO,CAAC,MAC5C,OAAO,CAAC,EAAE,SAAS,SAAS,SAAS;AAAA,UACvC;AAEA,qBAAW,QAAQ,WAAW;AAC5B,mBAAO,OAAO,IAAI;AAElB,kBAAM,QAAQ,kBAAkB,IAAI,IAAI;AACxC,mBAAO,OAAO;AAAA,EACxB,KAAK;AAAA,EACL,OAAO,IAAI;AAAA;AAAA,UAEH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,MAET,QAAQ,MAAM;AACZ,cAAM,0BAA0B,CAAC,iBACxB;AAAA,UACL,cAAc;AAAA,YACZ,gBAAgB;AAAA,cACd,SAAS;AAAA,gBACP;AAAA,kBACE,MAAM,kCAAkC,WAAW;AAAA,kBACnD,MAAM,OAAO;AACX,0BAAM;AAAA,sBACJ,EAAE,QAAQ,yCAAyC;AAAA,sBACnD,OAAO,SAAS;AACd,8BAAM,aAAa,QAAQ,IAAI,aAAa,cACtC,OAAO,UAAM,0BAAS,KAAK,MAAM,OAAO;AAE9C,sDAAQ,0BAA0B,KAAK,IAAI,EAAE;AAE7C,8BAAM,SAAS,MAAM,sBAAsB;AAAA,0BACzC,IAAI,KAAK;AAAA,0BACT;AAAA,0BACA;AAAA,0BACA;AAAA,0BACA;AAAA,0BACA;AAAA,wBACF,CAAC;AAED,4BAAI,CAAC;AACH,iCAAO;AAIT,8BAAM,UAAM,0BAAQ,KAAK,IAAI,GACvB,SACJ,QAAQ,SACJ,QACA,QAAQ,QACN,OACA,QAAQ,SACN,QACA;AAEV,+BAAO;AAAA,0BACL,UAAU,OAAO;AAAA,0BACjB;AAAA,wBACF;AAAA,sBACF;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UAEA,QAAQ;AAAA,YACN,6BAA6B,KAAK;AAAA,cAChC,gBAAgB,SAAS,gBAAgB,YAAY,WAAW;AAAA,YAClE;AAAA,UACF;AAAA,QACF;AAGF,eAAO;AAAA,UACL,cAAc;AAAA,YACZ,KAAK,wBAAwB,KAAK;AAAA,YAClC,SAAS,wBAAwB,SAAS;AAAA,YAC1C,QAAQ,wBAAwB,QAAQ;AAAA,YACxC,KAAK,wBAAwB,KAAK;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AAAA,MAEA,eAAe,gBAAgB;AAC7B,iBAAS;AAAA,MACX;AAAA,MAEA,MAAM,UAAU,QAAQ,KAAK;AAC3B,YAAI,OAAO;AACX,cAAM,cAAc,WAAW,KAAK,YAAY,IAAI,GAC9C,WAAW,gBAAgB,SAAS,gBAAgB,WACpD,aACJ,QAAQ,IAAI,aAAa,gBACzB,KAAK,MAAM,KAAK,YAAY,QAAQ,SAAS,sBAAsB,KAAK,IAAI,MAC1E;AAMJ,eAFgB,IAAI,SAAS,kBAAkB,KAGzC,YAAY,CAAC,eACf,OAAO;AAAA,EAAsC,IAAI,KAE/C,YAAY,+BAAc,qBAE5B,OAAO;AAAA,EAAoC,IAAI,KAI1C,QAGF,qBAAqB;AAAA,UAC1B;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,OAAO;AAAA,QACf,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -115,13 +115,19 @@ function shouldBabelGenerators({
115
115
  const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = ["worklet", "useAnimatedGestureHandler", "useAnimatedScrollHandler", "useFrameCallback", "useAnimatedStyle", "useAnimatedProps", "createAnimatedPropAdapter", "useDerivedValue", "useAnimatedReaction", "useWorkletCallback", "withTiming", "withSpring", "withDecay", "withRepeat", "runOnUI", "executeOnUIRuntimeSync"],
116
116
  REANIMATED_REGEX = new RegExp(REANIMATED_AUTOWORKLETIZATION_KEYWORDS.join("|")),
117
117
  REANIMATED_IGNORED_PATHS = [
118
- // React and React Native libraries are not likely to use reanimated.
119
- // This can also avoid the "[BABEL] Note: The code generator has deoptimised the styling of ... as it exceeds the max of 500KB" warning since the react-native source code also contains `useAnimatedProps`.
120
- "react-native-prebuilt", "node_modules/.vxrn/react-native"],
118
+ // Prebuilt/vendored react-native that shouldn't be transformed
119
+ "react-native-prebuilt", "node_modules/.vxrn/react-native",
120
+ // Known false positives - they mention worklet keywords in comments/strings but don't use them
121
+ "node_modules/react/", "node_modules/react-dom/", "node_modules/react-native/", "node_modules/react-native-web/"],
121
122
  REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.map(s => s.replace(/\//g, "/")).join("|"));
122
123
  function shouldBabelReanimated({
123
124
  code,
124
125
  id
125
126
  }) {
126
- return import_configure.configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? ((0, import_constants.debug)?.(` \u{1FA84} [reanimated] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0) : ((0, import_constants.debug)?.(` not using reanimated ${(0, import_node_path.relative)(process.cwd(), id)}`), !1) : !1;
127
+ if (!import_configure.configuration.enableReanimated || REANIMATED_IGNORED_PATHS_REGEX.test(id)) return !1;
128
+ if (REANIMATED_REGEX.test(code)) {
129
+ const location = id.includes("node_modules") ? "node_modules" : "user-code";
130
+ return (0, import_constants.debug)?.(` \u{1FA84} [reanimated/${location}] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0;
131
+ }
132
+ return !1;
127
133
  }
@@ -113,14 +113,24 @@ const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
113
113
  "runOnUI",
114
114
  "executeOnUIRuntimeSync"
115
115
  ], REANIMATED_REGEX = new RegExp(REANIMATED_AUTOWORKLETIZATION_KEYWORDS.join("|")), REANIMATED_IGNORED_PATHS = [
116
- // React and React Native libraries are not likely to use reanimated.
117
- // This can also avoid the "[BABEL] Note: The code generator has deoptimised the styling of ... as it exceeds the max of 500KB" warning since the react-native source code also contains `useAnimatedProps`.
116
+ // Prebuilt/vendored react-native that shouldn't be transformed
118
117
  "react-native-prebuilt",
119
- "node_modules/.vxrn/react-native"
118
+ "node_modules/.vxrn/react-native",
119
+ // Known false positives - they mention worklet keywords in comments/strings but don't use them
120
+ "node_modules/react/",
121
+ "node_modules/react-dom/",
122
+ "node_modules/react-native/",
123
+ "node_modules/react-native-web/"
120
124
  ], REANIMATED_IGNORED_PATHS_REGEX = new RegExp(
121
125
  REANIMATED_IGNORED_PATHS.map((s) => s.replace(/\//g, "/")).join("|")
122
126
  );
123
127
  function shouldBabelReanimated({ code, id }) {
124
- return import_configure.configuration.enableReanimated ? !REANIMATED_IGNORED_PATHS_REGEX.test(id) && REANIMATED_REGEX.test(code) ? ((0, import_constants.debug)?.(` \u{1FA84} [reanimated] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0) : ((0, import_constants.debug)?.(` not using reanimated ${(0, import_node_path.relative)(process.cwd(), id)}`), !1) : !1;
128
+ if (!import_configure.configuration.enableReanimated || REANIMATED_IGNORED_PATHS_REGEX.test(id))
129
+ return !1;
130
+ if (REANIMATED_REGEX.test(code)) {
131
+ const location = id.includes("node_modules") ? "node_modules" : "user-code";
132
+ return (0, import_constants.debug)?.(` \u{1FA84} [reanimated/${location}] ${(0, import_node_path.relative)(process.cwd(), id)}`), !0;
133
+ }
134
+ return !1;
125
135
  }
126
136
  //# sourceMappingURL=transformBabel.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/transformBabel.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["babel"]
6
6
  }
@@ -0,0 +1,62 @@
1
+ import { createHash } from "node:crypto";
2
+ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ const stats = { hits: 0, misses: 0, writes: 0 };
5
+ function getCacheDir() {
6
+ const cacheDir = join(process.cwd(), "node_modules", ".vxrn", "compiler-cache");
7
+ return existsSync(cacheDir) || mkdirSync(cacheDir, { recursive: !0 }), cacheDir;
8
+ }
9
+ function getCacheKey(filePath, environment) {
10
+ return createHash("sha1").update(`${environment}:${filePath}`).digest("hex");
11
+ }
12
+ function getContentHash(code) {
13
+ return createHash("sha1").update(code).digest("hex").slice(0, 16);
14
+ }
15
+ function getCachedTransform(filePath, code, environment) {
16
+ try {
17
+ const cacheDir = getCacheDir(), cacheKey = getCacheKey(filePath, environment), cachePath = join(cacheDir, `${cacheKey}.json`);
18
+ if (!existsSync(cachePath))
19
+ return stats.misses++, null;
20
+ const cached = JSON.parse(readFileSync(cachePath, "utf-8")), currentMtime = statSync(filePath).mtimeMs;
21
+ if (cached.mtime !== currentMtime)
22
+ return stats.misses++, null;
23
+ const currentHash = getContentHash(code);
24
+ return cached.hash !== currentHash ? (stats.misses++, null) : (stats.hits++, { code: cached.code, map: cached.map });
25
+ } catch {
26
+ return stats.misses++, null;
27
+ }
28
+ }
29
+ function setCachedTransform(filePath, code, result, environment) {
30
+ try {
31
+ const cacheDir = getCacheDir(), cacheKey = getCacheKey(filePath, environment), cachePath = join(cacheDir, `${cacheKey}.json`), mtime = statSync(filePath).mtimeMs, hash = getContentHash(code), entry = {
32
+ mtime,
33
+ hash,
34
+ code: result.code,
35
+ map: result.map
36
+ };
37
+ writeFileSync(cachePath, JSON.stringify(entry), "utf-8"), stats.writes++;
38
+ } catch (err) {
39
+ console.warn(`[cache] Failed to write cache for ${filePath}:`, err);
40
+ }
41
+ }
42
+ function getCacheStats() {
43
+ return { ...stats };
44
+ }
45
+ function logCacheStats() {
46
+ if (!process.env.DEBUG_COMPILER_PERF)
47
+ return;
48
+ const total = stats.hits + stats.misses;
49
+ if (total === 0) return;
50
+ const hitRate = (stats.hits / total * 100).toFixed(1);
51
+ console.info(
52
+ `
53
+ \u{1F4BE} [Cache Stats] ${stats.hits} hits / ${stats.misses} misses (${hitRate}% hit rate), ${stats.writes} writes`
54
+ );
55
+ }
56
+ export {
57
+ getCacheStats,
58
+ getCachedTransform,
59
+ logCacheStats,
60
+ setCachedTransform
61
+ };
62
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cache.ts"],
4
+ "mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY,WAAW,cAAc,UAAU,qBAAqB;AAC7E,SAAS,YAAY;AAwBrB,MAAM,QAAoB,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE;AAE1D,SAAS,cAAsB;AAE7B,QAAM,WAAW,KAAK,QAAQ,IAAI,GAAG,gBAAgB,SAAS,gBAAgB;AAC9E,SAAK,WAAW,QAAQ,KACtB,UAAU,UAAU,EAAE,WAAW,GAAK,CAAC,GAElC;AACT;AAEA,SAAS,YAAY,UAAkB,aAA6B;AAGlE,SADa,WAAW,MAAM,EAAE,OAAO,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,OAAO,KAAK;AAEnF;AAEA,SAAS,eAAe,MAAsB;AAE5C,SAAO,WAAW,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE;AAClE;AAEO,SAAS,mBACd,UACA,MACA,aACoC;AACpC,MAAI;AACF,UAAM,WAAW,YAAY,GACvB,WAAW,YAAY,UAAU,WAAW,GAC5C,YAAY,KAAK,UAAU,GAAG,QAAQ,OAAO;AAEnD,QAAI,CAAC,WAAW,SAAS;AACvB,mBAAM,UACC;AAGT,UAAM,SAAqB,KAAK,MAAM,aAAa,WAAW,OAAO,CAAC,GAGhE,eAAe,SAAS,QAAQ,EAAE;AACxC,QAAI,OAAO,UAAU;AACnB,mBAAM,UACC;AAIT,UAAM,cAAc,eAAe,IAAI;AACvC,WAAI,OAAO,SAAS,eAClB,MAAM,UACC,SAGT,MAAM,QACC,EAAE,MAAM,OAAO,MAAM,KAAK,OAAO,IAAI;AAAA,EAC9C,QAAc;AAEZ,iBAAM,UACC;AAAA,EACT;AACF;AAEO,SAAS,mBACd,UACA,MACA,QACA,aACM;AACN,MAAI;AACF,UAAM,WAAW,YAAY,GACvB,WAAW,YAAY,UAAU,WAAW,GAC5C,YAAY,KAAK,UAAU,GAAG,QAAQ,OAAO,GAE7C,QAAQ,SAAS,QAAQ,EAAE,SAC3B,OAAO,eAAe,IAAI,GAE1B,QAAoB;AAAA,MACxB;AAAA,MACA;AAAA,MACA,MAAM,OAAO;AAAA,MACb,KAAK,OAAO;AAAA,IACd;AAEA,kBAAc,WAAW,KAAK,UAAU,KAAK,GAAG,OAAO,GACvD,MAAM;AAAA,EACR,SAAS,KAAK;AAEZ,YAAQ,KAAK,qCAAqC,QAAQ,KAAK,GAAG;AAAA,EACpE;AACF;AAEO,SAAS,gBAA4B;AAC1C,SAAO,EAAE,GAAG,MAAM;AACpB;AAEO,SAAS,gBAAsB;AAEpC,MAAI,CAAC,QAAQ,IAAI;AACf;AAGF,QAAM,QAAQ,MAAM,OAAO,MAAM;AACjC,MAAI,UAAU,EAAG;AAEjB,QAAM,WAAY,MAAM,OAAO,QAAS,KAAK,QAAQ,CAAC;AACtD,UAAQ;AAAA,IACN;AAAA,0BAAsB,MAAM,IAAI,WAAW,MAAM,MAAM,YAAY,OAAO,gBAAgB,MAAM,MAAM;AAAA,EACxG;AACF;",
5
+ "names": []
6
+ }