Skip to content

Instantly share code, notes, and snippets.

@WandersonAlves
Created December 27, 2018 20:47
Show Gist options
  • Save WandersonAlves/443d5313511da9241244e76997c89dca to your computer and use it in GitHub Desktop.
Save WandersonAlves/443d5313511da9241244e76997c89dca to your computer and use it in GitHub Desktop.
Ideia

Um gerador de código customizavel

sinopse

Uma ferramenta instalavel nos projetos que tenha o poder de criar arquivos templates comum

  • componentes react
  • classes node
  • componentes vue
  • readme xingando o papa
  • e etc

Dada uma pasta ./generators no root do projeto. A ferramenta deve criar arquivos conforme a estrutura

|--generators
|  |--react
|     |--component
|     |--purecomponent
|  |--node
|     |--business
|  |.gconfig

exemplo de uso: waria (nome temporario) g react.component ProductList ou waria g node.business ProductBusiness

Com isso, no arquivo .gconfig, a configuração de onde gerar o template iria ser guardada

switch (route): {
  case 'react.component'
    // INTERNAL DETAIL
    read dir ./react/component/index.jsx|tsx
    parse template file
    // END OF INTERNAL DETAIL
    // USER CONFIG (usuario pode apontar que esse CASE vá pra uma pasta especifica)
    create on ../src/components/
}

Depois disso, baseado na sintaxe do yeoman. Pedimos pro usuario gerar o template do arquivo

ex: arquivo imaginario em ./generators/react/component/index.jsx


class <% fileName %> extends React.Component {
  render () {
    <h1>Temp</h1>
  }
}

export default (<% filename %>)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment