Command line script to export and download icons from a Figma file using the Figma REST api.
Running the script will bring up a wizard to fill in the config for fetching the assets. You can also provide the icons-config.json yourself, then the wizard is skipped. After the config is provided, the figma file is fetched and parsed to find the icons frame, the files are downloaded and put locally in the directory provided in the config.
example config file:
{
"figmaPersonalToken": "YOUR_PERSONAL_TOKEN",
"fileId": "FILE_ID",
"page": "Identity",
"frame": "Icons",
"iconsPath": "assets/svg/icons",
"removeFromName": "Icon="
}
Update: from > v1.3.0 you can set the frame to -1 and it will fetch the icons from the whole page.
- Wizard to generate config, you will be prompted for any missing key
- icons-config.json is automatically added to .gitignore if it exists
- Directory to save the icons is created if it doesn't exist
- Icons are deleted from local directory when fetching new
- Icons with the same name are marked with
${iconName}-duplicate-name.svg
so you can easily spot them and fix figma file - Running the script with
-c
will clear the config and run the wizard again - You can use a custom path to your configuration file with
--config=path/to/config.json
frame
can be a path if your icons are nested, e.g.frame="Atoms/icons"
Install the cli globally so you can use it on any directory
npm install -g figma-export-icons
Or if you prefer install it in your project
npm install figma-export-icons --save
If you have installed the module globally:
$ export-icons
If you have installed it locally:
Create a script in your package.json
scripts: {
'export-icons': 'export-icons'
}
and run
npm run export-icons
OR
run it directly with:
npx export-icons
This script was developed and is part of our tools at Qikker Online.