UNPKG

@compositor/lab

Version:

CLI utilities for Compositor Lab

27 lines (23 loc) 557 B
const uniq = require('lodash.uniq') const flatten = require('lodash.flatten') const getProps = require('@compositor/get-jsx-props') module.exports = ({ name, jsx, imports = [], examples = [] }) => { const props = uniq(flatten(examples.map(getProps)).map(s => s.prop)) return ` ${imports.map(name => `import ${name} from './${name}'`).join('\n')} export default { name: '${name}', props: ${JSON.stringify(props)}, render (h) { return ( ${jsx.replace(/props/g, 'this')} ) } } ` }