3.15.3 • Published 2 months ago

vindi-ds-components v3.15.3

Weekly downloads
651
License
MIT
Repository
github
Last release
2 months ago

DS Repositories Components

Um Design System é um conjunto 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.

Lançamentos

Para ver o que mudou na última versão lançada do projeto, e acompanhar as versões do projeto, basta acessar o link abaixo.

Lançamentos DS

Primeiros passos

Instalação

Para instalar o pacote em um projeto RoR, é preciso que o sistema seja configurado com as gems:

  • webpack
  • react-rails
  • yarn (opcional)

Passo a passo para instalação:

Exemplo mais detalhado: recurrent/design-system

Configuração do webpacker

Por padrão, o webpack gera um output com o nome da aplicação + hash para versionar melhor os arquivos. Contudo, a cada novo output desse maneira, deixa inconsistente os pacotes instalados. Para resolver isso, altere o arquivo config/webpack/environment.js com as seguintes instruções:

// config/webpack/environment.js
const { environment } = require('@rails/webpacker')

environment.config.set('output.filename', '[name].js')  //Adicionar essa linha

module.exports = environment

Após ambiente configurado, instale o pacote:

yarn add vindi-ds-components

Configurações iniciais

Ao adicionar o projeto os componentes, precisamos configurar as fontes do DS. Para isso, adicione ao application.html.erb (ou arquivos raíz do layout) o link abaixo:

<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" 
rel="stylesheet">

Construindo primeiro componente com DS

Para que as configurações sejam aplicadas os seu componente, é preciso envolver o seu componente com o Container que vem no pacote vindi-ds-components, semelhante a esse exemplo:

import { Theme } from 'vindi-ds-components'

function Page(){
  return (
    <Theme>
      /* Seus componentes */
    </Theme>
  )
}

Em houver a necessidade de utilizar ícones, utilize o pacote vindi-ds-icons:

import { Theme } from 'vindi-ds-components'
import { VdVindiColor } from 'vindi-ds-icons'

function Page(){
  return (
    <Theme>
       <VdVindiColor width={108} height="auto" />
      /* Seus componentes */
    </Theme>
  )
}

Para mais informações, acesse a documentação de ícones.

Com essas configurações realizadas, basta seguir o seu protótipo. 🎉

Para acesso a mais componentes, acesse a documentação de componentes.

Configuração do serviço de comunicação à API

O serviço recomendando para comunicação frontend/backend é o Axios. Para mais instruções de instalação e utilização acesse a documentação;

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.

Repositório no NPM

Para acessar o repositório no NPM, basta acessar o link abaixo;

Link de acesso

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.

Storybook

Para acessar a biblioteca de componentes, basta acessar o link abaixo;

Link de acesso

3.15.2

2 months ago

3.15.3

2 months ago

3.12.0

11 months ago

3.14.0

10 months ago

3.13.0

11 months ago

3.15.0

9 months ago

3.15.1

9 months ago

3.10.0-rc2

1 year ago

3.10.0-rc1

1 year ago

3.9.2

1 year ago

3.9.1

1 year ago

3.9.0

1 year ago

3.10.1

1 year ago

3.8.0

1 year ago

3.10.0

1 year ago

3.10.2

12 months ago

3.9.2-rc

1 year ago

3.11.0

12 months ago

3.7.0

1 year ago

3.10.0-rc

1 year ago

3.6.0

1 year ago

3.5.1

1 year ago

3.5.0

1 year ago

3.4.0

1 year ago

3.4.2

1 year ago

3.4.1

1 year ago

3.3.1

1 year ago

3.3.0

2 years ago

3.3.0-rc

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

3.0.0-rc-2

2 years ago

3.2.0

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

2.13.0

2 years ago

3.0.0-rc

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.4

2 years ago

2.11.1

2 years ago

2.12.0

2 years ago

2.12.1

2 years ago

2.11.0

2 years ago

2.9.1

2 years ago

2.10.1

2 years ago

2.10.0

2 years ago

2.9.0

2 years ago

2.8.1

2 years ago

2.8.0

2 years ago

2.7.4

2 years ago

2.7.3

2 years ago

2.7.0-rc

2 years ago

2.7.1-rc

2 years ago

2.7.0

2 years ago

2.7.2

2 years ago

2.7.1

2 years ago

2.6.0-rc

2 years ago

2.6.0

2 years ago

2.5.0

2 years ago

2.5.1

2 years ago

2.4.0

2 years ago

2.4.0-rc

2 years ago

2.3.0

3 years ago

2.2.0

3 years ago

2.1.5

3 years ago

2.1.4

3 years ago

2.1.2

3 years ago

2.1.3

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

2.0.0-rc

3 years ago

1.1.43

3 years ago

1.1.42

3 years ago

1.1.41

3 years ago

1.1.40

3 years ago

1.1.34

3 years ago

1.1.33

3 years ago

1.1.37

3 years ago

1.1.36

3 years ago

1.1.35

3 years ago

1.1.39

3 years ago

1.1.32

3 years ago

1.1.31

3 years ago

1.1.29

3 years ago

1.1.28

3 years ago

1.1.27

3 years ago

1.1.26

3 years ago

1.1.25

3 years ago

1.1.24

3 years ago

1.1.23

3 years ago

1.1.22

3 years ago

1.1.20

3 years ago

1.1.19

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago