vueleap 0.1.0 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -4,6 +4,21 @@ All notable changes to this project are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses
5
5
  [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [0.1.2] - 2026-10-12
8
+
9
+ ### Changed
10
+
11
+ - Redesigned documentation site: new hero, VS Code style editor and terminal frames for every code example, FAQ accordion, mobile menu and a footer with related projects.
12
+ - The animated terminal demo on the home page is now real HTML text that fits small and large screens.
13
+ - README shows monthly and total npm downloads and links related projects.
14
+ - The CLI report snapshot no longer depends on the package version.
15
+
16
+ ## [0.1.1] - 2026-10-12
17
+
18
+ ### Fixed
19
+
20
+ - The npm page now shows the English README. The Portuguese translation moved to `i18n/README.pt-BR.md`.
21
+
7
22
  ## [0.1.0] - 2026-10-12
8
23
 
9
24
  ### Added
package/README.md CHANGED
@@ -9,13 +9,15 @@
9
9
 
10
10
  <p align="center">
11
11
  <a href="https://www.npmjs.com/package/vueleap"><img src="https://img.shields.io/npm/v/vueleap?color=42b883&label=npm" width="80" alt="vueleap npm version"></a>
12
+ <a href="https://www.npmjs.com/package/vueleap"><img src="https://img.shields.io/npm/dm/vueleap" width="110" alt="vueleap npm downloads per month"></a>
13
+ <a href="https://www.npmjs.com/package/vueleap"><img src="https://img.shields.io/npm/dt/vueleap" width="100" alt="vueleap total npm downloads"></a>
12
14
  <a href="https://github.com/kwy404/vueleap/actions/workflows/ci.yml"><img src="https://github.com/kwy404/vueleap/actions/workflows/ci.yml/badge.svg" width="96" alt="CI status of the Vue 3 migration tool"></a>
13
15
  <a href="https://github.com/kwy404/vueleap/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/vueleap?color=42b883" width="78" alt="MIT license"></a>
14
16
  <a href="https://github.com/kwy404/vueleap/blob/main/package.json"><img src="https://img.shields.io/node/v/vueleap?color=42b883" width="90" alt="Node.js 18 or newer"></a>
15
17
  </p>
16
18
 
17
19
  <p align="center">
18
- <a href="https://github.com/kwy404/vueleap/blob/main/README.pt-BR.md">Leia em Português (pt-BR)</a> &middot;
20
+ <a href="https://github.com/kwy404/vueleap/blob/main/i18n/README.pt-BR.md">Leia em Português (pt-BR)</a> &middot;
19
21
  <a href="https://kwy404.github.io/vueleap/">Documentation</a> &middot;
20
22
  <a href="https://kwy404.github.io/vueleap/report-example.html">Sample report</a> &middot;
21
23
  <a href="https://kwy404.github.io/vueleap/vue-3-breaking-changes-checklist.html">Breaking changes checklist</a>
@@ -338,6 +340,14 @@ They work well together: run vueleap to see the size of the migration and to con
338
340
  - [Vue 2 end of life](https://kwy404.github.io/vueleap/vue-2-end-of-life.html)
339
341
  - [Sample HTML report](https://kwy404.github.io/vueleap/report-example.html)
340
342
 
343
+ ## More from kwy404
344
+
345
+ - [graphemely](https://kwy404.github.io/graphemely/): truncate, slice and count strings with emoji safely.
346
+ - [edgegoat](https://kwy404.github.io/edgegoat/): edge case test inputs for time zones, DST, unicode and numbers.
347
+ - [numberparrot](https://kwy404.github.io/numberparrot/): parse localized number and currency strings back into numbers.
348
+ - [breakhound](https://github.com/kwy404/breakhound): find bugs in any JavaScript library automatically, no tests needed.
349
+ - [Voodoo.js](https://github.com/kwy404/Voodoo.js): the HTML first framework behind the interactive parts of the docs site.
350
+
341
351
  ## Contributing
342
352
 
343
353
  Issues and pull requests are welcome. [CONTRIBUTING.md](https://github.com/kwy404/vueleap/blob/main/CONTRIBUTING.md) explains the architecture and how to add a rule in a few steps (register it, detect it, add a fixture, update the snapshot).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueleap",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Migrate Vue 2 to Vue 3 with one command: find every breaking change file by file and line by line, get the exact @vue/compat flags your project needs, and apply safe automatic fixes.",
5
5
  "keywords": [
6
6
  "vue",
@@ -57,7 +57,6 @@
57
57
  "dist",
58
58
  "!dist/**/*.map",
59
59
  "README.md",
60
- "README.pt-BR.md",
61
60
  "LICENSE",
62
61
  "CHANGELOG.md"
63
62
  ],
package/README.pt-BR.md DELETED
@@ -1,157 +0,0 @@
1
- <p align="center">
2
- <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/kwy404/vueleap@main/assets/banner-dark.svg">
4
- <img src="https://cdn.jsdelivr.net/gh/kwy404/vueleap@main/assets/banner.svg" width="820" alt="vueleap, ferramenta de migração do Vue 2 para o Vue 3: o sapo Hop pula da vitória-régia 2 para a vitória-régia 3">
5
- </picture>
6
- </p>
7
-
8
- <h1 align="center">vueleap: migre do Vue 2 para o Vue 3 com um comando</h1>
9
-
10
- <p align="center">
11
- <a href="https://www.npmjs.com/package/vueleap"><img src="https://img.shields.io/npm/v/vueleap?color=42b883&label=npm" width="80" alt="versão do vueleap no npm"></a>
12
- <a href="https://github.com/kwy404/vueleap/actions/workflows/ci.yml"><img src="https://github.com/kwy404/vueleap/actions/workflows/ci.yml/badge.svg" width="96" alt="status do CI"></a>
13
- <a href="https://github.com/kwy404/vueleap/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/vueleap?color=42b883" width="78" alt="licença MIT"></a>
14
- <a href="https://github.com/kwy404/vueleap/blob/main/package.json"><img src="https://img.shields.io/node/v/vueleap?color=42b883" width="90" alt="Node.js 18 ou mais recente"></a>
15
- </p>
16
-
17
- <p align="center">
18
- <a href="https://github.com/kwy404/vueleap/blob/main/README.md">Read in English</a> &middot;
19
- <a href="https://kwy404.github.io/vueleap/">Documentação</a> &middot;
20
- <a href="https://kwy404.github.io/vueleap/report-example.html">Relatório de exemplo</a>
21
- </p>
22
-
23
- **Descubra tudo o que quebra ao migrar do Vue 2 para o Vue 3, com um único comando.** O vueleap é uma ferramenta gratuita e open source de migração para o Vue 3: ele analisa um projeto Vue 2 e lista cada breaking change do Vue 3 arquivo por arquivo e linha por linha, explica cada uma com um link para o guia oficial de migração, mostra exatamente quais flags do `@vue/compat` o seu projeto precisa e aplica correções automáticas seguras.
24
-
25
- ```bash
26
- npx vueleap
27
- ```
28
-
29
- <p align="center">
30
- <img src="https://cdn.jsdelivr.net/gh/kwy404/vueleap@main/assets/demo.svg" width="100%" alt="Demonstração animada no terminal: npx vueleap analisa um app Vue 2 e lista breaking changes do Vue 3 como filters, beforeDestroy e modificadores keyCode, com um resumo e uma pontuação de esforço">
31
- </p>
32
-
33
- ## Sumário
34
-
35
- - [Como verificar o que quebra na migração do Vue 2 para o Vue 3?](#como-verificar-o-que-quebra-na-migração-do-vue-2-para-o-vue-3)
36
- - [O que o vueleap verifica?](#o-que-o-vueleap-verifica)
37
- - [Quais correções são automáticas?](#quais-correções-são-automáticas)
38
- - [Quais flags do @vue/compat meu projeto precisa?](#quais-flags-do-vuecompat-meu-projeto-precisa)
39
- - [Como usar no CI?](#como-usar-no-ci)
40
- - [Posso usar pelo Node.js?](#posso-usar-pelo-nodejs)
41
- - [Perguntas frequentes](#perguntas-frequentes)
42
- - [Licença](#licença)
43
-
44
- ## Como verificar o que quebra na migração do Vue 2 para o Vue 3?
45
-
46
- Rode o vueleap na raiz do projeto Vue 2. Sem instalação e sem configuração:
47
-
48
- ```bash
49
- npx vueleap # relatório do diretório atual
50
- npx vueleap --html report.html # também gera um relatório HTML
51
- npx vueleap --fix # mostra as correções seguras como diff
52
- npx vueleap --fix --write # aplica as correções
53
- ```
54
-
55
- O comando `vue2to3` também é instalado como alias.
56
-
57
- O vueleap lê componentes `.vue` (template, `<script>`, `<script setup>`, `<style>`), arquivos JavaScript, TypeScript, JSX, TSX, CSS, SCSS, Less e Stylus, além do `package.json`. Ele respeita o `.gitignore`, sempre ignora `node_modules` e `dist` e nunca segue links simbólicos. Templates Pug são ignorados com um aviso.
58
-
59
- <p align="center">
60
- <img src="https://cdn.jsdelivr.net/gh/kwy404/vueleap@main/assets/terminal.svg" width="100%" alt="Relatório do vueleap no terminal para um app Vue 2: breaking changes do Vue 3 agrupadas por regra com arquivo, linha, coluna, link do guia e flag do @vue/compat">
61
- </p>
62
-
63
- | Opção | Descrição |
64
- | --- | --- |
65
- | `--json` | Relatório em JSON |
66
- | `--html <arquivo>` | Gera um relatório HTML independente |
67
- | `--fix` | Mostra as correções automáticas como diff (nada é gravado) |
68
- | `--write` | Com `--fix`, grava as correções |
69
- | `--fail-on <nível>` | Sai com código 1 se houver achados de nível `error`, `warning` ou `info` |
70
- | `--compat` | Mostra apenas a configuração do `@vue/compat` |
71
- | `--rule <id>` / `--skip-rule <id>` | Executa ou ignora regras específicas |
72
- | `--ignore <padrão>` | Padrão extra de ignore (sintaxe do `.gitignore`) |
73
- | `--list-rules` | Lista todas as regras |
74
-
75
- ## O que o vueleap verifica?
76
-
77
- 41 regras baseadas no [guia oficial de migração do Vue 3](https://v3-migration.vuejs.org/breaking-changes/). **error** quebra na compilação ou em execução, **warning** muda o comportamento e **info** merece revisão. A tabela completa, com descrições em inglês, está no [README em inglês](https://github.com/kwy404/vueleap/blob/main/README.md#what-does-vueleap-check) e no [checklist de breaking changes](https://kwy404.github.io/vueleap/vue-3-breaking-changes-checklist.html).
78
-
79
- Principais verificações: filters, `$listeners`, `$scopedSlots`, event bus com `$on`/`$off`/`$once`, `$set` e `$delete`, `new Vue()` e a API global (`Vue.component`, `Vue.use`, `Vue.mixin`, `Vue.directive`, `Vue.prototype`), `Vue.extend`, `beforeDestroy` e `destroyed`, hooks de diretivas customizadas, `v-model` em componentes, `.sync`, `.native`, modificadores keyCode, componentes funcionais, `inline-template`, `<template v-for>` com `key` nos filhos, `v-if` com `v-for`, ordem do `v-bind="obj"`, classes de transição, render functions com `h`, `data` como objeto, watchers de arrays, `Vue.config`, além de vue-router 3, Vuex 3 e bibliotecas só para Vue 2 (BootstrapVue, Vuetify 2, Element UI e outras) no `package.json`.
80
-
81
- ## Quais correções são automáticas?
82
-
83
- Apenas reescritas com exatamente o mesmo significado no Vue 3, preservando a formatação:
84
-
85
- | Regra | Antes | Depois |
86
- | --- | --- | --- |
87
- | `destroy-hooks` | `beforeDestroy()`, `destroyed()` | `beforeUnmount()`, `unmounted()` |
88
- | `directive-hooks` | `bind`, `inserted`, `componentUpdated`, `unbind` | `beforeMount`, `mounted`, `updated`, `unmounted` |
89
- | `scoped-slots` | `this.$scopedSlots.default` | `this.$slots.default` |
90
- | `transition-classes` | `.fade-enter`, `.v-leave`, `enter-class` | `.fade-enter-from`, `.v-leave-from`, `enter-from-class` |
91
- | `keycode-modifiers` | `@keyup.13` | `@keyup.enter` |
92
- | `sync-modifier` | `:title.sync="doc.title"` | `v-model:title="doc.title"` |
93
- | `hook-events` | `@hook:mounted` | `@vue:mounted` |
94
- | `config-production-tip` | `Vue.config.productionTip = false` | (linha removida) |
95
-
96
- Por padrão nada é gravado: `--fix` mostra um diff e só `--fix --write` altera arquivos, sempre dentro da pasta do projeto.
97
-
98
- ## Quais flags do @vue/compat meu projeto precisa?
99
-
100
- O [migration build](https://v3-migration.vuejs.org/migration-build) (`@vue/compat`) roda código Vue 2 no Vue 3. O vueleap associa cada achado à sua flag e gera a configuração mínima: comportamento do Vue 3 por padrão (`MODE: 3`) e apenas as flags que o código ainda usa.
101
-
102
- ```bash
103
- npx vueleap --compat
104
- ```
105
-
106
- As flags de runtime vão para `configureCompat()` e as flags do compilador de templates (`COMPILER_*`) vão para `compilerOptions.compatConfig` do plugin do Vite ou do vue-loader. Veja [@vue/compat build flags explained](https://kwy404.github.io/vueleap/vue-compat-build-flags.html).
107
-
108
- ## Como usar no CI?
109
-
110
- ```yaml
111
- - run: npx vueleap --fail-on error --html vueleap-report.html
112
- ```
113
-
114
- `--json` gera um relatório legível por máquina para dashboards e verificações próprias.
115
-
116
- ## Posso usar pelo Node.js?
117
-
118
- ```ts
119
- import { analyze, fix } from 'vueleap'
120
-
121
- const result = await analyze('./meu-app-vue2')
122
- console.log(result.summary, result.effort, result.compat)
123
-
124
- const { files } = await fix('./meu-app-vue2', { write: false })
125
- ```
126
-
127
- ## Perguntas frequentes
128
-
129
- ### Quanto tempo leva uma migração do Vue 2 para o Vue 3?
130
-
131
- Depende do uso de APIs removidas e de bibliotecas só para Vue 2. O `npx vueleap` termina com uma **pontuação de esforço**: cada achado soma o peso da sua regra, e achados com correção automática contam um décimo. Como referência aproximada, um ponto é cerca de uma hora de trabalho focado, mas a pontuação serve melhor para comparar projetos e acompanhar o progresso.
132
-
133
- ### Devo usar o @vue/compat?
134
-
135
- Para apps médios e grandes, normalmente sim: o app roda no Vue 3 enquanto o código é convertido aos poucos. É uma ferramenta de transição, não de longo prazo. Apps pequenos costumam ser migrados mais rápido diretamente.
136
-
137
- ### O Vue 2 ainda tem suporte?
138
-
139
- Não. O Vue 2 chegou ao fim da vida (end of life) em **31 de dezembro de 2023** e não recebe mais atualizações do time do Vue, nem correções de segurança. Veja [Vue 2 end of life](https://kwy404.github.io/vueleap/vue-2-end-of-life.html).
140
-
141
- ## Guias
142
-
143
- - [How to migrate Vue 2 to Vue 3](https://kwy404.github.io/vueleap/migrate-vue-2-to-vue-3.html)
144
- - [Vue 3 breaking changes checklist](https://kwy404.github.io/vueleap/vue-3-breaking-changes-checklist.html)
145
- - [@vue/compat build flags explained](https://kwy404.github.io/vueleap/vue-compat-build-flags.html)
146
- - [Vue filters removed in Vue 3](https://kwy404.github.io/vueleap/vue-filters-removed-vue-3.html)
147
- - [Event bus in Vue 3](https://kwy404.github.io/vueleap/vue-event-bus-vue-3.html)
148
- - [v-model changes in Vue 3](https://kwy404.github.io/vueleap/v-model-changes-vue-3.html)
149
- - [Vue 2 end of life](https://kwy404.github.io/vueleap/vue-2-end-of-life.html)
150
-
151
- ## Contribuindo
152
-
153
- Issues e pull requests são bem-vindos. Veja o [CONTRIBUTING.md](https://github.com/kwy404/vueleap/blob/main/CONTRIBUTING.md) (em inglês) para saber como adicionar uma regra.
154
-
155
- ## Licença
156
-
157
- [MIT](https://github.com/kwy404/vueleap/blob/main/LICENSE) &copy; 2026 [Alexandre Kohler](https://github.com/kwy404)