{"_id":"@abundiko/rn-genicons","_rev":"3-dbb16a6f1d56dfa16e896cdb0906c78d","name":"@abundiko/rn-genicons","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.1":{"name":"@abundiko/rn-genicons","version":"0.2.1","keywords":["react-native","react-native-icons","react-native-icon-generator"],"author":{"name":"abundiko"},"license":"MIT","_id":"@abundiko/rn-genicons@0.2.1","maintainers":[{"name":"abundiko","email":"abundiko111@gmail.com"}],"homepage":"https://github.com/abundiko/rn-genicons#readme","bugs":{"url":"https://github.com/abundiko/rn-genicons/issues"},"bin":{"rn-genicons":"dist/cli.js"},"dist":{"shasum":"4ce6f3849f3eb8f45c0bd62291c8d564bed0c54d","tarball":"https://registry.npmjs.org/@abundiko/rn-genicons/-/rn-genicons-0.2.1.tgz","fileCount":27,"integrity":"sha512-6dVsp9k1THc1HgUSrNVHXw8eGFPGUuJ20J0ZWOUtjI1M5q8JeztkVSopmMD9YXNbLqENnnCyxvnuUMOKdIjQMQ==","signatures":[{"sig":"MEUCIQDqiQ2AexSQSjL3lz7P0jSQSxU7ZGlYWyRv+5tKmsYmpQIgSuxbImPLRNm8AI9zHayESLLTwDgUbRLAJczsdy9dkYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40306},"type":"module","gitHead":"c5444fcf0275e93dccf388884a544b2da2a661ed","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","check-exports":"attw --pack .","local-release":"changeset version && changeset publish"},"_npmUser":{"name":"abundiko","email":"abundiko111@gmail.com"},"repository":{"url":"git+https://github.com/abundiko/rn-genicons.git","type":"git"},"_npmVersion":"11.7.0","description":"generate icons for react native","directories":{},"_nodeVersion":"22.14.0","dependencies":{"commander":"^14.0.2","cosmiconfig":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^25.0.3","@changesets/cli":"^2.28.0","@arethetypeswrong/cli":"^0.17.3"},"_npmOperationalInternal":{"tmp":"tmp/rn-genicons_0.2.1_1767784186203_0.7805158874996152","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@abundiko/rn-genicons","version":"0.3.0","keywords":["react-native","react-native-icons","react-native-icon-generator"],"author":{"name":"abundiko"},"license":"MIT","_id":"@abundiko/rn-genicons@0.3.0","maintainers":[{"name":"abundiko","email":"abundiko111@gmail.com"}],"homepage":"https://github.com/abundiko/rn-genicons#readme","bugs":{"url":"https://github.com/abundiko/rn-genicons/issues"},"bin":{"rn-genicons":"dist/cli.js"},"dist":{"shasum":"4290412647250c4774e71123f582a08c2655e5ca","tarball":"https://registry.npmjs.org/@abundiko/rn-genicons/-/rn-genicons-0.3.0.tgz","fileCount":31,"integrity":"sha512-Q3+xw0IcrtL0a+gqwOxrB9NMHTMvdE9LzfL8TW9zov2S4cGwaRTNLm/Sv+AIC96+Py/BolhG/6+W7gUaLgQIpw==","signatures":[{"sig":"MEYCIQCk7C36EL+5wHU35VmuNg5D0j90bpAjlFhCeHP690HzuwIhAOzWrpYIA7aMgH7Nd835bXv7dqdlk/GFl471yrUNKJDR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51135},"type":"module","gitHead":"a7d7db5bafa440eb7d25a538fd224fcd8d021b10","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","check-exports":"attw --pack .","local-release":"changeset version && changeset publish"},"_npmUser":{"name":"abundiko","email":"abundiko111@gmail.com"},"repository":{"url":"git+https://github.com/abundiko/rn-genicons.git","type":"git"},"_npmVersion":"11.7.0","description":"generate icons for react native","directories":{},"_nodeVersion":"22.14.0","dependencies":{"prettier":"^3.7.4","commander":"^14.0.2","cosmiconfig":"^9.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^25.0.3","@changesets/cli":"^2.28.0","@arethetypeswrong/cli":"^0.17.3"},"_npmOperationalInternal":{"tmp":"tmp/rn-genicons_0.3.0_1767823671291_0.24350366858184125","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@abundiko/rn-genicons","version":"0.4.0","description":"generate icons for react native","keywords":["react-native","react-native-icons","react-native-icon-generator"],"repository":{"type":"git","url":"git+https://github.com/abundiko/rn-genicons.git"},"license":"MIT","author":{"name":"abundiko"},"type":"module","scripts":{"build":"tsc","test":"echo \"Error: no test specified\" && exit 1","check-exports":"attw --pack .","local-release":"changeset version && changeset publish"},"devDependencies":{"@arethetypeswrong/cli":"^0.17.3","@changesets/cli":"^2.28.0","@types/node":"^25.0.3","typescript":"^5.7.3"},"bin":{"rn-genicons":"dist/cli.js"},"dependencies":{"commander":"^14.0.2","cosmiconfig":"^9.0.0","prettier":"^3.7.4"},"gitHead":"12b6b6bc533ed573b6ad52037b875b45f2a604aa","_id":"@abundiko/rn-genicons@0.4.0","bugs":{"url":"https://github.com/abundiko/rn-genicons/issues"},"homepage":"https://github.com/abundiko/rn-genicons#readme","_nodeVersion":"22.14.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-VzViX7+A1WQ8wwl6shGSkd9Ep8Sgb14hkYP9/WuJOvIg7m2Jhggaeqk3OQEsfIWDG5eTU/0KhWvWK38D1M8Usw==","shasum":"f1babc09b04c6ef2129ae3cdce2673bcac2a28e2","tarball":"https://registry.npmjs.org/@abundiko/rn-genicons/-/rn-genicons-0.4.0.tgz","fileCount":31,"unpackedSize":51095,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHPBi2ojWxGTtnKunwS7EpUaQmEyRpSb5/2jENd45KvwAiBjgtQGiXiWfmQBnlDSdh5em8rTkf7NH29/x/huKQtEjA=="}]},"_npmUser":{"name":"abundiko","email":"abundiko111@gmail.com"},"directories":{},"maintainers":[{"name":"abundiko","email":"abundiko111@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rn-genicons_0.4.0_1768309201775_0.7545468753943902"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T11:09:46.087Z","modified":"2026-01-13T13:00:02.123Z","0.2.1":"2026-01-07T11:09:46.342Z","0.3.0":"2026-01-07T22:07:51.437Z","0.4.0":"2026-01-13T13:00:01.934Z"},"bugs":{"url":"https://github.com/abundiko/rn-genicons/issues"},"author":{"name":"abundiko"},"license":"MIT","homepage":"https://github.com/abundiko/rn-genicons#readme","keywords":["react-native","react-native-icons","react-native-icon-generator"],"repository":{"type":"git","url":"git+https://github.com/abundiko/rn-genicons.git"},"description":"generate icons for react native","maintainers":[{"name":"abundiko","email":"abundiko111@gmail.com"}],"readme":"# @abundiko/rn-genicons\n\nQuickly generate thin, high-performance and adaptive icon components for React Native from SVG files. Supports standard StyleSheet, NativeWind v2 (v4, v5 [BETA]), and Uniwind.\n\n![Example usage screenshot](./assets/screenshot.png)\n\n## NOTE\n\nthis package depends on [react-native-svg](https://github.com/software-mansion/react-native-svg) so you must have configured it first\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [Parameters](#parameters)\n  - [Method 1: package.json (Recommended)](#method-1-packagejson-recommended)\n  - [Method 2: CLI Arguments](#method-2-cli-arguments)\n  - [Method 3: .rn-geniconsrc File](#method-3-rn-geniconsrc-file)\n- [Usage in App](#usage-in-app)\n- [Best Practices](#best-practices)\n- [License](#license)\n\n## Features\n\n- 🚀 **High Performance**: Generates a single file with optimized icon components.\n- 🎨 **Style Support**: Seamless integration with NativeWind, UniWind, and standard React Native StyleSheet.\n- 📦 **TS/JS Support**: Automatically generates `.tsx`, `.jsx`, or `.js` files with appropriate types.\n- 🛠️ **Configurable**: Setup via CLI, `package.json`, or `.rc` file.\n- 🌈 **Customizable**: Optional SVG size reset and color neutralization.\n\n## Installation\n\n```bash\nnpm install @abundiko/rn-genicons --dev\n```\n\nor\n\n```bash\nbun add @abundiko/rn-genicons -d\n```\n\n## Configuration\n\nYou can configure `rn-genicons` using multiple methods. We recommend using `package.json` for persistent configuration.\n\n### Parameters\n\n| Option                   | CLI Flag                     | Description                                                                                                                                           | Default         |\n| ------------------------ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |\n| `in`                     | `-i, --in`                   | **Required**. Path to the folder containing your `.svg` icons.                                                                                        | -               |\n| `out`                    | `-o, --out`                  | **Required**. Path to the generated output file (must end in `.js`, `.jsx`, or `.tsx`).                                                               | -               |\n| `style`                  | `-s, --style`                | **Required**. Styling system to use: `stylesheet`, `uniwind`, `nativewindv2`, `nativewindv4`, `nativewindv5`.                                         | -               |\n| `name`                   | `-n, --name`                 | The name of the exported object containing all icons.                                                                                                 | `Icons`         |\n| `alias`                  | `-a, --alias`                | the full folder path with alias to use for SVG imports (useful if your SVGs are in a different module). eg: @/assets/images/icons                     | (Auto-relative) |\n| `svgFullSize`            | `--svg-full-size`            | If `true`, resets width and height of SVGs to `100%`. This allows you to specify a width and height with style or className.                          | `false`         |\n| `unsafeNeutralizeColors` | `--unsafe-neutralize-colors` | ⚠️ If `true`, replaces all hex colors for fill and stroke with `currentColor`. keep multi-colored icons in a seperate folder to avoid loss or colors. | `false`         |\n\n---\n\n### Method 1: package.json (Recommended)\n\nAdd a `rn-genicons` key to your `package.json`:\n\n```json\n{\n  \"name\": \"your-app\",\n  \"scripts\": {\n    \"icons\": \"rn-genicons\"\n  },\n  \"rn-genicons\": {\n    \"in\": \"./assets/icons\",\n    \"out\": \"./src/components/Icons.tsx\",\n    \"style\": \"nativewindv4\",\n    \"svgFullSize\": true\n  }\n}\n```\n\nThen run:\n\n```bash\nnpm run icons\n```\n\n### Method 2: CLI Arguments\n\n```bash\nnpx rn-genicons -i ./icons -o ./src/Icons.tsx -s nativewindv5 --svg-full-size true\n```\n\n### Method 3: .rn-geniconsrc File\n\nCreate a `.rn-geniconsrc` (JSON or YAML) in your project root:\n\n```json\n{\n  \"in\": \"./assets/svgs\",\n  \"out\": \"./src/generated/icons.js\",\n  \"style\": \"stylesheet\"\n}\n```\n\n## Usage in App\n\nOnce generated, use your icons easily:\n\n```tsx\nimport { Icons } from \"./src/components/Icons\";\n\nfunction App() {\n  return (\n    <Icons.Home\n      className=\"text-blue-500 w-10 h-10\" // Works if style is nativewind or uniwind\n      style={{ marginTop: 10 }}\n    />\n  );\n}\n```\n\n## Best Practices\n\n- make sure you have configured [react-native-svg](https://github.com/software-mansion/react-native-svg) first.\n\n- use `snake_casing` and avoid special characters in your svg files' names.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}