Começando
⚠️ Trabalho em andamento: O Vize está em desenvolvimento ativo e ainda não está pronto para uso em produção. APIs e limites de pacotes podem mudar sem aviso prévio.
O que é Vize?
Vize (/viːz/) é uma Vue.js cadeia de ferramentas escrita em Rust. O espaço de trabalho contém blocos de construção compartilhados para:
| Área | Caixa(s) principal(es) de ferrugem | Ponto de entrada voltado para o usuário |
|---|---|---|
| Compilação | vize_atelier_core, vize_atelier_dom, vize_atelier_vapor, vize_atelier_ssr, vize_atelier_sfc |
@vizejs/vite-plugin, npm vize:build script |
| Fiapos | vize_patina |
O NPM vize:lint roteiro, oxlint-plugin-vize |
| Formato | vize_glyph |
Roteiro vize:fmt NPM |
| Verificação de tipo | vize_canon |
NPM vize:check roteiro |
| Suporte ao editor | vize_maestro |
VS Code, Zed, Rust vize lsp |
| Ferramentas de arte musea | vize_musea |
@vizejs/vite-plugin-musea |
| Encadernações | vize_vitrine |
@vizejs/native, @vizejs/wasm |
Este guia recomenda Vite+ (vp) para gerenciamento de pacotes em JavaScript e comandos de projeto. Ela mantém o fluxo de instalação e exec consistente entre gerenciadores de pacotes, enquanto ainda usa a ferramenta subjacente do workspace.
Se você ainda não tem vp , instale uma vez e abra uma nova carcaça:
curl -fsSL https://vite.plus | bash
Veja o Vite+ docs e o Installing Dependencies guide para mais informações.
O que o Vize faz
Em um nível geral, o Vize é dividido em algumas rotas reutilizáveis:
| Lane | Pacote ou script | O que você ganha |
|---|---|---|
| Compilar | @vizejs/vite-plugin, vize:build |
Compilação Vue SFC nativa de ferrugem, saída SSR, modo Vapor, manuseio de CSS com escopo |
| Análise estática | vize:lint, oxlint-plugin-vize |
Template Vue, script, CSS, a11y, SSR, Vapor, Musea, cross-file e diagnósticos conscientes de tipos |
| Verificação de tipo | vize:check |
Geração Virtual TypeScript, diagnóstico de projetos, mapeamento de diagnóstico Vue-to-source |
| Formato | vize:fmt |
Formatação SFC do Vue com opções de projeto e CLI |
| Galeria de componentes | @vizejs/vite-plugin-musea, musea-vrt |
arquivos de arte, variantes de componentes, configuração de pré-visualização, tokens de design, a11y, VRT |
| Suporte ao editor | VS Code, Zed, Rust vize lsp |
Diagnósticos e recursos do editor com opção de participação |
Veja Static Analysis para o modelo de verificação de lint e tipo, Rules para saída concreta de regras e Configuration para opções compartilhadas de configuração e compilador.
Autoria de componentes em JSX/TSX em vez de .vue SFCs? Veja o guia JSX & TSX —
.jsx/.tsx componentes do Vue se compilam pela mesma faixa Rust.
Escolha seu ponto de entrada
1. Projetos Vite
Use o plugin Vite se quiser compilação nativa do Vue em um projeto Vite existente.
vp install -D @vizejs/vite-plugin
Instale vize como uma dependência direta apenas quando quiser importar ajudantes de configuração compartilhados da
"vize" ou adicionar scripts de pacote Vize como vize:lint e vize:check.
// vite.config.ts
import { defineConfig } from "vite";
import vize from "@vizejs/vite-plugin";
export default defineConfig({
plugins: [vize()],
});
Adicionar opções de compilador em vize.config.ts quando quiser as mesmas configurações disponíveis para empacotar scripts
e o plugin:
import { defineConfig } from "vize";
export default defineConfig({
compiler: {
sourceMap: true,
vapor: false,
customRenderer: false,
},
vite: {
scanPatterns: ["src/**/*.vue"],
},
});
2. Projetos Nuxt
Use o módulo Nuxt quando quiser que o Vize rode dentro do próprio pipeline Vite da Nuxt.
vp install @vizejs/nuxt
Adicione o módulo ao nuxt.config.ts:
export default defineNuxtConfig({
modules: ["@vizejs/nuxt"],
vize: {
compiler: true,
},
});
Gerencie seu servidor de desenvolvimento Nuxt normalmente. Os registradores do módulo @vizejs/vite-plugin para compilação de
SFC do Vue, preservando as autoimportações Nuxt, componentes, middleware e transformações SSR.
Veja o guia Nuxt Integration para a configuração do Musea e notas específicas do Nuxt.
3. Scripts de Pacote npm + Configuração Compartilhada
Use o pacote vize npm quando quiser utilidades de configuração compartilhadas e comandos nativos disponíveis
scripts de projeto.
vp install -D vize
Scripts recomendados para pacotes:
{
"scripts": {
"vize:build": "vize build src",
"vize:fmt": "vize fmt --write src",
"vize:lint": "vize lint --preset happy-path src",
"vize:check": "vize check src",
"vize:ready": "vize ready src"
}
}
vp run vize:fmt
vp run vize:lint
vp run vize:check
vp run vize:build
vp run vize:ready
O comando vize check do pacote npm usa o verificador NAPI empacotado e pode emitir declarações de
componentes Vue com --declaration --declaration-dir dist/types. Use a CLI do Rust quando precisar de
check-server, LSP, gerenciamento de IDE ou diagnósticos de projetos em entradas do Vue, TS, TSX e .d.ts.
4. CLI Full Rust
A maioria dos fluxos de trabalho de aplicação deve usar os scripts de pacote npm acima. Use o binário Rust quando
precisar da CLI nativa completa hoje: LSP, gerenciamento de IDE, perfilamento ou check-server. Para a versão alfa da v1, os canais públicos
suportados são os binários de lançamento do GitHub e o ponto de entrada do Nix; a CLI Rust ainda não
foi publicada pela crates.io.
nix run github:ubugeeei-prod/vize#vize -- --help
vize build src/**/*.vue
vize fmt --check src
vize lint --profile src
vize check --profile src
vize ready src
vize lsp
Verificação de Tipos Nativa
vize check é alimentado pelo vize_canon, que agora se apoia em sessões de projeto corsa-bind para diagnósticos nativos de TypeScript. O Vize gera TypeScript virtual para SFCs do Vue, pede ao Corsa diagnósticos conscientes do projeto e então mapeia os resultados de volta para os arquivos originais .vue, .ts, .tsxe .d.ts.
Esse caminho ainda está amadurecendo, então a verificação de tipos de editor continua sendo uma opção opcional por enquanto. A
pilha de runtime é o pacote @typescript/native-preview, Corsa/corsa-bind é a camada API com a qual o Vize
se comunica, e o executável instalado pela prévia nativa do TypeScript ainda é comumente chamado
tsgo. Use typeChecker.corsaPath, ou um script de pacote que rode
vize check --corsa-path /path/to/tsgo, quando quiser fixar esse tempo de execução.
typeChecker.tsgoPath permanece um apelido de compatibilidade obsoleto.
Alvos úteis para scripts de pacotes:
{
"scripts": {
"vize:check": "vize check",
"vize:check:app": "vize check --tsconfig tsconfig.app.json",
"vize:check:virtual-ts": "vize check --show-virtual-ts src/components/App.vue",
"vize:check:declarations": "vize check --declaration --declaration-dir dist/types"
}
}
vp run vize:check
vp run vize:check:app
vp run vize:check:virtual-ts
vp run vize:check:declarations
Compartilhado vize.config.*
Os comandos de pacote npm e @vizejs/vite-plugin compartilham descoberta de configuração:
vize.config.pklvize.config.tsvize.config.jsvize.config.mjsvize.config.json
Configuração do TypeScript:
import { defineConfig } from "vize";
export default defineConfig({
compiler: {
sourceMap: true,
vapor: false,
customRenderer: false,
},
linter: {
preset: "opinionated",
},
typeChecker: {
enabled: true,
strict: true,
corsaPath: "./node_modules/.bin/tsgo",
},
formatter: {
printWidth: 100,
},
musea: {
include: ["src/**/*.art.vue"],
basePath: "/__musea__",
},
lsp: {
lint: true,
typecheck: false,
editor: false,
formatting: false,
},
});
Configuração PKL:
amends "node_modules/vize/pkl/vize.pkl"
linter {
preset = "opinionated"
}
typeChecker {
enabled = true
strict = true
}
lsp {
lint = true
typecheck = false
editor = false
formatting = false
}
Configuração JSON com esquema:
{
"$schema": "./node_modules/vize/schemas/vize.config.schema.json",
"linter": {
"preset": "opinionated"
}
}
Pacotes
vp install -D @vizejs/vite-plugin
vp install @vizejs/native
vp install @vizejs/wasm
vp install @vizejs/unplugin
vp install @vizejs/rspack-plugin @rspack/core
vp install @vizejs/nuxt
vp install @vizejs/vite-plugin-musea
vp install @vizejs/musea-mcp-server
vp install -D oxlint oxlint-plugin-vize
Notas:
@vizejs/vite-pluginé a integração recomendada para bundlers hoje.@vizejs/unplugine@vizejs/rspack-pluginainda são experimentais.@vizejs/nativee@vizejs/wasmexpõem diretamente as fixações de ferrugem.@vizejs/vite-plugin-museafornece a galeria e o fluxo de trabalho do dev-server para o Musea.
Galeria de Componentes Musea
Use o Musea quando quiser exemplos de componentes nativos do Vue, documentação, tokens, VRT e verificações a11y:
vp install -D @vizejs/vite-plugin @vizejs/vite-plugin-musea vize
// vite.config.ts
import { defineConfig } from "vite";
import vize from "@vizejs/vite-plugin";
import { musea } from "@vizejs/vite-plugin-musea";
export default defineConfig({
plugins: [
vize(),
musea({
include: ["src/**/*.art.vue"],
basePath: "/__musea__",
previewCss: ["src/styles/main.css"],
}),
],
});
Execute seu servidor de desenvolvimento Vite e abra /__musea__. Veja Musea para arquivos de arte, configuração de pré-visualização
, tokens de design, VRT e variantes geradas.
Integração Oxlint
Execute o diagnóstico do Vue da Vize dentro do Oxlint:
vp install -D oxlint oxlint-plugin-vize
{
"plugins": ["vue"],
"jsPlugins": ["oxlint-plugin-vize"],
"rules": {
"eqeqeq": "error",
"vize/vue/require-v-for-key": "error",
"vize/vue/no-v-html": "warn"
},
"settings": {
"vize": {
"preset": "general-recommended",
"helpLevel": "short"
}
}
}
Para uso terminal primeiro, prefira:
vp exec oxlint-vize -c .oxlintrc.json -f stylish src
Suporte ao Editor
Para a edição diária do Vue, continue usando vuejs/language-tools por enquanto.
recursos do editor Vize são projetados para opt-in incremental.
Ponto de partida do VS Code:
{
"vize.enable": true,
"vize.lint.enable": true,
"vize.typecheck.enable": false,
"vize.editor.enable": false,
"vize.formatting.enable": false
}
Ponto de partida do Zed:
{
"languages": {
"Vue": {
"language_servers": ["vize", "..."]
}
},
"lsp": {
"vize": {
"initialization_options": {
"lint": true
}
}
}
}
Desenvolvimento Local
As tarefas locais permanecem locais; CI parity usa nix develop .#testbox.
nix develop
vp install --frozen-lockfile
vp check
vp fmt
vp dev
vp build