vp install
vp run build
vp run testUseful commands from the workspace root:
cargo test: Run Rust tests.cargo fmt && vp run format: Format code.vp run build: Build libraries, examples, and docs.vp run build:wasm: Build thelingui-analyzerWasm package intoshared/lingui-analyzer-wasm/dist.vp run build:lib: Build the public libraries.vp run build:examples: Build the verification examples.vp run build:docs: Build the docs app.vp run check: Run formatting checks, type checks, and markup checks across the workspace.vp run test: Build first, then run the Vitest suite.vp run dev:docs: Start the docs app.vp run dev:e2e-astro: Start the Astro verification app.vp run dev:e2e-svelte: Start the Svelte verification app.
apps/docs: Documentation site.examples/compat: Isolated compatibility matrix for Lingui, framework, and Vite version combinations.examples/config-types: Type-level checks for framework config combinations.examples/conformance: Conformance tests with examples of various patterns and their expected output.examples/e2e-astro: End-to-end Astro verification app.examples/e2e-svelte: End-to-end Svelte verification app.
crates/lingui-analyzer: Rust crate for Svelte/Astro analysis and lowering, compiled to Wasm for use in the integrations.packages/framework-core: Shared compile, config, Wasm-loading, Babel, and runtime helpers used bylingui-for-svelteandlingui-for-astro.packages/unplugin-markup-import: Shared markup import tooling used by the integrations.shared/common: Private TypeScript helpers shared by workspace packages.shared/lingui-analyzer-wasm: Internal Wasm package used by extraction and compilation code.shared/test-helpers: Private test utilities shared by package and conformance tests.
- Svelte integration work should use Svelte 5 runes and the reactive macro model documented in
packages/lingui-for-svelte/REACTIVITY.md. - Framework-specific compile behavior belongs in
packages/lingui-for-svelteorpackages/lingui-for-astro. - Shared compile, config, Wasm-loading, Babel, and runtime helpers belong in
packages/framework-coreonly when both framework integrations use the behavior.
.
|- apps/
| |- docs/
|- examples/
| |- config-types/
| |- conformance/
| |- e2e-astro/
| |- e2e-svelte/
|- crates/
| |- lingui-analyzer/
|- packages/
| |- framework-core/
| |- lingui-for-astro/
| |- lingui-for-svelte/
| |- unplugin-lingui-macro/
| |- unplugin-markup-import/
|- shared/
| |- common/
| |- lingui-analyzer-wasm/
| |- test-helpers/
- Public package usage and API details should live in each package README.
- The example apps exist to catch regressions in extraction, compilation, and runtime behavior.
- The docs app is the primary place for user-facing guides and framework documentation.