1.1.2 • Published 5 years ago
@movidesk/movi-components v1.1.2
MOVI Components
MOVI components é onde podemos adicionar nossos componentes com regra de negócio que são compartilhados por vários microfronts.
Como criar um novo componente
- Adicione o componente na pasta de seu domínio, exemplo: componente PasswordValidation fica na lib/Password/PasswordValidation.tsx (aqui é possível ter subdomínios).
- Nâo se esqueça de adicionar na pasta do seu componente, os testes e a story do storybook :D (Não vamos usar index.ts)
- Caso você precise de traduções, crie na raiz do domínio (ou subdomínio) uma pasta resources com as traduções. No microfront que for usar o componente, mergeie as traduções que você criou junto com as traduções do mesmo. CUIDADO COM CONFLITOS NOS NOMES DAS TRADUÇÕES, caso necessário, prefixe suas traduções.
- Pra usar o novo componente no microfront é fácil, só adicione essa lib como dependência e além de ajustar traduções explicadas acima, importe seu componente por
import { ComponentMagico } from @movidesk/movi-components/DOMÍNIO/SUBDOMINIO(se existir)/ComponentMagico
. Evite imports por index pois há o risco de importar todos os outros componentes do domínio (ou subdomínio) pro seu bundle mesmo você não usando eles.
Como iniciar o desenvolvimento
- Instale a versão 12 do NodeJS.
- Configure seu ambiente para ter acesso à pacotes privados como documentado nessa doc.
- Abra seu CLI preferido e rode os comandos.
$ npm i -g yarn
$ yarn
$ yarn start
yarn start
Executa os testes em watch e o lint.
Como publicar
A publicação de pacotes acontecerá ao criar uma nova release no Github, cheque essa doc pra mais informações.
yarn lint
"Linta" a aplicação utilizando os padrões os padrões de código descritos aqui.
yarn test
Testa a aplicação através do Jest, hoje a cobertura padrão em libs é de 100%, para mais informações sobre testes cheque essa doc.
yarn build
Builda o pacote para JS com arquivos de declaração do Typescript, por padrão o repositório tem compatibilidade com repositórios JS e TS. Este comando será executado pelo CI ao publicar uma nova release no Github.