1.1.0 • Published 4 years ago

vindi-ds v1.1.0

Weekly downloads
11
License
-
Repository
github
Last release
4 years ago

Vindi Design System

Um Design System é um conjuto de componentes reutilizáveis, documentos e testados.

Utilizamos React para manipular os componentes, Material UI como base e o Storybook para documentação.

Para publicar os componentes utilizamos o NPM.

Desenvolvimento

Esse projeto está configurado para ser executado através do docker-compose.

Serviço

Para iniciar o serviço utilize:

docker-compose build
docker-compose up

Dependências

Para instalar novas dependências utilize:

docker-compose run --rm web npm install packpage-name

Para atualizar todas as dependências utilize:

docker-compose run --rm web npm install

Contribuição do projeto

O projeto conta com ferramentas que validam a semântica do código, mas também do commit.

Commit com commitlint

Com o commitlint instalado e configurado com o husky, instruções são executadas antes e durante o commite, sendo: 1. pré-commit: Valida se o lint está sem necessidade de alterações 2. commit-msg: Valida se a mensagem está no padrão commitlint

Para gerar um commit padronizado, o boilerplate disponibiliza o comando: npm run gc. Ele auxilia na contrução da mensagem do commit. O padão aceitado pelo commitlint é similar a esse:

fix: mensagem sem letras maiusculas

Caso não queria colocar alguma das parte do commite, utilize :skip, contudo é necessesário escolher o tipo (fix) e o subject (mensagem do commit, mesma -m "mensagem sem letras maiusculas". Para mais detalhes no link

Push

Antes de publicarmos uma branch, serão rodados os testes do projeto antes da publicação.

Deploy

O deploy do Design System é dividido em duas partes, publicação no NPM e deploy do Storybook.

Antes da publicação ou deploy execute os comandos abaixo:

docker-compose up
docker-compose exec web npm run build
Publicação no NPM

Antes da publicação é necessário fazer login no NPM, utilize:

docker-compose exec web npm login

Para obter as credencias, contacte o time de design system ops pelo slack.

Após inserir as credenciais de acesso, execute o comando abaixo para atualizar a versão e publicar:

docker-compose exec web npm version [major | minor | patch ] && npm publish --access public

Visionamento:

Utilizamos o SEMVER para atualizarmos o projeto, com isso a versão deve ser alterada quando:

  • major: quando a alteração deixar parte, ou todo, o pacote deixando incompatível as versões anteriores
  • minor: ao incrementarmos com algum componente e com uma nova versão das lib ou tokens.
  • patch: incrementos de baixo impacto ou correção de falhas.

Pronto, uma nova versão do Design System deve ter sido publicada.

PS.: Utilize o docker-compose exec para fazer a publicação, pois o docker-compose run --rm perde a referência do login.

Deploy Storybook

O Storybook é um livro de histórias que conta todos os estados possíveis de um componente, é uma documentação para o desenvolvedor.

Para realizar o deploy é necessário configurar o AWS CLI, para isso vai ser necessário criar chaves de acesso ou utilizar as já existentes.

Configure as credenciais das contas AWS no arquivo ~/.aws/credentials seguindo o modelo abaixo:

[vindi-dev]
aws_access_key_id =
aws_secret_access_key =
region = us-east-1

Agora, faça o build do Storybook, utilize:

docker-compose exec web npm run-script build-storybook

E por último, envie os arquivos para o s3:

npm run-script deploy-storybook

Pronto, uma nova versão do Storybook deve ter sido publicada.

Link de acesso: http://vindi-storybook-staging.s3-website-us-east-1.amazonaws.com/