rn-iconify 2.1.0 → 2.2.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.
Files changed (122) hide show
  1. package/lib/commonjs/IconRenderer.js +54 -12
  2. package/lib/commonjs/IconRenderer.js.map +1 -1
  3. package/lib/commonjs/babel/cache-writer.js +102 -26
  4. package/lib/commonjs/babel/cache-writer.js.map +1 -1
  5. package/lib/commonjs/babel/plugin.js +129 -44
  6. package/lib/commonjs/babel/plugin.js.map +1 -1
  7. package/lib/commonjs/babel/scanner.js +219 -0
  8. package/lib/commonjs/babel/scanner.js.map +1 -0
  9. package/lib/commonjs/babel/types.js.map +1 -1
  10. package/lib/commonjs/cache/CacheManager.js +82 -1
  11. package/lib/commonjs/cache/CacheManager.js.map +1 -1
  12. package/lib/commonjs/cache/DiskCache.js +33 -4
  13. package/lib/commonjs/cache/DiskCache.js.map +1 -1
  14. package/lib/commonjs/cli/CLAUDE.md +7 -0
  15. package/lib/commonjs/cli/commands/bundle.js +37 -6
  16. package/lib/commonjs/cli/commands/bundle.js.map +1 -1
  17. package/lib/commonjs/config/ConfigManager.js +8 -1
  18. package/lib/commonjs/config/ConfigManager.js.map +1 -1
  19. package/lib/commonjs/config/index.js.map +1 -1
  20. package/lib/commonjs/config/types.js +9 -0
  21. package/lib/commonjs/config/types.js.map +1 -1
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/metro/devServerMiddleware.js +150 -0
  24. package/lib/commonjs/metro/devServerMiddleware.js.map +1 -0
  25. package/lib/commonjs/metro/index.js +20 -0
  26. package/lib/commonjs/metro/index.js.map +1 -0
  27. package/lib/commonjs/metro/types.js +6 -0
  28. package/lib/commonjs/metro/types.js.map +1 -0
  29. package/lib/commonjs/metro/withRnIconify.js +53 -0
  30. package/lib/commonjs/metro/withRnIconify.js.map +1 -0
  31. package/lib/commonjs/network/IconifyAPI.js +30 -2
  32. package/lib/commonjs/network/IconifyAPI.js.map +1 -1
  33. package/lib/module/IconRenderer.js +54 -12
  34. package/lib/module/IconRenderer.js.map +1 -1
  35. package/lib/module/babel/cache-writer.js +99 -26
  36. package/lib/module/babel/cache-writer.js.map +1 -1
  37. package/lib/module/babel/plugin.js +129 -46
  38. package/lib/module/babel/plugin.js.map +1 -1
  39. package/lib/module/babel/scanner.js +213 -0
  40. package/lib/module/babel/scanner.js.map +1 -0
  41. package/lib/module/babel/types.js.map +1 -1
  42. package/lib/module/cache/CacheManager.js +82 -1
  43. package/lib/module/cache/CacheManager.js.map +1 -1
  44. package/lib/module/cache/DiskCache.js +32 -4
  45. package/lib/module/cache/DiskCache.js.map +1 -1
  46. package/lib/module/cli/CLAUDE.md +7 -0
  47. package/lib/module/cli/commands/bundle.js +37 -6
  48. package/lib/module/cli/commands/bundle.js.map +1 -1
  49. package/lib/module/config/ConfigManager.js +8 -1
  50. package/lib/module/config/ConfigManager.js.map +1 -1
  51. package/lib/module/config/index.js.map +1 -1
  52. package/lib/module/config/types.js +9 -0
  53. package/lib/module/config/types.js.map +1 -1
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/metro/devServerMiddleware.js +143 -0
  56. package/lib/module/metro/devServerMiddleware.js.map +1 -0
  57. package/lib/module/metro/index.js +19 -0
  58. package/lib/module/metro/index.js.map +1 -0
  59. package/lib/module/metro/types.js +2 -0
  60. package/lib/module/metro/types.js.map +1 -0
  61. package/lib/module/metro/withRnIconify.js +48 -0
  62. package/lib/module/metro/withRnIconify.js.map +1 -0
  63. package/lib/module/network/IconifyAPI.js +30 -2
  64. package/lib/module/network/IconifyAPI.js.map +1 -1
  65. package/lib/typescript/IconRenderer.d.ts.map +1 -1
  66. package/lib/typescript/babel/cache-writer.d.ts +16 -2
  67. package/lib/typescript/babel/cache-writer.d.ts.map +1 -1
  68. package/lib/typescript/babel/plugin.d.ts +5 -0
  69. package/lib/typescript/babel/plugin.d.ts.map +1 -1
  70. package/lib/typescript/babel/scanner.d.ts +31 -0
  71. package/lib/typescript/babel/scanner.d.ts.map +1 -0
  72. package/lib/typescript/babel/types.d.ts +8 -1
  73. package/lib/typescript/babel/types.d.ts.map +1 -1
  74. package/lib/typescript/cache/CacheManager.d.ts +16 -0
  75. package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
  76. package/lib/typescript/cache/DiskCache.d.ts +2 -0
  77. package/lib/typescript/cache/DiskCache.d.ts.map +1 -1
  78. package/lib/typescript/cli/commands/bundle.d.ts.map +1 -1
  79. package/lib/typescript/components/Charm.d.ts +1 -1
  80. package/lib/typescript/components/Dashicons.d.ts +1 -1
  81. package/lib/typescript/components/Hugeicons.d.ts +1 -1
  82. package/lib/typescript/components/Ix.d.ts +1 -1
  83. package/lib/typescript/components/Tabler.d.ts +1 -1
  84. package/lib/typescript/components/Token.d.ts +1 -1
  85. package/lib/typescript/components/TokenBranded.d.ts +1 -1
  86. package/lib/typescript/config/ConfigManager.d.ts +5 -1
  87. package/lib/typescript/config/ConfigManager.d.ts.map +1 -1
  88. package/lib/typescript/config/index.d.ts +1 -1
  89. package/lib/typescript/config/index.d.ts.map +1 -1
  90. package/lib/typescript/config/types.d.ts +26 -0
  91. package/lib/typescript/config/types.d.ts.map +1 -1
  92. package/lib/typescript/index.d.ts +1 -1
  93. package/lib/typescript/index.d.ts.map +1 -1
  94. package/lib/typescript/metro/devServerMiddleware.d.ts +11 -0
  95. package/lib/typescript/metro/devServerMiddleware.d.ts.map +1 -0
  96. package/lib/typescript/metro/index.d.ts +19 -0
  97. package/lib/typescript/metro/index.d.ts.map +1 -0
  98. package/lib/typescript/metro/types.d.ts +46 -0
  99. package/lib/typescript/metro/types.d.ts.map +1 -0
  100. package/lib/typescript/metro/withRnIconify.d.ts +20 -0
  101. package/lib/typescript/metro/withRnIconify.d.ts.map +1 -0
  102. package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
  103. package/metro.js +12 -0
  104. package/package.json +13 -6
  105. package/src/IconRenderer.tsx +59 -12
  106. package/src/babel/cache-writer.ts +105 -31
  107. package/src/babel/plugin.ts +157 -34
  108. package/src/babel/scanner.ts +274 -0
  109. package/src/babel/types.ts +9 -1
  110. package/src/cache/CacheManager.ts +83 -1
  111. package/src/cache/DiskCache.ts +43 -4
  112. package/src/cli/CLAUDE.md +7 -0
  113. package/src/cli/commands/bundle.ts +52 -6
  114. package/src/config/ConfigManager.ts +9 -0
  115. package/src/config/index.ts +1 -0
  116. package/src/config/types.ts +35 -0
  117. package/src/index.ts +1 -0
  118. package/src/metro/devServerMiddleware.ts +137 -0
  119. package/src/metro/index.ts +19 -0
  120. package/src/metro/types.ts +52 -0
  121. package/src/metro/withRnIconify.ts +52 -0
  122. package/src/network/IconifyAPI.ts +23 -1
@@ -39,6 +39,11 @@ class CacheManagerImpl {
39
39
  */
40
40
  bundledIconsInitialized = false;
41
41
 
42
+ /**
43
+ * Guard to prevent reporting icons during bundle load
44
+ */
45
+ isLoadingBundle = false;
46
+
42
47
  /**
43
48
  * Initialize bundled icons from the Babel plugin cache
44
49
  * This should be called automatically on first access
@@ -65,11 +70,27 @@ class CacheManagerImpl {
65
70
  if (!bundle || !bundle.icons || bundle.version !== '1.0.0') {
66
71
  return 0;
67
72
  }
73
+ this.isLoadingBundle = true;
68
74
  this.bundledIcons = new Map();
75
+ let skippedCount = 0;
69
76
  for (const [iconName, data] of Object.entries(bundle.icons)) {
70
- this.bundledIcons.set(iconName, data.svg);
77
+ if (data && typeof data.svg === 'string' && data.svg.length > 0) {
78
+ this.bundledIcons.set(iconName, data.svg);
79
+ } else {
80
+ skippedCount++;
81
+ if (__DEV__) {
82
+ console.warn(`[rn-iconify] Skipping invalid icon in bundle: ${iconName}`);
83
+ }
84
+ }
85
+ }
86
+ if (__DEV__ && skippedCount > 0) {
87
+ console.warn(`[rn-iconify] Skipped ${skippedCount} invalid icons in bundle`);
71
88
  }
72
89
  this.bundledIconsInitialized = true;
90
+
91
+ // Warmup memory cache from disk cache
92
+ this.warmup();
93
+ this.isLoadingBundle = false;
73
94
  return this.bundledIcons.size;
74
95
  }
75
96
 
@@ -131,6 +152,11 @@ class CacheManagerImpl {
131
152
  set(iconName, svg) {
132
153
  _MemoryCache.MemoryCache.set(iconName, svg);
133
154
  _DiskCache.DiskCache.set(iconName, svg);
155
+
156
+ // Report to Metro dev server for dynamic icon learning
157
+ if (!this.isLoadingBundle) {
158
+ this.reportIconUsage(iconName);
159
+ }
134
160
  }
135
161
 
136
162
  /**
@@ -305,6 +331,61 @@ class CacheManagerImpl {
305
331
  }
306
332
  }
307
333
  }
334
+
335
+ /**
336
+ * Warmup memory cache by loading recent disk cache entries
337
+ * Called automatically at the end of loadBundle()
338
+ *
339
+ * @param maxIcons Maximum number of icons to load into memory
340
+ */
341
+ warmup(maxIcons = 100) {
342
+ try {
343
+ const keys = _DiskCache.DiskCache.keys();
344
+ const toLoad = keys.slice(0, maxIcons);
345
+ let loaded = 0;
346
+ for (const key of toLoad) {
347
+ if (!_MemoryCache.MemoryCache.has(key)) {
348
+ const svg = _DiskCache.DiskCache.get(key);
349
+ if (svg) {
350
+ _MemoryCache.MemoryCache.set(key, svg);
351
+ loaded++;
352
+ }
353
+ }
354
+ }
355
+ if (__DEV__ && loaded > 0) {
356
+ console.log(`[rn-iconify] Warmed up ${loaded} icons from disk cache`);
357
+ }
358
+ } catch {
359
+ // Warmup is best-effort, don't fail
360
+ }
361
+ }
362
+
363
+ /**
364
+ * Report icon usage to Metro dev server (DEV only)
365
+ * Fire-and-forget POST to the Metro middleware
366
+ */
367
+ reportIconUsage(iconName) {
368
+ if (typeof __DEV__ === 'undefined' || !__DEV__) return;
369
+ if (this.isLoadingBundle) return;
370
+ try {
371
+ // Use global fetch if available (React Native)
372
+ if (typeof fetch === 'function') {
373
+ fetch('http://localhost:8081/__rn_iconify_log', {
374
+ method: 'POST',
375
+ headers: {
376
+ 'Content-Type': 'application/json'
377
+ },
378
+ body: JSON.stringify({
379
+ icon: iconName
380
+ })
381
+ }).catch(() => {
382
+ // Silently ignore - Metro server might not have the plugin
383
+ });
384
+ }
385
+ } catch {
386
+ // Silently ignore
387
+ }
388
+ }
308
389
  }
309
390
 
310
391
  // Singleton instance
