@govbr-ds/webcomponents 2.0.0-next.3 → 2.0.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,157 +1,339 @@
1
1
  # Web Components GovBR-DS
2
2
 
3
- Nosso objetivo é disponibilizar uma biblioteca de componentes baseada no [GovBR-DS](https://gov.br/ds 'GovBR-DS') que possa ser consumida independente de frameworks ou tecnologias utilizadas nos projetos.
3
+ A biblioteca de Web Components do [GovBR-DS](https://gov.br/ds) está sendo desenvolvida utilizando o [Stencil](https://stenciljs.com/), um compilador que cria Web Components (Custom Elements). O Stencil incorpora os melhores conceitos dos frameworks mais populares em uma ferramenta simples de compilação. Para mais informações sobre o Stencil, visite o [site oficial](https://stenciljs.com/).
4
4
 
5
- ## Demonstração
5
+ ## Demonstração 🚀
6
6
 
7
- Acesse nossos sites e veja nossos componentes em ação:
7
+ Veja nossos componentes em funcionamento:
8
8
 
9
- - [Storybook - Produção](https://gov.br/ds/webcomponents/)
10
- - [Storybook - Desenvolvimento](https://govbr-ds.gitlab.io/wbc/govbr-ds-wbc/)
9
+ - [Versão 1.x](https://gov.br/ds/webcomponents/)
10
+ - [Versão 2.x (em desenvolvimento)](https://govbr-ds.gitlab.io/bibliotecas/wbc/govbr-ds-wbc/)
11
11
 
12
- ## Tecnologias
12
+ ## Tecnologias 💻
13
13
 
14
14
  Esse projeto é desenvolvido usando:
15
15
 
16
16
  1. [GovBR-DS](https://gov.br/ds/ 'GovBR-DS')
17
- 2. [Font Awesome](https://fontawesome.com/ 'Font Awesome')
18
- 3. [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline')
19
- 4. [VueJS 3](https://v3.vuejs.org/ 'VueJS 3')
20
- 5. [Storybook](https://storybook.js.org/ 'Storybook')
21
- 6. [Jest](https://jestjs.io/ 'Jest')
17
+ 1. [Stencil](https://stenciljs.com/ 'Stencil')
18
+ 1. [Font Awesome](https://fontawesome.com/ 'Font Awesome')
19
+ 1. [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline')
20
+ 1. [NX Monorepo](https://nx.dev/ 'NX Monorepo')
22
21
 
23
- > Para saber mais detalhes sobre Web Components sugerimos que consulte o [MDN](https://developer.mozilla.org/pt-BR/docs/Web/Web_Components 'Web Components | MDN').
22
+ ## O que são Web Components?
24
23
 
25
- ## Documentações Complementares
24
+ São um conjunto de tecnologias que permitem aos desenvolvedores criar novos elementos HTML personalizados, reutilizáveis ​​e encapsulados para uso em páginas e aplicativos da web. Eles se baseiam em padrões da web existentes e são suportados por todos os navegadores modernos.
26
25
 
27
- Consulte nossa a seção sobre Web Componente na nossa [Wiki](https://govbr-ds.gitlab.io/tools/wiki/hugo-cms/desenvolvimento/web-components) para obter mais informações.
26
+ O diagrama mostra os três componentes principais dos Web Components:
28
27
 
29
- ## Uso
28
+ - Elementos HTML personalizados: tags HTML definidas usando JavaScript e podem ser usados ​​como qualquer outro elemento HTML.
29
+ - Shadow DOM: é um espaço de nome encapsulado para cada elemento HTML personalizado. Isso significa que os estilos e o JavaScript do elemento não interferem no resto da página.
30
+ - Templates: são fragmentos de HTML que podem ser reutilizados em vários elementos.
31
+ - Slots: são áreas em um elemento HTML personalizado onde templates podem ser inseridos.
30
32
 
31
- Existem 2 maneiras de usar nossos Web Components:
33
+ ### Benefícios dos Web Components
32
34
 
33
- - Pacote NPM
35
+ 1. Reusabilidade
36
+ 1. Modularidade
37
+ 1. Encapsulamento
38
+ 1. Compatibilidade
39
+ 1. Manutenibilidade
40
+
41
+ ### Ciclo de Vida
42
+
43
+ Para entender melhor o ciclo de vida dos componentes, acesse a página [https://stenciljs.com/docs/component-lifecycle](https://stenciljs.com/docs/component-lifecycle).
44
+
45
+ ## Integração com frameworks
46
+
47
+ A integração entre Web Components e frameworks pode não ser fácil em determinadas situações. Por isso nós criamos as bibliotecas de integração (wrappers). Basicamente eles encapsulam os Web Components em uma biblioteca de componentes na tecnologia nativa de algum framework. Isso facilita a integração com funcionalidades nativas dos frameworks, como por exemplo o binding.
48
+
49
+ Para mais detalhes sobre como o Stencil faz a integração consulte [a documentação do Stencil sobre integrações](https://stenciljs.com/docs/overview).
50
+
51
+ Note que determinadas situações pode não ser possível fazer essa integração. Isso depende muito da evolução da especificação de Web Components e do suporte dos frameworks.
52
+
53
+ ## Font Awesome e Fonte Rawline
54
+
55
+ Nossos componentes usam a [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline') juntamente com a [Font Awesome](https://fontawesome.com/ 'Font Awesome') padrão do DS.
56
+
57
+ Consulte a documentação no site do [GovBR-DS](https://www.gov.br/ds/como-comecar/instalacao 'GovBR-DS') para mais detalhes sobre como importá-los de seus respectivos CDNs.
58
+
59
+ ## Instalação ⚙️
60
+
61
+ Instale o pacote abaixo:
62
+
63
+ ```bash
64
+ npm install --save-dev @govbr-ds/webcomponents
65
+ ```
66
+
67
+ ## Scripts Disponíveis 📜
68
+
69
+ No arquivo `package.json` e `project.json`, você encontrará uma variedade de scripts úteis. Aqui está uma lista com a descrição de cada um:
70
+
71
+ ```bash
72
+ nx start webcomponents
73
+ ```
74
+
75
+ Executa o site no localhost para desenvolvimento.
76
+
77
+ ```bash
78
+ nx build webcomponents
79
+ ```
80
+
81
+ Compila o projeto para produção.
82
+
83
+ ```bash
84
+ nx test:unit webcomponents
85
+ ```
86
+
87
+ Executa os testes unitários.
34
88
 
35
89
  ```bash
36
- npm install --save @govbr-ds/webcomponents
90
+ nx lint:tsx webcomponents
91
+ ```
92
+
93
+ Executa lint nos códigos TypeScript.
94
+
95
+ ```bash
96
+ nx lint:md webcomponents
97
+ ```
98
+
99
+ Executa lint nos arquivos markdown.
100
+
101
+ ```bash
102
+ nx lint:styles webcomponents
103
+ ```
104
+
105
+ Executa lint nos arquivos de estilos.
106
+
107
+ ## Testes
108
+
109
+ Nossa estratégia de testes é dividida em duas abordagens principais: testes unitários e testes end-to-end (E2E).
110
+
111
+ ### Testes Unitários (\*.spec.tsx)
112
+
113
+ Os testes unitários são ideais para validar a lógica interna dos componentes de forma isolada e rápida. Utilizamos o método `newSpecPage()` para testar:
114
+
115
+ - Estado inicial: comportamento do componente sem props
116
+ - Props: valores válidos, inválidos e mudanças em tempo de execução
117
+ - Classes CSS: presença e ausência de classes condicionais
118
+ - Slots: renderização correta do conteúdo
119
+ - Lógica interna: métodos, cálculos e transformações
120
+ - Validações básicas: required, minLength, maxValue etc.
121
+
122
+ ```typescript
123
+ it('deve inicializar com o estado padrão padrão', async () => {
124
+ const page = await newSpecPage({
125
+ components: [BrComponent],
126
+ html: `<br-component></br-component>`,
127
+ })
128
+ expect(page.root).toEqualHtml(`<br-component>...</br-component>`)
129
+ })
130
+ ```
131
+
132
+ ### Testes E2E (\*.e2e.ts)
133
+
134
+ Os testes E2E são executados em um navegador real usando o método `newE2EPage()`. São mais lentos mas essenciais para testar:
135
+
136
+ - Eventos do componente: click, blur, change etc.
137
+ - Interações do usuário: drag-drop, digitação, atalhos
138
+ - Integrações DOM: forms, validação nativa, aria-\*
139
+ - Estilos visuais: dimensões, cores, transições
140
+ - Shadow DOM: slots, parts, estilos encapsulados
141
+
142
+ ```typescript
143
+ it('should emit click event', async () => {
144
+ const page = await newE2EPage()
145
+ await page.setContent('<br-component></br-component>')
146
+ const brComponent = await page.find('br-component')
147
+ const clickEvent = await brComponent.spyOnEvent('click')
148
+ await brComponent.click()
149
+ expect(clickEvent).toHaveReceivedEvent()
150
+ })
151
+ ```
152
+
153
+ Para mais detalhes sobre testes no Stencil, consulte a [documentação oficial](https://stenciljs.com/docs/testing-overview).
154
+
155
+ ## Configuração 🛠️
156
+
157
+ Os passos para usar os Web Components GovBR-DS em uma aplicação podem variar dependendo da tecnologia usada. Abaixo estão os passos gerais para grande parte dos casos:
158
+
159
+ ### Adicione os tokens do `@govbr-ds/core`
160
+
161
+ ```ts
162
+ import 'node_modules/@govbr-ds/core/dist/core-tokens.min.css'
37
163
  ```
38
164
 
165
+ ### Adicione o `loader` do JS
166
+
39
167
  Depois de instalada, importe a biblioteca de dentro da pasta *node_modules*:
40
168
 
41
169
  ```javascript
42
- @import "node_modules/@govbr-ds/webcomponents/dist/webcomponents.umd.min.js"
170
+ @import "node_modules/@govbr-ds/webcomponents/dist/loader"
43
171
  ```
44
172
 
45
- - CDN
173
+ Também é possível importar o JS da biblioteca usando um CDN (não mantido por nossa equipe):
46
174
 
47
175
  ```html
48
- <script src="https://unpkg.com/@govbr-ds/webcomponents@VERSÃO/dist/webcomponents.umd.min.js"></script>
176
+ <script src="https://cdn.jsdelivr.net/npm/@govbr-ds/webcomponents@<VERSÃO>/dist/loader/index.js"></>
49
177
  ```
50
178
 
51
- > Troque **versão** pela versão do pacote que deseja
179
+ **Importante**: Dependendo do seu projeto pode ser necessário importar diretamente o arquivo `/dist/webcomponents/webcomponents.esm.js`. Observe as necessidades do seu projeto e importe os arquivos de acordo.
52
180
 
53
- **Importante**: O CDN <https://unpkg.com/> não é mantido por nossa equipe e portanto não podemos garantir um SLO. Considere importar os arquivos necessários para uma infraestrutura interna caso isso seja um impedimento para seu projeto.
181
+ ### Use as tags dos custom elements
54
182
 
55
- ### Font Awesome e Fonte Rawline
183
+ ```html
184
+ <br-button>Click aqui</br-button>
185
+ ```
56
186
 
57
- Nossos componentes usam a [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline') juntamente com a [Font Awesome](https://fontawesome.com/ 'Font Awesome') padrão do DS.
187
+ ### Eventos
58
188
 
59
- Consulte a documentação no site do [GovBR-DS](https://www.gov.br/ds/como-comecar/instalacao 'GovBR-DS') para mais detalhes sobre como importá-los de seus respectivos CDNs.
189
+ Você pode escutar eventos padrão, como clique e mouseover, da mesma forma que faria com elementos HTML normais. Muitos componentes também emitem eventos personalizados, que recomendamos fortemente utilizar. Esses eventos funcionam como os eventos padrão, mas possuem nomes específicos. Consulte a documentação de cada componente para obter detalhes sobre os nomes e dados dos eventos.
190
+
191
+ ```html
192
+ <br-button>Label</br-button>
193
+
194
+ <script>
195
+ const button = document.querySelector('br-button')
196
+ button.addEventListener('click', (event) => {
197
+ console.log('Botão foi clicado')
198
+ })
199
+ </script>
200
+ ```
201
+
202
+ ## VSCODE
203
+
204
+ Ao criar nossos Web Components fazemos uso de custom elements. O VSCODE não conhece os componentes e por isso não consegue fazer sugestões inteligentes para usar no autocomplete. Para auxiliar com isso nós geramos um arquivo `vscode-data.json` com as definições dos componentes e disponibilizamos junto com o nosso pacote npm.
205
+
206
+ Para importar no seu VSCODE, adicione o campo abaixo alterando o local onde o seu projeto armazena o `node_modules`.
207
+
208
+ ```json
209
+ {
210
+ "html.customData": ["./node_modules/@govbr-ds/webcomponents/vscode-data.json"]
211
+ }
212
+ ```
213
+
214
+ ### Build
215
+
216
+ Nesse projeto stencil ao gerar um `build` do projeto também são gerados automaticamente:
217
+
218
+ - Arquivo `readme.md` dentro da pasta de cada componente.
219
+ - Documentações dos componentes na pasta `apps/site/docs/stencil-generated-docs` para serem usadas e versionadas pelo site.
60
220
 
61
221
  ### Exemplos de uso
62
222
 
63
- Disponibilizamos alguns exemplos de como usar esse projeto com algumas tecnologias. Consulte o [nosso grupo aqui no gitlab](https://gitlab.com/govbr-ds/dev/wbc 'GovBR-DS/DEV/WBC') e procure pelos projetos de 'Quickstart' para mais detalhes.
223
+ Disponibilizamos alguns exemplos de como usar esse projeto com algumas tecnologias. Consulte o [nosso grupo aqui no gitlab](https://gitlab.com/govbr-ds/bibliotecas/wc 'GovBR-DS/WC') e procure pelos projetos de 'Quickstart' para mais detalhes.
64
224
 
65
- ## Estrutura de pastas
225
+ ## Arquitetura do Projeto Stencil
66
226
 
67
- > Vamos explicar apenas as pastas/arquivos que são importantes para o entendimento do projeto e contribuição.
227
+ ### Estrutura do Projeto
68
228
 
69
229
  ```markdown
70
- /raiz
71
- └───src
72
- │───library
73
- │ │───lib.js
74
- │ │───components
75
- │ │───mixins
76
- │ └───util
77
- └───stories
230
+ webcomponents/
231
+ ├── src/
232
+ │ ├── components/
233
+ │ │ └── br-component/
234
+ │ │ ├── sections/
235
+ │ │ │ └── migrate.md
236
+ │ │ ├── tests/
237
+ │ │ │ ├── br-component.e2e.ts
238
+ │ │ │ └── br-component.spec.tsx
239
+ │ │ ├── br-component.scss
240
+ │ │ ├── br-component.tsx
241
+ │ │ └── readme.md
242
+ │ ├── pages/
243
+ │ │ └── components/
244
+ │ │ └── br-component/
245
+ │ │ └── index.js
246
+ │ │ └── exemplo.html
247
+ │ │ └── scripts/
248
+ │ └── utils/
249
+ │ └── index.html
250
+ ├── stencil.config.ts
251
+ ├── package.json
252
+ └── tsconfig.json
78
253
  ```
79
254
 
80
- - **src**
81
- - **assets**: pasta com arquivos estáticos
82
- - **library**
83
- - **lib.js**: inicializa todos os custom elements e define o que faz parte da biblioteca. É usado para fazer o build final.
84
- - **components**: pasta com os componentes da biblioteca, seus testes e stories do storybook.
85
- - **mixins**: mixins que são usados em vários componentes.
86
- - **util**: funções criadas para facilitar ações dentro dos componentes
87
- - **stories**: Arquivos com as stories gerais do storybook
255
+ #### Descrição dos Diretórios
88
256
 
89
- > Aplicação Vue é uma aplicação criada para testar rapidamente nossos componentes. Ela não é disponibilizada no build e nem disponibilizamos um site com ela.
257
+ - **src/**: Contém o código-fonte do projeto.
90
258
 
91
- ## Rodar o projeto na máquina local
259
+ - **components/**: Contém os componentes Web que serão criados com Stencil. Cada componente tem sua própria pasta.
92
260
 
93
- Clone o projeto:
261
+ - **br-component/**: Uma pasta específica para o componente `br-component`.
94
262
 
95
- ```bash
96
- git clone git@gitlab.com:govbr-ds/dev/wbc/govbr-ds-wbc.git
263
+ - **sections/**: Pasta com arquivos markdown para serem incluídos no site.
97
264
 
98
- cd govbr-ds-wbc
265
+ - **migrate.md**: Arquivo explicando 'como migrar' o componente da versão anterior para a nova.
99
266
 
100
- npm install
267
+ - **test/**: Pasta com os arquivos de teste.
101
268
 
102
- npm run storybook
103
- ```
269
+ - **br-component.e2e.ts**: Arquivo para testes end-to-end (E2E) do componente.
104
270
 
105
- ## Documentação
271
+ - **br-component.spec.tsx**: Arquivo para testes unitários (Unit) do componente.
106
272
 
107
- Nossa documentação está disponível em <https://gov.br/ds/webcomponents/>.
273
+ - **br-component.tsx**: O arquivo principal do componente, que contém a lógica e a estrutura do componente.
108
274
 
109
- > Para outras informações, consulte nossa [Wiki](https://gov.br/ds/wiki/desenvolvimento/web-components/).
275
+ - **br-component.scss**: O arquivo de estilo do componente.
110
276
 
111
- ## Polyfill
277
+ - **readme.md**: Documentação gerada automaticamente do componente durante `build`.
112
278
 
113
- Acesse os seguintes links para entender mais sobre o suporte dos browsers a [Custom Elements](https://caniuse.com/custom-elementsv1) e a [Shadow Dom](https://caniuse.com/shadowdomv1).
279
+ - **pages/**: Contém os exemplos dos componentes Web que serão criados com Stencil. Cada componente tem sua própria pasta.
114
280
 
115
- Caso os requisitos do seu projeto incluam navegadores que não suportam completamente os Web Components, adicione os [polyfills](https://www.webcomponents.org/polyfills) ao seu projeto.
281
+ - **components/**: Pasta com os exemplos dos componentes.
116
282
 
117
- Para aprender com instalar, consulte a [documentação oficial](https://github.com/webcomponents/polyfills/tree/master/packages/webcomponentsjs 'Polyfills')
283
+ - **scripts/**: Pasta com os scripts usados no ambiente de desenvolvimento.
118
284
 
119
- ## Contribuindo
285
+ - **br-component/**: Uma pasta específica para o componente `br-component`.
120
286
 
121
- Antes de abrir um Merge Request tenha em mente algumas informações:
287
+ - **index.js**: Arquivo com paga executar ações nos exemplos, como escutar por eventos.
122
288
 
123
- - Esse é um projeto opensource e contribuições são bem-vindas.
124
- - Para facilitar a aprovação da sua contribuição, escolha um título curto, simples e explicativo para o MR, e siga os padrões da nossa [wiki](https://gov.br/ds/wiki/ 'Wiki').
125
- - Quer contribuir com o projeto? Confira o nosso guia [como contribuir](./CONTRIBUTING.md 'Como contribuir?').
289
+ - **exemplo.html**: Arquivos com o código de cada exemplo.
126
290
 
127
- ### Reportar bugs/necessidades
291
+ - **utils/**: Pasta para utilitários ou funções auxiliares que podem ser usadas em todo o projeto.
292
+ -
293
+ - **index.html**: Página inicial do servidor de desenvolvimento.
128
294
 
129
- Você pode usar as [issues](https://gitlab.com/govbr-ds/dev/wbc/govbr-ds-wbc/-/issues/new) para nos informar os problemas que tem enfrentado ao usar nossa biblioteca ou mesmo o que gostaria que fizesse parte do projeto. Por favor use o modelo que mais se encaixa na sua necessidade e preencha com o máximo de detalhes possível.
295
+ #### Arquivos de Configuração
130
296
 
131
- Nos comprometemos a responder a todas as issues.
297
+ - **stencil.config.ts**: O principal arquivo de configuração para um projeto Stencil. Nele, você define opções de configuração como saída do build, plugins, global scripts, e outras opções.
298
+
299
+ - **package.json**: Contém as dependências do projeto e scripts úteis para construir e desenvolver os componentes.
300
+
301
+ - **tsconfig.json**: Arquivo de configuração do TypeScript que especifica as opções do compilador TypeScript para o projeto.
132
302
 
133
- ## Commits
303
+ ## Documentações Complementares 📚
134
304
 
135
- Nesse projeto usamos um padrão para branches e commits. Por favor observe a documentação na nossa [wiki](https://gov.br/ds/wiki/ 'Wiki') para aprender sobre os nossos padrões.
305
+ Consulte a seção sobre Web Componente na nossa [Wiki](https://gov.br/ds/wiki/desenvolvimento/web-components) para obter mais informações sobre esse projeto.
136
306
 
137
- ## Precisa de ajuda?
307
+ Para saber mais detalhes sobre a especificação Web Components sugerimos que consulte o [MDN](https://developer.mozilla.org/pt-BR/docs/Web/Web_Components 'Web Components | MDN').
138
308
 
139
- > Por favor **não** crie issues para fazer perguntas...
309
+ ## Contribuindo 🤝
140
310
 
141
- Use nossos canais abaixo para obter tirar suas dúvidas:
311
+ Antes de abrir um Merge Request, por favor, leve em consideração as seguintes informações:
312
+
313
+ - Este é um projeto open-source e contribuições são bem-vindas.
314
+ - Para facilitar a aprovação da sua contribuição, use um título claro e explicativo para o MR, e siga os padrões estabelecidos em nossa [wiki](https://gov.br/ds/wiki/ 'Wiki').
315
+ - Quer contribuir? Consulte o nosso guia [como contribuir](https://gov.br/ds/wiki/comunidade/contribuindo-com-o-ds/ 'Como contribuir?').
316
+
317
+ ## Reportar Bugs/Problemas ou Sugestões 🐛
318
+
319
+ Para reportar problemas ou sugerir melhorias, abra uma [issue](https://gitlab.com/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/-/issues/new). Utilize o modelo adequado e forneça o máximo de detalhes possível.
320
+
321
+ Nos comprometemos a responder a todas as issues.
142
322
 
143
- - Site do GovBR-DS <http://gov.br/ds>
323
+ ## Commits 📝
144
324
 
145
- - Web Components <https://gov.br/ds/webcomponents/>
325
+ Este projeto segue um padrão para branches e commits. Consulte a documentação na nossa [wiki](https://gov.br/ds/wiki/ 'Wiki') para aprender mais sobre esses padrões.
146
326
 
147
- - Pelo nosso email <govbr-ds@serpro.gov.br>
327
+ ## Precisa de ajuda? 🆘
148
328
 
149
- - Usando nosso canal no discord <https://discord.gg/U5GwPfqhUP>
329
+ Por favor, **não** crie issues para perguntas gerais.
150
330
 
151
- ## Créditos
331
+ Use os canais abaixo para tirar suas dúvidas:
152
332
 
153
- Os Web Components do [GovBR-DS](https://gov.br/ds/ 'GovBR-DS') são criados pelo [SERPRO](https://www.serpro.gov.br/ 'SERPRO | Serviço Federal de Processamento de Dados') e [Dataprev](https://www.dataprev.gov.br/ 'Dataprev | Empresa de Tecnologia e Informações da Previdência') juntamente com a participação da comunidade.
333
+ - Site do GovBR-DS [http://gov.br/ds](http://gov.br/ds)
334
+ - Web Components [https://gov.br/ds/webcomponents](https://gov.br/ds/webcomponents)
335
+ - Canal no Discord [https://discord.gg/U5GwPfqhUP](https://discord.gg/U5GwPfqhUP)
154
336
 
155
- ## Licença
337
+ ## Créditos 🎉
156
338
 
157
- Nesse projeto usamos a licença MIT.
339
+ Os Web Components do [GovBR-DS](https://gov.br/ds/ 'GovBR-DS') foram desenvolvidos pelo [SERPRO](https://www.serpro.gov.br/ 'SERPRO | Serviço Federal de Processamento de Dados') em colaboração com a comunidade.
package/package.json CHANGED
@@ -1,111 +1,34 @@
1
1
  {
2
2
  "name": "@govbr-ds/webcomponents",
3
- "version": "2.0.0-next.3",
4
- "private": false,
5
- "description": "Projeto de Webcomponents baseado no GovBR-DS",
3
+ "version": "2.0.0-next.30",
4
+ "description": "Biblioteca de Web Components baseado no GovBR-DS",
6
5
  "keywords": [
7
6
  "design system",
8
7
  "govbr-ds",
9
- "web components",
10
- "vue"
8
+ "web components"
11
9
  ],
12
10
  "homepage": "https://gov.br/ds/webcomponents",
13
11
  "bugs": {
14
- "url": "https://gitlab.com/govbr-ds/dev/wbc/govbr-ds-wbc/issues"
12
+ "url": "https://gitlab.com/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/issues"
15
13
  },
16
14
  "repository": {
17
15
  "type": "git",
18
- "url": "git@gitlab.com:govbr-ds/dev/wbc/govbr-ds-wbc.git"
16
+ "url": "git@gitlab.com:govbr-ds/bibliotecas/wbc/govbr-ds-wbc.git"
19
17
  },
20
18
  "license": "MIT",
21
- "author": "SERPRO <govbr-ds@serpro.gov.br> (http://serpro.gov.br/)",
22
- "contributors": [
23
- "Dataprev (https://portal3.dataprev.gov.br/)"
24
- ],
25
- "main": "dist/webcomponents.umd.min.js",
19
+ "author": "SERPRO (http://serpro.gov.br/)",
20
+ "main": "./dist/index.cjs.js",
21
+ "unpkg": "./dist/webcomponents/webcomponents.esm.js",
22
+ "module": "./dist/index.js",
23
+ "types": "./dist/types/index.d.ts",
26
24
  "files": [
27
- "/dist/**/*",
28
- "!/dist/*.html"
25
+ "dist/"
29
26
  ],
30
- "scripts": {
31
- "build": "vue-cli-service build --target lib --inline-vue --name webcomponents src/library/lib.js",
32
- "build:storybook": "build-storybook -o public",
33
- "commit": "git-cz",
34
- "lint:js": "vue-cli-service lint --fix",
35
- "lint:md": "markdownlint --fix **/*.md -d -c .markdownlint.yml",
36
- "prepare": "chmod +x ./node_modules/husky/lib/bin.js && husky install",
37
- "storybook": "start-storybook -p 6006",
38
- "test:ci": "jest --config ./jest.config.js --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false",
39
- "test:unit": "vue-cli-service test:unit --updateSnapshot"
40
- },
41
- "lint-staged": {
42
- "*.md": [
43
- "markdownlint -d -c .markdownlint.yml --fix **/*.md",
44
- "prettier --write"
45
- ],
46
- "*.{js,ts,vue}": [
47
- "vue-cli-service lint --fix",
48
- "vue-cli-service test:unit --findRelatedTests",
49
- "prettier --write"
50
- ]
51
- },
52
- "config": {
53
- "commitizen": {
54
- "path": "@commitlint/cz-commitlint"
55
- }
56
- },
57
- "dependencies": {
58
- "core-js": "3.30.1",
59
- "maska": "^2.1.9",
60
- "vue": "3.2.47",
61
- "vuex": "^4.1.0"
27
+ "peerDependencies": {
28
+ "@govbr-ds/core": "^3.6.1"
62
29
  },
63
- "devDependencies": {
64
- "@babel/core": "7.21.8",
65
- "@babel/eslint-parser": "7.21.8",
66
- "@fullhuman/postcss-purgecss": "5.0.0",
67
- "@fullhuman/vue-cli-plugin-purgecss": "5.0.0",
68
- "@govbr-ds/commit-config": "latest",
69
- "@govbr-ds/core": "3.3.1",
70
- "@govbr-ds/release-config": "latest",
71
- "@semantic-release/exec": "6.0.3",
72
- "@storybook/addon-actions": "6.5.16",
73
- "@storybook/addon-docs": "6.5.16",
74
- "@storybook/addon-essentials": "6.5.16",
75
- "@storybook/addon-links": "6.5.16",
76
- "@storybook/addons": "6.5.16",
77
- "@storybook/builder-webpack5": "6.5.16",
78
- "@storybook/manager-webpack5": "6.5.16",
79
- "@storybook/theming": "6.5.16",
80
- "@storybook/vue3": "6.5.16",
81
- "@vue/cli-plugin-babel": "5.0.8",
82
- "@vue/cli-plugin-eslint": "5.0.8",
83
- "@vue/cli-plugin-unit-jest": "5.0.8",
84
- "@vue/cli-service": "5.0.8",
85
- "@vue/compiler-sfc": "3.2.47",
86
- "@vue/eslint-config-prettier": "7.1.0",
87
- "@vue/test-utils": "2.3.2",
88
- "@vue/vue3-jest": "27.0.0",
89
- "@whitespace/storybook-addon-html": "^5.1.4",
90
- "babel-loader": "^8.3.0",
91
- "eslint": "8.39.0",
92
- "eslint-plugin-storybook": "0.6.12",
93
- "eslint-plugin-vue": "9.11.0",
94
- "git-pull-run": "1.4.0",
95
- "husky": "8.0.3",
96
- "jest-junit": "15.0.0",
97
- "lint-staged": "13.2.2",
98
- "markdownlint-cli": "0.34.0",
99
- "postcss": "8.4.23",
100
- "prettier": "^2.8.8",
101
- "react": "16.8.0 || 17.0.0",
102
- "react-dom": "16.8.0 || 17.0.0",
103
- "sass": "1.58.3",
104
- "sass-loader": "13.2.2",
105
- "semantic-release-discord": "1.2.0",
106
- "storybook-version": "^0.1.1",
107
- "vue-loader": "^16.8.3",
108
- "vue-router": "4.1.6",
109
- "vue-syntax-highlight": "^0.1.8"
110
- }
111
- }
30
+ "collection": "./dist/collection/collection-manifest.json",
31
+ "collection:main": "./dist/collection/index.js",
32
+ "es2015": "./dist/esm-es5/loader.js",
33
+ "es2017": "./dist/esm/loader.js"
34
+ }