rn-iconify 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,12 @@ Object.defineProperty(exports, "getFilenameFromState", {
52
52
  return _types.getFilenameFromState;
53
53
  }
54
54
  });
55
+ Object.defineProperty(exports, "getRootFromFile", {
56
+ enumerable: true,
57
+ get: function () {
58
+ return _types.getRootFromFile;
59
+ }
60
+ });
55
61
  Object.defineProperty(exports, "resetPluginState", {
56
62
  enumerable: true,
57
63
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_plugin","require","_collector","_types","_default","exports","default","createRnIconifyPlugin"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAAA,OAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAIA;AAYA;AACA;AACA;AACA;AAHA,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIeC,6BAAqB;AAEpC;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_plugin","require","_collector","_types","_default","exports","default","createRnIconifyPlugin"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAAA,OAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAIA;AAaA;AACA;AACA;AACA;AAHA,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIeC,6BAAqB;AAEpC;AACA;AACA","ignoreList":[]}
@@ -3,9 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.acquireScanLock = acquireScanLock;
6
7
  exports.createRnIconifyPlugin = createRnIconifyPlugin;
8
+ exports.isScanLockActive = isScanLockActive;
9
+ exports.releaseScanLock = releaseScanLock;
7
10
  exports.resetPluginState = resetPluginState;
8
11
  var nodePath = _interopRequireWildcard(require("path"));
12
+ var fs = _interopRequireWildcard(require("fs"));
9
13
  var _types = require("./types");
10
14
  var _astUtils = require("./ast-utils");
11
15
  var _collector = require("./collector");
@@ -83,6 +87,55 @@ let scannedIcons = [];
83
87
  * Existing bundle loaded during pre hook
84
88
  */
85
89
  let existingBundle = null;
90
+ const SCAN_LOCK_MAX_AGE = 30000; // 30 seconds
91
+
92
+ /**
93
+ * Check if a scan lock file exists and is recent
94
+ */
95
+ function isScanLockActive(lockPath, maxAge = SCAN_LOCK_MAX_AGE) {
96
+ try {
97
+ const stat = fs.statSync(lockPath);
98
+ return Date.now() - stat.mtimeMs < maxAge;
99
+ } catch {
100
+ return false;
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Acquire the scan lock by writing a timestamp file
106
+ * Returns true if lock was acquired, false if already held
107
+ */
108
+ function acquireScanLock(lockPath) {
109
+ if (isScanLockActive(lockPath)) {
110
+ return false;
111
+ }
112
+ try {
113
+ const dir = nodePath.dirname(lockPath);
114
+ if (!fs.existsSync(dir)) {
115
+ fs.mkdirSync(dir, {
116
+ recursive: true
117
+ });
118
+ }
119
+ fs.writeFileSync(lockPath, String(Date.now()), {
120
+ flag: 'wx'
121
+ });
122
+ return true;
123
+ } catch {
124
+ // Another worker may have created it between our check and write
125
+ return false;
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Release the scan lock
131
+ */
132
+ function releaseScanLock(lockPath) {
133
+ try {
134
+ fs.unlinkSync(lockPath);
135
+ } catch {
136
+ // Already removed or never existed
137
+ }
138
+ }
86
139
 
87
140
  /**
88
141
  * Create the rn-iconify Babel plugin
@@ -103,24 +156,9 @@ function createRnIconifyPlugin(babel) {
103
156
  hasInjected = false;
104
157
  _collector.collector.initialize(opts);
105
158
 
106
- // Detect project root from file
107
- const filename = (0, _types.getFilenameFromFile)(file);
108
- if (filename) {
109
- let dir = filename;
110
- while (dir !== '/') {
111
- dir = dir.substring(0, dir.lastIndexOf('/'));
112
- try {
113
- require.resolve(`${dir}/package.json`);
114
- projectRoot = dir;
115
- break;
116
- } catch {
117
- continue;
118
- }
119
- }
120
- if (!projectRoot) {
121
- projectRoot = process.cwd();
122
- }
123
- }
159
+ // Detect project root from Babel's root (set from babel.config.js location)
160
+ const root = (0, _types.getRootFromFile)(file);
161
+ projectRoot = root || process.cwd();
124
162
  const outputPath = opts.outputPath || '.rn-iconify';
125
163
  bundleDirPath = (0, _cacheWriter.resolveBundleDir)(outputPath, projectRoot);
126
164
  const bundleJsonPath = nodePath.join(bundleDirPath, 'icons.json');
@@ -129,14 +167,25 @@ function createRnIconifyPlugin(babel) {
129
167
  existingBundle = (0, _cacheWriter.readExistingBundle)(bundleJsonPath);
130
168
  bundleExists = existingBundle !== null;
131
169
 
132
- // Run sync scanner to discover all icons in the project
133
- try {
134
- scannedIcons = (0, _scanner.scanProjectForIcons)(projectRoot, {
135
- verbose: opts.verbose
136
- });
137
- } catch (error) {
170
+ // Use file-based lock to prevent duplicate scans across Metro workers
171
+ const lockPath = nodePath.join(bundleDirPath, '.scan-lock');
172
+ const lockAcquired = acquireScanLock(lockPath);
173
+ if (lockAcquired) {
174
+ try {
175
+ scannedIcons = (0, _scanner.scanProjectForIcons)(projectRoot, {
176
+ verbose: opts.verbose
177
+ });
178
+ } catch (error) {
179
+ if (opts.verbose) {
180
+ console.warn('[rn-iconify] Scanner failed:', error);
181
+ }
182
+ scannedIcons = [];
183
+ } finally {
184
+ releaseScanLock(lockPath);
185
+ }
186
+ } else {
138
187
  if (opts.verbose) {
139
- console.warn('[rn-iconify] Scanner failed:', error);
188
+ console.log('[rn-iconify] Scanner skipped (another worker is scanning)');
140
189
  }
141
190
  scannedIcons = [];
142
191
  }
@@ -291,12 +340,15 @@ function createRnIconifyPlugin(babel) {
291
340
  };
292
341
  }
293
342
 
343
+ // Exported for testing
344
+
294
345
  /**
295
346
  * Reset plugin state (for testing)
296
347
  */
297
348
  function resetPluginState() {
298
349
  processedFiles.clear();
299
350
  buildInProgress = false;
351
+ projectRoot = '';
300
352
  hasInjected = false;
301
353
  bundleExists = false;
302
354
  bundleDirPath = '';
@@ -1 +1 @@
1
- {"version":3,"names":["nodePath","_interopRequireWildcard","require","_types","_astUtils","_collector","_cacheWriter","_scanner","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hasPluginOpts","obj","opts","getPluginOptions","context","processedFiles","Set","buildInProgress","bundleTimer","projectRoot","bundleExists","bundleDirPath","hasInjected","scannedIcons","existingBundle","createRnIconifyPlugin","babel","types","name","pre","file","disabled","collector","initialize","filename","getFilenameFromFile","dir","substring","lastIndexOf","resolve","process","cwd","outputPath","resolveBundleDir","bundleJsonPath","join","readExistingBundle","scanProjectForIcons","verbose","error","console","warn","log","length","visitor","ImportDeclaration","path","state","source","node","value","startsWith","autoInject","program","findParent","p","isProgram","hasManualLoad","stmt","body","isImportDeclaration","spec","specifiers","isImportSpecifier","isIdentifier","imported","getFilenameFromState","bundleJsPath","relativeBundlePath","fileDir","dirname","relative","loadBundleImport","importDeclaration","importSpecifier","identifier","stringLiteral","bundleDataImport","importDefaultSpecifier","loadCall","expressionStatement","callExpression","insertAfter","JSXOpeningElement","componentName","getComponentName","VALID_COMPONENTS","iconName","getNameAttribute","loc","getNodeLocation","line","prefix","COMPONENT_PREFIX_MAP","fullIconName","add","column","CallExpression","isCallTo","firstArg","arguments","iconNames","extractArrayStrings","post","markFileProcessed","clearTimeout","setTimeout","isBundleGenerated","markBundleGenerated","astIcons","getIconNames","allIcons","Array","from","printSummary","generateBundle","resetPluginState","clear","reset"],"sourceRoot":"../../../src","sources":["babel/plugin.ts"],"mappings":";;;;;;;AAUA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,SAAA,GAAAF,OAAA;AAOA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAAgD,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,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;AA7BhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;AACA;AACA;AACA,SAASkB,aAAaA,CAACC,GAAY,EAAuC;EACxE,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ;AAE7D;;AAEA;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,OAAgB,EAAsB;EAC9D,IAAIJ,aAAa,CAACI,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO,CAACF,IAAI,IAAI,CAAC,CAAC;EAC3B;EACA,OAAO,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA,MAAMG,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;;AAExC;AACA;AACA;AACA,IAAIC,eAAe,GAAG,KAAK;;AAE3B;AACA;AACA;AACA,IAAIC,WAAkC,GAAG,IAAI;;AAE7C;AACA;AACA;AACA,IAAIC,WAAW,GAAG,EAAE;;AAEpB;AACA;AACA;AACA,IAAIC,YAAY,GAAG,KAAK;;AAExB;AACA;AACA;AACA,IAAIC,aAAa,GAAG,EAAE;;AAEtB;AACA;AACA;AACA,IAAIC,WAAW,GAAG,KAAK;;AAEvB;AACA;AACA;AACA,IAAIC,YAAsB,GAAG,EAAE;;AAE/B;AACA;AACA;AACA,IAAIC,cAAiC,GAAG,IAAI;;AAE5C;AACA;AACA;AACO,SAASC,qBAAqBA,CAACC,KAErC,EAA+B;EAC9B,MAAMlC,CAAC,GAAGkC,KAAK,CAACC,KAAK;EAErB,OAAO;IACLC,IAAI,EAAE,YAAY;IAElBC,GAAGA,CAACC,IAAI,EAAE;MACR,MAAMlB,IAAI,GAAGC,gBAAgB,CAAC,IAAI,CAAC;MAEnC,IAAID,IAAI,CAACmB,QAAQ,EAAE;QACjB;MACF;;MAEA;MACA,IAAI,CAACd,eAAe,EAAE;QACpBA,eAAe,GAAG,IAAI;QACtBK,WAAW,GAAG,KAAK;QACnBU,oBAAS,CAACC,UAAU,CAACrB,IAAI,CAAC;;QAE1B;QACA,MAAMsB,QAAQ,GAAG,IAAAC,0BAAmB,EAACL,IAAI,CAAC;QAC1C,IAAII,QAAQ,EAAE;UACZ,IAAIE,GAAG,GAAGF,QAAQ;UAClB,OAAOE,GAAG,KAAK,GAAG,EAAE;YAClBA,GAAG,GAAGA,GAAG,CAACC,SAAS,CAAC,CAAC,EAAED,GAAG,CAACE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI;cACFrD,OAAO,CAACsD,OAAO,CAAC,GAAGH,GAAG,eAAe,CAAC;cACtCjB,WAAW,GAAGiB,GAAG;cACjB;YACF,CAAC,CAAC,MAAM;cACN;YACF;UACF;UACA,IAAI,CAACjB,WAAW,EAAE;YAChBA,WAAW,GAAGqB,OAAO,CAACC,GAAG,CAAC,CAAC;UAC7B;QACF;QAEA,MAAMC,UAAU,GAAG9B,IAAI,CAAC8B,UAAU,IAAI,aAAa;QACnDrB,aAAa,GAAG,IAAAsB,6BAAgB,EAACD,UAAU,EAAEvB,WAAW,CAAC;QACzD,MAAMyB,cAAc,GAAG7D,QAAQ,CAAC8D,IAAI,CAACxB,aAAa,EAAE,YAAY,CAAC;;QAEjE;QACAG,cAAc,GAAG,IAAAsB,+BAAkB,EAACF,cAAc,CAAC;QACnDxB,YAAY,GAAGI,cAAc,KAAK,IAAI;;QAEtC;QACA,IAAI;UACFD,YAAY,GAAG,IAAAwB,4BAAmB,EAAC5B,WAAW,EAAE;YAC9C6B,OAAO,EAAEpC,IAAI,CAACoC;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;UACd,IAAIrC,IAAI,CAACoC,OAAO,EAAE;YAChBE,OAAO,CAACC,IAAI,CAAC,8BAA8B,EAAEF,KAAK,CAAC;UACrD;UACA1B,YAAY,GAAG,EAAE;QACnB;QAEA,IAAIX,IAAI,CAACoC,OAAO,EAAE;UAChBE,OAAO,CAACE,GAAG,CAAC,6CAA6CjC,WAAW,EAAE,CAAC;UACvE+B,OAAO,CAACE,GAAG,CAAC,+BAA+BhC,YAAY,EAAE,CAAC;UAC1D8B,OAAO,CAACE,GAAG,CAAC,8BAA8B7B,YAAY,CAAC8B,MAAM,QAAQ,CAAC;QACxE;MACF;IACF,CAAC;IAEDC,OAAO,EAAE;MACP;AACN;AACA;AACA;AACA;MACMC,iBAAiBA,CAACC,IAAiC,EAAEC,KAAuB,EAAE;QAC5E,MAAM7C,IAAI,GAAG6C,KAAK,CAAC7C,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACmB,QAAQ,EAAE;QAEnB,MAAM2B,MAAM,GAAGF,IAAI,CAACG,IAAI,CAACD,MAAM,CAACE,KAAK;;QAErC;QACA,IAAIF,MAAM,KAAK,YAAY,IAAI,CAACA,MAAM,CAACG,UAAU,CAAC,aAAa,CAAC,EAAE;UAChE;QACF;;QAEA;QACA,MAAMC,UAAU,GAAGlD,IAAI,CAACkD,UAAU,KAAK,KAAK;QAC5C,IAAIA,UAAU,IAAI1C,YAAY,IAAI,CAACE,WAAW,IAAIoC,MAAM,KAAK,YAAY,EAAE;UACzE;UACA,MAAMK,OAAO,GAAGP,IAAI,CAACQ,UAAU,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAAC,CAAC,CAAC;UACrD,IAAIH,OAAO,IAAIA,OAAO,CAACG,SAAS,CAAC,CAAC,EAAE;YAClC,IAAIC,aAAa,GAAG,KAAK;YACzB,KAAK,MAAMC,IAAI,IAAIL,OAAO,CAACJ,IAAI,CAACU,IAAI,EAAE;cACpC,IAAI7E,CAAC,CAAC8E,mBAAmB,CAACF,IAAI,CAAC,EAAE;gBAC/B,KAAK,MAAMG,IAAI,IAAIH,IAAI,CAACI,UAAU,EAAE;kBAClC,IACEhF,CAAC,CAACiF,iBAAiB,CAACF,IAAI,CAAC,IACzB/E,CAAC,CAACkF,YAAY,CAACH,IAAI,CAACI,QAAQ,CAAC,IAC7BJ,IAAI,CAACI,QAAQ,CAAC/C,IAAI,KAAK,mBAAmB,EAC1C;oBACAuC,aAAa,GAAG,IAAI;oBACpB;kBACF;gBACF;cACF;cACA,IAAIA,aAAa,EAAE;YACrB;YAEA,IAAI,CAACA,aAAa,EAAE;cAClB7C,WAAW,GAAG,IAAI;;cAElB;cACA,MAAMY,QAAQ,GAAG,IAAA0C,2BAAoB,EAACnB,KAAK,CAAC,IAAI,EAAE;cAClD,MAAMoB,YAAY,GAAG9F,QAAQ,CAAC8D,IAAI,CAACxB,aAAa,EAAE,UAAU,CAAC;cAC7D,IAAIyD,kBAA0B;cAE9B,IAAI5C,QAAQ,EAAE;gBACZ,MAAM6C,OAAO,GAAGhG,QAAQ,CAACiG,OAAO,CAAC9C,QAAQ,CAAC;gBAC1C4C,kBAAkB,GAAG/F,QAAQ,CAACkG,QAAQ,CAACF,OAAO,EAAEF,YAAY,CAAC;gBAC7D,IAAI,CAACC,kBAAkB,CAACjB,UAAU,CAAC,GAAG,CAAC,EAAE;kBACvCiB,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB;gBAChD;cACF,CAAC,MAAM;gBACLA,kBAAkB,GAAGD,YAAY;cACnC;;cAEA;cACA,MAAMK,gBAAgB,GAAG1F,CAAC,CAAC2F,iBAAiB,CAC1C,CACE3F,CAAC,CAAC4F,eAAe,CACf5F,CAAC,CAAC6F,UAAU,CAAC,sBAAsB,CAAC,EACpC7F,CAAC,CAAC6F,UAAU,CAAC,mBAAmB,CAClC,CAAC,CACF,EACD7F,CAAC,CAAC8F,aAAa,CAAC,YAAY,CAC9B,CAAC;;cAED;cACA,MAAMC,gBAAgB,GAAG/F,CAAC,CAAC2F,iBAAiB,CAC1C,CAAC3F,CAAC,CAACgG,sBAAsB,CAAChG,CAAC,CAAC6F,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC5D7F,CAAC,CAAC8F,aAAa,CAACR,kBAAkB,CACpC,CAAC;;cAED;cACA,MAAMW,QAAQ,GAAGjG,CAAC,CAACkG,mBAAmB,CACpClG,CAAC,CAACmG,cAAc,CAACnG,CAAC,CAAC6F,UAAU,CAAC,sBAAsB,CAAC,EAAE,CACrD7F,CAAC,CAAC6F,UAAU,CAAC,kBAAkB,CAAC,CACjC,CACH,CAAC;;cAED;cACA7B,IAAI,CAACoC,WAAW,CAAC,CAACV,gBAAgB,EAAEK,gBAAgB,EAAEE,QAAQ,CAAC,CAAC;cAEhE,IAAI7E,IAAI,CAACoC,OAAO,EAAE;gBAChBE,OAAO,CAACE,GAAG,CAAC,gDAAgDlB,QAAQ,EAAE,CAAC;cACzE;YACF;UACF;QACF;MACF,CAAC;MAED;AACN;AACA;MACM2D,iBAAiBA,CAACrC,IAAI,EAAEC,KAAK,EAAE;QAC7B,MAAM7C,IAAI,GAAG6C,KAAK,CAAC7C,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACmB,QAAQ,EAAE;QAEnB,MAAMG,QAAQ,GAAG,IAAA0C,2BAAoB,EAACnB,KAAK,CAAC,IAAI,SAAS;QAEzD,MAAMqC,aAAa,GAAG,IAAAC,0BAAgB,EAACvC,IAAI,CAACG,IAAI,EAAEnE,CAAC,CAAC;QACpD,IAAI,CAACsG,aAAa,EAAE;QAEpB,IAAI,CAACE,uBAAgB,CAAC9F,GAAG,CAAC4F,aAAa,CAAC,EAAE;QAE1C,MAAMG,QAAQ,GAAG,IAAAC,0BAAgB,EAAC1C,IAAI,CAACG,IAAI,EAAEnE,CAAC,CAAC;QAE/C,IAAI,CAACyG,QAAQ,EAAE;UACb,IAAIrF,IAAI,CAACoC,OAAO,EAAE;YAChB,MAAMmD,GAAG,GAAG,IAAAC,yBAAe,EAAC5C,IAAI,CAACG,IAAI,CAAC;YACtCT,OAAO,CAACE,GAAG,CACT,8CAA8ClB,QAAQ,IAAIiE,GAAG,CAACE,IAAI,gBAAgBP,aAAa,GACjG,CAAC;UACH;UACA;QACF;QAEA,MAAMQ,MAAM,GAAGC,2BAAoB,CAACT,aAAa,CAAC;QAClD,IAAI,CAACQ,MAAM,EAAE;QAEb,MAAME,YAAY,GAAG,GAAGF,MAAM,IAAIL,QAAQ,EAAE;QAE5C,MAAME,GAAG,GAAG,IAAAC,yBAAe,EAAC5C,IAAI,CAACG,IAAI,CAAC;QACtC3B,oBAAS,CAACyE,GAAG,CAACD,YAAY,EAAEtE,QAAQ,EAAEiE,GAAG,CAACE,IAAI,EAAEF,GAAG,CAACO,MAAM,CAAC;MAC7D,CAAC;MAED;AACN;AACA;MACMC,cAAcA,CAACnD,IAAI,EAAEC,KAAK,EAAE;QAC1B,MAAM7C,IAAI,GAAG6C,KAAK,CAAC7C,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACmB,QAAQ,EAAE;QAEnB,MAAMG,QAAQ,GAAG,IAAA0C,2BAAoB,EAACnB,KAAK,CAAC,IAAI,SAAS;QAEzD,IAAI,CAAC,IAAAmD,kBAAQ,EAACpD,IAAI,EAAE,eAAe,EAAEhE,CAAC,CAAC,EAAE;QAEzC,MAAMqH,QAAQ,GAAGrD,IAAI,CAACG,IAAI,CAACmD,SAAS,CAAC,CAAC,CAAC;QACvC,MAAMC,SAAS,GAAG,IAAAC,6BAAmB,EAACH,QAAQ,EAAErH,CAAC,CAAC;QAElD,MAAM2G,GAAG,GAAG,IAAAC,yBAAe,EAAC5C,IAAI,CAACG,IAAI,CAAC;QACtC,KAAK,MAAMsC,QAAQ,IAAIc,SAAS,EAAE;UAChC/E,oBAAS,CAACyE,GAAG,CAACR,QAAQ,EAAE/D,QAAQ,EAAEiE,GAAG,CAACE,IAAI,EAAEF,GAAG,CAACO,MAAM,CAAC;QACzD;MACF;IACF,CAAC;IAEDO,IAAIA,CAACnF,IAAI,EAAE;MACT,MAAMlB,IAAI,GAAGC,gBAAgB,CAAC,IAAI,CAAC;MACnC,IAAID,IAAI,CAACmB,QAAQ,EAAE;MAEnB,MAAMG,QAAQ,GAAG,IAAAC,0BAAmB,EAACL,IAAI,CAAC;MAE1C,IAAII,QAAQ,EAAE;QACZnB,cAAc,CAAC0F,GAAG,CAACvE,QAAQ,CAAC;QAC5BF,oBAAS,CAACkF,iBAAiB,CAAChF,QAAQ,CAAC;MACvC;;MAEA;MACA,IAAIhB,WAAW,EAAE;QACfiG,YAAY,CAACjG,WAAW,CAAC;MAC3B;MAEAA,WAAW,GAAGkG,UAAU,CAAC,YAAY;QACnC,IAAI,CAACpF,oBAAS,CAACqF,iBAAiB,CAAC,CAAC,EAAE;UAClCrF,oBAAS,CAACsF,mBAAmB,CAAC,CAAC;;UAE/B;UACA,MAAMC,QAAQ,GAAGvF,oBAAS,CAACwF,YAAY,CAAC,CAAC;UACzC,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI3G,GAAG,CAAC,CAAC,GAAGuG,QAAQ,EAAE,GAAGhG,YAAY,CAAC,CAAC,CAAC;UAEpE,IAAIkG,QAAQ,CAACpE,MAAM,GAAG,CAAC,EAAE;YACvBrB,oBAAS,CAAC4F,YAAY,CAAC,CAAC;YAExB,IAAI;cACF,MAAM,IAAAC,2BAAc,EAACJ,QAAQ,EAAE7G,IAAI,EAAEO,WAAW,EAAEK,cAAc,CAAC;YACnE,CAAC,CAAC,OAAOyB,KAAK,EAAE;cACdC,OAAO,CAACD,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;YAC/D;UACF;UAEAhC,eAAe,GAAG,KAAK;QACzB;MACF,CAAC,EAAE,GAAG,CAAC;IACT;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACO,SAAS6G,gBAAgBA,CAAA,EAAS;EACvC/G,cAAc,CAACgH,KAAK,CAAC,CAAC;EACtB9G,eAAe,GAAG,KAAK;EACvBK,WAAW,GAAG,KAAK;EACnBF,YAAY,GAAG,KAAK;EACpBC,aAAa,GAAG,EAAE;EAClBE,YAAY,GAAG,EAAE;EACjBC,cAAc,GAAG,IAAI;EACrB,IAAIN,WAAW,EAAE;IACfiG,YAAY,CAACjG,WAAW,CAAC;IACzBA,WAAW,GAAG,IAAI;EACpB;EACAc,oBAAS,CAACgG,KAAK,CAAC,CAAC;AACnB","ignoreList":[]}
1
+ {"version":3,"names":["nodePath","_interopRequireWildcard","require","fs","_types","_astUtils","_collector","_cacheWriter","_scanner","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hasPluginOpts","obj","opts","getPluginOptions","context","processedFiles","Set","buildInProgress","bundleTimer","projectRoot","bundleExists","bundleDirPath","hasInjected","scannedIcons","existingBundle","SCAN_LOCK_MAX_AGE","isScanLockActive","lockPath","maxAge","stat","statSync","Date","now","mtimeMs","acquireScanLock","dir","dirname","existsSync","mkdirSync","recursive","writeFileSync","String","flag","releaseScanLock","unlinkSync","createRnIconifyPlugin","babel","types","name","pre","file","disabled","collector","initialize","root","getRootFromFile","process","cwd","outputPath","resolveBundleDir","bundleJsonPath","join","readExistingBundle","lockAcquired","scanProjectForIcons","verbose","error","console","warn","log","length","visitor","ImportDeclaration","path","state","source","node","value","startsWith","autoInject","program","findParent","p","isProgram","hasManualLoad","stmt","body","isImportDeclaration","spec","specifiers","isImportSpecifier","isIdentifier","imported","filename","getFilenameFromState","bundleJsPath","relativeBundlePath","fileDir","relative","loadBundleImport","importDeclaration","importSpecifier","identifier","stringLiteral","bundleDataImport","importDefaultSpecifier","loadCall","expressionStatement","callExpression","insertAfter","JSXOpeningElement","componentName","getComponentName","VALID_COMPONENTS","iconName","getNameAttribute","loc","getNodeLocation","line","prefix","COMPONENT_PREFIX_MAP","fullIconName","add","column","CallExpression","isCallTo","firstArg","arguments","iconNames","extractArrayStrings","post","getFilenameFromFile","markFileProcessed","clearTimeout","setTimeout","isBundleGenerated","markBundleGenerated","astIcons","getIconNames","allIcons","Array","from","printSummary","generateBundle","resetPluginState","clear","reset"],"sourceRoot":"../../../src","sources":["babel/plugin.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.scanProjectForIcons = scanProjectForIcons;
7
7
  var fs = _interopRequireWildcard(require("fs"));
8
8
  var path = _interopRequireWildcard(require("path"));
9
9
  var _types = require("./types");
10
+ var _astUtils = require("./ast-utils");
10
11
  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); }
11
12
  /**
12
13
  * Project File Scanner
@@ -95,9 +96,11 @@ function scanFile(filePath, componentRegex, componentNameRegex, verbose) {
95
96
  const componentName = lastNameMatch[1];
96
97
  const prefix = _types.COMPONENT_PREFIX_MAP[componentName];
97
98
  if (prefix) {
98
- icons.push(`${prefix}:${iconName}`);
99
+ const fullName = `${prefix}:${iconName}`;
100
+ if (!(0, _astUtils.isValidIconName)(fullName)) continue;
101
+ icons.push(fullName);
99
102
  if (verbose) {
100
- console.log(`[rn-iconify:scanner] Found ${prefix}:${iconName} in ${filePath}`);
103
+ console.log(`[rn-iconify:scanner] Found ${fullName} in ${filePath}`);
101
104
  }
102
105
  }
103
106
  }
@@ -112,7 +115,7 @@ function scanFile(filePath, componentRegex, componentNameRegex, verbose) {
112
115
  let itemMatch;
113
116
  while ((itemMatch = STRING_ITEM_REGEX.exec(arrayContent)) !== null) {
114
117
  const iconName = itemMatch[1];
115
- if (iconName && iconName.includes(':')) {
118
+ if (iconName && iconName.includes(':') && (0, _astUtils.isValidIconName)(iconName)) {
116
119
  icons.push(iconName);
117
120
  if (verbose) {
118
121
  console.log(`[rn-iconify:scanner] Found prefetch ${iconName} in ${filePath}`);
@@ -1 +1 @@
1
- {"version":3,"names":["fs","_interopRequireWildcard","require","path","_types","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_EXTENSIONS","DEFAULT_EXCLUDE_DIRS","Set","buildComponentRegex","componentNames","keys","COMPONENT_PREFIX_MAP","join","RegExp","buildComponentNameRegex","PREFETCH_REGEX","STRING_ITEM_REGEX","scanFile","filePath","componentRegex","componentNameRegex","verbose","icons","content","readFileSync","includes","lastIndex","fullPattern","source","match","exec","iconName","beforeMatch","substring","index","namePattern","nameMatch","lastNameMatch","componentName","prefix","push","console","log","arrayContent","itemMatch","walkDirSync","dir","extensions","excludeDirs","files","entries","readdirSync","withFileTypes","entry","isDirectory","name","isFile","ext","extname","readUsageFile","projectRoot","usagePath","existsSync","usage","JSON","parse","version","Array","isArray","length","scanProjectForIcons","options","excludeSet","startTime","Date","now","allIcons","file","icon","add","usageIcons","result","from","elapsed"],"sourceRoot":"../../../src","sources":["babel/scanner.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","_types","_astUtils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_EXTENSIONS","DEFAULT_EXCLUDE_DIRS","Set","buildComponentRegex","componentNames","keys","COMPONENT_PREFIX_MAP","join","RegExp","buildComponentNameRegex","PREFETCH_REGEX","STRING_ITEM_REGEX","scanFile","filePath","componentRegex","componentNameRegex","verbose","icons","content","readFileSync","includes","lastIndex","fullPattern","source","match","exec","iconName","beforeMatch","substring","index","namePattern","nameMatch","lastNameMatch","componentName","prefix","fullName","isValidIconName","push","console","log","arrayContent","itemMatch","walkDirSync","dir","extensions","excludeDirs","files","entries","readdirSync","withFileTypes","entry","isDirectory","name","isFile","ext","extname","readUsageFile","projectRoot","usagePath","existsSync","usage","JSON","parse","version","Array","isArray","length","scanProjectForIcons","options","excludeSet","startTime","Date","now","allIcons","file","icon","add","usageIcons","result","from","elapsed"],"sourceRoot":"../../../src","sources":["babel/scanner.ts"],"mappings":";;;;;;AAMA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAA8C,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;AAT9C;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;;AAqBA,MAAMkB,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;AACzD,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,cAAc,EACd,KAAK,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAC;;AAEF;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAAA,EAAW;EACrC,MAAMC,cAAc,GAAGP,MAAM,CAACQ,IAAI,CAACC,2BAAoB,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAClE,OAAO,IAAIC,MAAM,CACf,OAAOJ,cAAc,+EAA+E,EACpG,GACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,SAASK,uBAAuBA,CAAA,EAAW;EACzC,MAAML,cAAc,GAAGP,MAAM,CAACQ,IAAI,CAACC,2BAAoB,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAClE,OAAO,IAAIC,MAAM,CAAC,KAAKJ,cAAc,MAAM,EAAE,GAAG,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA,MAAMM,cAAc,GAAG,iCAAiC;;AAExD;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,mBAAmB;;AAE7C;AACA;AACA;AACA,SAASC,QAAQA,CACfC,QAAgB,EAChBC,cAAsB,EACtBC,kBAA0B,EAC1BC,OAAgB,EACN;EACV,MAAMC,KAAe,GAAG,EAAE;EAE1B,IAAIC,OAAe;EACnB,IAAI;IACFA,OAAO,GAAG3C,EAAE,CAAC4C,YAAY,CAACN,QAAQ,EAAE,OAAO,CAAC;EAC9C,CAAC,CAAC,MAAM;IACN,OAAOI,KAAK;EACd;;EAEA;EACA,IAAI,CAACC,OAAO,CAACE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAACF,OAAO,CAACE,QAAQ,CAAC,eAAe,CAAC,EAAE;IACzE,OAAOH,KAAK;EACd;;EAEA;EACAH,cAAc,CAACO,SAAS,GAAG,CAAC;EAC5BN,kBAAkB,CAACM,SAAS,GAAG,CAAC;;EAEhC;EACA,MAAMC,WAAW,GAAG,IAAId,MAAM,CAACM,cAAc,CAACS,MAAM,EAAE,GAAG,CAAC;EAC1D,IAAIC,KAA6B;EAEjC,OAAO,CAACA,KAAK,GAAGF,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC,MAAM,IAAI,EAAE;IACnD,MAAMQ,QAAQ,GAAGF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,CAACE,QAAQ,EAAE;;IAEf;IACA,MAAMC,WAAW,GAAGT,OAAO,CAACU,SAAS,CAAC,CAAC,EAAEJ,KAAK,CAACK,KAAK,GAAG,EAAE,CAAC;IAC1D,MAAMC,WAAW,GAAG,IAAItB,MAAM,CAACO,kBAAkB,CAACQ,MAAM,EAAE,GAAG,CAAC;IAC9D,IAAIQ,SAAiC;IACrC,IAAIC,aAAqC,GAAG,IAAI;IAEhD,OAAO,CAACD,SAAS,GAAGD,WAAW,CAACL,IAAI,CAACE,WAAW,CAAC,MAAM,IAAI,EAAE;MAC3D,IAAII,SAAS,CAACF,KAAK,IAAIL,KAAK,CAACK,KAAK,EAAE;QAClCG,aAAa,GAAGD,SAAS;MAC3B;IACF;IAEA,IAAIC,aAAa,EAAE;MACjB,MAAMC,aAAa,GAAGD,aAAa,CAAC,CAAC,CAAC;MACtC,MAAME,MAAM,GAAG5B,2BAAoB,CAAC2B,aAAa,CAAC;MAClD,IAAIC,MAAM,EAAE;QACV,MAAMC,QAAQ,GAAG,GAAGD,MAAM,IAAIR,QAAQ,EAAE;QACxC,IAAI,CAAC,IAAAU,yBAAe,EAACD,QAAQ,CAAC,EAAE;QAChClB,KAAK,CAACoB,IAAI,CAACF,QAAQ,CAAC;QACpB,IAAInB,OAAO,EAAE;UACXsB,OAAO,CAACC,GAAG,CAAC,8BAA8BJ,QAAQ,OAAOtB,QAAQ,EAAE,CAAC;QACtE;MACF;IACF;EACF;;EAEA;EACAH,cAAc,CAACW,SAAS,GAAG,CAAC;EAC5B,OAAO,CAACG,KAAK,GAAGd,cAAc,CAACe,IAAI,CAACP,OAAO,CAAC,MAAM,IAAI,EAAE;IACtD,MAAMsB,YAAY,GAAGhB,KAAK,CAAC,CAAC,CAAC;IAC7B,IAAI,CAACgB,YAAY,EAAE;IAEnB7B,iBAAiB,CAACU,SAAS,GAAG,CAAC;IAC/B,IAAIoB,SAAiC;IACrC,OAAO,CAACA,SAAS,GAAG9B,iBAAiB,CAACc,IAAI,CAACe,YAAY,CAAC,MAAM,IAAI,EAAE;MAClE,MAAMd,QAAQ,GAAGe,SAAS,CAAC,CAAC,CAAC;MAC7B,IAAIf,QAAQ,IAAIA,QAAQ,CAACN,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAAgB,yBAAe,EAACV,QAAQ,CAAC,EAAE;QACnET,KAAK,CAACoB,IAAI,CAACX,QAAQ,CAAC;QACpB,IAAIV,OAAO,EAAE;UACXsB,OAAO,CAACC,GAAG,CAAC,uCAAuCb,QAAQ,OAAOb,QAAQ,EAAE,CAAC;QAC/E;MACF;IACF;EACF;EAEA,OAAOI,KAAK;AACd;;AAEA;AACA;AACA;AACA,SAASyB,WAAWA,CAClBC,GAAW,EACXC,UAAoB,EACpBC,WAAwB,EACxBC,KAAe,EACT;EACN,IAAIC,OAAoB;EACxB,IAAI;IACFA,OAAO,GAAGxE,EAAE,CAACyE,WAAW,CAACL,GAAG,EAAE;MAAEM,aAAa,EAAE;IAAK,CAAC,CAAC;EACxD,CAAC,CAAC,MAAM;IACN;EACF;EAEA,KAAK,MAAMC,KAAK,IAAIH,OAAO,EAAE;IAC3B,IAAIG,KAAK,CAACC,WAAW,CAAC,CAAC,EAAE;MACvB,IAAIN,WAAW,CAACrD,GAAG,CAAC0D,KAAK,CAACE,IAAI,CAAC,EAAE;MACjCV,WAAW,CAAChE,IAAI,CAAC6B,IAAI,CAACoC,GAAG,EAAEO,KAAK,CAACE,IAAI,CAAC,EAAER,UAAU,EAAEC,WAAW,EAAEC,KAAK,CAAC;IACzE,CAAC,MAAM,IAAII,KAAK,CAACG,MAAM,CAAC,CAAC,EAAE;MACzB,MAAMC,GAAG,GAAG5E,IAAI,CAAC6E,OAAO,CAACL,KAAK,CAACE,IAAI,CAAC;MACpC,IAAIR,UAAU,CAACxB,QAAQ,CAACkC,GAAG,CAAC,EAAE;QAC5BR,KAAK,CAACT,IAAI,CAAC3D,IAAI,CAAC6B,IAAI,CAACoC,GAAG,EAAEO,KAAK,CAACE,IAAI,CAAC,CAAC;MACxC;IACF;EACF;AACF;;AAEA;AACA;AACA;AACA,SAASI,aAAaA,CAACC,WAAmB,EAAEzC,OAAgB,EAAY;EACtE,MAAM0C,SAAS,GAAGhF,IAAI,CAAC6B,IAAI,CAACkD,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC;EAErE,IAAI;IACF,IAAI,CAAClF,EAAE,CAACoF,UAAU,CAACD,SAAS,CAAC,EAAE,OAAO,EAAE;IACxC,MAAMxC,OAAO,GAAG3C,EAAE,CAAC4C,YAAY,CAACuC,SAAS,EAAE,OAAO,CAAC;IACnD,MAAME,KAAgB,GAAGC,IAAI,CAACC,KAAK,CAAC5C,OAAO,CAAC;IAE5C,IAAI0C,KAAK,CAACG,OAAO,KAAK,OAAO,IAAIC,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC3C,KAAK,CAAC,EAAE;MAC3D,IAAID,OAAO,EAAE;QACXsB,OAAO,CAACC,GAAG,CAAC,6BAA6BqB,KAAK,CAAC3C,KAAK,CAACiD,MAAM,wBAAwB,CAAC;MACtF;MACA,OAAON,KAAK,CAAC3C,KAAK;IACpB;EACF,CAAC,CAAC,MAAM;IACN,IAAID,OAAO,EAAE;MACXsB,OAAO,CAACC,GAAG,CAAC,gDAAgD,CAAC;IAC/D;EACF;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACO,SAAS4B,mBAAmBA,CAACV,WAAmB,EAAEW,OAAuB,GAAG,CAAC,CAAC,EAAY;EAC/F,MAAM;IAAExB,UAAU,GAAG5C,kBAAkB;IAAE6C,WAAW;IAAE7B,OAAO,GAAG;EAAM,CAAC,GAAGoD,OAAO;EAEjF,MAAMC,UAAU,GAAGxB,WAAW,GAAG,IAAI3C,GAAG,CAAC2C,WAAW,CAAC,GAAG5C,oBAAoB;EAE5E,MAAMqE,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;;EAE5B;EACA,MAAM1B,KAAe,GAAG,EAAE;EAC1BJ,WAAW,CAACe,WAAW,EAAEb,UAAU,EAAEyB,UAAU,EAAEvB,KAAK,CAAC;EAEvD,IAAI9B,OAAO,EAAE;IACXsB,OAAO,CAACC,GAAG,CAAC,8BAA8BO,KAAK,CAACoB,MAAM,uBAAuB,CAAC;EAChF;;EAEA;EACA,MAAMpD,cAAc,GAAGX,mBAAmB,CAAC,CAAC;EAC5C,MAAMY,kBAAkB,GAAGN,uBAAuB,CAAC,CAAC;;EAEpD;EACA,MAAMgE,QAAqB,GAAG,IAAIvE,GAAG,CAAC,CAAC;EAEvC,KAAK,MAAMwE,IAAI,IAAI5B,KAAK,EAAE;IACxB,MAAM7B,KAAK,GAAGL,QAAQ,CAAC8D,IAAI,EAAE5D,cAAc,EAAEC,kBAAkB,EAAEC,OAAO,CAAC;IACzE,KAAK,MAAM2D,IAAI,IAAI1D,KAAK,EAAE;MACxBwD,QAAQ,CAACG,GAAG,CAACD,IAAI,CAAC;IACpB;EACF;;EAEA;EACA,MAAME,UAAU,GAAGrB,aAAa,CAACC,WAAW,EAAEzC,OAAO,CAAC;EACtD,KAAK,MAAM2D,IAAI,IAAIE,UAAU,EAAE;IAC7BJ,QAAQ,CAACG,GAAG,CAACD,IAAI,CAAC;EACpB;EAEA,MAAMG,MAAM,GAAGd,KAAK,CAACe,IAAI,CAACN,QAAQ,CAAC;EACnC,MAAMO,OAAO,GAAGT,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;EAEtC,IAAItD,OAAO,EAAE;IACXsB,OAAO,CAACC,GAAG,CACT,uCAAuCuC,MAAM,CAACZ,MAAM,sBAAsBpB,KAAK,CAACoB,MAAM,aAAac,OAAO,IAC5G,CAAC;EACH;EAEA,OAAOF,MAAM;AACf","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.VALID_PREFIXES = exports.VALID_COMPONENTS = exports.PREFIX_COMPONENT_MAP
7
7
  exports.getFilename = getFilename;
8
8
  exports.getFilenameFromFile = getFilenameFromFile;
9
9
  exports.getFilenameFromState = getFilenameFromState;
10
+ exports.getRootFromFile = getRootFromFile;
10
11
  /**
11
12
  * Babel Plugin Types
12
13
  * Type definitions for the rn-iconify Babel plugin
@@ -93,6 +94,24 @@ function getFilenameFromFile(file) {
93
94
  return getFilename(file);
94
95
  }
95
96
 
97
+ /**
98
+ * Type guard to check if an object has opts.root
99
+ */
100
+ function hasOptsWithRoot(obj) {
101
+ return typeof obj === 'object' && obj !== null && 'opts' in obj && typeof obj.opts === 'object' && obj.opts !== null && 'root' in obj.opts && typeof obj.opts.root === 'string';
102
+ }
103
+
104
+ /**
105
+ * Helper to safely extract project root from BabelFile object
106
+ * Babel sets file.opts.root from babel.config.js location
107
+ */
108
+ function getRootFromFile(file) {
109
+ if (hasOptsWithRoot(file)) {
110
+ return file.opts.root;
111
+ }
112
+ return undefined;
113
+ }
114
+
96
115
  /**
97
116
  * Collected icon information
98
117
  */
@@ -1 +1 @@
1
- {"version":3,"names":["hasOptsWithFilename","obj","opts","filename","hasFilename","hasFileOptsFilename","file","getFilenameFromState","state","getFilename","getFilenameFromFile","COMPONENT_PREFIX_MAP","exports","Mdi","MdiLight","Heroicons","HeroiconsOutline","HeroiconsSolid","Lucide","LucideLab","Ph","Feather","Tabler","Bi","Ri","Carbon","Ion","Octicon","SimpleIcons","Logos","Solar","Iconoir","Fa","FaBrands","FaRegular","FaSolid","Fa6Solid","Fa6Regular","Fa6Brands","Fa7Solid","Fa7Regular","Fa7Brands","Fad","Fluent","FluentColor","FluentEmoji","FluentEmojiFlat","FluentEmojiHighContrast","FluentMdl2","MaterialSymbols","MaterialSymbolsLight","MaterialIconTheme","AntDesign","Academicons","AkarIcons","Arcticons","Basil","BitcoinIcons","Bpmn","Brandico","Bx","Bxl","Bxs","Bytesize","Catppuccin","Cbi","Charm","Ci","Cib","Cif","Cil","CircleFlags","Circum","Clarity","Codex","Codicon","Covid","Cryptocurrency","CryptocurrencyColor","Cuida","Dashicons","Devicon","DeviconPlain","DinkieIcons","DuoIcons","Ei","El","EmojioneMonotone","Entypo","EntypoSocial","EosIcons","Ep","Et","Eva","F7","Famicons","Fe","FileIcons","Flag","Flagpack","FlatUi","Flowbite","Fontelico","Fontisto","Formkit","Foundation","Gala","GameIcons","Garden","Geo","Gg","Gis","GravityUi","Gridicons","GrommetIcons","Guidance","Healthicons","Hugeicons","Humbleicons","Ic","IcomoonFree","IconPark","IconParkOutline","IconParkSolid","IconParkTwotone","Iconamoon","Icons8","Il","Iwwa","Ix","Jam","La","LetsIcons","LineMd","Lineicons","Ls","Lsicon","Mage","Majesticons","Maki","Map","Marketeq","MedicalIcon","Memory","Meteocons","MeteorIcons","Mi","Mingcute","MonoIcons","Mynaui","Nimbus","Nonicons","Nrk","Oi","Ooui","Oui","Pajamas","Pepicons","PepiconsPencil","PepiconsPop","PepiconsPrint","Picon","Pixel","Pixelarticons","Prime","Proicons","Ps","QlementineIcons","Quill","RadixIcons","Raphael","RivetIcons","Roentgen","Si","SiGlyph","Sidekickicons","SimpleLineIcons","SkillIcons","Stash","Streamline","StreamlineBlock","StreamlineColor","StreamlineCyber","StreamlineCyberColor","StreamlineEmojis","StreamlineFlex","StreamlineFlexColor","StreamlineFreehand","StreamlineFreehandColor","StreamlineKameleonColor","StreamlineLogos","StreamlinePixel","StreamlinePlump","StreamlinePlumpColor","StreamlineSharp","StreamlineSharpColor","StreamlineStickiesColor","StreamlineUltimate","StreamlineUltimateColor","Subway","SvgSpinners","SystemUicons","Tdesign","Teenyicons","Temaki","Token","TokenBranded","Topcoat","Typcn","Uil","Uim","Uis","Uit","Uiw","Unjs","Vaadin","Vs","VscodeIcons","Websymbol","Weui","Whh","Wi","Wpf","Zmdi","Zondicons","PREFIX_COMPONENT_MAP","Object","entries","reduce","acc","component","prefix","VALID_COMPONENTS","Set","keys","VALID_PREFIXES","values"],"sourceRoot":"../../../src","sources":["babel/types.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hasOptsWithFilename","obj","opts","filename","hasFilename","hasFileOptsFilename","file","getFilenameFromState","state","getFilename","getFilenameFromFile","hasOptsWithRoot","root","getRootFromFile","undefined","COMPONENT_PREFIX_MAP","exports","Mdi","MdiLight","Heroicons","HeroiconsOutline","HeroiconsSolid","Lucide","LucideLab","Ph","Feather","Tabler","Bi","Ri","Carbon","Ion","Octicon","SimpleIcons","Logos","Solar","Iconoir","Fa","FaBrands","FaRegular","FaSolid","Fa6Solid","Fa6Regular","Fa6Brands","Fa7Solid","Fa7Regular","Fa7Brands","Fad","Fluent","FluentColor","FluentEmoji","FluentEmojiFlat","FluentEmojiHighContrast","FluentMdl2","MaterialSymbols","MaterialSymbolsLight","MaterialIconTheme","AntDesign","Academicons","AkarIcons","Arcticons","Basil","BitcoinIcons","Bpmn","Brandico","Bx","Bxl","Bxs","Bytesize","Catppuccin","Cbi","Charm","Ci","Cib","Cif","Cil","CircleFlags","Circum","Clarity","Codex","Codicon","Covid","Cryptocurrency","CryptocurrencyColor","Cuida","Dashicons","Devicon","DeviconPlain","DinkieIcons","DuoIcons","Ei","El","EmojioneMonotone","Entypo","EntypoSocial","EosIcons","Ep","Et","Eva","F7","Famicons","Fe","FileIcons","Flag","Flagpack","FlatUi","Flowbite","Fontelico","Fontisto","Formkit","Foundation","Gala","GameIcons","Garden","Geo","Gg","Gis","GravityUi","Gridicons","GrommetIcons","Guidance","Healthicons","Hugeicons","Humbleicons","Ic","IcomoonFree","IconPark","IconParkOutline","IconParkSolid","IconParkTwotone","Iconamoon","Icons8","Il","Iwwa","Ix","Jam","La","LetsIcons","LineMd","Lineicons","Ls","Lsicon","Mage","Majesticons","Maki","Map","Marketeq","MedicalIcon","Memory","Meteocons","MeteorIcons","Mi","Mingcute","MonoIcons","Mynaui","Nimbus","Nonicons","Nrk","Oi","Ooui","Oui","Pajamas","Pepicons","PepiconsPencil","PepiconsPop","PepiconsPrint","Picon","Pixel","Pixelarticons","Prime","Proicons","Ps","QlementineIcons","Quill","RadixIcons","Raphael","RivetIcons","Roentgen","Si","SiGlyph","Sidekickicons","SimpleLineIcons","SkillIcons","Stash","Streamline","StreamlineBlock","StreamlineColor","StreamlineCyber","StreamlineCyberColor","StreamlineEmojis","StreamlineFlex","StreamlineFlexColor","StreamlineFreehand","StreamlineFreehandColor","StreamlineKameleonColor","StreamlineLogos","StreamlinePixel","StreamlinePlump","StreamlinePlumpColor","StreamlineSharp","StreamlineSharpColor","StreamlineStickiesColor","StreamlineUltimate","StreamlineUltimateColor","Subway","SvgSpinners","SystemUicons","Tdesign","Teenyicons","Temaki","Token","TokenBranded","Topcoat","Typcn","Uil","Uim","Uis","Uit","Uiw","Unjs","Vaadin","Vs","VscodeIcons","Websymbol","Weui","Whh","Wi","Wpf","Zmdi","Zondicons","PREFIX_COMPONENT_MAP","Object","entries","reduce","acc","component","prefix","VALID_COMPONENTS","Set","keys","VALID_PREFIXES","values"],"sourceRoot":"../../../src","sources":["babel/types.ts"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AAyCA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA,SAASA,mBAAmBA,CAACC,GAAY,EAAyC;EAChF,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ,IACxDD,GAAG,CAA6BC,IAAI,KAAK,IAAI,IAC9C,UAAU,IAAMD,GAAG,CAA6BC,IAAe,IAC/D,OAAQD,GAAG,CAA2CC,IAAI,CAACC,QAAQ,KAAK,QAAQ;AAEpF;;AAEA;AACA;AACA;AACA,SAASC,WAAWA,CAACH,GAAY,EAA+B;EAC9D,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,UAAU,IAAIA,GAAG,IACjB,OAAQA,GAAG,CAA6BE,QAAQ,KAAK,QAAQ;AAEjE;;AAEA;AACA;AACA;AACA,SAASE,mBAAmBA,CAACJ,GAAY,EAAmD;EAC1F,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACbD,mBAAmB,CAAEC,GAAG,CAA6BK,IAAI,CAAC;AAE9D;;AAEA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,KAAuB,EAAU;EACpE;EACA,IAAIA,KAAK,CAACL,QAAQ,EAAE;IAClB,OAAOK,KAAK,CAACL,QAAQ;EACvB;;EAEA;EACA,IAAIK,KAAK,CAACF,IAAI,EAAEJ,IAAI,EAAEC,QAAQ,EAAE;IAC9B,OAAOK,KAAK,CAACF,IAAI,CAACJ,IAAI,CAACC,QAAQ;EACjC;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACO,SAASM,WAAWA,CAACR,GAAY,EAAU;EAChD;EACA,IAAIG,WAAW,CAACH,GAAG,CAAC,EAAE;IACpB,OAAOA,GAAG,CAACE,QAAQ;EACrB;;EAEA;EACA,IAAIH,mBAAmB,CAACC,GAAG,CAAC,EAAE;IAC5B,OAAOA,GAAG,CAACC,IAAI,CAACC,QAAQ;EAC1B;;EAEA;EACA,IAAIE,mBAAmB,CAACJ,GAAG,CAAC,EAAE;IAC5B,OAAOA,GAAG,CAACK,IAAI,CAACJ,IAAI,CAACC,QAAQ;EAC/B;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACO,SAASO,mBAAmBA,CAACJ,IAAa,EAAU;EACzD,OAAOG,WAAW,CAACH,IAAI,CAAC;AAC1B;;AAEA;AACA;AACA;AACA,SAASK,eAAeA,CAACV,GAAY,EAAqC;EACxE,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ,IACxDD,GAAG,CAA6BC,IAAI,KAAK,IAAI,IAC9C,MAAM,IAAMD,GAAG,CAA6BC,IAAe,IAC3D,OAAQD,GAAG,CAAuCC,IAAI,CAACU,IAAI,KAAK,QAAQ;AAE5E;;AAEA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACP,IAAa,EAAsB;EACjE,IAAIK,eAAe,CAACL,IAAI,CAAC,EAAE;IACzB,OAAOA,IAAI,CAACJ,IAAI,CAACU,IAAI;EACvB;EACA,OAAOE,SAAS;AAClB;;AAEA;AACA;AACA;;AAuBA;AACA;AACA;;AAeA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACO,MAAMC,oBAA4C,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAC1D;EACAE,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,WAAW;EACtBC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,iBAAiB;EACjCC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,YAAY;EACvBC,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,cAAc;EAC3BC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAElB;EACAC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,YAAY;EACvBC,OAAO,EAAE,UAAU;EACnBC,QAAQ,EAAE,WAAW;EACrBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,YAAY;EACvBC,QAAQ,EAAE,WAAW;EACrBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,YAAY;EACvBC,GAAG,EAAE,KAAK;EAEV;EACAC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,cAAc;EAC3BC,WAAW,EAAE,cAAc;EAC3BC,eAAe,EAAE,mBAAmB;EACpCC,uBAAuB,EAAE,4BAA4B;EACrDC,UAAU,EAAE,aAAa;EAEzB;EACAC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,iBAAiB,EAAE,qBAAqB;EAExC;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,cAAc,EAAE,gBAAgB;EAChCC,mBAAmB,EAAE,sBAAsB;EAE3C;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,eAAe;EAE7B;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,QAAQ,EAAE,WAAW;EAErB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,gBAAgB,EAAE,mBAAmB;EAErC;EACAC,MAAM,EAAE,QAAQ;EAChBC,YAAY,EAAE,eAAe;EAE7B;EACAC,QAAQ,EAAE,WAAW;EAErB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EAEpB;EACAC,MAAM,EAAE,SAAS;EAEjB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,QAAQ,EAAE,WAAW;EACrBC,eAAe,EAAE,mBAAmB;EACpCC,aAAa,EAAE,iBAAiB;EAChCC,eAAe,EAAE,mBAAmB;EAEpC;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,SAAS;EAEjB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,QAAQ;EAEhB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,iBAAiB;EACjCC,WAAW,EAAE,cAAc;EAC3BC,aAAa,EAAE,gBAAgB;EAE/B;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,eAAe;EAE9B;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,eAAe,EAAE,kBAAkB;EAEnC;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,UAAU;EAEnB;EACAC,aAAa,EAAE,eAAe;EAE9B;EACAC,eAAe,EAAE,mBAAmB;EAEpC;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,UAAU,EAAE,YAAY;EACxBC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,iBAAiB;EACjCC,mBAAmB,EAAE,uBAAuB;EAC5CC,kBAAkB,EAAE,qBAAqB;EACzCC,uBAAuB,EAAE,2BAA2B;EACpDC,uBAAuB,EAAE,2BAA2B;EACpDC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,uBAAuB,EAAE,2BAA2B;EACpDC,kBAAkB,EAAE,qBAAqB;EACzCC,uBAAuB,EAAE,2BAA2B;EAEpD;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE,eAAe;EAE7B;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;AACO,MAAMC,oBAA4C,GAAArN,OAAA,CAAAqN,oBAAA,GAAGC,MAAM,CAACC,OAAO,CACxExN,oBACF,CAAC,CAACyN,MAAM,CACN,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,MAAM,CAAC,KAAK;EAC5BF,GAAG,CAACE,MAAM,CAAC,GAAGD,SAAS;EACvB,OAAOD,GAAG;AACZ,CAAC,EACD,CAAC,CACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,gBAAgB,GAAA5N,OAAA,CAAA4N,gBAAA,GAAG,IAAIC,GAAG,CAACP,MAAM,CAACQ,IAAI,CAAC/N,oBAAoB,CAAC,CAAC;;AAE1E;AACA;AACA;AACO,MAAMgO,cAAc,GAAA/N,OAAA,CAAA+N,cAAA,GAAG,IAAIF,GAAG,CAACP,MAAM,CAACU,MAAM,CAACjO,oBAAoB,CAAC,CAAC","ignoreList":[]}
@@ -35,7 +35,7 @@ import { createRnIconifyPlugin, resetPluginState } from './plugin';
35
35
  // Export utilities for testing
36
36
  export { collector } from './collector';
37
37
  export { resetPluginState };
38
- export { COMPONENT_PREFIX_MAP, PREFIX_COMPONENT_MAP, VALID_COMPONENTS, VALID_PREFIXES, getFilenameFromState, getFilenameFromFile } from './types';
38
+ export { COMPONENT_PREFIX_MAP, PREFIX_COMPONENT_MAP, VALID_COMPONENTS, VALID_PREFIXES, getFilenameFromState, getFilenameFromFile, getRootFromFile } from './types';
39
39
 
40
40
  /**
41
41
  * Default export for Babel plugin
@@ -1 +1 @@
1
- {"version":3,"names":["createRnIconifyPlugin","resetPluginState","collector","COMPONENT_PREFIX_MAP","PREFIX_COMPONENT_MAP","VALID_COMPONENTS","VALID_PREFIXES","getFilenameFromState","getFilenameFromFile"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,qBAAqB,EAAEC,gBAAgB,QAAQ,UAAU;;AAGlE;;AAIA;AACA,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASD,gBAAgB;AACzB,SACEE,oBAAoB,EACpBC,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,oBAAoB,EACpBC,mBAAmB,QACd,SAAS;;AAEhB;AACA;AACA;AACA;AACA,eAAeR,qBAAqB;;AAEpC;AACA;AACA;AACA,SAASA,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["createRnIconifyPlugin","resetPluginState","collector","COMPONENT_PREFIX_MAP","PREFIX_COMPONENT_MAP","VALID_COMPONENTS","VALID_PREFIXES","getFilenameFromState","getFilenameFromFile","getRootFromFile"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,qBAAqB,EAAEC,gBAAgB,QAAQ,UAAU;;AAGlE;;AAIA;AACA,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASD,gBAAgB;AACzB,SACEE,oBAAoB,EACpBC,oBAAoB,EACpBC,gBAAgB,EAChBC,cAAc,EACdC,oBAAoB,EACpBC,mBAAmB,EACnBC,eAAe,QACV,SAAS;;AAEhB;AACA;AACA;AACA;AACA,eAAeT,qBAAqB;;AAEpC;AACA;AACA;AACA,SAASA,qBAAqB","ignoreList":[]}
@@ -9,7 +9,8 @@
9
9
  */
10
10
 
11
11
  import * as nodePath from 'path';
12
- import { COMPONENT_PREFIX_MAP, VALID_COMPONENTS, getFilenameFromState, getFilenameFromFile } from './types';
12
+ import * as fs from 'fs';
13
+ import { COMPONENT_PREFIX_MAP, VALID_COMPONENTS, getFilenameFromState, getFilenameFromFile, getRootFromFile } from './types';
13
14
  import { getComponentName, getNameAttribute, isCallTo, extractArrayStrings, getNodeLocation } from './ast-utils';
14
15
  import { collector } from './collector';
15
16
  import { generateBundle, readExistingBundle, resolveBundleDir } from './cache-writer';
@@ -75,6 +76,55 @@ let scannedIcons = [];
75
76
  * Existing bundle loaded during pre hook
76
77
  */
77
78
  let existingBundle = null;
79
+ const SCAN_LOCK_MAX_AGE = 30000; // 30 seconds
80
+
81
+ /**
82
+ * Check if a scan lock file exists and is recent
83
+ */
84
+ function isScanLockActive(lockPath, maxAge = SCAN_LOCK_MAX_AGE) {
85
+ try {
86
+ const stat = fs.statSync(lockPath);
87
+ return Date.now() - stat.mtimeMs < maxAge;
88
+ } catch {
89
+ return false;
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Acquire the scan lock by writing a timestamp file
95
+ * Returns true if lock was acquired, false if already held
96
+ */
97
+ function acquireScanLock(lockPath) {
98
+ if (isScanLockActive(lockPath)) {
99
+ return false;
100
+ }
101
+ try {
102
+ const dir = nodePath.dirname(lockPath);
103
+ if (!fs.existsSync(dir)) {
104
+ fs.mkdirSync(dir, {
105
+ recursive: true
106
+ });
107
+ }
108
+ fs.writeFileSync(lockPath, String(Date.now()), {
109
+ flag: 'wx'
110
+ });
111
+ return true;
112
+ } catch {
113
+ // Another worker may have created it between our check and write
114
+ return false;
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Release the scan lock
120
+ */
121
+ function releaseScanLock(lockPath) {
122
+ try {
123
+ fs.unlinkSync(lockPath);
124
+ } catch {
125
+ // Already removed or never existed
126
+ }
127
+ }
78
128
 
79
129
  /**
80
130
  * Create the rn-iconify Babel plugin
@@ -95,24 +145,9 @@ export function createRnIconifyPlugin(babel) {
95
145
  hasInjected = false;
96
146
  collector.initialize(opts);
97
147
 
98
- // Detect project root from file
99
- const filename = getFilenameFromFile(file);
100
- if (filename) {
101
- let dir = filename;
102
- while (dir !== '/') {
103
- dir = dir.substring(0, dir.lastIndexOf('/'));
104
- try {
105
- require.resolve(`${dir}/package.json`);
106
- projectRoot = dir;
107
- break;
108
- } catch {
109
- continue;
110
- }
111
- }
112
- if (!projectRoot) {
113
- projectRoot = process.cwd();
114
- }
115
- }
148
+ // Detect project root from Babel's root (set from babel.config.js location)
149
+ const root = getRootFromFile(file);
150
+ projectRoot = root || process.cwd();
116
151
  const outputPath = opts.outputPath || '.rn-iconify';
117
152
  bundleDirPath = resolveBundleDir(outputPath, projectRoot);
118
153
  const bundleJsonPath = nodePath.join(bundleDirPath, 'icons.json');
@@ -121,14 +156,25 @@ export function createRnIconifyPlugin(babel) {
121
156
  existingBundle = readExistingBundle(bundleJsonPath);
122
157
  bundleExists = existingBundle !== null;
123
158
 
124
- // Run sync scanner to discover all icons in the project
125
- try {
126
- scannedIcons = scanProjectForIcons(projectRoot, {
127
- verbose: opts.verbose
128
- });
129
- } catch (error) {
159
+ // Use file-based lock to prevent duplicate scans across Metro workers
160
+ const lockPath = nodePath.join(bundleDirPath, '.scan-lock');
161
+ const lockAcquired = acquireScanLock(lockPath);
162
+ if (lockAcquired) {
163
+ try {
164
+ scannedIcons = scanProjectForIcons(projectRoot, {
165
+ verbose: opts.verbose
166
+ });
167
+ } catch (error) {
168
+ if (opts.verbose) {
169
+ console.warn('[rn-iconify] Scanner failed:', error);
170
+ }
171
+ scannedIcons = [];
172
+ } finally {
173
+ releaseScanLock(lockPath);
174
+ }
175
+ } else {
130
176
  if (opts.verbose) {
131
- console.warn('[rn-iconify] Scanner failed:', error);
177
+ console.log('[rn-iconify] Scanner skipped (another worker is scanning)');
132
178
  }
133
179
  scannedIcons = [];
134
180
  }
@@ -283,12 +329,16 @@ export function createRnIconifyPlugin(babel) {
283
329
  };
284
330
  }
285
331
 
332
+ // Exported for testing
333
+ export { acquireScanLock, releaseScanLock, isScanLockActive };
334
+
286
335
  /**
287
336
  * Reset plugin state (for testing)
288
337
  */
289
338
  export function resetPluginState() {
290
339
  processedFiles.clear();
291
340
  buildInProgress = false;
341
+ projectRoot = '';
292
342
  hasInjected = false;
293
343
  bundleExists = false;
294
344
  bundleDirPath = '';
@@ -1 +1 @@
1
- {"version":3,"names":["nodePath","COMPONENT_PREFIX_MAP","VALID_COMPONENTS","getFilenameFromState","getFilenameFromFile","getComponentName","getNameAttribute","isCallTo","extractArrayStrings","getNodeLocation","collector","generateBundle","readExistingBundle","resolveBundleDir","scanProjectForIcons","hasPluginOpts","obj","opts","getPluginOptions","context","processedFiles","Set","buildInProgress","bundleTimer","projectRoot","bundleExists","bundleDirPath","hasInjected","scannedIcons","existingBundle","createRnIconifyPlugin","babel","t","types","name","pre","file","disabled","initialize","filename","dir","substring","lastIndexOf","require","resolve","process","cwd","outputPath","bundleJsonPath","join","verbose","error","console","warn","log","length","visitor","ImportDeclaration","path","state","source","node","value","startsWith","autoInject","program","findParent","p","isProgram","hasManualLoad","stmt","body","isImportDeclaration","spec","specifiers","isImportSpecifier","isIdentifier","imported","bundleJsPath","relativeBundlePath","fileDir","dirname","relative","loadBundleImport","importDeclaration","importSpecifier","identifier","stringLiteral","bundleDataImport","importDefaultSpecifier","loadCall","expressionStatement","callExpression","insertAfter","JSXOpeningElement","componentName","has","iconName","loc","line","prefix","fullIconName","add","column","CallExpression","firstArg","arguments","iconNames","post","markFileProcessed","clearTimeout","setTimeout","isBundleGenerated","markBundleGenerated","astIcons","getIconNames","allIcons","Array","from","printSummary","resetPluginState","clear","reset"],"sourceRoot":"../../../src","sources":["babel/plugin.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nodePath","fs","COMPONENT_PREFIX_MAP","VALID_COMPONENTS","getFilenameFromState","getFilenameFromFile","getRootFromFile","getComponentName","getNameAttribute","isCallTo","extractArrayStrings","getNodeLocation","collector","generateBundle","readExistingBundle","resolveBundleDir","scanProjectForIcons","hasPluginOpts","obj","opts","getPluginOptions","context","processedFiles","Set","buildInProgress","bundleTimer","projectRoot","bundleExists","bundleDirPath","hasInjected","scannedIcons","existingBundle","SCAN_LOCK_MAX_AGE","isScanLockActive","lockPath","maxAge","stat","statSync","Date","now","mtimeMs","acquireScanLock","dir","dirname","existsSync","mkdirSync","recursive","writeFileSync","String","flag","releaseScanLock","unlinkSync","createRnIconifyPlugin","babel","t","types","name","pre","file","disabled","initialize","root","process","cwd","outputPath","bundleJsonPath","join","lockAcquired","verbose","error","console","warn","log","length","visitor","ImportDeclaration","path","state","source","node","value","startsWith","autoInject","program","findParent","p","isProgram","hasManualLoad","stmt","body","isImportDeclaration","spec","specifiers","isImportSpecifier","isIdentifier","imported","filename","bundleJsPath","relativeBundlePath","fileDir","relative","loadBundleImport","importDeclaration","importSpecifier","identifier","stringLiteral","bundleDataImport","importDefaultSpecifier","loadCall","expressionStatement","callExpression","insertAfter","JSXOpeningElement","componentName","has","iconName","loc","line","prefix","fullIconName","add","column","CallExpression","firstArg","arguments","iconNames","post","markFileProcessed","clearTimeout","setTimeout","isBundleGenerated","markBundleGenerated","astIcons","getIconNames","allIcons","Array","from","printSummary","resetPluginState","clear","reset"],"sourceRoot":"../../../src","sources":["babel/plugin.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,QAAQ,MAAM,MAAM;AAChC,OAAO,KAAKC,EAAE,MAAM,IAAI;AAIxB,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,EACnBC,eAAe,QACV,SAAS;AAChB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,QAAQ,EACRC,mBAAmB,EACnBC,eAAe,QACV,aAAa;AACpB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,gBAAgB;AACrF,SAASC,mBAAmB,QAAQ,WAAW;AAG/C;AACA;AACA;AACA,SAASC,aAAaA,CAACC,GAAY,EAAuC;EACxE,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ;AAE7D;;AAEA;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,OAAgB,EAAsB;EAC9D,IAAIJ,aAAa,CAACI,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO,CAACF,IAAI,IAAI,CAAC,CAAC;EAC3B;EACA,OAAO,CAAC,CAAC;AACX;;AAEA;AACA;AACA;AACA,MAAMG,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;;AAExC;AACA;AACA;AACA,IAAIC,eAAe,GAAG,KAAK;;AAE3B;AACA;AACA;AACA,IAAIC,WAAkC,GAAG,IAAI;;AAE7C;AACA;AACA;AACA,IAAIC,WAAW,GAAG,EAAE;;AAEpB;AACA;AACA;AACA,IAAIC,YAAY,GAAG,KAAK;;AAExB;AACA;AACA;AACA,IAAIC,aAAa,GAAG,EAAE;;AAEtB;AACA;AACA;AACA,IAAIC,WAAW,GAAG,KAAK;;AAEvB;AACA;AACA;AACA,IAAIC,YAAsB,GAAG,EAAE;;AAE/B;AACA;AACA;AACA,IAAIC,cAAiC,GAAG,IAAI;AAE5C,MAAMC,iBAAiB,GAAG,KAAK,CAAC,CAAC;;AAEjC;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,QAAgB,EAAEC,MAAc,GAAGH,iBAAiB,EAAW;EACvF,IAAI;IACF,MAAMI,IAAI,GAAGnC,EAAE,CAACoC,QAAQ,CAACH,QAAQ,CAAC;IAClC,OAAOI,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,IAAI,CAACI,OAAO,GAAGL,MAAM;EAC3C,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA;AACA,SAASM,eAAeA,CAACP,QAAgB,EAAW;EAClD,IAAID,gBAAgB,CAACC,QAAQ,CAAC,EAAE;IAC9B,OAAO,KAAK;EACd;EACA,IAAI;IACF,MAAMQ,GAAG,GAAG1C,QAAQ,CAAC2C,OAAO,CAACT,QAAQ,CAAC;IACtC,IAAI,CAACjC,EAAE,CAAC2C,UAAU,CAACF,GAAG,CAAC,EAAE;MACvBzC,EAAE,CAAC4C,SAAS,CAACH,GAAG,EAAE;QAAEI,SAAS,EAAE;MAAK,CAAC,CAAC;IACxC;IACA7C,EAAE,CAAC8C,aAAa,CAACb,QAAQ,EAAEc,MAAM,CAACV,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,EAAE;MAAEU,IAAI,EAAE;IAAK,CAAC,CAAC;IAC9D,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN;IACA,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA,SAASC,eAAeA,CAAChB,QAAgB,EAAQ;EAC/C,IAAI;IACFjC,EAAE,CAACkD,UAAU,CAACjB,QAAQ,CAAC;EACzB,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ;;AAEA;AACA;AACA;AACA,OAAO,SAASkB,qBAAqBA,CAACC,KAErC,EAA+B;EAC9B,MAAMC,CAAC,GAAGD,KAAK,CAACE,KAAK;EAErB,OAAO;IACLC,IAAI,EAAE,YAAY;IAElBC,GAAGA,CAACC,IAAI,EAAE;MACR,MAAMvC,IAAI,GAAGC,gBAAgB,CAAC,IAAI,CAAC;MAEnC,IAAID,IAAI,CAACwC,QAAQ,EAAE;QACjB;MACF;;MAEA;MACA,IAAI,CAACnC,eAAe,EAAE;QACpBA,eAAe,GAAG,IAAI;QACtBK,WAAW,GAAG,KAAK;QACnBjB,SAAS,CAACgD,UAAU,CAACzC,IAAI,CAAC;;QAE1B;QACA,MAAM0C,IAAI,GAAGvD,eAAe,CAACoD,IAAI,CAAC;QAClChC,WAAW,GAAGmC,IAAI,IAAIC,OAAO,CAACC,GAAG,CAAC,CAAC;QAEnC,MAAMC,UAAU,GAAG7C,IAAI,CAAC6C,UAAU,IAAI,aAAa;QACnDpC,aAAa,GAAGb,gBAAgB,CAACiD,UAAU,EAAEtC,WAAW,CAAC;QACzD,MAAMuC,cAAc,GAAGjE,QAAQ,CAACkE,IAAI,CAACtC,aAAa,EAAE,YAAY,CAAC;;QAEjE;QACAG,cAAc,GAAGjB,kBAAkB,CAACmD,cAAc,CAAC;QACnDtC,YAAY,GAAGI,cAAc,KAAK,IAAI;;QAEtC;QACA,MAAMG,QAAQ,GAAGlC,QAAQ,CAACkE,IAAI,CAACtC,aAAa,EAAE,YAAY,CAAC;QAC3D,MAAMuC,YAAY,GAAG1B,eAAe,CAACP,QAAQ,CAAC;QAE9C,IAAIiC,YAAY,EAAE;UAChB,IAAI;YACFrC,YAAY,GAAGd,mBAAmB,CAACU,WAAW,EAAE;cAC9C0C,OAAO,EAAEjD,IAAI,CAACiD;YAChB,CAAC,CAAC;UACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;YACd,IAAIlD,IAAI,CAACiD,OAAO,EAAE;cAChBE,OAAO,CAACC,IAAI,CAAC,8BAA8B,EAAEF,KAAK,CAAC;YACrD;YACAvC,YAAY,GAAG,EAAE;UACnB,CAAC,SAAS;YACRoB,eAAe,CAAChB,QAAQ,CAAC;UAC3B;QACF,CAAC,MAAM;UACL,IAAIf,IAAI,CAACiD,OAAO,EAAE;YAChBE,OAAO,CAACE,GAAG,CAAC,2DAA2D,CAAC;UAC1E;UACA1C,YAAY,GAAG,EAAE;QACnB;QAEA,IAAIX,IAAI,CAACiD,OAAO,EAAE;UAChBE,OAAO,CAACE,GAAG,CAAC,6CAA6C9C,WAAW,EAAE,CAAC;UACvE4C,OAAO,CAACE,GAAG,CAAC,+BAA+B7C,YAAY,EAAE,CAAC;UAC1D2C,OAAO,CAACE,GAAG,CAAC,8BAA8B1C,YAAY,CAAC2C,MAAM,QAAQ,CAAC;QACxE;MACF;IACF,CAAC;IAEDC,OAAO,EAAE;MACP;AACN;AACA;AACA;AACA;MACMC,iBAAiBA,CAACC,IAAiC,EAAEC,KAAuB,EAAE;QAC5E,MAAM1D,IAAI,GAAG0D,KAAK,CAAC1D,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACwC,QAAQ,EAAE;QAEnB,MAAMmB,MAAM,GAAGF,IAAI,CAACG,IAAI,CAACD,MAAM,CAACE,KAAK;;QAErC;QACA,IAAIF,MAAM,KAAK,YAAY,IAAI,CAACA,MAAM,CAACG,UAAU,CAAC,aAAa,CAAC,EAAE;UAChE;QACF;;QAEA;QACA,MAAMC,UAAU,GAAG/D,IAAI,CAAC+D,UAAU,KAAK,KAAK;QAC5C,IAAIA,UAAU,IAAIvD,YAAY,IAAI,CAACE,WAAW,IAAIiD,MAAM,KAAK,YAAY,EAAE;UACzE;UACA,MAAMK,OAAO,GAAGP,IAAI,CAACQ,UAAU,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAAC,CAAC,CAAC;UACrD,IAAIH,OAAO,IAAIA,OAAO,CAACG,SAAS,CAAC,CAAC,EAAE;YAClC,IAAIC,aAAa,GAAG,KAAK;YACzB,KAAK,MAAMC,IAAI,IAAIL,OAAO,CAACJ,IAAI,CAACU,IAAI,EAAE;cACpC,IAAInC,CAAC,CAACoC,mBAAmB,CAACF,IAAI,CAAC,EAAE;gBAC/B,KAAK,MAAMG,IAAI,IAAIH,IAAI,CAACI,UAAU,EAAE;kBAClC,IACEtC,CAAC,CAACuC,iBAAiB,CAACF,IAAI,CAAC,IACzBrC,CAAC,CAACwC,YAAY,CAACH,IAAI,CAACI,QAAQ,CAAC,IAC7BJ,IAAI,CAACI,QAAQ,CAACvC,IAAI,KAAK,mBAAmB,EAC1C;oBACA+B,aAAa,GAAG,IAAI;oBACpB;kBACF;gBACF;cACF;cACA,IAAIA,aAAa,EAAE;YACrB;YAEA,IAAI,CAACA,aAAa,EAAE;cAClB1D,WAAW,GAAG,IAAI;;cAElB;cACA,MAAMmE,QAAQ,GAAG5F,oBAAoB,CAACyE,KAAK,CAAC,IAAI,EAAE;cAClD,MAAMoB,YAAY,GAAGjG,QAAQ,CAACkE,IAAI,CAACtC,aAAa,EAAE,UAAU,CAAC;cAC7D,IAAIsE,kBAA0B;cAE9B,IAAIF,QAAQ,EAAE;gBACZ,MAAMG,OAAO,GAAGnG,QAAQ,CAAC2C,OAAO,CAACqD,QAAQ,CAAC;gBAC1CE,kBAAkB,GAAGlG,QAAQ,CAACoG,QAAQ,CAACD,OAAO,EAAEF,YAAY,CAAC;gBAC7D,IAAI,CAACC,kBAAkB,CAACjB,UAAU,CAAC,GAAG,CAAC,EAAE;kBACvCiB,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB;gBAChD;cACF,CAAC,MAAM;gBACLA,kBAAkB,GAAGD,YAAY;cACnC;;cAEA;cACA,MAAMI,gBAAgB,GAAG/C,CAAC,CAACgD,iBAAiB,CAC1C,CACEhD,CAAC,CAACiD,eAAe,CACfjD,CAAC,CAACkD,UAAU,CAAC,sBAAsB,CAAC,EACpClD,CAAC,CAACkD,UAAU,CAAC,mBAAmB,CAClC,CAAC,CACF,EACDlD,CAAC,CAACmD,aAAa,CAAC,YAAY,CAC9B,CAAC;;cAED;cACA,MAAMC,gBAAgB,GAAGpD,CAAC,CAACgD,iBAAiB,CAC1C,CAAChD,CAAC,CAACqD,sBAAsB,CAACrD,CAAC,CAACkD,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC5DlD,CAAC,CAACmD,aAAa,CAACP,kBAAkB,CACpC,CAAC;;cAED;cACA,MAAMU,QAAQ,GAAGtD,CAAC,CAACuD,mBAAmB,CACpCvD,CAAC,CAACwD,cAAc,CAACxD,CAAC,CAACkD,UAAU,CAAC,sBAAsB,CAAC,EAAE,CACrDlD,CAAC,CAACkD,UAAU,CAAC,kBAAkB,CAAC,CACjC,CACH,CAAC;;cAED;cACA5B,IAAI,CAACmC,WAAW,CAAC,CAACV,gBAAgB,EAAEK,gBAAgB,EAAEE,QAAQ,CAAC,CAAC;cAEhE,IAAIzF,IAAI,CAACiD,OAAO,EAAE;gBAChBE,OAAO,CAACE,GAAG,CAAC,gDAAgDwB,QAAQ,EAAE,CAAC;cACzE;YACF;UACF;QACF;MACF,CAAC;MAED;AACN;AACA;MACMgB,iBAAiBA,CAACpC,IAAI,EAAEC,KAAK,EAAE;QAC7B,MAAM1D,IAAI,GAAG0D,KAAK,CAAC1D,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACwC,QAAQ,EAAE;QAEnB,MAAMqC,QAAQ,GAAG5F,oBAAoB,CAACyE,KAAK,CAAC,IAAI,SAAS;QAEzD,MAAMoC,aAAa,GAAG1G,gBAAgB,CAACqE,IAAI,CAACG,IAAI,EAAEzB,CAAC,CAAC;QACpD,IAAI,CAAC2D,aAAa,EAAE;QAEpB,IAAI,CAAC9G,gBAAgB,CAAC+G,GAAG,CAACD,aAAa,CAAC,EAAE;QAE1C,MAAME,QAAQ,GAAG3G,gBAAgB,CAACoE,IAAI,CAACG,IAAI,EAAEzB,CAAC,CAAC;QAE/C,IAAI,CAAC6D,QAAQ,EAAE;UACb,IAAIhG,IAAI,CAACiD,OAAO,EAAE;YAChB,MAAMgD,GAAG,GAAGzG,eAAe,CAACiE,IAAI,CAACG,IAAI,CAAC;YACtCT,OAAO,CAACE,GAAG,CACT,8CAA8CwB,QAAQ,IAAIoB,GAAG,CAACC,IAAI,gBAAgBJ,aAAa,GACjG,CAAC;UACH;UACA;QACF;QAEA,MAAMK,MAAM,GAAGpH,oBAAoB,CAAC+G,aAAa,CAAC;QAClD,IAAI,CAACK,MAAM,EAAE;QAEb,MAAMC,YAAY,GAAG,GAAGD,MAAM,IAAIH,QAAQ,EAAE;QAE5C,MAAMC,GAAG,GAAGzG,eAAe,CAACiE,IAAI,CAACG,IAAI,CAAC;QACtCnE,SAAS,CAAC4G,GAAG,CAACD,YAAY,EAAEvB,QAAQ,EAAEoB,GAAG,CAACC,IAAI,EAAED,GAAG,CAACK,MAAM,CAAC;MAC7D,CAAC;MAED;AACN;AACA;MACMC,cAAcA,CAAC9C,IAAI,EAAEC,KAAK,EAAE;QAC1B,MAAM1D,IAAI,GAAG0D,KAAK,CAAC1D,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAIA,IAAI,CAACwC,QAAQ,EAAE;QAEnB,MAAMqC,QAAQ,GAAG5F,oBAAoB,CAACyE,KAAK,CAAC,IAAI,SAAS;QAEzD,IAAI,CAACpE,QAAQ,CAACmE,IAAI,EAAE,eAAe,EAAEtB,CAAC,CAAC,EAAE;QAEzC,MAAMqE,QAAQ,GAAG/C,IAAI,CAACG,IAAI,CAAC6C,SAAS,CAAC,CAAC,CAAC;QACvC,MAAMC,SAAS,GAAGnH,mBAAmB,CAACiH,QAAQ,EAAErE,CAAC,CAAC;QAElD,MAAM8D,GAAG,GAAGzG,eAAe,CAACiE,IAAI,CAACG,IAAI,CAAC;QACtC,KAAK,MAAMoC,QAAQ,IAAIU,SAAS,EAAE;UAChCjH,SAAS,CAAC4G,GAAG,CAACL,QAAQ,EAAEnB,QAAQ,EAAEoB,GAAG,CAACC,IAAI,EAAED,GAAG,CAACK,MAAM,CAAC;QACzD;MACF;IACF,CAAC;IAEDK,IAAIA,CAACpE,IAAI,EAAE;MACT,MAAMvC,IAAI,GAAGC,gBAAgB,CAAC,IAAI,CAAC;MACnC,IAAID,IAAI,CAACwC,QAAQ,EAAE;MAEnB,MAAMqC,QAAQ,GAAG3F,mBAAmB,CAACqD,IAAI,CAAC;MAE1C,IAAIsC,QAAQ,EAAE;QACZ1E,cAAc,CAACkG,GAAG,CAACxB,QAAQ,CAAC;QAC5BpF,SAAS,CAACmH,iBAAiB,CAAC/B,QAAQ,CAAC;MACvC;;MAEA;MACA,IAAIvE,WAAW,EAAE;QACfuG,YAAY,CAACvG,WAAW,CAAC;MAC3B;MAEAA,WAAW,GAAGwG,UAAU,CAAC,YAAY;QACnC,IAAI,CAACrH,SAAS,CAACsH,iBAAiB,CAAC,CAAC,EAAE;UAClCtH,SAAS,CAACuH,mBAAmB,CAAC,CAAC;;UAE/B;UACA,MAAMC,QAAQ,GAAGxH,SAAS,CAACyH,YAAY,CAAC,CAAC;UACzC,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAIjH,GAAG,CAAC,CAAC,GAAG6G,QAAQ,EAAE,GAAGtG,YAAY,CAAC,CAAC,CAAC;UAEpE,IAAIwG,QAAQ,CAAC7D,MAAM,GAAG,CAAC,EAAE;YACvB7D,SAAS,CAAC6H,YAAY,CAAC,CAAC;YAExB,IAAI;cACF,MAAM5H,cAAc,CAACyH,QAAQ,EAAEnH,IAAI,EAAEO,WAAW,EAAEK,cAAc,CAAC;YACnE,CAAC,CAAC,OAAOsC,KAAK,EAAE;cACdC,OAAO,CAACD,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;YAC/D;UACF;UAEA7C,eAAe,GAAG,KAAK;QACzB;MACF,CAAC,EAAE,GAAG,CAAC;IACT;EACF,CAAC;AACH;;AAEA;AACA,SAASiB,eAAe,EAAES,eAAe,EAAEjB,gBAAgB;;AAE3D;AACA;AACA;AACA,OAAO,SAASyG,gBAAgBA,CAAA,EAAS;EACvCpH,cAAc,CAACqH,KAAK,CAAC,CAAC;EACtBnH,eAAe,GAAG,KAAK;EACvBE,WAAW,GAAG,EAAE;EAChBG,WAAW,GAAG,KAAK;EACnBF,YAAY,GAAG,KAAK;EACpBC,aAAa,GAAG,EAAE;EAClBE,YAAY,GAAG,EAAE;EACjBC,cAAc,GAAG,IAAI;EACrB,IAAIN,WAAW,EAAE;IACfuG,YAAY,CAACvG,WAAW,CAAC;IACzBA,WAAW,GAAG,IAAI;EACpB;EACAb,SAAS,CAACgI,KAAK,CAAC,CAAC;AACnB","ignoreList":[]}
@@ -7,6 +7,7 @@
7
7
  import * as fs from 'fs';
8
8
  import * as path from 'path';
9
9
  import { COMPONENT_PREFIX_MAP } from './types';
10
+ import { isValidIconName } from './ast-utils';
10
11
 
11
12
  /**
12
13
  * Scanner options
@@ -89,9 +90,11 @@ function scanFile(filePath, componentRegex, componentNameRegex, verbose) {
89
90
  const componentName = lastNameMatch[1];
90
91
  const prefix = COMPONENT_PREFIX_MAP[componentName];
91
92
  if (prefix) {
92
- icons.push(`${prefix}:${iconName}`);
93
+ const fullName = `${prefix}:${iconName}`;
94
+ if (!isValidIconName(fullName)) continue;
95
+ icons.push(fullName);
93
96
  if (verbose) {
94
- console.log(`[rn-iconify:scanner] Found ${prefix}:${iconName} in ${filePath}`);
97
+ console.log(`[rn-iconify:scanner] Found ${fullName} in ${filePath}`);
95
98
  }
96
99
  }
97
100
  }
@@ -106,7 +109,7 @@ function scanFile(filePath, componentRegex, componentNameRegex, verbose) {
106
109
  let itemMatch;
107
110
  while ((itemMatch = STRING_ITEM_REGEX.exec(arrayContent)) !== null) {
108
111
  const iconName = itemMatch[1];
109
- if (iconName && iconName.includes(':')) {
112
+ if (iconName && iconName.includes(':') && isValidIconName(iconName)) {
110
113
  icons.push(iconName);
111
114
  if (verbose) {
112
115
  console.log(`[rn-iconify:scanner] Found prefetch ${iconName} in ${filePath}`);
@@ -1 +1 @@
1
- {"version":3,"names":["fs","path","COMPONENT_PREFIX_MAP","DEFAULT_EXTENSIONS","DEFAULT_EXCLUDE_DIRS","Set","buildComponentRegex","componentNames","Object","keys","join","RegExp","buildComponentNameRegex","PREFETCH_REGEX","STRING_ITEM_REGEX","scanFile","filePath","componentRegex","componentNameRegex","verbose","icons","content","readFileSync","includes","lastIndex","fullPattern","source","match","exec","iconName","beforeMatch","substring","index","namePattern","nameMatch","lastNameMatch","componentName","prefix","push","console","log","arrayContent","itemMatch","walkDirSync","dir","extensions","excludeDirs","files","entries","readdirSync","withFileTypes","entry","isDirectory","has","name","isFile","ext","extname","readUsageFile","projectRoot","usagePath","existsSync","usage","JSON","parse","version","Array","isArray","length","scanProjectForIcons","options","excludeSet","startTime","Date","now","allIcons","file","icon","add","usageIcons","result","from","elapsed"],"sourceRoot":"../../../src","sources":["babel/scanner.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","path","COMPONENT_PREFIX_MAP","isValidIconName","DEFAULT_EXTENSIONS","DEFAULT_EXCLUDE_DIRS","Set","buildComponentRegex","componentNames","Object","keys","join","RegExp","buildComponentNameRegex","PREFETCH_REGEX","STRING_ITEM_REGEX","scanFile","filePath","componentRegex","componentNameRegex","verbose","icons","content","readFileSync","includes","lastIndex","fullPattern","source","match","exec","iconName","beforeMatch","substring","index","namePattern","nameMatch","lastNameMatch","componentName","prefix","fullName","push","console","log","arrayContent","itemMatch","walkDirSync","dir","extensions","excludeDirs","files","entries","readdirSync","withFileTypes","entry","isDirectory","has","name","isFile","ext","extname","readUsageFile","projectRoot","usagePath","existsSync","usage","JSON","parse","version","Array","isArray","length","scanProjectForIcons","options","excludeSet","startTime","Date","now","allIcons","file","icon","add","usageIcons","result","from","elapsed"],"sourceRoot":"../../../src","sources":["babel/scanner.ts"],"mappings":"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","ignoreList":[]}
@@ -84,6 +84,24 @@ export function getFilenameFromFile(file) {
84
84
  return getFilename(file);
85
85
  }
86
86
 
87
+ /**
88
+ * Type guard to check if an object has opts.root
89
+ */
90
+ function hasOptsWithRoot(obj) {
91
+ return typeof obj === 'object' && obj !== null && 'opts' in obj && typeof obj.opts === 'object' && obj.opts !== null && 'root' in obj.opts && typeof obj.opts.root === 'string';
92
+ }
93
+
94
+ /**
95
+ * Helper to safely extract project root from BabelFile object
96
+ * Babel sets file.opts.root from babel.config.js location
97
+ */
98
+ export function getRootFromFile(file) {
99
+ if (hasOptsWithRoot(file)) {
100
+ return file.opts.root;
101
+ }
102
+ return undefined;
103
+ }
104
+
87
105
  /**
88
106
  * Collected icon information
89
107
  */
@@ -1 +1 @@
1
- {"version":3,"names":["hasOptsWithFilename","obj","opts","filename","hasFilename","hasFileOptsFilename","file","getFilenameFromState","state","getFilename","getFilenameFromFile","COMPONENT_PREFIX_MAP","Mdi","MdiLight","Heroicons","HeroiconsOutline","HeroiconsSolid","Lucide","LucideLab","Ph","Feather","Tabler","Bi","Ri","Carbon","Ion","Octicon","SimpleIcons","Logos","Solar","Iconoir","Fa","FaBrands","FaRegular","FaSolid","Fa6Solid","Fa6Regular","Fa6Brands","Fa7Solid","Fa7Regular","Fa7Brands","Fad","Fluent","FluentColor","FluentEmoji","FluentEmojiFlat","FluentEmojiHighContrast","FluentMdl2","MaterialSymbols","MaterialSymbolsLight","MaterialIconTheme","AntDesign","Academicons","AkarIcons","Arcticons","Basil","BitcoinIcons","Bpmn","Brandico","Bx","Bxl","Bxs","Bytesize","Catppuccin","Cbi","Charm","Ci","Cib","Cif","Cil","CircleFlags","Circum","Clarity","Codex","Codicon","Covid","Cryptocurrency","CryptocurrencyColor","Cuida","Dashicons","Devicon","DeviconPlain","DinkieIcons","DuoIcons","Ei","El","EmojioneMonotone","Entypo","EntypoSocial","EosIcons","Ep","Et","Eva","F7","Famicons","Fe","FileIcons","Flag","Flagpack","FlatUi","Flowbite","Fontelico","Fontisto","Formkit","Foundation","Gala","GameIcons","Garden","Geo","Gg","Gis","GravityUi","Gridicons","GrommetIcons","Guidance","Healthicons","Hugeicons","Humbleicons","Ic","IcomoonFree","IconPark","IconParkOutline","IconParkSolid","IconParkTwotone","Iconamoon","Icons8","Il","Iwwa","Ix","Jam","La","LetsIcons","LineMd","Lineicons","Ls","Lsicon","Mage","Majesticons","Maki","Map","Marketeq","MedicalIcon","Memory","Meteocons","MeteorIcons","Mi","Mingcute","MonoIcons","Mynaui","Nimbus","Nonicons","Nrk","Oi","Ooui","Oui","Pajamas","Pepicons","PepiconsPencil","PepiconsPop","PepiconsPrint","Picon","Pixel","Pixelarticons","Prime","Proicons","Ps","QlementineIcons","Quill","RadixIcons","Raphael","RivetIcons","Roentgen","Si","SiGlyph","Sidekickicons","SimpleLineIcons","SkillIcons","Stash","Streamline","StreamlineBlock","StreamlineColor","StreamlineCyber","StreamlineCyberColor","StreamlineEmojis","StreamlineFlex","StreamlineFlexColor","StreamlineFreehand","StreamlineFreehandColor","StreamlineKameleonColor","StreamlineLogos","StreamlinePixel","StreamlinePlump","StreamlinePlumpColor","StreamlineSharp","StreamlineSharpColor","StreamlineStickiesColor","StreamlineUltimate","StreamlineUltimateColor","Subway","SvgSpinners","SystemUicons","Tdesign","Teenyicons","Temaki","Token","TokenBranded","Topcoat","Typcn","Uil","Uim","Uis","Uit","Uiw","Unjs","Vaadin","Vs","VscodeIcons","Websymbol","Weui","Whh","Wi","Wpf","Zmdi","Zondicons","PREFIX_COMPONENT_MAP","Object","entries","reduce","acc","component","prefix","VALID_COMPONENTS","Set","keys","VALID_PREFIXES","values"],"sourceRoot":"../../../src","sources":["babel/types.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hasOptsWithFilename","obj","opts","filename","hasFilename","hasFileOptsFilename","file","getFilenameFromState","state","getFilename","getFilenameFromFile","hasOptsWithRoot","root","getRootFromFile","undefined","COMPONENT_PREFIX_MAP","Mdi","MdiLight","Heroicons","HeroiconsOutline","HeroiconsSolid","Lucide","LucideLab","Ph","Feather","Tabler","Bi","Ri","Carbon","Ion","Octicon","SimpleIcons","Logos","Solar","Iconoir","Fa","FaBrands","FaRegular","FaSolid","Fa6Solid","Fa6Regular","Fa6Brands","Fa7Solid","Fa7Regular","Fa7Brands","Fad","Fluent","FluentColor","FluentEmoji","FluentEmojiFlat","FluentEmojiHighContrast","FluentMdl2","MaterialSymbols","MaterialSymbolsLight","MaterialIconTheme","AntDesign","Academicons","AkarIcons","Arcticons","Basil","BitcoinIcons","Bpmn","Brandico","Bx","Bxl","Bxs","Bytesize","Catppuccin","Cbi","Charm","Ci","Cib","Cif","Cil","CircleFlags","Circum","Clarity","Codex","Codicon","Covid","Cryptocurrency","CryptocurrencyColor","Cuida","Dashicons","Devicon","DeviconPlain","DinkieIcons","DuoIcons","Ei","El","EmojioneMonotone","Entypo","EntypoSocial","EosIcons","Ep","Et","Eva","F7","Famicons","Fe","FileIcons","Flag","Flagpack","FlatUi","Flowbite","Fontelico","Fontisto","Formkit","Foundation","Gala","GameIcons","Garden","Geo","Gg","Gis","GravityUi","Gridicons","GrommetIcons","Guidance","Healthicons","Hugeicons","Humbleicons","Ic","IcomoonFree","IconPark","IconParkOutline","IconParkSolid","IconParkTwotone","Iconamoon","Icons8","Il","Iwwa","Ix","Jam","La","LetsIcons","LineMd","Lineicons","Ls","Lsicon","Mage","Majesticons","Maki","Map","Marketeq","MedicalIcon","Memory","Meteocons","MeteorIcons","Mi","Mingcute","MonoIcons","Mynaui","Nimbus","Nonicons","Nrk","Oi","Ooui","Oui","Pajamas","Pepicons","PepiconsPencil","PepiconsPop","PepiconsPrint","Picon","Pixel","Pixelarticons","Prime","Proicons","Ps","QlementineIcons","Quill","RadixIcons","Raphael","RivetIcons","Roentgen","Si","SiGlyph","Sidekickicons","SimpleLineIcons","SkillIcons","Stash","Streamline","StreamlineBlock","StreamlineColor","StreamlineCyber","StreamlineCyberColor","StreamlineEmojis","StreamlineFlex","StreamlineFlexColor","StreamlineFreehand","StreamlineFreehandColor","StreamlineKameleonColor","StreamlineLogos","StreamlinePixel","StreamlinePlump","StreamlinePlumpColor","StreamlineSharp","StreamlineSharpColor","StreamlineStickiesColor","StreamlineUltimate","StreamlineUltimateColor","Subway","SvgSpinners","SystemUicons","Tdesign","Teenyicons","Temaki","Token","TokenBranded","Topcoat","Typcn","Uil","Uim","Uis","Uit","Uiw","Unjs","Vaadin","Vs","VscodeIcons","Websymbol","Weui","Whh","Wi","Wpf","Zmdi","Zondicons","PREFIX_COMPONENT_MAP","Object","entries","reduce","acc","component","prefix","VALID_COMPONENTS","Set","keys","VALID_PREFIXES","values"],"sourceRoot":"../../../src","sources":["babel/types.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AAyCA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA,SAASA,mBAAmBA,CAACC,GAAY,EAAyC;EAChF,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ,IACxDD,GAAG,CAA6BC,IAAI,KAAK,IAAI,IAC9C,UAAU,IAAMD,GAAG,CAA6BC,IAAe,IAC/D,OAAQD,GAAG,CAA2CC,IAAI,CAACC,QAAQ,KAAK,QAAQ;AAEpF;;AAEA;AACA;AACA;AACA,SAASC,WAAWA,CAACH,GAAY,EAA+B;EAC9D,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,UAAU,IAAIA,GAAG,IACjB,OAAQA,GAAG,CAA6BE,QAAQ,KAAK,QAAQ;AAEjE;;AAEA;AACA;AACA;AACA,SAASE,mBAAmBA,CAACJ,GAAY,EAAmD;EAC1F,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACbD,mBAAmB,CAAEC,GAAG,CAA6BK,IAAI,CAAC;AAE9D;;AAEA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,KAAuB,EAAU;EACpE;EACA,IAAIA,KAAK,CAACL,QAAQ,EAAE;IAClB,OAAOK,KAAK,CAACL,QAAQ;EACvB;;EAEA;EACA,IAAIK,KAAK,CAACF,IAAI,EAAEJ,IAAI,EAAEC,QAAQ,EAAE;IAC9B,OAAOK,KAAK,CAACF,IAAI,CAACJ,IAAI,CAACC,QAAQ;EACjC;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASM,WAAWA,CAACR,GAAY,EAAU;EAChD;EACA,IAAIG,WAAW,CAACH,GAAG,CAAC,EAAE;IACpB,OAAOA,GAAG,CAACE,QAAQ;EACrB;;EAEA;EACA,IAAIH,mBAAmB,CAACC,GAAG,CAAC,EAAE;IAC5B,OAAOA,GAAG,CAACC,IAAI,CAACC,QAAQ;EAC1B;;EAEA;EACA,IAAIE,mBAAmB,CAACJ,GAAG,CAAC,EAAE;IAC5B,OAAOA,GAAG,CAACK,IAAI,CAACJ,IAAI,CAACC,QAAQ;EAC/B;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,mBAAmBA,CAACJ,IAAa,EAAU;EACzD,OAAOG,WAAW,CAACH,IAAI,CAAC;AAC1B;;AAEA;AACA;AACA;AACA,SAASK,eAAeA,CAACV,GAAY,EAAqC;EACxE,OACE,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,KAAK,IAAI,IACZ,MAAM,IAAIA,GAAG,IACb,OAAQA,GAAG,CAA6BC,IAAI,KAAK,QAAQ,IACxDD,GAAG,CAA6BC,IAAI,KAAK,IAAI,IAC9C,MAAM,IAAMD,GAAG,CAA6BC,IAAe,IAC3D,OAAQD,GAAG,CAAuCC,IAAI,CAACU,IAAI,KAAK,QAAQ;AAE5E;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACP,IAAa,EAAsB;EACjE,IAAIK,eAAe,CAACL,IAAI,CAAC,EAAE;IACzB,OAAOA,IAAI,CAACJ,IAAI,CAACU,IAAI;EACvB;EACA,OAAOE,SAAS;AAClB;;AAEA;AACA;AACA;;AAuBA;AACA;AACA;;AAeA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAA4C,GAAG;EAC1D;EACAC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,WAAW;EACtBC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,iBAAiB;EACjCC,MAAM,EAAE,QAAQ;EAChBC,SAAS,EAAE,YAAY;EACvBC,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,cAAc;EAC3BC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAElB;EACAC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,YAAY;EACvBC,OAAO,EAAE,UAAU;EACnBC,QAAQ,EAAE,WAAW;EACrBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,YAAY;EACvBC,QAAQ,EAAE,WAAW;EACrBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,YAAY;EACvBC,GAAG,EAAE,KAAK;EAEV;EACAC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,cAAc;EAC3BC,WAAW,EAAE,cAAc;EAC3BC,eAAe,EAAE,mBAAmB;EACpCC,uBAAuB,EAAE,4BAA4B;EACrDC,UAAU,EAAE,aAAa;EAEzB;EACAC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,iBAAiB,EAAE,qBAAqB;EAExC;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,cAAc,EAAE,gBAAgB;EAChCC,mBAAmB,EAAE,sBAAsB;EAE3C;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,eAAe;EAE7B;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,QAAQ,EAAE,WAAW;EAErB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,gBAAgB,EAAE,mBAAmB;EAErC;EACAC,MAAM,EAAE,QAAQ;EAChBC,YAAY,EAAE,eAAe;EAE7B;EACAC,QAAQ,EAAE,WAAW;EAErB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EAEpB;EACAC,MAAM,EAAE,SAAS;EAEjB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,QAAQ,EAAE,WAAW;EACrBC,eAAe,EAAE,mBAAmB;EACpCC,aAAa,EAAE,iBAAiB;EAChCC,eAAe,EAAE,mBAAmB;EAEpC;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,SAAS;EAEjB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,EAAE,EAAE,IAAI;EACRC,MAAM,EAAE,QAAQ;EAEhB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,WAAW,EAAE,aAAa;EAE1B;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,SAAS,EAAE,YAAY;EAEvB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,iBAAiB;EACjCC,WAAW,EAAE,cAAc;EAC3BC,aAAa,EAAE,gBAAgB;EAE/B;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,eAAe;EAE9B;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,eAAe,EAAE,kBAAkB;EAEnC;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,QAAQ,EAAE,UAAU;EAEpB;EACAC,EAAE,EAAE,IAAI;EACRC,OAAO,EAAE,UAAU;EAEnB;EACAC,aAAa,EAAE,eAAe;EAE9B;EACAC,eAAe,EAAE,mBAAmB;EAEpC;EACAC,UAAU,EAAE,aAAa;EAEzB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,UAAU,EAAE,YAAY;EACxBC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,iBAAiB;EACjCC,mBAAmB,EAAE,uBAAuB;EAC5CC,kBAAkB,EAAE,qBAAqB;EACzCC,uBAAuB,EAAE,2BAA2B;EACpDC,uBAAuB,EAAE,2BAA2B;EACpDC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,eAAe,EAAE,kBAAkB;EACnCC,oBAAoB,EAAE,wBAAwB;EAC9CC,uBAAuB,EAAE,2BAA2B;EACpDC,kBAAkB,EAAE,qBAAqB;EACzCC,uBAAuB,EAAE,2BAA2B;EAEpD;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,YAAY,EAAE,eAAe;EAE7B;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,UAAU,EAAE,YAAY;EAExB;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE,eAAe;EAE7B;EACAC,OAAO,EAAE,SAAS;EAElB;EACAC,KAAK,EAAE,OAAO;EAEd;EACAC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EAEV;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,MAAM,EAAE,QAAQ;EAEhB;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,WAAW,EAAE,cAAc;EAE3B;EACAC,SAAS,EAAE,WAAW;EAEtB;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,EAAE,EAAE,IAAI;EAER;EACAC,GAAG,EAAE,KAAK;EAEV;EACAC,IAAI,EAAE,MAAM;EAEZ;EACAC,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,oBAA4C,GAAGC,MAAM,CAACC,OAAO,CACxEvN,oBACF,CAAC,CAACwN,MAAM,CACN,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,MAAM,CAAC,KAAK;EAC5BF,GAAG,CAACE,MAAM,CAAC,GAAGD,SAAS;EACvB,OAAOD,GAAG;AACZ,CAAC,EACD,CAAC,CACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMG,gBAAgB,GAAG,IAAIC,GAAG,CAACP,MAAM,CAACQ,IAAI,CAAC9N,oBAAoB,CAAC,CAAC;;AAE1E;AACA;AACA;AACA,OAAO,MAAM+N,cAAc,GAAG,IAAIF,GAAG,CAACP,MAAM,CAACU,MAAM,CAAChO,oBAAoB,CAAC,CAAC","ignoreList":[]}
@@ -33,7 +33,7 @@ export type { BabelPluginOptions };
33
33
  export type { CollectedIcon, IconBundle, BabelPluginState } from './types';
34
34
  export { collector } from './collector';
35
35
  export { resetPluginState };
36
- export { COMPONENT_PREFIX_MAP, PREFIX_COMPONENT_MAP, VALID_COMPONENTS, VALID_PREFIXES, getFilenameFromState, getFilenameFromFile, } from './types';
36
+ export { COMPONENT_PREFIX_MAP, PREFIX_COMPONENT_MAP, VALID_COMPONENTS, VALID_PREFIXES, getFilenameFromState, getFilenameFromFile, getRootFromFile, } from './types';
37
37
  /**
38
38
  * Default export for Babel plugin
39
39
  * This is what Babel will import when you add 'rn-iconify/babel' to your config
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/babel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAe,qBAAqB,CAAC;AAErC;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/babel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAe,qBAAqB,CAAC;AAErC;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -9,12 +9,26 @@
9
9
  */
10
10
  import type { PluginObj, types as BabelTypes } from '@babel/core';
11
11
  import type { BabelPluginState } from './types';
12
+ /**
13
+ * Check if a scan lock file exists and is recent
14
+ */
15
+ declare function isScanLockActive(lockPath: string, maxAge?: number): boolean;
16
+ /**
17
+ * Acquire the scan lock by writing a timestamp file
18
+ * Returns true if lock was acquired, false if already held
19
+ */
20
+ declare function acquireScanLock(lockPath: string): boolean;
21
+ /**
22
+ * Release the scan lock
23
+ */
24
+ declare function releaseScanLock(lockPath: string): void;
12
25
  /**
13
26
  * Create the rn-iconify Babel plugin
14
27
  */
15
28
  export declare function createRnIconifyPlugin(babel: {
16
29
  types: typeof BabelTypes;
17
30
  }): PluginObj<BabelPluginState>;
31
+ export { acquireScanLock, releaseScanLock, isScanLockActive };
18
32
  /**
19
33
  * Reset plugin state (for testing)
20
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/babel/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,UAAU,EAAY,MAAM,aAAa,CAAC;AAE5E,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,SAAS,CAAC;AAsFpE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,KAAK,EAAE,OAAO,UAAU,CAAC;CAC1B,GAAG,SAAS,CAAC,gBAAgB,CAAC,CA8P9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAavC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/babel/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,UAAU,EAAY,MAAM,aAAa,CAAC;AAE5E,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,SAAS,CAAC;AAyFpE;;GAEG;AACH,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAA0B,GAAG,OAAO,CAOvF;AAED;;;GAGG;AACH,iBAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAelD;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,KAAK,EAAE,OAAO,UAAU,CAAC;CAC1B,GAAG,SAAS,CAAC,gBAAgB,CAAC,CA2P9B;AAGD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AAE9D;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAcvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/babel/scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CA6C/F"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/babel/scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CA6C/F"}
@@ -74,6 +74,11 @@ export declare function getFilename(obj: unknown): string;
74
74
  * This is a more descriptive name for when working with BabelFile objects
75
75
  */
76
76
  export declare function getFilenameFromFile(file: unknown): string;
77
+ /**
78
+ * Helper to safely extract project root from BabelFile object
79
+ * Babel sets file.opts.root from babel.config.js location
80
+ */
81
+ export declare function getRootFromFile(file: unknown): string | undefined;
77
82
  /**
78
83
  * Collected icon information
79
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/babel/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAyCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAYpE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAiBhD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CACX,MAAM,EACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CACF,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsevD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAA6C,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,cAAc,aAA+C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/babel/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAyCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAYpE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAiBhD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEzD;AAiBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKjE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CACX,MAAM,EACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CACF,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsevD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAA6C,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,cAAc,aAA+C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-iconify",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "268,000+ Iconify icons for React Native with native MMKV caching and full TypeScript autocomplete",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -45,6 +45,7 @@ export {
45
45
  VALID_PREFIXES,
46
46
  getFilenameFromState,
47
47
  getFilenameFromFile,
48
+ getRootFromFile,
48
49
  } from './types';
49
50
 
50
51
  /**
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import * as nodePath from 'path';
12
+ import * as fs from 'fs';
12
13
  import type { PluginObj, types as BabelTypes, NodePath } from '@babel/core';
13
14
  import type { ImportDeclaration } from '@babel/types';
14
15
  import type { BabelPluginState, BabelPluginOptions } from './types';
@@ -17,6 +18,7 @@ import {
17
18
  VALID_COMPONENTS,
18
19
  getFilenameFromState,
19
20
  getFilenameFromFile,
21
+ getRootFromFile,
20
22
  } from './types';
21
23
  import {
22
24
  getComponentName,
@@ -97,6 +99,52 @@ let scannedIcons: string[] = [];
97
99
  */
98
100
  let existingBundle: IconBundle | null = null;
99
101
 
102
+ const SCAN_LOCK_MAX_AGE = 30000; // 30 seconds
103
+
104
+ /**
105
+ * Check if a scan lock file exists and is recent
106
+ */
107
+ function isScanLockActive(lockPath: string, maxAge: number = SCAN_LOCK_MAX_AGE): boolean {
108
+ try {
109
+ const stat = fs.statSync(lockPath);
110
+ return Date.now() - stat.mtimeMs < maxAge;
111
+ } catch {
112
+ return false;
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Acquire the scan lock by writing a timestamp file
118
+ * Returns true if lock was acquired, false if already held
119
+ */
120
+ function acquireScanLock(lockPath: string): boolean {
121
+ if (isScanLockActive(lockPath)) {
122
+ return false;
123
+ }
124
+ try {
125
+ const dir = nodePath.dirname(lockPath);
126
+ if (!fs.existsSync(dir)) {
127
+ fs.mkdirSync(dir, { recursive: true });
128
+ }
129
+ fs.writeFileSync(lockPath, String(Date.now()), { flag: 'wx' });
130
+ return true;
131
+ } catch {
132
+ // Another worker may have created it between our check and write
133
+ return false;
134
+ }
135
+ }
136
+
137
+ /**
138
+ * Release the scan lock
139
+ */
140
+ function releaseScanLock(lockPath: string): void {
141
+ try {
142
+ fs.unlinkSync(lockPath);
143
+ } catch {
144
+ // Already removed or never existed
145
+ }
146
+ }
147
+
100
148
  /**
101
149
  * Create the rn-iconify Babel plugin
102
150
  */
@@ -121,24 +169,9 @@ export function createRnIconifyPlugin(babel: {
121
169
  hasInjected = false;
122
170
  collector.initialize(opts);
123
171
 
124
- // Detect project root from file
125
- const filename = getFilenameFromFile(file);
126
- if (filename) {
127
- let dir = filename;
128
- while (dir !== '/') {
129
- dir = dir.substring(0, dir.lastIndexOf('/'));
130
- try {
131
- require.resolve(`${dir}/package.json`);
132
- projectRoot = dir;
133
- break;
134
- } catch {
135
- continue;
136
- }
137
- }
138
- if (!projectRoot) {
139
- projectRoot = process.cwd();
140
- }
141
- }
172
+ // Detect project root from Babel's root (set from babel.config.js location)
173
+ const root = getRootFromFile(file);
174
+ projectRoot = root || process.cwd();
142
175
 
143
176
  const outputPath = opts.outputPath || '.rn-iconify';
144
177
  bundleDirPath = resolveBundleDir(outputPath, projectRoot);
@@ -148,14 +181,26 @@ export function createRnIconifyPlugin(babel: {
148
181
  existingBundle = readExistingBundle(bundleJsonPath);
149
182
  bundleExists = existingBundle !== null;
150
183
 
151
- // Run sync scanner to discover all icons in the project
152
- try {
153
- scannedIcons = scanProjectForIcons(projectRoot, {
154
- verbose: opts.verbose,
155
- });
156
- } catch (error) {
184
+ // Use file-based lock to prevent duplicate scans across Metro workers
185
+ const lockPath = nodePath.join(bundleDirPath, '.scan-lock');
186
+ const lockAcquired = acquireScanLock(lockPath);
187
+
188
+ if (lockAcquired) {
189
+ try {
190
+ scannedIcons = scanProjectForIcons(projectRoot, {
191
+ verbose: opts.verbose,
192
+ });
193
+ } catch (error) {
194
+ if (opts.verbose) {
195
+ console.warn('[rn-iconify] Scanner failed:', error);
196
+ }
197
+ scannedIcons = [];
198
+ } finally {
199
+ releaseScanLock(lockPath);
200
+ }
201
+ } else {
157
202
  if (opts.verbose) {
158
- console.warn('[rn-iconify] Scanner failed:', error);
203
+ console.log('[rn-iconify] Scanner skipped (another worker is scanning)');
159
204
  }
160
205
  scannedIcons = [];
161
206
  }
@@ -358,12 +403,16 @@ export function createRnIconifyPlugin(babel: {
358
403
  };
359
404
  }
360
405
 
406
+ // Exported for testing
407
+ export { acquireScanLock, releaseScanLock, isScanLockActive };
408
+
361
409
  /**
362
410
  * Reset plugin state (for testing)
363
411
  */
364
412
  export function resetPluginState(): void {
365
413
  processedFiles.clear();
366
414
  buildInProgress = false;
415
+ projectRoot = '';
367
416
  hasInjected = false;
368
417
  bundleExists = false;
369
418
  bundleDirPath = '';
@@ -7,6 +7,7 @@
7
7
  import * as fs from 'fs';
8
8
  import * as path from 'path';
9
9
  import { COMPONENT_PREFIX_MAP } from './types';
10
+ import { isValidIconName } from './ast-utils';
10
11
 
11
12
  /**
12
13
  * Scanner options
@@ -137,9 +138,11 @@ function scanFile(
137
138
  const componentName = lastNameMatch[1];
138
139
  const prefix = COMPONENT_PREFIX_MAP[componentName];
139
140
  if (prefix) {
140
- icons.push(`${prefix}:${iconName}`);
141
+ const fullName = `${prefix}:${iconName}`;
142
+ if (!isValidIconName(fullName)) continue;
143
+ icons.push(fullName);
141
144
  if (verbose) {
142
- console.log(`[rn-iconify:scanner] Found ${prefix}:${iconName} in ${filePath}`);
145
+ console.log(`[rn-iconify:scanner] Found ${fullName} in ${filePath}`);
143
146
  }
144
147
  }
145
148
  }
@@ -155,7 +158,7 @@ function scanFile(
155
158
  let itemMatch: RegExpExecArray | null;
156
159
  while ((itemMatch = STRING_ITEM_REGEX.exec(arrayContent)) !== null) {
157
160
  const iconName = itemMatch[1];
158
- if (iconName && iconName.includes(':')) {
161
+ if (iconName && iconName.includes(':') && isValidIconName(iconName)) {
159
162
  icons.push(iconName);
160
163
  if (verbose) {
161
164
  console.log(`[rn-iconify:scanner] Found prefetch ${iconName} in ${filePath}`);
@@ -157,6 +157,32 @@ export function getFilenameFromFile(file: unknown): string {
157
157
  return getFilename(file);
158
158
  }
159
159
 
160
+ /**
161
+ * Type guard to check if an object has opts.root
162
+ */
163
+ function hasOptsWithRoot(obj: unknown): obj is { opts: { root: string } } {
164
+ return (
165
+ typeof obj === 'object' &&
166
+ obj !== null &&
167
+ 'opts' in obj &&
168
+ typeof (obj as Record<string, unknown>).opts === 'object' &&
169
+ (obj as Record<string, unknown>).opts !== null &&
170
+ 'root' in ((obj as Record<string, unknown>).opts as object) &&
171
+ typeof (obj as Record<string, { root: unknown }>).opts.root === 'string'
172
+ );
173
+ }
174
+
175
+ /**
176
+ * Helper to safely extract project root from BabelFile object
177
+ * Babel sets file.opts.root from babel.config.js location
178
+ */
179
+ export function getRootFromFile(file: unknown): string | undefined {
180
+ if (hasOptsWithRoot(file)) {
181
+ return file.opts.root;
182
+ }
183
+ return undefined;
184
+ }
185
+
160
186
  /**
161
187
  * Collected icon information
162
188
  */