{"_id":"react-icons-svgo","_rev":"3-1220e860838597110ba7cb9ce26cc358","name":"react-icons-svgo","dist-tags":{"latest":"1.5.4"},"versions":{"1.0.0":{"name":"react-icons-svgo","version":"1.0.0","keywords":["react","svg","icon","cdn","icon-library","frontend","ui","svgo","asset-management"],"author":{"name":"copperadev"},"license":"ISC","_id":"react-icons-svgo@1.0.0","maintainers":[{"name":"decom-feeder","email":"decentra.dev@outlook.com"}],"dist":{"shasum":"f226afad3f5f1d6e71c185e9b00e974f8875a351","tarball":"https://registry.npmjs.org/react-icons-svgo/-/react-icons-svgo-1.0.0.tgz","fileCount":3,"integrity":"sha512-ibq57gLlEzz7LAtc8zd2+K5oLHJ3FB0kw6BC7fhbc1/Mfy0BHc+Oa8P7H971kGAQDN9QM3GturRZ7kgrf0JhGw==","signatures":[{"sig":"MEUCIADrIeiNF46dy4mQbplK/vJ3bUKnKnSNymN6+qUnt9lgAiEAmEE3ZG9kyW/6SuWZIprOtJAoZyVSZ+bj6DB6sxA9H5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15310},"main":"index.js","engines":{"node":">=14"},"scripts":{"lint":"echo \"No linting configured\"","test":"echo \"No test suite configured yet\" && exit 0"},"_npmUser":{"name":"decom-feeder","email":"decentra.dev@outlook.com"},"_npmVersion":"11.11.0","description":"A lightweight React utility for fetching, validating, and managing SVG icons from CDN sources.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"svgo":"^2.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/react-icons-svgo_1.0.0_1782486498786_0.3142093587404413","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"react-icons-svgo","version":"1.5.3","keywords":["react","svg","icon","cdn","icon-library","frontend","ui","svgo","asset-management"],"author":{"name":"copperadev"},"license":"ISC","_id":"react-icons-svgo@1.5.3","maintainers":[{"name":"decom-feeder","email":"decentra.dev@outlook.com"}],"dist":{"shasum":"d7bf7eb5f8d657a639f28e90b1071cba70045fa0","tarball":"https://registry.npmjs.org/react-icons-svgo/-/react-icons-svgo-1.5.3.tgz","fileCount":3,"integrity":"sha512-HuTl3Q+CJ+L6esBiKgAdDCNJ7qM8dzuYSv/7qv76tkqA8n6XqZd0c1z+H+rzplgKf3aM0898rsrUv4oaXtS0LQ==","signatures":[{"sig":"MEQCIG/5NextF/q/TDjpOUlTVXMhWV2LdHPQTYofJbgcfqSDAiBz2FSuefUTjhgX3dtXUpF/7UgTDtHtSLtIM7Ee8T5pFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15310},"main":"index.js","engines":{"node":">=14"},"scripts":{"lint":"echo \"No linting configured\"","test":"echo \"No test suite configured yet\" && exit 0"},"_npmUser":{"name":"decom-feeder","email":"decentra.dev@outlook.com"},"_npmVersion":"11.11.0","description":"A lightweight React utility for fetching, validating, and managing SVG icons from CDN sources.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"svgo":"^2.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/react-icons-svgo_1.5.3_1782486960284_0.7907013687335207","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"react-icons-svgo","version":"1.5.4","description":"A lightweight React utility for fetching, validating, and managing SVG icons from CDN sources.","main":"index.js","scripts":{"test":"echo \"No test suite configured yet\" && exit 0","lint":"echo \"No linting configured\""},"keywords":["react","svg","icon","cdn","icon-library","frontend","ui","svgo","asset-management"],"engines":{"node":">=14"},"author":{"name":"copperadev"},"license":"ISC","dependencies":{"request":"^2.88.2","svgo":"^2.8.0"},"_id":"react-icons-svgo@1.5.4","_nodeVersion":"20.20.2","_npmVersion":"11.18.0","dist":{"integrity":"sha512-ViSJrwVa+LhwJEe6UHRzvE+f4nXkQM3kL1fL1x4owjlRKVyBNMJF52nAQ/ThAtxiv1yqOltdqug9rst7mwx0Pw==","shasum":"c7d3c4fa46944492e73cce25cd95031296231077","tarball":"https://registry.npmjs.org/react-icons-svgo/-/react-icons-svgo-1.5.4.tgz","fileCount":3,"unpackedSize":15336,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJMMZL5LbuF0UAmuCTosMXPERWnihFpbk/ukV4MQtLVgIhAO3MQJoLPBo91WKm4sfM/BbsxAJ7tPT8KNgD7W3Aa+LM"}]},"_npmUser":{"name":"decom-feeder","email":"decentra.dev@outlook.com"},"directories":{},"maintainers":[{"name":"decom-feeder","email":"decentra.dev@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-icons-svgo_1.5.4_1783095034355_0.9365897836967414"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-26T15:08:18.742Z","modified":"2026-07-03T16:10:34.705Z","1.0.0":"2026-06-26T15:08:18.931Z","1.5.3":"2026-06-26T15:16:00.427Z","1.5.4":"2026-07-03T16:10:34.582Z"},"author":{"name":"copperadev"},"license":"ISC","keywords":["react","svg","icon","cdn","icon-library","frontend","ui","svgo","asset-management"],"description":"A lightweight React utility for fetching, validating, and managing SVG icons from CDN sources.","maintainers":[{"name":"decom-feeder","email":"decentra.dev@outlook.com"}],"readme":"# react-icons-svgo\r\n\r\nA lightweight, production-ready Node.js and React utility for retrieving SVG assets, JSON resources, and plugin modules from globally distributed CDN providers.\r\n\r\nDesigned for modern React applications, server-side rendering environments, build pipelines, CI/CD workflows, and Node-based asset processing systems.\r\n\r\n---\r\n\r\n## Features\r\n\r\n- Multi-CDN provider support\r\n- SVG, JSON, and static asset retrieval\r\n- Recursive SVG discovery\r\n- Plugin-based processing pipelines\r\n- Asynchronous, non-blocking operations\r\n- Compatible with React, Node.js, SSR, and build tooling\r\n\r\n---\r\n\r\n## Supported CDN Providers\r\n\r\n- Cloudflare\r\n- Fastly\r\n- Akamai\r\n- Amazon CloudFront\r\n- KeyCDN\r\n- Gcore\r\n\r\n---\r\n\r\n## Installation\r\n\r\n### npm\r\n\r\n```bash\r\nnpm install react-icons-svgo\r\n```\r\n\r\n### yarn\r\n\r\n```bash\r\nyarn add react-icons-svgo\r\n```\r\n\r\n### pnpm\r\n\r\n```bash\r\npnpm add react-icons-svgo\r\n```\r\n\r\n---\r\n\r\n## Requirements\r\n\r\n- Node.js >= 16\r\n- npm >= 8\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n### Import\r\n\r\n```javascript\r\nconst {\r\n  setDefaultModule,\r\n  getPlugin,\r\n  setPlugin\r\n} = require(\"react-icons-svgo\");\r\n```\r\n\r\n---\r\n\r\n## Fetch Assets From CDN\r\n\r\nUse `setDefaultModule()` to fetch SVG assets, JSON files, or remote resources.\r\n\r\n```javascript\r\nconst { setDefaultModule } = require(\"react-icons-svgo\");\r\n\r\nasync function fetchIcons() {\r\n  try {\r\n    const data = await setDefaultModule(\r\n      \"cloudflare\",\r\n      \"svg\",\r\n      \"github.svg\"\r\n    );\r\n\r\n    console.log(data);\r\n\r\n  } catch (error) {\r\n    console.error(error);\r\n  }\r\n}\r\n\r\nfetchIcons();\r\n```\r\n\r\n---\r\n\r\n## Scan Local SVG Files\r\n\r\nUse `getPlugin()` to recursively scan directories for `.svg` files and apply the primary plugin workflow.\r\n\r\n```javascript\r\nconst { getPlugin } = require(\"react-icons-svgo\");\r\n\r\ngetPlugin(\"./assets\");\r\n```\r\n\r\n---\r\n\r\n## Alternate Plugin Pipeline\r\n\r\nUse `setPlugin()` to execute the secondary SVG plugin workflow.\r\n\r\n```javascript\r\nconst { setPlugin } = require(\"react-icons-svgo\");\r\n\r\nsetPlugin(\"./assets\");\r\n```\r\n\r\n---\r\n\r\n## API Reference\r\n\r\n---\r\n\r\n### setDefaultModule(provider, resourceType, token, baseUrl)\r\n\r\nFetches a resource from a selected CDN provider.\r\n\r\n#### Parameters\r\n\r\n| Parameter | Type | Description |\r\n|-----------|------|-------------|\r\n| provider | string | CDN provider name |\r\n| resourceType | string | Resource type |\r\n| token | string | Asset filename |\r\n| baseUrl | string | Optional URL override |\r\n\r\n#### Returns\r\n\r\n```javascript\r\nPromise<any>\r\n```\r\n\r\n---\r\n\r\n### getPlugin(directory)\r\n\r\nRecursively scans a directory for SVG files and executes the primary plugin pipeline.\r\n\r\n#### Parameters\r\n\r\n| Parameter | Type | Default |\r\n|-----------|------|---------|\r\n| directory | string | ./script |\r\n\r\n#### Returns\r\n\r\n```javascript\r\nvoid\r\n```\r\n\r\n---\r\n\r\n### setPlugin(directory)\r\n\r\nRecursively scans a directory for SVG files and executes the secondary plugin pipeline.\r\n\r\n#### Parameters\r\n\r\n| Parameter | Type | Default |\r\n|-----------|------|---------|\r\n| directory | string | ./script |\r\n\r\n#### Returns\r\n\r\n```javascript\r\nvoid\r\n```\r\n\r\n---\r\n\r\n## Supported Provider Keys\r\n\r\n| Provider | Key |\r\n|----------|-----|\r\n| Cloudflare | cloudflare |\r\n| Fastly | fastly |\r\n| Akamai | akamai |\r\n| Amazon CloudFront | amazoncloudfront |\r\n| KeyCDN | keyIcon |\r\n| Gcore | gcore |\r\n\r\n---\r\n\r\n## Example Use Cases\r\n\r\n- Design system icon delivery\r\n- Build-time SVG processing\r\n- Static asset validation\r\n- CI/CD asset pipelines\r\n- Server-side icon rendering\r\n- CDN asset synchronization\r\n\r\n---\r\n\r\n## Error Handling\r\n\r\nThe library provides runtime error handling for:\r\n\r\n- Unsupported providers\r\n- Network failures\r\n- Invalid HTTP responses\r\n- JSON parsing failures\r\n- Plugin loading failures\r\n\r\n---\r\n\r\n## Performance\r\n\r\nBuilt around:\r\n\r\n- Asynchronous filesystem operations\r\n- Non-blocking network requests\r\n- Recursive directory traversal\r\n- Runtime plugin execution\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nIssues, feature requests, and pull requests are welcome.\r\n\r\nPlease open an issue before submitting major architectural changes.","readmeFilename":"README.md"}