build.mjs 758 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env node
  2. import { buildJsIcons, buildIconsList } from '../../.build/build-icons.mjs'
  3. const componentTemplate = ({
  4. type,
  5. name,
  6. namePascal,
  7. children
  8. }) => `\
  9. import createVueComponent from '../createVueComponent';
  10. export default createVueComponent('${type}', '${name}', '${namePascal}', ${JSON.stringify(children)});`;
  11. const indexItemTemplate = ({
  12. name,
  13. namePascal
  14. }) => `export { default as ${namePascal} } from './${namePascal}';`
  15. const aliasTemplate = ({ fromPascal, toPascal }) => `export { default as Icon${fromPascal} } from './icons/Icon${toPascal}';\n`
  16. buildJsIcons({
  17. name: 'icons-vue',
  18. componentTemplate,
  19. indexItemTemplate,
  20. aliasTemplate,
  21. extension: 'ts',
  22. indexFile: 'index.ts',
  23. })
  24. buildIconsList('icons-vue')