node-loader.cjs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. 'use strict';
  2. const loader_modern = require('./modern.cjs');
  3. const loader_fs = require('./fs.cjs');
  4. const loader_warn = require('./warn.cjs');
  5. const loader_loader = require('./loader.cjs');
  6. const loader_utils = require('./utils.cjs');
  7. require('../svg/build.cjs');
  8. require('../icon/defaults.cjs');
  9. require('../customisations/defaults.cjs');
  10. require('../svg/size.cjs');
  11. require('../svg/defs.cjs');
  12. require('../icon-set/get-icon.cjs');
  13. require('../icon/merge.cjs');
  14. require('../icon/transformations.cjs');
  15. require('../icon-set/tree.cjs');
  16. require('debug');
  17. require('fs');
  18. require('local-pkg');
  19. require('./install-pkg.cjs');
  20. require('@antfu/install-pkg');
  21. require('@antfu/utils');
  22. require('kolorist');
  23. require('mlly');
  24. require('./custom.cjs');
  25. require('../svg/trim.cjs');
  26. const loadNodeIcon = async (collection, icon, options) => {
  27. let result = await loader_loader.loadIcon(collection, icon, options);
  28. if (result) {
  29. return result;
  30. }
  31. const cwds = Array.isArray(options?.cwd) ? options.cwd : [options?.cwd];
  32. for (let i = 0; i < cwds.length; i++) {
  33. const iconSet = await loader_fs.loadCollectionFromFS(
  34. collection,
  35. i === cwds.length - 1 ? options?.autoInstall : false,
  36. void 0,
  37. cwds[i]
  38. );
  39. if (iconSet) {
  40. result = await loader_modern.searchForIcon(
  41. iconSet,
  42. collection,
  43. loader_utils.getPossibleIconNames(icon),
  44. options
  45. );
  46. if (result) {
  47. return result;
  48. }
  49. }
  50. }
  51. if (options?.warn) {
  52. loader_warn.warnOnce(`failed to load ${options.warn} icon`);
  53. }
  54. };
  55. exports.loadNodeIcon = loadNodeIcon;