vega-icons
v1.0.10
Published
OK, here's the README with explanations tailored to the provided `figma.config.js`:
Downloads
520
Readme
OK, here's the README with explanations tailored to the provided figma.config.js
:
# vega-icons
This repository is your one-stop shop for generating React icon components directly from your Figma designs. It automates the process of exporting SVGs, converting them into customizable React components, and bundling them for easy use in your projects.
## Features
* **Figma Integration:** Seamlessly connects to your Figma design files to extract icons.
* **React Component Generation:** Transforms SVGs into reusable React components using SVGR.
* **TypeScript Support:** Generates TypeScript type definitions for a better development experience.
* **SVG Optimization:** Optimizes SVGs with SVGO to reduce file size and improve performance.
* **Color Customization:** Converts all icon colors to `currentColor` for dynamic styling.
## Prerequisites
* **Node.js and Yarn:** Ensure you have Node.js and Yarn installed on your system.
* **Figma Personal Access Token:** Obtain a personal access token from your Figma account settings.
* **Figma File ID:** Locate the unique ID of your Figma file containing the icons.
## Setup
1. **Clone the repository:**
```bash
git clone <repository-url>
- Install dependencies:
yarn install
- Set up environment variables:
- Create a
.env
file in the project's root directory. - Add your Figma credentials:
- https://www.figma.com/developers/api
FILE_ID=<your-figma-file-id>
FIGMA_TOKEN=<your-figma-personal-access-token>
Usage
- Export Icons and Components:
yarn export
This command will:
- Fetch SVGs from the "Icon" page in your Figma file.
- Optimize the SVGs using SVGO.
- Convert SVGs into React components (
.tsx
files) and place them in thesrc/output
directory. - Run the post-export script to clean up the generated index.ts file, removing duplicates and file extensions from import statements. (only works at one pointed file at a time)
- Bundle Components (Optional):
- If you want to bundle all React components into a single file:
npm run build
This will create a dist/index.js
file containing all your bundled icon components.
- Use in Your Project:
- Install the
vega-icons
package in your main project:
yarn add vega-icons
# or
npm install vega-icons
- Import and use your icon components:
import { IconName } from 'vega-icons';
// In your component:
<IconName />
Important Notes:
- Ensure the
@svgr/plugin-jsx
plugin is installed (yarn add -D @svgr/plugin-jsx
) for React component generation. - Customize the
figma.config.js
if your Figma setup or desired output structure is different. - Consider adding automated tests and documentation to improve maintainability.
Let me know if you have any specific questions or want to add more details to your README!