parity migrate
Captura em fases, agnóstica de destino, de uma loja no ar num bundle de migração pronto para agente.
parity migrate captura uma loja no ar num bundle enxuto em tokens e pronto para agente, para reconstruí-la numa stack nova (ex.: VTEX FastStore v4). Ele lê a página renderizada, então funciona com ou sem código-fonte.
parity migrate --url https://www.loja.com \
--target faststore --viewports mobile,desktop --openTudo é escrito em ./parity-migrate/<host>/.
Fases (retomáveis)
- Tema + assets — elege as cores primária/secundária/de fundo/de texto e as escalas de tipografia / espaçamento / raios / breakpoints; baixa o logo, favicon, web fonts (
@font-face) e um inventário de ícones; um screenshot de página inteira por viewport. - Sitemap — descobre e classifica páginas, depois amostra por tipo (home, PLPs, PDPs, busca e páginas institucionais) para você capturar a loja inteira —
--sample plp=2,pdp=2,other=3,search=1(limitado a 15). - Componentes — por página, o HTML renderizado de cada componente, classes Tailwind determinísticas, dicas de interação e seletores de e2e sugeridos. Repetições estruturalmente idênticas colapsam num representante + uma contagem.
O diretório de saída é estável por host, então uma nova execução pula uma fase concluída; --refresh refaz tudo.
Lojas VTEX IO
Em VTEX IO, o migrate lê a árvore de blocos real da loja a partir do render-runtime em cada página capturada, mesclada e sem duplicatas. Ele escreve:
blocks.json— todo bloco incluindo suasprops— o conteúdo de CMS que o lojista cadastrou (imagens de banner, textos, links, configuração de prateleira). Referências de imagem são resolvidas para URLs absolutas.content-assets.json+assets/content/— as imagens de conteúdo (props dos blocos e a imagética de produto/catálogo do estado do Apollo), baixadas localmente.component-map.json— cada bloco VTEX mapeado para um componente de destino (product-summary → ProductCard), com os desconhecidos marcados comocustom-component.
Saída
| Arquivo | O que é |
|---|---|
report.html | Relatório visual autocontido — amostras de tema, screenshots, tabelas de componentes por página, mapa VTEX → destino. Um arquivo só para compartilhar. --open abre. |
index.md | O mesmo, em Markdown enxuto em tokens, para um agente. |
MIGRATION_PROMPT.md | Instruções de agente prontas para colar + o playbook do destino. |
custom-theme.scss | (--target faststore) tokens de marca → tokens globais --fs-* do FastStore. |
manifest.json | O bundle bruto completo (HTML + estilos computados) — a camada de fallback. |
A saída contém conteúdo e assets de uma loja real. Mantenha parity-migrate/ no gitignore — nunca comite dados raspados de loja.
Destinos
--target faststore anexa um playbook (comandos de CLI, links de doc, estrutura de seção/CMS, ícones Phosphor) e emite custom-theme.scss. A captura em si é agnóstica de destino — os mesmos dados alimentam qualquer destino (FastStore, TanStack Start, …); só mudam o playbook e o emissor de tema.
Veja também
parity extract— a captura de componentes de nível mais baixo- Visão geral de migração ·
@decocms/parity