Skip to content

Commit 5cb238e

Browse files
committed
feat(template): expose getProps util for template
Also improve template documentation. Closes #187
1 parent a4ce09a commit 5cb238e

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,23 @@ You can use a specific template.
180180
$ npx @svgr/cli --template path/to/template.js my-icon.svg
181181
```
182182

183-
You can find template examples in [templates folder](https://github.com/smooth-code/svgr/blob/master/packages/core/src/templates).
183+
An example of template:
184+
185+
```js
186+
const { getProps } = require('@svgr/core')
187+
188+
const reactDomTemplate = (code, config, state) => {
189+
const props = getProps(config)
190+
let result = `import React from 'react'\n\n`
191+
result += `const ${state.componentName} = ${props} => ${code}\n\n`
192+
result += `export default ${state.componentName}`
193+
return result
194+
}
195+
196+
module.exports = reactDomTemplate
197+
```
198+
199+
You can find all default templates in [templates folder](https://github.com/smooth-code/svgr/blob/master/packages/core/src/templates).
184200

185201
## Node API usage
186202

packages/core/src/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ export { default as toReactNative } from './h2x/toReactNative'
1919
// Templates
2020
export { default as reactDomTemplate } from './templates/reactDomTemplate'
2121
export { default as reactNativeTemplate } from './templates/reactNativeTemplate'
22+
export * from './templates/util'

0 commit comments

Comments
 (0)