@@ -1 +1 @@
1
- {"version":3,"names":["_MemoryCache","require","_DiskCache","_native","CacheManagerImpl","prefetchingIcons","Set","bundledIcons","bundledIconsInitialized","initBundledIcons","loadBundle","bundle","icons","version","Map","iconName","data","Object","entries","set","svg","size","hasBundled","has","getBundledCount","get","memoryCached","MemoryCache","bundledSvg","diskCached","DiskCache","delete","clear","clearMemory","getStats","diskStats","memoryCount","bundledCount","diskCount","iconCount","diskSizeBytes","sizeBytes","prefetch","iconNames","fetchFn","toFetch","filter","name","length","success","failed","forEach","add","isNativeModuleAvailable","nativeModule","getNativeIconify","result","prefetchIcons","error","__DEV__","console","warn","prefetchWithJS","CONCURRENCY","i","batch","slice","results","Promise","allSettled","map","j","status","push","value","isNativeAvailable","getNativeStats","getCacheStats","clearNative","clearCache","CacheManager","exports"],"sourceRoot":"../../../src","sources":["cache/CacheManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_MemoryCache","require","_DiskCache","_native","CacheManagerImpl","prefetchingIcons","Set","bundledIcons","bundledIconsInitialized","isLoadingBundle","initBundledIcons","loadBundle","bundle","icons","version","Map","skippedCount","iconName","data","Object","entries","svg","length","set","__DEV__","console","warn","warmup","size","hasBundled","has","getBundledCount","get","memoryCached","MemoryCache","bundledSvg","diskCached","DiskCache","reportIconUsage","delete","clear","clearMemory","getStats","diskStats","memoryCount","bundledCount","diskCount","iconCount","diskSizeBytes","sizeBytes","prefetch","iconNames","fetchFn","toFetch","filter","name","success","failed","forEach","add","isNativeModuleAvailable","nativeModule","getNativeIconify","result","prefetchIcons","error","prefetchWithJS","CONCURRENCY","i","batch","slice","results","Promise","allSettled","map","j","status","push","value","isNativeAvailable","getNativeStats","getCacheStats","clearNative","clearCache","maxIcons","keys","toLoad","loaded","key","log","fetch","method","headers","body","JSON","stringify","icon","catch","CacheManager","exports"],"sourceRoot":"../../../src","sources":["cache/CacheManager.ts"],"mappings":";;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AATA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;;AAOA;AACA;AACA;;AAQA,MAAMG,gBAAgB,CAAC;EACrB;AACF;AACA;EACUC,gBAAgB,GAAG,IAAIC,GAAG,CAAS,CAAC;;EAE5C;AACF;AACA;AACA;EACUC,YAAY,GAA+B,IAAI;;EAEvD;AACF;AACA;EACUC,uBAAuB,GAAG,KAAK;;EAEvC;AACF;AACA;EACUC,eAAe,GAAG,KAAK;;EAE/B;AACF;AACA;AACA;EACEC,gBAAgBA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACF,uBAAuB,EAAE;MAChC;IACF;IAEA,IAAI,CAACA,uBAAuB,GAAG,IAAI;;IAEnC;IACA;IACA;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEG,UAAUA,CAACC,MAAkB,EAAU;IACrC,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,OAAO,KAAK,OAAO,EAAE;MAC1D,OAAO,CAAC;IACV;IAEA,IAAI,CAACL,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACF,YAAY,GAAG,IAAIQ,GAAG,CAAC,CAAC;IAC7B,IAAIC,YAAY,GAAG,CAAC;IAEpB,KAAK,MAAM,CAACC,QAAQ,EAAEC,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,MAAM,CAACC,KAAK,CAAC,EAAE;MAC3D,IAAIK,IAAI,IAAI,OAAOA,IAAI,CAACG,GAAG,KAAK,QAAQ,IAAIH,IAAI,CAACG,GAAG,CAACC,MAAM,GAAG,CAAC,EAAE;QAC/D,IAAI,CAACf,YAAY,CAACgB,GAAG,CAACN,QAAQ,EAAEC,IAAI,CAACG,GAAG,CAAC;MAC3C,CAAC,MAAM;QACLL,YAAY,EAAE;QACd,IAAIQ,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CAAC,iDAAiDT,QAAQ,EAAE,CAAC;QAC3E;MACF;IACF;IAEA,IAAIO,OAAO,IAAIR,YAAY,GAAG,CAAC,EAAE;MAC/BS,OAAO,CAACC,IAAI,CAAC,wBAAwBV,YAAY,0BAA0B,CAAC;IAC9E;IAEA,IAAI,CAACR,uBAAuB,GAAG,IAAI;;IAEnC;IACA,IAAI,CAACmB,MAAM,CAAC,CAAC;IAEb,IAAI,CAAClB,eAAe,GAAG,KAAK;IAC5B,OAAO,IAAI,CAACF,YAAY,CAACqB,IAAI;EAC/B;;EAEA;AACF;AACA;EACEC,UAAUA,CAACZ,QAAgB,EAAW;IACpC,IAAI,CAAC,IAAI,CAACT,uBAAuB,EAAE;MACjC,IAAI,CAACE,gBAAgB,CAAC,CAAC;IACzB;IACA,OAAO,IAAI,CAACH,YAAY,EAAEuB,GAAG,CAACb,QAAQ,CAAC,IAAI,KAAK;EAClD;;EAEA;AACF;AACA;EACEc,eAAeA,CAAA,EAAW;IACxB,IAAI,CAAC,IAAI,CAACvB,uBAAuB,EAAE;MACjC,IAAI,CAACE,gBAAgB,CAAC,CAAC;IACzB;IACA,OAAO,IAAI,CAACH,YAAY,EAAEqB,IAAI,IAAI,CAAC;EACrC;;EAEA;AACF;AACA;AACA;EACEI,GAAGA,CAACf,QAAgB,EAAiB;IACnC;IACA,MAAMgB,YAAY,GAAGC,wBAAW,CAACF,GAAG,CAACf,QAAQ,CAAC;IAC9C,IAAIgB,YAAY,EAAE;MAChB,OAAOA,YAAY;IACrB;;IAEA;IACA,IAAI,CAAC,IAAI,CAACzB,uBAAuB,EAAE;MACjC,IAAI,CAACE,gBAAgB,CAAC,CAAC;IACzB;IACA,MAAMyB,UAAU,GAAG,IAAI,CAAC5B,YAAY,EAAEyB,GAAG,CAACf,QAAQ,CAAC;IACnD,IAAIkB,UAAU,EAAE;MACd;MACAD,wBAAW,CAACX,GAAG,CAACN,QAAQ,EAAEkB,UAAU,CAAC;MACrC,OAAOA,UAAU;IACnB;;IAEA;IACA,MAAMC,UAAU,GAAGC,oBAAS,CAACL,GAAG,CAACf,QAAQ,CAAC;IAC1C,IAAImB,UAAU,EAAE;MACd;MACAF,wBAAW,CAACX,GAAG,CAACN,QAAQ,EAAEmB,UAAU,CAAC;MACrC,OAAOA,UAAU;IACnB;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEb,GAAGA,CAACN,QAAgB,EAAEI,GAAW,EAAQ;IACvCa,wBAAW,CAACX,GAAG,CAACN,QAAQ,EAAEI,GAAG,CAAC;IAC9BgB,oBAAS,CAACd,GAAG,CAACN,QAAQ,EAAEI,GAAG,CAAC;;IAE5B;IACA,IAAI,CAAC,IAAI,CAACZ,eAAe,EAAE;MACzB,IAAI,CAAC6B,eAAe,CAACrB,QAAQ,CAAC;IAChC;EACF;;EAEA;AACF;AACA;EACEa,GAAGA,CAACb,QAAgB,EAAW;IAC7B,IAAIiB,wBAAW,CAACJ,GAAG,CAACb,QAAQ,CAAC,EAAE;MAC7B,OAAO,IAAI;IACb;;IAEA;IACA,IAAI,CAAC,IAAI,CAACT,uBAAuB,EAAE;MACjC,IAAI,CAACE,gBAAgB,CAAC,CAAC;IACzB;IACA,IAAI,IAAI,CAACH,YAAY,EAAEuB,GAAG,CAACb,QAAQ,CAAC,EAAE;MACpC,OAAO,IAAI;IACb;IAEA,OAAOoB,oBAAS,CAACP,GAAG,CAACb,QAAQ,CAAC;EAChC;;EAEA;AACF;AACA;EACEsB,MAAMA,CAACtB,QAAgB,EAAQ;IAC7BiB,wBAAW,CAACK,MAAM,CAACtB,QAAQ,CAAC;IAC5BoB,oBAAS,CAACE,MAAM,CAACtB,QAAQ,CAAC;EAC5B;;EAEA;AACF;AACA;EACEuB,KAAKA,CAAA,EAAS;IACZN,wBAAW,CAACM,KAAK,CAAC,CAAC;IACnBH,oBAAS,CAACG,KAAK,CAAC,CAAC;EACnB;;EAEA;AACF;AACA;EACEC,WAAWA,CAAA,EAAS;IAClBP,wBAAW,CAACM,KAAK,CAAC,CAAC;EACrB;;EAEA;AACF;AACA;EACEE,QAAQA,CAAA,EAKN;IACA,IAAI,CAAC,IAAI,CAAClC,uBAAuB,EAAE;MACjC,IAAI,CAACE,gBAAgB,CAAC,CAAC;IACzB;IAEA,MAAMiC,SAAS,GAAGN,oBAAS,CAACK,QAAQ,CAAC,CAAC;IACtC,OAAO;MACLE,WAAW,EAAEV,wBAAW,CAACN,IAAI;MAC7BiB,YAAY,EAAE,IAAI,CAACtC,YAAY,EAAEqB,IAAI,IAAI,CAAC;MAC1CkB,SAAS,EAAEH,SAAS,CAACI,SAAS;MAC9BC,aAAa,EAAEL,SAAS,CAACM;IAC3B,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,QAAQA,CACZC,SAAmB,EACnBC,OAA8C,EACI;IAClD;IACA,MAAMC,OAAO,GAAGF,SAAS,CAACG,MAAM,CAAEC,IAAI,IAAK,CAAC,IAAI,CAACzB,GAAG,CAACyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAClD,gBAAgB,CAACyB,GAAG,CAACyB,IAAI,CAAC,CAAC;IAE/F,IAAIF,OAAO,CAAC/B,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO;QAAEkC,OAAO,EAAE,EAAE;QAAEC,MAAM,EAAE;MAAG,CAAC;IACpC;;IAEA;IACAJ,OAAO,CAACK,OAAO,CAAEH,IAAI,IAAK,IAAI,CAAClD,gBAAgB,CAACsD,GAAG,CAACJ,IAAI,CAAC,CAAC;IAE1D,IAAI;MACF;MACA,IAAI,IAAAK,+BAAuB,EAAC,CAAC,EAAE;QAC7B,IAAI;UACF,MAAMC,YAAY,GAAG,IAAAC,wBAAgB,EAAC,CAAC;UACvC,MAAMC,MAAM,GAAG,MAAMF,YAAY,CAACG,aAAa,CAACX,OAAO,CAAC;;UAExD;UACA;UACA,OAAOU,MAAM;QACf,CAAC,CAAC,OAAOE,KAAK,EAAE;UACd;UACA,IAAIzC,OAAO,EAAE;YACXC,OAAO,CAACC,IAAI,CAAC,yDAAyD,EAAEuC,KAAK,CAAC;UAChF;QACF;MACF;;MAEA;MACA,OAAO,MAAM,IAAI,CAACC,cAAc,CAACb,OAAO,EAAED,OAAO,CAAC;IACpD,CAAC,SAAS;MACR;MACAC,OAAO,CAACK,OAAO,CAAEH,IAAI,IAAK,IAAI,CAAClD,gBAAgB,CAACkC,MAAM,CAACgB,IAAI,CAAC,CAAC;IAC/D;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAcW,cAAcA,CAC1Bf,SAAmB,EACnBC,OAA8C,EACI;IAClD,MAAMI,OAAiB,GAAG,EAAE;IAC5B,MAAMC,MAAgB,GAAG,EAAE;;IAE3B;IACA,MAAMU,WAAW,GAAG,CAAC;IACrB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGjB,SAAS,CAAC7B,MAAM,EAAE8C,CAAC,IAAID,WAAW,EAAE;MACtD,MAAME,KAAK,GAAGlB,SAAS,CAACmB,KAAK,CAACF,CAAC,EAAEA,CAAC,GAAGD,WAAW,CAAC;MACjD,MAAMI,OAAO,GAAG,MAAMC,OAAO,CAACC,UAAU,CACtCJ,KAAK,CAACK,GAAG,CAAC,MAAOnB,IAAI,IAAK;QACxB,MAAMlC,GAAG,GAAG,MAAM+B,OAAO,CAACG,IAAI,CAAC;QAC/B,IAAI,CAAChC,GAAG,CAACgC,IAAI,EAAElC,GAAG,CAAC;QACnB,OAAOkC,IAAI;MACb,CAAC,CACH,CAAC;MAED,KAAK,IAAIoB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,OAAO,CAACjD,MAAM,EAAEqD,CAAC,EAAE,EAAE;QACvC,MAAMZ,MAAM,GAAGQ,OAAO,CAACI,CAAC,CAAC;QACzB,IAAIZ,MAAM,CAACa,MAAM,KAAK,WAAW,EAAE;UACjCpB,OAAO,CAACqB,IAAI,CAACd,MAAM,CAACe,KAAK,CAAC;QAC5B,CAAC,MAAM;UACL,MAAMvB,IAAI,GAAGc,KAAK,CAACM,CAAC,CAAC;UACrB,IAAIpB,IAAI,EAAE;YACRE,MAAM,CAACoB,IAAI,CAACtB,IAAI,CAAC;UACnB;QACF;MACF;IACF;IAEA,OAAO;MAAEC,OAAO;MAAEC;IAAO,CAAC;EAC5B;;EAEA;AACF;AACA;EACEsB,iBAAiBA,CAAA,EAAY;IAC3B,OAAO,IAAAnB,+BAAuB,EAAC,CAAC;EAClC;;EAEA;AACF;AACA;EACE,MAAMoB,cAAcA,CAAA,EAIV;IACR,IAAI,CAAC,IAAApB,+BAAuB,EAAC,CAAC,EAAE;MAC9B,OAAO,IAAI;IACb;IAEA,IAAI;MACF,MAAMC,YAAY,GAAG,IAAAC,wBAAgB,EAAC,CAAC;MACvC,OAAO,MAAMD,YAAY,CAACoB,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;;EAEA;AACF;AACA;EACE,MAAMC,WAAWA,CAAA,EAAkB;IACjC,IAAI,IAAAtB,+BAAuB,EAAC,CAAC,EAAE;MAC7B,IAAI;QACF,MAAMC,YAAY,GAAG,IAAAC,wBAAgB,EAAC,CAAC;QACvC,MAAMD,YAAY,CAACsB,UAAU,CAAC,CAAC;MACjC,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACExD,MAAMA,CAACyD,QAAgB,GAAG,GAAG,EAAQ;IACnC,IAAI;MACF,MAAMC,IAAI,GAAGhD,oBAAS,CAACgD,IAAI,CAAC,CAAC;MAC7B,MAAMC,MAAM,GAAGD,IAAI,CAACf,KAAK,CAAC,CAAC,EAAEc,QAAQ,CAAC;MAEtC,IAAIG,MAAM,GAAG,CAAC;MACd,KAAK,MAAMC,GAAG,IAAIF,MAAM,EAAE;QACxB,IAAI,CAACpD,wBAAW,CAACJ,GAAG,CAAC0D,GAAG,CAAC,EAAE;UACzB,MAAMnE,GAAG,GAAGgB,oBAAS,CAACL,GAAG,CAACwD,GAAG,CAAC;UAC9B,IAAInE,GAAG,EAAE;YACPa,wBAAW,CAACX,GAAG,CAACiE,GAAG,EAAEnE,GAAG,CAAC;YACzBkE,MAAM,EAAE;UACV;QACF;MACF;MAEA,IAAI/D,OAAO,IAAI+D,MAAM,GAAG,CAAC,EAAE;QACzB9D,OAAO,CAACgE,GAAG,CAAC,0BAA0BF,MAAM,wBAAwB,CAAC;MACvE;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;;EAEA;AACF;AACA;AACA;EACEjD,eAAeA,CAACrB,QAAgB,EAAQ;IACtC,IAAI,OAAOO,OAAO,KAAK,WAAW,IAAI,CAACA,OAAO,EAAE;IAChD,IAAI,IAAI,CAACf,eAAe,EAAE;IAE1B,IAAI;MACF;MACA,IAAI,OAAOiF,KAAK,KAAK,UAAU,EAAE;QAC/BA,KAAK,CAAC,wCAAwC,EAAE;UAC9CC,MAAM,EAAE,MAAM;UACdC,OAAO,EAAE;YAAE,cAAc,EAAE;UAAmB,CAAC;UAC/CC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;YAAEC,IAAI,EAAE/E;UAAS,CAAC;QACzC,CAAC,CAAC,CAACgF,KAAK,CAAC,MAAM;UACb;QAAA,CACD,CAAC;MACJ;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;;AAEA;AACO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAI9F,gBAAgB,CAAC,CAAC","ignoreList":[]}
@@ -4,16 +4,45 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DiskCache = void 0;
7
- var _reactNativeMmkv = require("react-native-mmkv");
7
+ var MMKVModule = _interopRequireWildcard(require("react-native-mmkv"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
8
9
  /**
9
10
  * Disk cache using MMKV for persistent icon storage
10
11
  * Provides fast synchronous access via JSI
12
+ *
13
+ * Supports both react-native-mmkv v3.x and v4.x
11
14
  */
12
15
 
16
+ /**
17
+ * MMKV storage interface (compatible with both v3 and v4)
18
+ */
19
+
20
+ /**
21
+ * Create MMKV instance compatible with both v3.x and v4.x
22
+ *
23
+ * v3.x: import { MMKV } from 'react-native-mmkv' → new MMKV({ id: '...' })
24
+ * v4.x: import { createMMKV } from 'react-native-mmkv' → createMMKV({ id: '...' })
25
+ */
26
+ function createStorage(id) {
27
+ const config = {
28
+ id
29
+ };
30
+
31
+ // v4.x: createMMKV function exists
32
+ if ('createMMKV' in MMKVModule && typeof MMKVModule.createMMKV === 'function') {
33
+ return MMKVModule.createMMKV(config);
34
+ }
35
+
36
+ // v3.x: MMKV is a constructor
37
+ if ('MMKV' in MMKVModule && typeof MMKVModule.MMKV === 'function') {
38
+ const MMKVClass = MMKVModule.MMKV;
39
+ return new MMKVClass(config);
40
+ }
41
+ throw new Error('[rn-iconify] Could not initialize MMKV storage. ' + 'Please ensure react-native-mmkv (v3.x or v4.x) is properly installed.');
42
+ }
43
+
13
44
  // MMKV instance for icon cache
14
- const storage = new _reactNativeMmkv.MMKV({
15
- id: 'rn-iconify-cache'
16
- });
45
+ const storage = createStorage('rn-iconify-cache');
17
46
 
18
47
  // Cache metadata storage
19
48
  const META_KEY_PREFIX = '__meta:';
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeMmkv","require","storage","MMKV","id","META_KEY_PREFIX","CACHE_VERSION","CACHE_VERSION_KEY","DiskCacheImpl","initialized","accessTimes","Map","pendingMetadataSync","metadataSyncTimerId","METADATA_SYNC_INTERVAL","constructor","initialize","version","getNumber","clear","set","get","iconName","svg","getString","Date","now","scheduleMetadataSync","setTimeout","syncMetadataToDisk","cancelPendingMetadataSync","clearTimeout","timestamp","has","contains","delete","clearAll","keys","getAllKeys","filter","key","startsWith","getStats","totalSize","value","length","iconCount","sizeBytes","evictToSize","maxSizeBytes","stats","entries","size","push","sort","a","b","currentSize","entry","DiskCache","exports"],"sourceRoot":"../../../src","sources":["cache/DiskCache.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MMKVModule","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createStorage","id","config","createMMKV","MMKV","MMKVClass","Error","storage","META_KEY_PREFIX","CACHE_VERSION","CACHE_VERSION_KEY","DiskCacheImpl","initialized","accessTimes","Map","pendingMetadataSync","metadataSyncTimerId","METADATA_SYNC_INTERVAL","constructor","initialize","version","getNumber","clear","iconName","svg","getString","Date","now","scheduleMetadataSync","setTimeout","syncMetadataToDisk","cancelPendingMetadataSync","clearTimeout","timestamp","contains","delete","clearAll","keys","getAllKeys","filter","key","startsWith","getStats","totalSize","value","length","iconCount","sizeBytes","evictToSize","maxSizeBytes","stats","entries","size","push","sort","a","b","currentSize","entry","DiskCache","exports"],"sourceRoot":"../../../src","sources":["cache/DiskCache.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ <claude-mem-context>
2
+ # Recent Activity
3
+
4
+ <!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
5
+
6
+ _No recent activity_
7
+ </claude-mem-context>
@@ -24,6 +24,38 @@ const ICONIFY_API = 'https://api.iconify.design';
24
24
  */
25
25
  const FETCH_TIMEOUT = 30000;
26
26
 
27
+ /**
28
+ * Icon data from Iconify API
29
+ */
30
+
31
+ /**
32
+ * Build SVG string from Iconify icon data with transformation support
33
+ */
34
+ function buildSvgFromIconData(data, width, height) {
35
+ const left = data.left ?? 0;
36
+ const top = data.top ?? 0;
37
+ const viewBox = `${left} ${top} ${width} ${height}`;
38
+
39
+ // Apply transformations (rotate, hFlip, vFlip)
40
+ let body = data.body;
41
+ const transforms = [];
42
+ if (data.rotate) {
43
+ const rotation = data.rotate * 90;
44
+ transforms.push(`rotate(${rotation} ${width / 2} ${height / 2})`);
45
+ }
46
+ if (data.hFlip || data.vFlip) {
47
+ const scaleX = data.hFlip ? -1 : 1;
48
+ const scaleY = data.vFlip ? -1 : 1;
49
+ const translateX = data.hFlip ? width : 0;
50
+ const translateY = data.vFlip ? height : 0;
51
+ transforms.push(`translate(${translateX} ${translateY}) scale(${scaleX} ${scaleY})`);
52
+ }
53
+ if (transforms.length > 0) {
54
+ body = `<g transform="${transforms.join(' ')}">${body}</g>`;
55
+ }
56
+ return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${viewBox}">${body}</svg>`;
57
+ }
58
+
27
59
  /**
28
60
  * Fetch multiple icons with batching
29
61
  */
@@ -44,10 +76,9 @@ async function fetchIcons(icons, verbose, onProgress) {
44
76
 
45
77
  // Fetch each prefix batch
46
78
  for (const [prefix, names] of byPrefix) {
79
+ const controller = new AbortController();
80
+ const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT);
47
81
  try {
48
- const controller = new AbortController();
49
- const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT);
50
-
51
82
  // Sort names alphabetically (Iconify best practice)
52
83
  const sortedNames = [...names].sort();
53
84
  const url = `${ICONIFY_API}/${prefix}.json?icons=${sortedNames.join(',')}`;
@@ -57,7 +88,6 @@ async function fetchIcons(icons, verbose, onProgress) {
57
88
  const response = await fetch(url, {
58
89
  signal: controller.signal
59
90
  });
60
- clearTimeout(timeout);
61
91
  if (!response.ok) {
62
92
  console.error(` Failed to fetch ${prefix}: ${response.status}`);
63
93
  processed += names.length;
@@ -71,8 +101,7 @@ async function fetchIcons(icons, verbose, onProgress) {
71
101
  if (iconData) {
72
102
  const width = iconData.width ?? defaultWidth;
73
103
  const height = iconData.height ?? defaultHeight;
74
- const body = iconData.body;
75
- const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}">${body}</svg>`;
104
+ const svg = buildSvgFromIconData(iconData, width, height);
76
105
  results[`${prefix}:${name}`] = {
77
106
  svg,
78
107
  width,
@@ -89,6 +118,8 @@ async function fetchIcons(icons, verbose, onProgress) {
89
118
  console.error(` Error fetching ${prefix}:`, error);
90
119
  }
91
120
  processed += names.length;
121
+ } finally {
122
+ clearTimeout(timeout);
92
123
  }
93
124
  }
94
125
  return results;
@@ -1 +1 @@
1
- {"version":3,"names":["fs","_interopRequireWildcard","require","path","_types","_parser","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ICONIFY_API","FETCH_TIMEOUT","fetchIcons","icons","verbose","onProgress","results","byPrefix","Map","icon","prefix","name","split","push","processed","total","length","names","controller","AbortController","timeout","setTimeout","abort","sortedNames","sort","url","join","console","log","response","fetch","signal","clearTimeout","ok","error","status","data","json","defaultWidth","width","defaultHeight","height","iconData","body","svg","bundleCommand","options","src","output","auto","manualIcons","exclude","pretty","iconsToBundle","analysis","analyzeDirectory","totalIcons","getUniqueIcons","parsed","parseIconList","includes","beforeCount","filter","some","pattern","regex","RegExp","replace","test","EXIT_CODES","ERROR","lastPercent","current","percent","Math","floor","process","stdout","write","fetchedIcons","fetchedCount","keys","failedCount","NETWORK_ERROR","bundle","version","generatedAt","Date","toISOString","count","outputDir","dirname","existsSync","mkdirSync","recursive","jsonContent","JSON","stringify","writeFileSync","stats","statSync","sizeKB","size","toFixed","SUCCESS"],"sourceRoot":"../../../../src","sources":["cli/commands/bundle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","_types","_parser","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ICONIFY_API","FETCH_TIMEOUT","buildSvgFromIconData","data","width","height","left","top","viewBox","body","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","length","join","fetchIcons","icons","verbose","onProgress","results","byPrefix","Map","icon","prefix","name","split","processed","total","names","controller","AbortController","timeout","setTimeout","abort","sortedNames","sort","url","console","log","response","fetch","signal","ok","error","status","json","defaultWidth","defaultHeight","iconData","svg","clearTimeout","bundleCommand","options","src","output","auto","manualIcons","exclude","pretty","iconsToBundle","analysis","analyzeDirectory","totalIcons","getUniqueIcons","parsed","parseIconList","includes","beforeCount","filter","some","pattern","regex","RegExp","replace","test","EXIT_CODES","ERROR","lastPercent","current","percent","Math","floor","process","stdout","write","fetchedIcons","fetchedCount","keys","failedCount","NETWORK_ERROR","bundle","version","generatedAt","Date","toISOString","count","outputDir","dirname","existsSync","mkdirSync","recursive","jsonContent","JSON","stringify","writeFileSync","stats","statSync","sizeKB","size","toFixed","SUCCESS"],"sourceRoot":"../../../../src","sources":["cli/commands/bundle.ts"],"mappings":";;;;;;AAKA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA4E,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAT5E;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA,MAAMkB,WAAW,GAAG,4BAA4B;;AAEhD;AACA;AACA;AACA,MAAMC,aAAa,GAAG,KAAK;;AAE3B;AACA;AACA;;AAYA;AACA;AACA;AACA,SAASC,oBAAoBA,CAACC,IAAc,EAAEC,KAAa,EAAEC,MAAc,EAAU;EACnF,MAAMC,IAAI,GAAGH,IAAI,CAACG,IAAI,IAAI,CAAC;EAC3B,MAAMC,GAAG,GAAGJ,IAAI,CAACI,GAAG,IAAI,CAAC;EACzB,MAAMC,OAAO,GAAG,GAAGF,IAAI,IAAIC,GAAG,IAAIH,KAAK,IAAIC,MAAM,EAAE;;EAEnD;EACA,IAAII,IAAI,GAAGN,IAAI,CAACM,IAAI;EACpB,MAAMC,UAAoB,GAAG,EAAE;EAE/B,IAAIP,IAAI,CAACQ,MAAM,EAAE;IACf,MAAMC,QAAQ,GAAGT,IAAI,CAACQ,MAAM,GAAG,EAAE;IACjCD,UAAU,CAACG,IAAI,CAAC,UAAUD,QAAQ,IAAIR,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,GAAG,CAAC;EACnE;EAEA,IAAIF,IAAI,CAACW,KAAK,IAAIX,IAAI,CAACY,KAAK,EAAE;IAC5B,MAAMC,MAAM,GAAGb,IAAI,CAACW,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;IAClC,MAAMG,MAAM,GAAGd,IAAI,CAACY,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;IAClC,MAAMG,UAAU,GAAGf,IAAI,CAACW,KAAK,GAAGV,KAAK,GAAG,CAAC;IACzC,MAAMe,UAAU,GAAGhB,IAAI,CAACY,KAAK,GAAGV,MAAM,GAAG,CAAC;IAC1CK,UAAU,CAACG,IAAI,CAAC,aAAaK,UAAU,IAAIC,UAAU,WAAWH,MAAM,IAAIC,MAAM,GAAG,CAAC;EACtF;EAEA,IAAIP,UAAU,CAACU,MAAM,GAAG,CAAC,EAAE;IACzBX,IAAI,GAAG,iBAAiBC,UAAU,CAACW,IAAI,CAAC,GAAG,CAAC,KAAKZ,IAAI,MAAM;EAC7D;EAEA,OAAO,oDAAoDD,OAAO,KAAKC,IAAI,QAAQ;AACrF;;AAEA;AACA;AACA;AACA,eAAea,UAAUA,CACvBC,KAAe,EACfC,OAAgB,EAChBC,UAAqD,EACoB;EACzE,MAAMC,OAAuE,GAAG,CAAC,CAAC;;EAElF;EACA,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAmB,CAAC;EAE5C,KAAK,MAAMC,IAAI,IAAIN,KAAK,EAAE;IACxB,MAAM,CAACO,MAAM,EAAEC,IAAI,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,GAAG,CAAC;IACtC,IAAI,CAACL,QAAQ,CAACnC,GAAG,CAACsC,MAAM,CAAC,EAAE;MACzBH,QAAQ,CAACjC,GAAG,CAACoC,MAAM,EAAE,EAAE,CAAC;IAC1B;IACAH,QAAQ,CAAClC,GAAG,CAACqC,MAAM,CAAC,CAAEjB,IAAI,CAACkB,IAAI,CAAC;EAClC;EAEA,IAAIE,SAAS,GAAG,CAAC;EACjB,MAAMC,KAAK,GAAGX,KAAK,CAACH,MAAM;;EAE1B;EACA,KAAK,MAAM,CAACU,MAAM,EAAEK,KAAK,CAAC,IAAIR,QAAQ,EAAE;IACtC,MAAMS,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEvC,aAAa,CAAC;IAEnE,IAAI;MACF;MACA,MAAMwC,WAAW,GAAG,CAAC,GAAGN,KAAK,CAAC,CAACO,IAAI,CAAC,CAAC;MACrC,MAAMC,GAAG,GAAG,GAAG3C,WAAW,IAAI8B,MAAM,eAAeW,WAAW,CAACpB,IAAI,CAAC,GAAG,CAAC,EAAE;MAE1E,IAAIG,OAAO,EAAE;QACXoB,OAAO,CAACC,GAAG,CAAC,cAAcJ,WAAW,CAACrB,MAAM,eAAeU,MAAM,KAAK,CAAC;MACzE;MAEA,MAAMgB,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;QAAEK,MAAM,EAAEZ,UAAU,CAACY;MAAO,CAAC,CAAC;MAEhE,IAAI,CAACF,QAAQ,CAACG,EAAE,EAAE;QAChBL,OAAO,CAACM,KAAK,CAAC,qBAAqBpB,MAAM,KAAKgB,QAAQ,CAACK,MAAM,EAAE,CAAC;QAChElB,SAAS,IAAIE,KAAK,CAACf,MAAM;QACzB;MACF;MAEA,MAAMjB,IAAI,GAAG,MAAM2C,QAAQ,CAACM,IAAI,CAAC,CAAC;MAClC,MAAMC,YAAY,GAAGlD,IAAI,CAACC,KAAK,IAAI,EAAE;MACrC,MAAMkD,aAAa,GAAGnD,IAAI,CAACE,MAAM,IAAI,EAAE;MAEvC,KAAK,MAAM0B,IAAI,IAAII,KAAK,EAAE;QACxB,MAAMoB,QAAQ,GAAGpD,IAAI,CAACoB,KAAK,GAAGQ,IAAI,CAAC;QAEnC,IAAIwB,QAAQ,EAAE;UACZ,MAAMnD,KAAK,GAAGmD,QAAQ,CAACnD,KAAK,IAAIiD,YAAY;UAC5C,MAAMhD,MAAM,GAAGkD,QAAQ,CAAClD,MAAM,IAAIiD,aAAa;UAC/C,MAAME,GAAG,GAAGtD,oBAAoB,CAACqD,QAAQ,EAAEnD,KAAK,EAAEC,MAAM,CAAC;UAEzDqB,OAAO,CAAC,GAAGI,MAAM,IAAIC,IAAI,EAAE,CAAC,GAAG;YAAEyB,GAAG;YAAEpD,KAAK;YAAEC;UAAO,CAAC;QACvD,CAAC,MAAM,IAAImB,OAAO,EAAE;UAClBoB,OAAO,CAACM,KAAK,CAAC,qBAAqBpB,MAAM,IAAIC,IAAI,EAAE,CAAC;QACtD;QAEAE,SAAS,EAAE;QACXR,UAAU,GAAGQ,SAAS,EAAEC,KAAK,CAAC;MAChC;IACF,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACd,IAAI1B,OAAO,EAAE;QACXoB,OAAO,CAACM,KAAK,CAAC,oBAAoBpB,MAAM,GAAG,EAAEoB,KAAK,CAAC;MACrD;MACAjB,SAAS,IAAIE,KAAK,CAACf,MAAM;IAC3B,CAAC,SAAS;MACRqC,YAAY,CAACnB,OAAO,CAAC;IACvB;EACF;EAEA,OAAOZ,OAAO;AAChB;;AAEA;AACA;AACA;AACO,eAAegC,aAAaA,CAACC,OAAsB,EAAmB;EAC3E,MAAM;IACJC,GAAG,GAAG,OAAO;IACbC,MAAM,GAAG,4BAA4B;IACrCC,IAAI,GAAG,IAAI;IACXvC,KAAK,EAAEwC,WAAW;IAClBC,OAAO,GAAG,EAAE;IACZxC,OAAO,GAAG,KAAK;IACfyC,MAAM,GAAG;EACX,CAAC,GAAGN,OAAO;EAEXf,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;EAEjD,IAAIqB,aAAuB,GAAG,EAAE;;EAEhC;EACA,IAAIJ,IAAI,EAAE;IACRlB,OAAO,CAACC,GAAG,CAAC,+BAA+Be,GAAG,KAAK,CAAC;IAEpD,MAAMO,QAAQ,GAAG,IAAAC,wBAAgB,EAACR,GAAG,EAAEpC,OAAO,CAAC;IAE/C,IAAI2C,QAAQ,CAACE,UAAU,KAAK,CAAC,EAAE;MAC7BzB,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACnD,CAAC,MAAM;MACLD,OAAO,CAACC,GAAG,CAAC,YAAYsB,QAAQ,CAACE,UAAU,iBAAiB,CAAC;MAC7DH,aAAa,GAAG,IAAAI,sBAAc,EAACH,QAAQ,CAAC;IAC1C;EACF;;EAEA;EACA,IAAIJ,WAAW,EAAE;IACf,MAAMQ,MAAM,GAAG,IAAAC,qBAAa,EAACT,WAAW,CAAC;IACzCnB,OAAO,CAACC,GAAG,CAAC,aAAa0B,MAAM,CAACnD,MAAM,kBAAkB,CAAC;IAEzD,KAAK,MAAMS,IAAI,IAAI0C,MAAM,EAAE;MACzB,IAAI,CAACL,aAAa,CAACO,QAAQ,CAAC5C,IAAI,CAAC,EAAE;QACjCqC,aAAa,CAACrD,IAAI,CAACgB,IAAI,CAAC;MAC1B;IACF;EACF;;EAEA;EACA,IAAImC,OAAO,CAAC5C,MAAM,GAAG,CAAC,EAAE;IACtB,MAAMsD,WAAW,GAAGR,aAAa,CAAC9C,MAAM;IACxC8C,aAAa,GAAGA,aAAa,CAACS,MAAM,CAAE9C,IAAI,IAAK;MAC7C,OAAO,CAACmC,OAAO,CAACY,IAAI,CAAEC,OAAO,IAAK;QAChC,IAAIA,OAAO,CAACJ,QAAQ,CAAC,GAAG,CAAC,EAAE;UACzB,MAAMK,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGF,OAAO,CAACG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;UAClE,OAAOF,KAAK,CAACG,IAAI,CAACpD,IAAI,CAAC;QACzB;QACA,OAAOA,IAAI,KAAKgD,OAAO;MACzB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAIrD,OAAO,EAAE;MACXoB,OAAO,CAACC,GAAG,CAAC,eAAe6B,WAAW,GAAGR,aAAa,CAAC9C,MAAM,QAAQ,CAAC;IACxE;EACF;EAEA,IAAI8C,aAAa,CAAC9C,MAAM,KAAK,CAAC,EAAE;IAC9BwB,OAAO,CAACM,KAAK,CAAC,yBAAyB,CAAC;IACxCN,OAAO,CAACC,GAAG,CAAC,uEAAuE,CAAC;IACpF,OAAOqC,iBAAU,CAACC,KAAK;EACzB;EAEAvC,OAAO,CAACC,GAAG,CAAC,iBAAiBqB,aAAa,CAAC9C,MAAM,4BAA4B,CAAC;;EAE9E;EACA,IAAIgE,WAAW,GAAG,CAAC;EACnB,MAAM3D,UAAU,GAAGA,CAAC4D,OAAe,EAAEnD,KAAa,KAAK;IACrD,MAAMoD,OAAO,GAAGC,IAAI,CAACC,KAAK,CAAEH,OAAO,GAAGnD,KAAK,GAAI,GAAG,CAAC;IACnD,IAAIoD,OAAO,IAAIF,WAAW,GAAG,EAAE,EAAE;MAC/BA,WAAW,GAAGE,OAAO;MACrBG,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC,MAAML,OAAO,GAAG,CAAC;MACtC,IAAIA,OAAO,GAAG,GAAG,EAAEG,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC,GAAG,CAAC;IAC9C;EACF,CAAC;EAED,MAAMC,YAAY,GAAG,MAAMtE,UAAU,CAAC4C,aAAa,EAAE1C,OAAO,EAAEC,UAAU,CAAC;EACzEmB,OAAO,CAACC,GAAG,CAAC,IAAI,CAAC;EAEjB,MAAMgD,YAAY,GAAGhG,MAAM,CAACiG,IAAI,CAACF,YAAY,CAAC,CAACxE,MAAM;EACrD,MAAM2E,WAAW,GAAG7B,aAAa,CAAC9C,MAAM,GAAGyE,YAAY;EAEvD,IAAIE,WAAW,GAAG,CAAC,EAAE;IACnBnD,OAAO,CAACC,GAAG,CAAC,uBAAuBkD,WAAW,QAAQ,CAAC;EACzD;EAEA,IAAIF,YAAY,KAAK,CAAC,EAAE;IACtBjD,OAAO,CAACM,KAAK,CAAC,2DAA2D,CAAC;IAC1E,OAAOgC,iBAAU,CAACc,aAAa;EACjC;;EAEA;EACA,MAAMC,MAAkB,GAAG;IACzBC,OAAO,EAAE,OAAO;IAChBC,WAAW,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACrC9E,KAAK,EAAEqE,YAAY;IACnBU,KAAK,EAAET;EACT,CAAC;;EAED;EACA,MAAMU,SAAS,GAAG7H,IAAI,CAAC8H,OAAO,CAAC3C,MAAM,CAAC;EACtC,IAAI,CAACtF,EAAE,CAACkI,UAAU,CAACF,SAAS,CAAC,EAAE;IAC7BhI,EAAE,CAACmI,SAAS,CAACH,SAAS,EAAE;MAAEI,SAAS,EAAE;IAAK,CAAC,CAAC;EAC9C;;EAEA;EACA,MAAMC,WAAW,GAAG3C,MAAM,GAAG4C,IAAI,CAACC,SAAS,CAACb,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAGY,IAAI,CAACC,SAAS,CAACb,MAAM,CAAC;EAErF1H,EAAE,CAACwI,aAAa,CAAClD,MAAM,EAAE+C,WAAW,EAAE,OAAO,CAAC;;EAE9C;EACA,MAAMI,KAAK,GAAGzI,EAAE,CAAC0I,QAAQ,CAACpD,MAAM,CAAC;EACjC,MAAMqD,MAAM,GAAG,CAACF,KAAK,CAACG,IAAI,GAAG,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAC;EAE7CxE,OAAO,CAACC,GAAG,CAAC,gCAAgC,CAAC;EAC7CD,OAAO,CAACC,GAAG,CAAC,cAAcgB,MAAM,EAAE,CAAC;EACnCjB,OAAO,CAACC,GAAG,CAAC,aAAagD,YAAY,EAAE,CAAC;EACxCjD,OAAO,CAACC,GAAG,CAAC,YAAYqE,MAAM,OAAO,CAAC;EAEtCtE,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;EACxBD,OAAO,CAACC,GAAG,CAAC,oDAAoD,CAAC;EACjED,OAAO,CAACC,GAAG,CAAC,0BAA0BgB,MAAM,CAACmB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;EACxEpC,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;EAE9C,OAAOqC,iBAAU,CAACmC,OAAO;AAC3B","ignoreList":[]}
@@ -71,6 +71,12 @@ const ConfigManager = exports.ConfigManager = {
71
71
  getPerformanceConfig() {
72
72
  return currentConfig.performance;
73
73
  },
74
+ /**
75
+ * Get defaults configuration
76
+ */
77
+ getDefaultsConfig() {
78
+ return currentConfig.defaults;
79
+ },
74
80
  /**
75
81
  * Update configuration
76
82
  * Merges with existing configuration
@@ -79,7 +85,8 @@ const ConfigManager = exports.ConfigManager = {
79
85
  currentConfig = {
80
86
  api: deepMerge(currentConfig.api, config.api ?? {}),
81
87
  cache: deepMerge(currentConfig.cache, config.cache ?? {}),
82
- performance: deepMerge(currentConfig.performance, config.performance ?? {})
88
+ performance: deepMerge(currentConfig.performance, config.performance ?? {}),
89
+ defaults: deepMerge(currentConfig.defaults, config.defaults ?? {})
83
90
  };
84
91
 
85
92
  // Notify listeners
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","deepMerge","target","source","result","key","Object","prototype","hasOwnProperty","call","sourceValue","targetValue","undefined","Array","isArray","currentConfig","DEFAULT_CONFIG","configChangeListeners","ConfigManager","exports","getConfig","getAPIConfig","api","getCacheConfig","cache","getPerformanceConfig","performance","setConfig","config","forEach","listener","resetConfig","onConfigChange","push","filter","l","isCustomServer","apiUrl","getAPIUrl","configure","resetConfiguration","getConfiguration","_default","default"],"sourceRoot":"../../../src","sources":["config/ConfigManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","deepMerge","target","source","result","key","Object","prototype","hasOwnProperty","call","sourceValue","targetValue","undefined","Array","isArray","currentConfig","DEFAULT_CONFIG","configChangeListeners","ConfigManager","exports","getConfig","getAPIConfig","api","getCacheConfig","cache","getPerformanceConfig","performance","getDefaultsConfig","defaults","setConfig","config","forEach","listener","resetConfig","onConfigChange","push","filter","l","isCustomServer","apiUrl","getAPIUrl","configure","resetConfiguration","getConfiguration","_default","default"],"sourceRoot":"../../../src","sources":["config/ConfigManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_ConfigManager"],"sourceRoot":"../../../src","sources":["config/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_ConfigManager"],"sourceRoot":"../../../src","sources":["config/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA","ignoreList":[]}
@@ -16,6 +16,10 @@ exports.DEFAULT_CONFIG = void 0;
16
16
  * Cache configuration options
17
17
  */
18
18
 
19
+ /**
20
+ * Default icon rendering configuration
21
+ */
22
+
19
23
  /**
20
24
  * Performance monitoring configuration
21
25
  */
@@ -50,6 +54,11 @@ const DEFAULT_CONFIG = exports.DEFAULT_CONFIG = {
50
54
  trackLoadTimes: true,
51
55
  trackCacheStats: true,
52
56
  maxHistorySize: 1000
57
+ },
58
+ defaults: {
59
+ placeholder: false,
60
+ fadeIn: true,
61
+ fadeInDuration: 150
53
62
  }
54
63
  };
55
64
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CONFIG","exports","api","apiUrl","timeout","retries","retryDelay","headers","logging","cache","maxMemoryItems","enableDiskCache","diskCachePrefix","performance","enabled","trackLoadTimes","trackCacheStats","maxHistorySize"],"sourceRoot":"../../../src","sources":["config/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAsCA;AACA;AACA;;AAqBA;AACA;AACA;;AA2BA;AACA;AACA;;AAkBA;AACA;AACA;;AAOA;AACA;AACA;AACO,MAAMA,cAA8B,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5CE,GAAG,EAAE;IACHC,MAAM,EAAE,4BAA4B;IACpCC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,IAAI;IAChBC,OAAO,EAAE,CAAC,CAAC;IACXC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAE;IACLC,cAAc,EAAE,GAAG;IACnBC,eAAe,EAAE,IAAI;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDC,WAAW,EAAE;IACXC,OAAO,EAAE,KAAK;IACdC,cAAc,EAAE,IAAI;IACpBC,eAAe,EAAE,IAAI;IACrBC,cAAc,EAAE;EAClB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CONFIG","exports","api","apiUrl","timeout","retries","retryDelay","headers","logging","cache","maxMemoryItems","enableDiskCache","diskCachePrefix","performance","enabled","trackLoadTimes","trackCacheStats","maxHistorySize","defaults","placeholder","fadeIn","fadeInDuration"],"sourceRoot":"../../../src","sources":["config/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAsCA;AACA;AACA;;AAqBA;AACA;AACA;;AAsBA;AACA;AACA;;AA2BA;AACA;AACA;;AAuBA;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMA,cAA8B,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5CE,GAAG,EAAE;IACHC,MAAM,EAAE,4BAA4B;IACpCC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,IAAI;IAChBC,OAAO,EAAE,CAAC,CAAC;IACXC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAE;IACLC,cAAc,EAAE,GAAG;IACnBC,eAAe,EAAE,IAAI;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDC,WAAW,EAAE;IACXC,OAAO,EAAE,KAAK;IACdC,cAAc,EAAE,IAAI;IACpBC,eAAe,EAAE,IAAI;IACrBC,cAAc,EAAE;EAClB,CAAC;EACDC,QAAQ,EAAE;IACRC,WAAW,EAAE,KAAK;IAClBC,MAAM,EAAE,IAAI;IACZC,cAAc,EAAE;EAClB;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_placeholder","_theme","_alias","_createIconSet","_animated","_navigation","_CacheManager","_config","_IconifyAPI","_native","_bundle","_performance","_accessibility","_explorer","prefetchIcons","iconNames","CacheManager","prefetch","fetchIcon","clearCache","clear","clearNative","getCacheStats","getStats"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_placeholder","_theme","_alias","_createIconSet","_animated","_navigation","_CacheManager","_config","_IconifyAPI","_native","_bundle","_performance","_accessibility","_explorer","prefetchIcons","iconNames","CacheManager","prefetch","fetchIcon","clearCache","clear","clearNative","getCacheStats","getStats"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDevServerMiddleware = createDevServerMiddleware;
7
+ var fs = _interopRequireWildcard(require("fs"));
8
+ var path = _interopRequireWildcard(require("path"));
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ /**
11
+ * Metro Dev Server Middleware
12
+ * Handles runtime icon usage reporting from the app
13
+ */
14
+
15
+ const USAGE_ENDPOINT = '/__rn_iconify_log';
16
+ const STATUS_ENDPOINT = '/__rn_iconify_status';
17
+
18
+ /**
19
+ * Read the current usage file
20
+ */
21
+ function readUsageFile(usagePath) {
22
+ try {
23
+ if (fs.existsSync(usagePath)) {
24
+ const content = fs.readFileSync(usagePath, 'utf-8');
25
+ const data = JSON.parse(content);
26
+ if (data.version === '1.0.0' && Array.isArray(data.icons)) {
27
+ return data;
28
+ }
29
+ }
30
+ } catch {
31
+ // File corrupted or doesn't exist
32
+ }
33
+ return {
34
+ version: '1.0.0',
35
+ icons: [],
36
+ updatedAt: new Date().toISOString()
37
+ };
38
+ }
39
+
40
+ /**
41
+ * Write usage file atomically (temp file + rename)
42
+ */
43
+ function writeUsageFile(usagePath, data) {
44
+ const dir = path.dirname(usagePath);
45
+ if (!fs.existsSync(dir)) {
46
+ fs.mkdirSync(dir, {
47
+ recursive: true
48
+ });
49
+ }
50
+ const tmpPath = usagePath + '.tmp';
51
+ fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2), 'utf-8');
52
+ fs.renameSync(tmpPath, usagePath);
53
+ }
54
+
55
+ /**
56
+ * Parse JSON body from request
57
+ */
58
+ function parseBody(req) {
59
+ return new Promise((resolve, reject) => {
60
+ let body = '';
61
+ req.on('data', chunk => {
62
+ body += chunk.toString();
63
+ });
64
+ req.on('end', () => {
65
+ try {
66
+ resolve(JSON.parse(body));
67
+ } catch {
68
+ reject(new Error('Invalid JSON'));
69
+ }
70
+ });
71
+ req.on('error', reject);
72
+ });
73
+ }
74
+
75
+ /**
76
+ * Create the dev server middleware handler
77
+ */
78
+ function createDevServerMiddleware(options = {}) {
79
+ const {
80
+ outputDir = '.rn-iconify',
81
+ verbose = false
82
+ } = options;
83
+ const projectRoot = process.cwd();
84
+ const usagePath = path.isAbsolute(outputDir) ? path.join(outputDir, 'usage.json') : path.join(projectRoot, outputDir, 'usage.json');
85
+ return async function handleRequest(req, res, next) {
86
+ const url = req.url;
87
+
88
+ // POST /__rn_iconify_log — report icon usage
89
+ if (req.method === 'POST' && url === USAGE_ENDPOINT) {
90
+ try {
91
+ const body = await parseBody(req);
92
+ const icon = body.icon;
93
+ if (typeof icon !== 'string' || !icon.includes(':')) {
94
+ res.writeHead(400, {
95
+ 'Content-Type': 'application/json'
96
+ });
97
+ res.end(JSON.stringify({
98
+ error: 'Invalid icon name'
99
+ }));
100
+ return;
101
+ }
102
+
103
+ // Read existing usage
104
+ const usage = readUsageFile(usagePath);
105
+
106
+ // Deduplicate
107
+ if (!usage.icons.includes(icon)) {
108
+ usage.icons.push(icon);
109
+ usage.updatedAt = new Date().toISOString();
110
+ writeUsageFile(usagePath, usage);
111
+ if (verbose) {
112
+ console.log(`[rn-iconify:metro] Learned icon: ${icon} (total: ${usage.icons.length})`);
113
+ }
114
+ }
115
+ res.writeHead(200, {
116
+ 'Content-Type': 'application/json'
117
+ });
118
+ res.end(JSON.stringify({
119
+ ok: true
120
+ }));
121
+ } catch (error) {
122
+ res.writeHead(500, {
123
+ 'Content-Type': 'application/json'
124
+ });
125
+ res.end(JSON.stringify({
126
+ error: 'Internal error'
127
+ }));
128
+ }
129
+ return;
130
+ }
131
+
132
+ // GET /__rn_iconify_status — debug stats
133
+ if (req.method === 'GET' && url === STATUS_ENDPOINT) {
134
+ const usage = readUsageFile(usagePath);
135
+ res.writeHead(200, {
136
+ 'Content-Type': 'application/json'
137
+ });
138
+ res.end(JSON.stringify({
139
+ iconCount: usage.icons.length,
140
+ icons: usage.icons,
141
+ updatedAt: usage.updatedAt
142
+ }));
143
+ return;
144
+ }
145
+
146
+ // Pass through to next middleware
147
+ next();
148
+ };
149
+ }
150
+ //# sourceMappingURL=devServerMiddleware.js.map