Conhecendo uma app VTEX IO
Conhecendo uma app no VTEX IO
De forma a implementar uma aplicação totalmente customizada no VTEX IO, é necessário entender alguns conceitos que serão apresentados e tudo começa com um arquivo muito importante de uma app: o manifest.json
.
O arquivo manifest.json
manifest.json
Este arquivo define algumas configurações básicas e abstrações que são necessárias para que o build da sua aplicação funcione. Nesta etapa, alguns campos deste arquivo serão explicados, que são:
- vendor
- name
- version
- dependencies
Vamos começar!
vendor
Define o nome da conta VTEX que está desenvolvendo a app. Esta conta é responsável por sua manutenção e distribuição (a aplicação pode ser instalada em outras contas ou apenas na própria).
O vendor
vtex
é utilizado para apps nativas.
name
Identifica o nome da aplicação. Não deve conter nenhum caractere especial (exceto por -
, que é permitido) ou caracteres maiúsculos.
version
Identifica a versão atual da app. Utilizamos a especificação de Versionamento Semântico 2.0.0. O formato é bem definido, dividido em releases de patch, minor ou major.
Você pode encontrar abaixo um resumo da especificação:
- Patches: É utilizado para bug fixes que são retrocompatíveis;
- Minors: Deve ser utilizado para features retrocompatíveis;
- Majors: Utilizado quando mudanças incompatíveis de API são feitas (breaking changes).
Por exemplo: se uma API está na versão 2.3.2
e uma feature que não é breaking change é adicionada, então a versão pode ser atualizada para 2.4.0
.
No momento em que o deployment é feito, há um worker que chamamos de housekeeper, cuja responsabilidade é atualizar automaticamente as aplicações para a nova versão em cada conta VTEX. Dessa forma, irá sempre instalar todas as atualizações que são minor ou patch, dada a retrocompatibilidade. Porém, não irá atualizar automaticamente versões major, dado que podem vir também com mudanças de dependências.
dependencies
Uma app pode depender de outras aplicações. Este campo lista todas as dependências necessárias para o correto funcionamento da aplicação.
Exemplo
Neste exemplo de um arquivo manifest.json
, é possível observar algumas das características mencionadas anteriormente. Em particular, a versão da app é 0.0.1
e estes números correspondem, respectivamente, a major, minor e patch.
{
"vendor": "vtex",
"name": "countdown",
"version": "0.0.1",
"title": "Countdown",
"description": "Countdown component",
"defaultLocale": "pt-BR",
"builders": {
"messages": "1.x",
"store": "0.x",
"react": "3.x"
},
"mustUpdateAt": "2019-04-02",
"scripts": {
"postreleasy": "vtex publish --verbose"
},
"dependencies": {
"vtex.styleguide": "9.x",
"vtex.css-handles": "0.x"
},
"$schema": "https://raw.githubusercontent.com/vtex/node-vtex-a pi/master/gen/manifest.schema"
}
Ajude-nos a fazer este conteúdo melhor!
Os cursos do VTEX IO são de código aberto. Se você perceber algum problema, pode abrir um pull request!
Faça uma contribuiçãoUpdated 10 months ago