Package Exports
- @figma-export/output-components-as-svgr
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@figma-export/output-components-as-svgr) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@figma-export/output-components-as-svgr
Outputter for @figma-export that exports components as React components.
With this outputter you can export all Figma components as React components into the specified output folder.
This is a sample of the output from this Figma file:
$ tree output/
# output
# ├── icons
# │ ├── FigmaArrow.jsx
# │ ├── FigmaExport.jsx
# │ ├── FigmaLogo.jsx
# │ └── index.js
# ├── monochrome
# │ ├── FigmaBlue.jsx
# │ ├── FigmaGreen.jsx
# │ ├── FigmaPurple.jsx
# │ ├── FigmaRed.jsx
# │ └── index.js
# └── unit-test
# ├── figma
# │ ├── logo
# │ │ ├── Main.jsx
# │ │ ├── MainBright.jsx
# │ │ └── index.js
# │ ├── Logo.jsx
# │ └── index.js
# ├── FigmaDefaultLogo.jsx
# └── index.jsTip: A figma component named
icon/eyewill be exported asEye.jsxinside theiconfolder. Anotherindex.jsfile will be created inside theiconfolder and this will export directly theEyecomponent.
.figmaexportrc.js
You can easily add this outputter to your .figmaexportrc.js:
module.exports = {
commands: [
['components', {
fileId: 'RSzpKJcnb6uBRQ3rOfLIyUs5',
onlyFromPages: ['icons', 'monochrome', 'unit-test'],
outputters: [
require('@figma-export/output-components-as-svgr')({
output: './output'
})
]
}],
]
}output is mandatory.
getDirname, getComponentName, getFileExtension and getSvgrConfig are optional.
const path = require('path');
const { pascalCase } = require('@figma-export/utils');
...
require('@figma-export/output-components-as-svgr')({
output: './output',
getDirname: (options) => `${options.pageName}${path.sep}${options.dirname}`,
getComponentName: (options) => `${pascalCase(options.basename)}`,
getFileExtension: (options) => '.jsx',
getSvgrConfig: (options) => ({}),
})defaults may change, please refer to
./src/index.ts
getSvgrConfig is a function that returns the SVGR configuration object.
Install
Using npm:
npm install --save-dev @figma-export/output-components-as-svgror using yarn:
yarn add @figma-export/output-components-as-svgr --dev