Skip to content

fix(maestro): enrich template component intellisense#2736

Merged
ubugeeei merged 1 commit into
mainfrom
fix/template-component-intellisense
Jul 8, 2026
Merged

fix(maestro): enrich template component intellisense#2736
ubugeeei merged 1 commit into
mainfrom
fix/template-component-intellisense

Conversation

@ubugeeei

@ubugeeei ubugeeei commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add editor diagnostics for missing required props on component tags when no spread attrs are present
  • make template directive/event/prop completions replace the typed open-tag token so @c/@cli and :prop prefixes do not duplicate text
  • enrich component prop/tag hover markdown with usage examples and Vue docs links

Validation

  • cargo test -p vize_maestro
  • cargo clippy -p vize_maestro --lib -- -D warnings
  • git diff --check

Note: cargo clippy -p vize_maestro --all-targets -- -D warnings still fails on existing test-target disallowed macro/type lints outside this change.


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features

    • Added diagnostics for Vue components with missing required props in templates.
    • Improved hover details for component tags and props with example usage and helpful documentation links.
    • Completion suggestions for Vue directives and open tags now include better text replacements and richer metadata.
  • Bug Fixes

    • Fixed completion behavior so typed prefixes are replaced correctly for component props and event suggestions.
    • Suppressed missing-prop diagnostics when spread attributes are present.

@ubugeeei ubugeeei enabled auto-merge (squash) July 8, 2026 19:35
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds LSP diagnostics for missing required component props with service wiring and tests, enriches hover output for component props/tags with usage examples and doc links, and introduces token-aware text-edit completions for open tags, directives, and events, with refactored/added tests.

Changes

Required Component Props Diagnostics

Layer / File(s) Summary
Diagnostic source and module wiring
crates/vize_maestro/src/ide/diagnostics.rs
Declares the component_props module and adds the COMPONENTS diagnostic source constant.
Required-prop collector
crates/vize_maestro/src/ide/diagnostics/component_props.rs
Implements extend_component_required_prop_diagnostics and collect_component_required_prop_diagnostics with prop-matching, message-formatting, and code-description helpers.
Service wiring and tests
crates/vize_maestro/src/ide/diagnostics/service.rs, crates/vize_maestro/src/ide/diagnostics/component_props_tests.rs
Wires the collector into DiagnosticService::collect behind features.typecheck and adds tests for missing-prop reporting and spread-attr suppression.

Hover Enhancements for Component Props and Tags

Layer / File(s) Summary
Component prop hover examples
crates/vize_maestro/src/ide/hover/component_prop.rs
Adds a Vue usage snippet and "Vue Component Props" link to prop hover output, with updated test assertions.
Component tag hover required props
crates/vize_maestro/src/ide/hover/component_tag.rs
Adds missing_required_example helper generating placeholder-attribute snippets and a documentation link for missing required props.

Completion Text-Edit and Documentation Improvements

Layer / File(s) Summary
Open tag token tracking
crates/vize_maestro/src/ide/completion/template/tag_context.rs
OpenTagContext gains current_token_start, and current_open_tag_token returns a start offset alongside token text.
Open-tag completion text edits
crates/vize_maestro/src/ide/completion/template.rs
Adds prepare_open_tag_completions, with_open_tag_text_edits, range_from_offsets, and replacement_text_for_open_tag_completion to attach CompletionTextEdit::Edit replacements, wired into complete_template and corsa_template_completions.
Directive and event completion documentation
crates/vize_maestro/src/ide/completion/items.rs, crates/vize_maestro/src/ide/completion/template/directives.rs
Adds directive_completion_kind label-to-kind mapping and richer Vue documentation/label_details for directive and event completion items.
Completion test coverage and helper refactor
crates/vize_maestro/src/ide/completion.rs, crates/vize_maestro/src/ide/completion/component_props_tests.rs, crates/vize_maestro/src/ide/completion/template_event_tests.rs
Adds tests for dynamic prop and event-shorthand replacement edits, and refactors completion_labels/completion_items helpers to share a common conversion from CompletionResponse.

Estimated code review effort: 3 (Moderate) | ~30 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant DiagnosticService
  participant Collector as collect_component_required_prop_diagnostics
  participant Template as SFC Template Parser

  Client->>DiagnosticService: collect(uri, content)
  DiagnosticService->>Collector: collect_component_required_prop_diagnostics(state, uri, content, descriptor)
  Collector->>Template: parse template and analyze usages
  Template-->>Collector: component usages
  Collector->>Collector: resolve props, check missing required
  Collector-->>DiagnosticService: diagnostics list
  DiagnosticService-->>Client: aggregated diagnostics
Loading
sequenceDiagram
  participant Editor
  participant CompleteTemplate as complete_template
  participant PrepareEdits as prepare_open_tag_completions
  participant Replacement as replacement_text_for_open_tag_completion

  Editor->>CompleteTemplate: request completion at cursor
  CompleteTemplate->>PrepareEdits: prepare_open_tag_completions(ctx, tag_ctx, items)
  PrepareEdits->>Replacement: compute replacement text for token
  Replacement-->>PrepareEdits: normalized new_text
  PrepareEdits->>PrepareEdits: build CompletionTextEdit::Edit with range
  PrepareEdits-->>CompleteTemplate: items with text edits
  CompleteTemplate-->>Editor: completion response
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the main change: improving template component intellisense in maestro.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/template-component-intellisense

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Jul 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

vize

pnpm add https://pkg.pr.new/vize@2736

@vizejs/fresco

pnpm add https://pkg.pr.new/@vizejs/fresco@2736

@vizejs/musea-mcp-server

pnpm add https://pkg.pr.new/@vizejs/musea-mcp-server@2736

oxlint-plugin-vize

pnpm add https://pkg.pr.new/oxlint-plugin-vize@2736

@vizejs/rspack-plugin

pnpm add https://pkg.pr.new/@vizejs/rspack-plugin@2736

@vizejs/unplugin

pnpm add https://pkg.pr.new/@vizejs/unplugin@2736

@vizejs/vite-plugin

pnpm add https://pkg.pr.new/@vizejs/vite-plugin@2736

@vizejs/vite-plugin-musea

pnpm add https://pkg.pr.new/@vizejs/vite-plugin-musea@2736

@vizejs/musea-nuxt

pnpm add https://pkg.pr.new/@vizejs/musea-nuxt@2736

@vizejs/nuxt

pnpm add https://pkg.pr.new/@vizejs/nuxt@2736

commit: a732177

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

PR Benchmark

Base: 672683a1958a156bfc1033b5188b76010ce162bf Head: d4c01b8e210b1e8f50cfa2c42f2861a6d142226d Input: 1,000 generated SFC files
Median of 10 measured run(s) after 2 warmup run(s). Times are shown in milliseconds to 0.001ms. Rate is head/base, so below 1.000x is faster. Regression threshold: 5%.
Budget: passed.

Task Base Head Rate Result
Compile SFC 201.876ms 200.281ms 0.992x stable
Lint 136.515ms 136.023ms 0.996x stable
Format 180.178ms 184.530ms 1.024x stable
Type check (1T) 821.627ms 816.689ms 0.994x stable
Type check (max) 817.998ms 823.025ms 1.006x stable
Raw run times

Compile SFC

  • Base: 217.519ms, 201.475ms, 198.479ms, 200.242ms, 202.277ms, 204.699ms, 198.833ms, 202.991ms, 197.822ms, 214.606ms
  • Head: 199.072ms, 200.352ms, 205.149ms, 195.274ms, 200.209ms, 198.606ms, 201.408ms, 197.011ms, 201.271ms, 202.070ms

Lint

  • Base: 136.003ms, 143.343ms, 136.705ms, 141.451ms, 144.422ms, 135.223ms, 138.851ms, 135.359ms, 133.897ms, 136.325ms
  • Head: 137.146ms, 137.173ms, 144.262ms, 140.636ms, 134.123ms, 133.877ms, 134.569ms, 144.223ms, 134.900ms, 134.289ms

Format

  • Base: 171.848ms, 170.011ms, 170.537ms, 176.373ms, 170.272ms, 207.524ms, 205.103ms, 183.982ms, 192.425ms, 236.213ms
  • Head: 165.877ms, 167.780ms, 173.444ms, 176.046ms, 173.819ms, 228.309ms, 193.014ms, 195.902ms, 214.395ms, 251.239ms

Type check (1T)

  • Base: 827.462ms, 838.387ms, 836.154ms, 801.735ms, 849.203ms, 835.073ms, 807.873ms, 807.306ms, 809.254ms, 815.792ms
  • Head: 849.316ms, 848.125ms, 818.927ms, 824.908ms, 825.051ms, 806.905ms, 814.451ms, 795.419ms, 810.008ms, 808.880ms

Type check (max)

  • Base: 817.563ms, 811.007ms, 818.693ms, 831.952ms, 805.406ms, 825.296ms, 810.803ms, 808.538ms, 840.080ms, 818.432ms
  • Head: 844.318ms, 795.568ms, 817.864ms, 814.794ms, 828.187ms, 811.632ms, 815.862ms, 837.096ms, 834.985ms, 844.018ms

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Detailed Test Report

Commit: d4c01b8e210b
Workflow: Check #28970313093
Attempt: 1
Overall: failure (1 failure, 1 in_progress, 3 skipped, 24 success)
Wall Time: 6m 30s

Area Summary

Area Jobs Result Runner Time
JS / TS 1 success 50s
Rust 3 success 5m 40s
E2E / VRT 1 success 3m 57s
Infra 1 skipped 0s
Other 23 failure 24m 50s

Test Inventory

Total tracked cases: 8628 across 1213 files.

Area Files Cases
Compiler Fixtures 43 1270
E2E 16 149
JS / TS 254 1065
Rust 895 6133
VRT 5 11
Files
Area File Cases
Compiler Fixtures tests/fixtures/errors/parse-errors.pkl 38
Compiler Fixtures tests/fixtures/errors/transform-errors.pkl 44
Compiler Fixtures tests/fixtures/parser/attribute.pkl 16
Compiler Fixtures tests/fixtures/parser/comment.pkl 55
Compiler Fixtures tests/fixtures/parser/directive.pkl 143
Compiler Fixtures tests/fixtures/parser/element.pkl 35
Compiler Fixtures tests/fixtures/parser/interpolation.pkl 85
Compiler Fixtures tests/fixtures/parser/text.pkl 68
Compiler Fixtures tests/fixtures/sfc/basic.pkl 13
Compiler Fixtures tests/fixtures/sfc/define-model.pkl 17
Compiler Fixtures tests/fixtures/sfc/directives.pkl 5
Compiler Fixtures tests/fixtures/sfc/options-api.pkl 39
Compiler Fixtures tests/fixtures/sfc/patches.pkl 58
Compiler Fixtures tests/fixtures/sfc/props-destructure.pkl 4
Compiler Fixtures tests/fixtures/sfc/script-setup-advanced.pkl 6
Compiler Fixtures tests/fixtures/sfc/script-setup.pkl 69
Compiler Fixtures tests/fixtures/vapor/component.pkl 17
Compiler Fixtures tests/fixtures/vapor/edge-cases.pkl 4
Compiler Fixtures tests/fixtures/vapor/element.pkl 16
Compiler Fixtures tests/fixtures/vapor/parity-core-directives.pkl 8
Compiler Fixtures tests/fixtures/vapor/v-bind.pkl 12
Compiler Fixtures tests/fixtures/vapor/v-for.pkl 10
Compiler Fixtures tests/fixtures/vapor/v-if.pkl 7
Compiler Fixtures tests/fixtures/vapor/v-model.pkl 13
Compiler Fixtures tests/fixtures/vapor/v-on.pkl 14
Compiler Fixtures tests/fixtures/vapor/v-show.pkl 6
Compiler Fixtures tests/fixtures/vapor/v-slot.pkl 10
Compiler Fixtures tests/fixtures/vdom/component.pkl 45
Compiler Fixtures tests/fixtures/vdom/directives.pkl 24
Compiler Fixtures tests/fixtures/vdom/dynamic-component.pkl 9
Compiler Fixtures tests/fixtures/vdom/element.pkl 44
Compiler Fixtures tests/fixtures/vdom/hoisting.pkl 20
Compiler Fixtures tests/fixtures/vdom/html-entities.pkl 9
Compiler Fixtures tests/fixtures/vdom/parity-core-directives.pkl 8
Compiler Fixtures tests/fixtures/vdom/patch-flags.pkl 32
Compiler Fixtures tests/fixtures/vdom/v-bind.pkl 56
Compiler Fixtures tests/fixtures/vdom/v-for.pkl 28
Compiler Fixtures tests/fixtures/vdom/v-if.pkl 25
Compiler Fixtures tests/fixtures/vdom/v-model.pkl 31
Compiler Fixtures tests/fixtures/vdom/v-on.pkl 62
Compiler Fixtures tests/fixtures/vdom/v-once.pkl 16
Compiler Fixtures tests/fixtures/vdom/v-show.pkl 19
Compiler Fixtures tests/fixtures/vdom/v-slot.pkl 30
E2E playground/e2e/atelier-output-tabs.test.ts 1
E2E playground/e2e/components.test.ts 16
E2E playground/e2e/css-compile.test.ts 17
E2E playground/e2e/edge-cases.test.ts 26
E2E playground/e2e/sfc-compile.test.ts 21
E2E playground/e2e/vite-plugin-vapor.test.ts 12
E2E playground/e2e/wasm.test.ts 12
E2E tests/app/dev/elk.spec.ts 9
E2E tests/app/dev/misskey.spec.ts 7
E2E tests/app/dev/npmx.spec.ts 14
E2E tests/app/dev/nuxt-ui.spec.ts 3
E2E tests/app/dev/vuefes.spec.ts 7
E2E tests/app/preview/elk.ts 1
E2E tests/app/preview/misskey.ts 1
E2E tests/app/preview/npmx.ts 1
E2E tests/app/preview/vuefes.ts 1
JS / TS docs/theme/background.test.ts 2
JS / TS docs/theme/navigation.test.js 4
JS / TS docs/theme/syntax-highlight.test.js 8
JS / TS npm/builder/rspack/src/integration.test.ts 2
JS / TS npm/builder/rspack/src/jsx.test.ts 3
JS / TS npm/builder/rspack/src/plugin/index.test.ts 8
JS / TS npm/builder/rspack/src/plugin/ruleCloning.test.ts 15
JS / TS npm/builder/rspack/src/scoped-css.test.ts 5
JS / TS npm/builder/rspack/src/shared/jsx-compile.test.ts 4
JS / TS npm/builder/rspack/src/shared/nativeCss.test.ts 10
JS / TS npm/builder/rspack/src/shared/output.test.ts 4
JS / TS npm/builder/rspack/src/shared/utils.test.ts 35
JS / TS npm/builder/rspack/src/vapor.test.ts 3
JS / TS npm/builder/unplugin/src/core.test.ts 1
JS / TS npm/builder/unplugin/src/css-preprocessors.test.ts 5
JS / TS npm/builder/unplugin/src/esbuild-hooks.test.ts 13
JS / TS npm/builder/unplugin/src/esbuild.test.ts 1
JS / TS npm/builder/unplugin/src/filter-edge.test.ts 10
JS / TS npm/builder/unplugin/src/filter.test.ts 3
JS / TS npm/builder/unplugin/src/jsx.test.ts 6
JS / TS npm/builder/unplugin/src/normalize-options.test.ts 15
JS / TS npm/builder/unplugin/src/plugin-hooks.test.ts 11
JS / TS npm/builder/unplugin/src/request.test.ts 16
JS / TS npm/builder/unplugin/src/rolldown.test.ts 6
JS / TS npm/builder/unplugin/src/rollup.test.ts 1
JS / TS npm/builder/unplugin/src/strip-types-edge.test.ts 9
JS / TS npm/builder/unplugin/src/strip-types.test.ts 1
JS / TS npm/builder/unplugin/src/style-output.test.ts 18
JS / TS npm/builder/unplugin/src/style.test.ts 1
JS / TS npm/builder/unplugin/src/template-preprocessors.test.ts 4
JS / TS npm/builder/unplugin/src/vapor.test.ts 3
JS / TS npm/builder/unplugin/src/webpack-cjs.test.ts 3
JS / TS npm/builder/unplugin/src/webpack-defines-edge.test.ts 11
JS / TS npm/builder/unplugin/src/webpack.test.ts 2
JS / TS npm/builder/vite-musea/src/api-routes/arts-order.test.ts 1
JS / TS npm/builder/vite-musea/src/api-routes/handler-palette.test.ts 1
JS / TS npm/builder/vite-musea/src/api-routes/index.projectroot.test.ts 2
JS / TS npm/builder/vite-musea/src/api-routes/index.test.ts 6
JS / TS npm/builder/vite-musea/src/art-module-helper-collisions.test.ts 1
JS / TS npm/builder/vite-musea/src/art-module.test.ts 10
JS / TS npm/builder/vite-musea/src/art-order.test.ts 1
JS / TS npm/builder/vite-musea/src/autogen/generate.test.ts 1
JS / TS npm/builder/vite-musea/src/autogen/native-shape.test.ts 1
JS / TS npm/builder/vite-musea/src/cli/commands.test.ts 4
JS / TS npm/builder/vite-musea/src/cli/utils.test.ts 1
JS / TS npm/builder/vite-musea/src/gallery/template.test.ts 2
JS / TS npm/builder/vite-musea/src/native-loader.test.ts 1
JS / TS npm/builder/vite-musea/src/palette-state.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/art-processing.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/index.test.ts 7
JS / TS npm/builder/vite-musea/src/plugin/storybook-inputs.test.ts 3
JS / TS npm/builder/vite-musea/src/plugin/virtual-transform.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/vue-alias.test.ts 3
JS / TS npm/builder/vite-musea/src/plugin/watch.test.ts 3
JS / TS npm/builder/vite-musea/src/preview-vue2.test.ts 2
JS / TS npm/builder/vite-musea/src/preview/html.test.ts 1
JS / TS npm/builder/vite-musea/src/security.test.ts 6
JS / TS npm/builder/vite-musea/src/server-middleware.test.ts 4
JS / TS npm/builder/vite-musea/src/static-build-vue2.test.ts 1
JS / TS npm/builder/vite-musea/src/static-build.test.ts 5
JS / TS npm/builder/vite-musea/src/static-export.test.ts 6
JS / TS npm/builder/vite-musea/src/tokens.test.ts 7
JS / TS npm/builder/vite-musea/src/tokens/css-length.test.ts 1
JS / TS npm/builder/vite-musea/src/tokens/preview.test.ts 4
JS / TS npm/builder/vite-musea/src/utils.test.ts 5
JS / TS npm/builder/vite/src/output-ast.test.ts 2
JS / TS npm/builder/vite/src/utils-filter.test.ts 4
JS / TS npm/builder/vite/src/utils.test.ts 17
JS / TS npm/framework/musea-nuxt/src/mocks.test.ts 5
JS / TS npm/framework/musea-nuxt/src/plugin.test.ts 3
JS / TS npm/framework/nuxt/src/components-edge.test.ts 18
JS / TS npm/framework/nuxt/src/components.test.ts 8
JS / TS npm/framework/nuxt/src/dev-html-edge.test.ts 11
JS / TS npm/framework/nuxt/src/i18n-edge.test.ts 10
JS / TS npm/framework/nuxt/src/index-nuxt2-musea.test.ts 1
JS / TS npm/framework/nuxt/src/index.test.ts 6
JS / TS npm/framework/nuxt/src/musea-components.test.ts 3
JS / TS npm/framework/nuxt/src/options-edge.test.ts 16
JS / TS npm/framework/nuxt/src/unocss-edge.test.ts 11
JS / TS npm/framework/nuxt/src/unocss.test.ts 3
JS / TS npm/framework/nuxt/src/utils-edge.test.ts 24
JS / TS npm/mcp-musea/src/musea.test.ts 2
JS / TS npm/mcp-musea/src/tools/handler/index.test.ts 2
JS / TS npm/oxint/src/cli/files.test.ts 3
JS / TS npm/oxint/src/cli/output.test.ts 3
JS / TS npm/oxint/src/configs.ts 5
JS / TS npm/oxint/src/native.ts 3
JS / TS npm/oxint/src/settings.ts 5
JS / TS npm/oxint/src/workaround.ts 3
JS / TS playground/src/features/atelier/codeOutputs.test.ts 4
JS / TS playground/src/features/atelier/formatters.test.ts 2
JS / TS playground/src/features/cross-file/utils.test.ts 3
JS / TS playground/src/features/inspector/compareCompilers.test.ts 2
JS / TS playground/src/features/inspector/diffRows.test.ts 4
JS / TS playground/src/features/inspector/share.test.ts 4
JS / TS playground/src/simple.test.ts 2
JS / TS playground/src/utils/position.test.ts 2
JS / TS tests/snapshots/build/elk.ts 2
JS / TS tests/snapshots/build/generic.ts 1
JS / TS tests/snapshots/build/misskey.ts 2
JS / TS tests/snapshots/build/npmx.ts 2
JS / TS tests/snapshots/build/vuefes.ts 2
JS / TS tests/snapshots/check/ant-design-vue.ts 1
JS / TS tests/snapshots/check/class-component.ts 2
JS / TS tests/snapshots/check/compiler-macros.ts 1
JS / TS tests/snapshots/check/directus.ts 1
JS / TS tests/snapshots/check/ecosystem-products.ts 1
JS / TS tests/snapshots/check/element-plus.ts 1
JS / TS tests/snapshots/check/elk.ts 1
JS / TS tests/snapshots/check/frontend-phpcon.ts 1
JS / TS tests/snapshots/check/generic-build.ts 1
JS / TS tests/snapshots/check/hoppscotch.ts 1
JS / TS tests/snapshots/check/misskey.ts 1
JS / TS tests/snapshots/check/naive-ui.ts 1
JS / TS tests/snapshots/check/npmx.ts 1
JS / TS tests/snapshots/check/nuxt-parity.ts 4
JS / TS tests/snapshots/check/nuxt-ui.ts 1
JS / TS tests/snapshots/check/options-api.ts 3
JS / TS tests/snapshots/check/primevue.ts 1
JS / TS tests/snapshots/check/reka-ui.ts 1
JS / TS tests/snapshots/check/style-preprocessors.ts 1
JS / TS tests/snapshots/check/toolchain-parity.ts 2
JS / TS tests/snapshots/check/typecheck-errors.ts 1
JS / TS tests/snapshots/check/typecheck-vue-imports.ts 1
JS / TS tests/snapshots/check/voicevox.ts 1
JS / TS tests/snapshots/check/vue-vben-admin.ts 1
JS / TS tests/snapshots/check/vuefes.ts 1
JS / TS tests/snapshots/check/vuetify.ts 1
JS / TS tests/snapshots/check/zz-intentional-errors-fixtures.ts 1
JS / TS tests/snapshots/check/zz-intentional-errors-realworld.ts 2
JS / TS tests/snapshots/inspect/elk.ts 1
JS / TS tests/snapshots/inspect/npmx.ts 1
JS / TS tests/snapshots/inspect/vuefes.ts 1
JS / TS tests/snapshots/lint/ant-design-vue.ts 1
JS / TS tests/snapshots/lint/directus.ts 1
JS / TS tests/snapshots/lint/element-plus.ts 1
JS / TS tests/snapshots/lint/elk.ts 1
JS / TS tests/snapshots/lint/hoppscotch.ts 1
JS / TS tests/snapshots/lint/misskey.ts 1
JS / TS tests/snapshots/lint/naive-ui.ts 1
JS / TS tests/snapshots/lint/npmx.ts 1
JS / TS tests/snapshots/lint/nuxt-ui.ts 1
JS / TS tests/snapshots/lint/primevue.ts 1
JS / TS tests/snapshots/lint/reka-ui.ts 1
JS / TS tests/snapshots/lint/voicevox.ts 1
JS / TS tests/snapshots/lint/vue-vben-admin.ts 1
JS / TS tests/snapshots/lint/vuefes.ts 1
JS / TS tests/snapshots/lint/vuetify.ts 1
JS / TS tests/tooling/benchmark-budget.test.ts 6
JS / TS tests/tooling/benchmark-generator.test.ts 2
JS / TS tests/tooling/bundler-plugin-manifests.test.ts 5
JS / TS tests/tooling/cli-check-args.test.ts 6
JS / TS tests/tooling/cli-check-collection.test.ts 4
JS / TS tests/tooling/cli-check-contract.test.ts 6
JS / TS tests/tooling/cli-check-diagnostics.test.ts 8
JS / TS tests/tooling/cli-check-json-shape.test.ts 5
JS / TS tests/tooling/cli-fmt-contract.test.ts 5
JS / TS tests/tooling/cli-lint-contract.test.ts 7
JS / TS tests/tooling/cli-top-level.test.ts 5
JS / TS tests/tooling/compiler-fixture-diff-report.test.ts 2
JS / TS tests/tooling/config-alias-entries.test.ts 6
JS / TS tests/tooling/config-json-errors.test.ts 4
JS / TS tests/tooling/config-json-shape.test.ts 7
JS / TS tests/tooling/config-loading.test.ts 4
JS / TS tests/tooling/config-resolution.test.ts 10
JS / TS tests/tooling/config-types.test.ts 1
JS / TS tests/tooling/dev-app.test.ts 4
JS / TS tests/tooling/docs-browser.test.ts 2
JS / TS tests/tooling/docs-stability.test.ts 1
JS / TS tests/tooling/e2e-binaries.test.ts 3
JS / TS tests/tooling/e2e-tasks.test.ts 2
JS / TS tests/tooling/e2e-workflow.test.ts 1
JS / TS tests/tooling/ecosystem-product-coverage.test.ts 2
JS / TS tests/tooling/editor-integrations-consistency.test.ts 2
JS / TS tests/tooling/editor-integrations-emacs.test.ts 5
JS / TS tests/tooling/editor-integrations-helix.test.ts 4
JS / TS tests/tooling/editor-integrations-neovim.test.ts 4
JS / TS tests/tooling/editor-integrations-vim.test.ts 4
JS / TS tests/tooling/editor-integrations-vscode-art.test.ts 2
JS / TS tests/tooling/editor-integrations-zed.test.ts 4
JS / TS tests/tooling/editor-integrations.test.ts 6
JS / TS tests/tooling/editor-language-configuration.test.ts 7
JS / TS tests/tooling/editor-lsp-adapters.test.ts 1
JS / TS tests/tooling/editor-profiles-consistency.test.ts 3
JS / TS tests/tooling/fuzz-setup.test.ts 4
JS / TS tests/tooling/github-comments.test.ts 2
JS / TS tests/tooling/github-workflows-benchmark.test.ts 4
JS / TS tests/tooling/github-workflows-check.test.ts 11
JS / TS tests/tooling/github-workflows-release-build.test.ts 12
JS / TS tests/tooling/github-workflows-release-publish.test.ts 8
JS / TS tests/tooling/github-workflows-setup.test.ts 11
JS / TS tests/tooling/github-workflows.test.ts 10
JS / TS tests/tooling/github-zig-musl-linkers.test.ts 2
JS / TS tests/tooling/issue-pr-title-policy.test.ts 3
JS / TS tests/tooling/jsx-ecosystem-fixtures.test.ts 4
JS / TS tests/tooling/language-engineering-practices.test.ts 3
JS / TS tests/tooling/lsp-authoring-core.test.ts 1
JS / TS tests/tooling/lsp-capabilities.test.ts 3
JS / TS tests/tooling/lsp-definition-navigation.test.ts 1
JS / TS tests/tooling/lsp-diagnostics-lifecycle.test.ts 4
JS / TS tests/tooling/lsp-document-features.test.ts 7
JS / TS tests/tooling/lsp-document-highlight.test.ts 4
JS / TS tests/tooling/lsp-document-link.test.ts 2
JS / TS tests/tooling/lsp-editor-feature-isolation.test.ts 15
JS / TS tests/tooling/lsp-editor-feature-matrix.test.ts 11
JS / TS tests/tooling/lsp-editor-feature-routing.test.ts 1
JS / TS tests/tooling/lsp-editor-production-gates.test.ts 1
JS / TS tests/tooling/lsp-file-rename-workspace.test.ts 4
JS / TS tests/tooling/lsp-hover-template.test.ts 1
JS / TS tests/tooling/lsp-inlay-codelens.test.ts 3
JS / TS tests/tooling/lsp-protocol-resilience.test.ts 5
JS / TS tests/tooling/lsp-rename-guards.test.ts 2
JS / TS tests/tooling/lsp-roadmap-completion.test.ts 1
JS / TS tests/tooling/lsp-smoke.test.ts 6
JS / TS tests/tooling/lsp-template-completion.test.ts 1
JS / TS tests/tooling/lsp-workspace-semantic.test.ts 3
JS / TS tests/tooling/moonbit-generate-rule-types.test.ts 1
JS / TS tests/tooling/moonbit-github-scripts.test.ts 9
JS / TS tests/tooling/moonbit-helper.test.ts 2
JS / TS tests/tooling/moonbit-postprocess-types.test.ts 1
JS / TS tests/tooling/moonbit-publish-crates.test.ts 6
JS / TS tests/tooling/moonbit-publish-open-vsx.test.ts 2
JS / TS tests/tooling/moonbit-publish.test.ts 11
JS / TS tests/tooling/moonbit-release.test.ts 6
JS / TS tests/tooling/moonbit-rust-source-coverage.test.ts 4
JS / TS tests/tooling/moonbit-warnings.test.ts 1
JS / TS tests/tooling/native-legacy-build.test.ts 2
JS / TS tests/tooling/native-loader.test.ts 2
JS / TS tests/tooling/native-smoke-workflow.test.ts 1
JS / TS tests/tooling/node-engine-matrix.test.ts 3
JS / TS tests/tooling/normalize-global-types.test.ts 4
JS / TS tests/tooling/package-manifests.test.ts 17
JS / TS tests/tooling/playwright-app-config.test.ts 1
JS / TS tests/tooling/playwright-vrt-config.test.ts 1
JS / TS tests/tooling/production-readiness.test.ts 3
JS / TS tests/tooling/readme-boundary.test.ts 2
JS / TS tests/tooling/realworld-snapshot-scripts.test.ts 1
JS / TS tests/tooling/release-changelog.test.ts 2
JS / TS tests/tooling/release-package-versions.test.ts 1
JS / TS tests/tooling/release-platforms.test.ts 3
JS / TS tests/tooling/release-readiness.test.ts 4
JS / TS tests/tooling/release-smoke-install.test.ts 6
JS / TS tests/tooling/repo-governance.test.ts 5
JS / TS tests/tooling/runtime-and-build-stack.test.ts 5
JS / TS tests/tooling/snapshot-baselines.test.ts 3
JS / TS tests/tooling/source-file-lengths.test.ts 3
JS / TS tests/tooling/task-shell.test.ts 13
JS / TS tests/tooling/tool-benchmark.test.ts 2
JS / TS tests/tooling/vscode-extension-core-behavior.test.ts 15
JS / TS tests/tooling/vscode-extension-manifest.test.ts 9
JS / TS tests/tooling/vscode-typescript-vue-plugin.test.ts 9
JS / TS tests/tooling/vscode-vize-template-grammar.test.ts 4
JS / TS tests/tooling/vue-ecosystem-fixtures.test.ts 6
JS / TS tests/tooling/wasm-package-smoke.test.ts 2
Rust crates/vize_armature/src/legacy.rs 7
Rust crates/vize_armature/src/parser/tests.rs 95
Rust crates/vize_armature/src/tokenizer/entity_decode.rs 11
Rust crates/vize_armature/src/tokenizer/tests.rs 72
Rust crates/vize_atelier_core/src/codegen/expression/generate.rs 6
Rust crates/vize_atelier_core/src/codegen/helpers.rs 5
Rust crates/vize_atelier_core/src/codegen/slots/tests.rs 7
Rust crates/vize_atelier_core/src/codegen/source_map.rs 9
Rust crates/vize_atelier_core/src/codegen/tests.rs 68
Rust crates/vize_atelier_core/src/codegen/v_for/helpers.rs 4
Rust crates/vize_atelier_core/src/lane/tests.rs 12
Rust crates/vize_atelier_core/src/runtime_helpers.rs 2
Rust crates/vize_atelier_core/src/test_macros.rs 9
Rust crates/vize_atelier_core/src/transform/element.rs 7
Rust crates/vize_atelier_core/src/transform/structural.rs 3
Rust crates/vize_atelier_core/src/transforms/hoist_static.rs 11
Rust crates/vize_atelier_core/src/transforms/legacy_filters.rs 15
Rust crates/vize_atelier_core/src/transforms/legacy.rs 16
Rust crates/vize_atelier_core/src/transforms/transform_element.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression.rs 11
Rust crates/vize_atelier_core/src/transforms/transform_expression/inline_handler.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression/prefix.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression/typescript.rs 7
Rust crates/vize_atelier_core/src/transforms/transform_text.rs 3
Rust crates/vize_atelier_core/src/transforms/v_bind.rs 1
Rust crates/vize_atelier_core/src/transforms/v_for.rs 9
Rust crates/vize_atelier_core/src/transforms/v_if.rs 2
Rust crates/vize_atelier_core/src/transforms/v_memo.rs 2
Rust crates/vize_atelier_core/src/transforms/v_model.rs 2
Rust crates/vize_atelier_core/src/transforms/v_on.rs 4
Rust crates/vize_atelier_core/src/transforms/v_once.rs 2
Rust crates/vize_atelier_core/src/transforms/v_slot.rs 14
Rust crates/vize_atelier_core/tests/conditional_named_slots.rs 2
Rust crates/vize_atelier_core/tests/dynamic_slot_forwarding.rs 1
Rust crates/vize_atelier_core/tests/legacy_event_modifiers.rs 9
Rust crates/vize_atelier_core/tests/legacy_filters.rs 11
Rust crates/vize_atelier_core/tests/legacy_template_sugar.rs 10
Rust crates/vize_atelier_core/tests/scoped_slot_shadowing.rs 1
Rust crates/vize_atelier_dom/src/options.rs 7
Rust crates/vize_atelier_dom/src/steps/v_html.rs 5
Rust crates/vize_atelier_dom/src/steps/v_model.rs 7
Rust crates/vize_atelier_dom/src/steps/v_on.rs 10
Rust crates/vize_atelier_dom/src/steps/v_show.rs 5
Rust crates/vize_atelier_dom/src/steps/v_text.rs 6
Rust crates/vize_atelier_dom/src/tests.rs 27
Rust crates/vize_atelier_dom/tests/dom_snapshot.rs 24
Rust crates/vize_atelier_dom/tests/invalid_expression_diagnostics.rs 6
Rust crates/vize_atelier_dom/tests/setup_component_unref.rs 2
Rust crates/vize_atelier_jsx/src/compile.rs 5
Rust crates/vize_atelier_jsx/src/compile/render_exports.rs 2
Rust crates/vize_atelier_jsx/src/diagnostics.rs 1
Rust crates/vize_atelier_jsx/src/lang.rs 4
Rust crates/vize_atelier_jsx/src/lower/text.rs 5
Rust crates/vize_atelier_jsx/src/mode.rs 7
Rust crates/vize_atelier_jsx/src/parse.rs 7
Rust crates/vize_atelier_jsx/src/span.rs 4
Rust crates/vize_atelier_jsx/tests/adversarial_snapshots.rs 9
Rust crates/vize_atelier_jsx/tests/analysis.rs 5
Rust crates/vize_atelier_jsx/tests/attributes.rs 11
Rust crates/vize_atelier_jsx/tests/children.rs 8
Rust crates/vize_atelier_jsx/tests/compile.rs 11
Rust crates/vize_atelier_jsx/tests/components.rs 7
Rust crates/vize_atelier_jsx/tests/control_flow.rs 2
Rust crates/vize_atelier_jsx/tests/diagnostics.rs 6
Rust crates/vize_atelier_jsx/tests/directives.rs 8
Rust crates/vize_atelier_jsx/tests/ecosystem_smoke.rs 1
Rust crates/vize_atelier_jsx/tests/edge_cases.rs 5
Rust crates/vize_atelier_jsx/tests/elements.rs 10
Rust crates/vize_atelier_jsx/tests/events.rs 2
Rust crates/vize_atelier_jsx/tests/fragments.rs 4
Rust crates/vize_atelier_jsx/tests/modes.rs 13
Rust crates/vize_atelier_jsx/tests/parity_tsx.rs 7
Rust crates/vize_atelier_jsx/tests/parity_vapor.rs 3
Rust crates/vize_atelier_jsx/tests/parity_vdom.rs 1
Rust crates/vize_atelier_jsx/tests/slots.rs 4
Rust crates/vize_atelier_jsx/tests/ssr.rs 3
Rust crates/vize_atelier_jsx/tests/style.rs 9
Rust crates/vize_atelier_jsx/tests/tsx.rs 5
Rust crates/vize_atelier_jsx/tests/vapor_ssr.rs 5
Rust crates/vize_atelier_jsx/tests/vapor.rs 6
Rust crates/vize_atelier_jsx/tests/vdom.rs 5
Rust crates/vize_atelier_sfc/src/bundler/tests.rs 11
Rust crates/vize_atelier_sfc/src/compile_script/artifacts.rs 10
Rust crates/vize_atelier_sfc/src/compile_script/import_utils.rs 6
Rust crates/vize_atelier_sfc/src/compile_script/inline/compiler/props.rs 1
Rust crates/vize_atelier_sfc/src/compile_script/inline/compiler/setup_emit.rs 4
Rust crates/vize_atelier_sfc/src/compile_script/inline/define_model_tests.rs 1
Rust crates/vize_atelier_sfc/src/compile_script/inline/tests.rs 27
Rust crates/vize_atelier_sfc/src/compile_script/inline/type_handling.rs 3
Rust crates/vize_atelier_sfc/src/compile_script/lazy_hydration.rs 3
Rust crates/vize_atelier_sfc/src/compile_script/macros.rs 5
Rust crates/vize_atelier_sfc/src/compile_script/props/tests.rs 11
Rust crates/vize_atelier_sfc/src/compile_script/statement_sections.rs 6
Rust crates/vize_atelier_sfc/src/compile_script/tests.rs 47
Rust crates/vize_atelier_sfc/src/compile_template/tests.rs 27
Rust crates/vize_atelier_sfc/src/compile/tests.rs 88
Rust crates/vize_atelier_sfc/src/compile/tests/define_props_regressions.rs 4
Rust crates/vize_atelier_sfc/src/compile/tests/options_api_events.rs 2
Rust crates/vize_atelier_sfc/src/croquis.rs 1
Rust crates/vize_atelier_sfc/src/css/tests.rs 31
Rust crates/vize_atelier_sfc/src/css/tests/scoped_regressions.rs 5
Rust crates/vize_atelier_sfc/src/lib.rs 14
Rust crates/vize_atelier_sfc/src/parse/tests.rs 33
Rust crates/vize_atelier_sfc/src/rewrite_default.rs 6
Rust crates/vize_atelier_sfc/src/script/analyze_script_bindings.rs 10
Rust crates/vize_atelier_sfc/src/script/context.rs 12
Rust crates/vize_atelier_sfc/src/script/context/external_types.rs 14
Rust crates/vize_atelier_sfc/src/script/context/props.rs 1
Rust crates/vize_atelier_sfc/src/script/define_emits.rs 5
Rust crates/vize_atelier_sfc/src/script/define_expose.rs 1
Rust crates/vize_atelier_sfc/src/script/define_model.rs 3
Rust crates/vize_atelier_sfc/src/script/define_options.rs 1
Rust crates/vize_atelier_sfc/src/script/define_props_destructure/tests.rs 48
Rust crates/vize_atelier_sfc/src/script/define_props.rs 3
Rust crates/vize_atelier_sfc/src/script/define_slots.rs 2
Rust crates/vize_atelier_sfc/src/script/import_usage_check.rs 15
Rust crates/vize_atelier_sfc/src/script/type_resolution.rs 7
Rust crates/vize_atelier_sfc/src/script/utils.rs 4
Rust crates/vize_atelier_sfc/src/snapshot_tests.rs 8
Rust crates/vize_atelier_sfc/src/style.rs 26
Rust crates/vize_atelier_sfc/src/vite_plugin/css_scope.rs 12
Rust crates/vize_atelier_sfc/src/vite_plugin/css.rs 3
Rust crates/vize_atelier_sfc/src/vite_plugin/hmr.rs 2
Rust crates/vize_atelier_sfc/src/vite_plugin/js_string.rs 1
Rust crates/vize_atelier_sfc/src/vite_plugin/resolver.rs 6
Rust crates/vize_atelier_sfc/src/vite_plugin/tests.rs 10
Rust crates/vize_atelier_sfc/src/vite_plugin/tests/middleware.rs 2
Rust crates/vize_atelier_sfc/src/vite_plugin/tests/precompile.rs 1
Rust crates/vize_atelier_sfc/src/vite_plugin/transform.rs 7
Rust crates/vize_atelier_sfc/tests/allocation_budget.rs 1
Rust crates/vize_atelier_sfc/tests/empty_component.rs 1
Rust crates/vize_atelier_sfc/tests/scoped_slot_shadowing.rs 2
Rust crates/vize_atelier_sfc/tests/setup_component_unref.rs 1
Rust crates/vize_atelier_sfc/tests/vite_css_scope.rs 1
Rust crates/vize_atelier_ssr/src/codegen.rs 7
Rust crates/vize_atelier_ssr/src/errors.rs 1
Rust crates/vize_atelier_ssr/src/lib.rs 31
Rust crates/vize_atelier_ssr/src/options.rs 1
Rust crates/vize_atelier_ssr/src/steps.rs 11
Rust crates/vize_atelier_ssr/tests/setup_component_parity.rs 1
Rust crates/vize_atelier_ssr/tests/ssr_snapshot.rs 76
Rust crates/vize_atelier_vapor/src/generate.rs 3
Rust crates/vize_atelier_vapor/src/generate/destructure.rs 2
Rust crates/vize_atelier_vapor/src/generate/operations/for_loop.rs 1
Rust crates/vize_atelier_vapor/src/generators/block.rs 2
Rust crates/vize_atelier_vapor/src/generators/component.rs 3
Rust crates/vize_atelier_vapor/src/generators/directive.rs 4
Rust crates/vize_atelier_vapor/src/generators/event.rs 3
Rust crates/vize_atelier_vapor/src/generators/for_node.rs 3
Rust crates/vize_atelier_vapor/src/generators/generate_text.rs 5
Rust crates/vize_atelier_vapor/src/generators/if_node.rs 2
Rust crates/vize_atelier_vapor/src/generators/prop.rs 3
Rust crates/vize_atelier_vapor/src/lower.rs 2
Rust crates/vize_atelier_vapor/src/tests_dotted_slots.rs 1
Rust crates/vize_atelier_vapor/src/tests_setup_components.rs 2
Rust crates/vize_atelier_vapor/src/tests.rs 42
Rust crates/vize_atelier_vapor/src/transforms/element.rs 2
Rust crates/vize_atelier_vapor/src/transforms/transform_slot.rs 1
Rust crates/vize_atelier_vapor/src/transforms/transform_text.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_bind.rs 1
Rust crates/vize_atelier_vapor/src/transforms/v_for.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_if.rs 1
Rust crates/vize_atelier_vapor/src/transforms/v_model.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_on.rs 2
Rust crates/vize_atelier_vapor/src/transforms/v_show.rs 1
Rust crates/vize_canon/src/batch/error.rs 2
Rust crates/vize_canon/src/batch/executor/cli/import_resolution.rs 1
Rust crates/vize_canon/src/batch/executor/cli/tests.rs 7
Rust crates/vize_canon/src/batch/executor/declaration_maps.rs 1
Rust crates/vize_canon/src/batch/executor/diagnostics.rs 12
Rust crates/vize_canon/src/batch/executor/diagnostics/keyof_indexed_assignment.rs 2
Rust crates/vize_canon/src/batch/executor/diagnostics/line_index.rs 2
Rust crates/vize_canon/src/batch/executor/diagnostics/module_resolution.rs 1
Rust crates/vize_canon/src/batch/executor/tests.rs 12
Rust crates/vize_canon/src/batch/import_rewriter_dts_tests.rs 2
Rust crates/vize_canon/src/batch/import_rewriter_tests.rs 19
Rust crates/vize_canon/src/batch/import_rewriter_type_tests.rs 10
Rust crates/vize_canon/src/batch/import_rewriter_virtual_tests.rs 2
Rust crates/vize_canon/src/batch/import_rewriter_virtual.rs 1
Rust crates/vize_canon/src/batch/materialize_lock.rs 1
Rust crates/vize_canon/src/batch/runtime_deps/tests.rs 3
Rust crates/vize_canon/src/batch/source_map.rs 4
Rust crates/vize_canon/src/batch/type_checker/tests.rs 34
Rust crates/vize_canon/src/batch/type_checker/tests/camel_case_component_props.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/emit_object_recursion.rs 3
Rust crates/vize_canon/src/batch/type_checker/tests/generic_component_listener_payload.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/generic_props.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/no_check_props.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/no_unused.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/options_api_required_props.rs 3
Rust crates/vize_canon/src/batch/type_checker/tests/package_exports_types.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/recent_issues.rs 7
Rust crates/vize_canon/src/batch/type_checker/tests/scan.rs 1
Rust crates/vize_canon/src/batch/type_checker/tests/tsx_sfc.rs 2
Rust crates/vize_canon/src/batch/virtual_project/jsx_codegen.rs 3
Rust crates/vize_canon/src/batch/virtual_project/passthrough.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests.rs 33
Rust crates/vize_canon/src/batch/virtual_project/tests/graphql_generated.rs 1
Rust crates/vize_canon/src/batch/virtual_project/tests/module_augmentations.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests/ref_arity.rs 3
Rust crates/vize_canon/src/batch/virtual_project/tests/setup_props.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests/tsconfig_native_options.rs 1
Rust crates/vize_canon/src/batch/virtual_project/tests/windows_paths.rs 1
Rust crates/vize_canon/src/batch/virtual_ts.rs 1
Rust crates/vize_canon/src/checker.rs 19
Rust crates/vize_canon/src/context.rs 3
Rust crates/vize_canon/src/corsa_bridge.rs 4
Rust crates/vize_canon/src/corsa_bridge/vue_dependencies.rs 1
Rust crates/vize_canon/src/corsa_bridge/vue_dependency_specifiers.rs 1
Rust crates/vize_canon/src/corsa_bridge/vue_document_tests.rs 4
Rust crates/vize_canon/src/corsa_server.rs 6
Rust crates/vize_canon/src/corsa_session_cache.rs 2
Rust crates/vize_canon/src/diagnostic.rs 2
Rust crates/vize_canon/src/file_uri.rs 6
Rust crates/vize_canon/src/intelligence.rs 5
Rust crates/vize_canon/src/lsp_client/diagnostics_api.rs 3
Rust crates/vize_canon/src/lsp_client/diagnostics.rs 3
Rust crates/vize_canon/src/lsp_client/lifecycle.rs 1
Rust crates/vize_canon/src/lsp_client/session.rs 8
Rust crates/vize_canon/src/lsp_client/tests.rs 7
Rust crates/vize_canon/src/lsp_client/virtual_overlay.rs 1
Rust crates/vize_canon/src/script_parse.rs 5
Rust crates/vize_canon/src/sfc_typecheck/tests.rs 64
Rust crates/vize_canon/src/sfc_typecheck/tests/emit_props.rs 1
Rust crates/vize_canon/src/sfc_typecheck/tests/optional_chain_props.rs 2
Rust crates/vize_canon/src/sfc_typecheck/tests/options_api_required_props.rs 1
Rust crates/vize_canon/src/sfc_typecheck/tests/options_api_setup_spread.rs 1
Rust crates/vize_canon/src/source_map.rs 12
Rust crates/vize_canon/src/tests.rs 18
Rust crates/vize_canon/src/type_only_import_anchors.rs 1
Rust crates/vize_canon/src/typecheck_service.rs 2
Rust crates/vize_canon/src/types.rs 2
Rust crates/vize_canon/src/virtual_ts/expressions/component_props.rs 1
Rust crates/vize_canon/src/virtual_ts/expressions/tests.rs 9
Rust crates/vize_canon/src/virtual_ts/generator/legacy_vue2.rs 1
Rust crates/vize_canon/src/virtual_ts/generator/script_module.rs 3
Rust crates/vize_canon/src/virtual_ts/generator/setup_helpers/boolean_keys.rs 2
Rust crates/vize_canon/src/virtual_ts/generator/spans.rs 9
Rust crates/vize_canon/src/virtual_ts/helpers.rs 3
Rust crates/vize_canon/src/virtual_ts/incremental.rs 3
Rust crates/vize_canon/src/virtual_ts/interface_extends_tests.rs 1
Rust crates/vize_canon/src/virtual_ts/legacy_vue2_vuetify_tests.rs 7
Rust crates/vize_canon/src/virtual_ts/props.rs 4
Rust crates/vize_canon/src/virtual_ts/props/with_defaults.rs 2
Rust crates/vize_canon/src/virtual_ts/tests.rs 62
Rust crates/vize_canon/src/virtual_ts/tests/auto_import_shadowing.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/component_navigation.rs 3
Rust crates/vize_canon/src/virtual_ts/tests/define_props_scope.rs 6
Rust crates/vize_canon/src/virtual_ts/tests/legacy_nuxt2_page_context.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/no_check_template_bindings.rs 2
Rust crates/vize_canon/src/virtual_ts/tests/options_api_props_spread.rs 5
Rust crates/vize_canon/src/virtual_ts/tests/options_api_setup_spread.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/unused_refs.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/vif_chain.rs 2
Rust crates/vize_canon/src/virtual_ts/types.rs 1
Rust crates/vize_canon/tests/lsp_import_resolution.rs 1
Rust crates/vize_canon/tests/nuxt_false_positives.rs 4
Rust crates/vize_canon/tests/plain_script_named_exports.rs 2
Rust crates/vize_carton/src/allocator.rs 4
Rust crates/vize_carton/src/clone_in.rs 6
Rust crates/vize_carton/src/config/loader/tests.rs 22
Rust crates/vize_carton/src/config/model/linter_rule_options.rs 4
Rust crates/vize_carton/src/config/model/linter.rs 9
Rust crates/vize_carton/src/config/model/vue.rs 5
Rust crates/vize_carton/src/config/normalize.rs 4
Rust crates/vize_carton/src/corsa_resolver.rs 20
Rust crates/vize_carton/src/dialect.rs 12
Rust crates/vize_carton/src/directive.rs 18
Rust crates/vize_carton/src/dom_tag_config.rs 5
Rust crates/vize_carton/src/flags.rs 3
Rust crates/vize_carton/src/general.rs 7
Rust crates/vize_carton/src/hash.rs 4
Rust crates/vize_carton/src/i18n.rs 7
Rust crates/vize_carton/src/line_index.rs 7
Rust crates/vize_carton/src/lsp.rs 7
Rust crates/vize_carton/src/path.rs 4
Rust crates/vize_carton/src/profiler/tests.rs 10
Rust crates/vize_carton/src/source_range.rs 5
Rust crates/vize_carton/src/string_builder.rs 6
Rust crates/vize_carton/src/telegraph.rs 2
Rust crates/vize_carton/tests/linter_features.rs 3
Rust crates/vize_carton/tests/loading.rs 12
Rust crates/vize_carton/tests/pkl_compat.rs 1
Rust crates/vize_croquis_cf/src/analyzer/core/deps.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_basic.rs 11
Rust crates/vize_croquis_cf/src/analyzer/tests_element_id.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/basic.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/patterns.rs 5
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/playground.rs 2
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/provider_context.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/provider_reactivity.rs 3
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/tree.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_race_conditions/advanced.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_race_conditions/basic.rs 5
Rust crates/vize_croquis_cf/src/analyzer/tests_reactivity_props/direct.rs 9
Rust crates/vize_croquis_cf/src/analyzer/tests_reactivity_props/shared.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_single_file.rs 10
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/full.rs 1
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/graph.rs 1
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/reactivity.rs 2
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/codes.rs 2
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/markdown.rs 8
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/snapshots.rs 3
Rust crates/vize_croquis_cf/src/graph.rs 3
Rust crates/vize_croquis_cf/src/registry.rs 5
Rust crates/vize_croquis_cf/src/rules/boundary.rs 1
Rust crates/vize_croquis_cf/src/rules/component_resolution/paths.rs 3
Rust crates/vize_croquis_cf/src/rules/component_resolution/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity_tests.rs 7
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity/path_helpers.rs 3
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity/store_detection.rs 7
Rust crates/vize_croquis_cf/src/rules/element_id.rs 1
Rust crates/vize_croquis_cf/src/rules/emit.rs 1
Rust crates/vize_croquis_cf/src/rules/event_bubbling/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/fallthrough/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/props_validation/helpers_tests.rs 4
Rust crates/vize_croquis_cf/src/rules/provide_inject/tests.rs 1
Rust crates/vize_croquis_cf/src/rules/reactivity/tests.rs 1
Rust crates/vize_croquis_cf/src/rules/setup_context.rs 1
Rust crates/vize_croquis_cf/src/suppression.rs 8
Rust crates/vize_croquis/src/builtins.rs 6
Rust crates/vize_croquis/src/call_graph/analysis.rs 6
Rust crates/vize_croquis/src/croquis.rs 2
Rust crates/vize_croquis/src/css.rs 1
Rust crates/vize_croquis/src/declaration_ts.rs 2
Rust crates/vize_croquis/src/drawer/helpers/identifiers/tests.rs 5
Rust crates/vize_croquis/src/drawer/helpers/keywords.rs 2
Rust crates/vize_croquis/src/drawer/helpers/slots/slot_props.rs 3
Rust crates/vize_croquis/src/drawer/helpers/v_for/tests.rs 4
Rust crates/vize_croquis/src/drawer/helpers/v_scope.rs 5
Rust crates/vize_croquis/src/drawer/template/tests.rs 11
Rust crates/vize_croquis/src/drawer/tests/script.rs 6
Rust crates/vize_croquis/src/drawer/tests/snapshots.rs 4
Rust crates/vize_croquis/src/effect_graph.rs 3
Rust crates/vize_croquis/src/hoist.rs 2
Rust crates/vize_croquis/src/import_resolver.rs 10
Rust crates/vize_croquis/src/macros.rs 3
Rust crates/vize_croquis/src/naming.rs 7
Rust crates/vize_croquis/src/optimization.rs 2
Rust crates/vize_croquis/src/provide.rs 2
Rust crates/vize_croquis/src/race.rs 1
Rust crates/vize_croquis/src/reactivity_tracking/tracker.rs 7
Rust crates/vize_croquis/src/reactivity.rs 5
Rust crates/vize_croquis/src/render_tree.rs 1
Rust crates/vize_croquis/src/scope/chain/chain_tests.rs 26
Rust crates/vize_croquis/src/scope/types.rs 7
Rust crates/vize_croquis/src/script_parser/interface_extends_tests.rs 2
Rust crates/vize_croquis/src/script_parser/options_api_emits_tests.rs 1
Rust crates/vize_croquis/src/script_parser/process/options_api.rs 4
Rust crates/vize_croquis/src/script_parser/props_destructure_tests.rs 2
Rust crates/vize_croquis/src/script_parser/tests.rs 52
Rust crates/vize_croquis/src/setup_context.rs 2
Rust crates/vize_croquis/src/symbol.rs 2
Rust crates/vize_croquis/src/types/tests.rs 8
Rust crates/vize_croquis/src/virtual_ts.rs 11
Rust crates/vize_croquis/src/virtual_ts/generator/script.rs 3
Rust crates/vize_curator/src/inspector/tests.rs 9
Rust crates/vize_curator/src/profile/tests.rs 1
Rust crates/vize_fresco/src/component/box_node.rs 4
Rust crates/vize_fresco/src/component/input_node.rs 4
Rust crates/vize_fresco/src/component/text_node.rs 4
Rust crates/vize_fresco/src/input/event.rs 2
Rust crates/vize_fresco/src/input/ime/candidate.rs 6
Rust crates/vize_fresco/src/input/ime/platform.rs 4
Rust crates/vize_fresco/src/input/ime/preedit.rs 7
Rust crates/vize_fresco/src/input/ime/state.rs 5
Rust crates/vize_fresco/src/input/keyboard.rs 5
Rust crates/vize_fresco/src/input/mouse.rs 3
Rust crates/vize_fresco/src/layout/engine.rs 6
Rust crates/vize_fresco/src/layout/flex_tests.rs 4
Rust crates/vize_fresco/src/layout/rect.rs 7
Rust crates/vize_fresco/src/napi/render_tests.rs 3
Rust crates/vize_fresco/src/render/diff.rs 4
Rust crates/vize_fresco/src/render/node.rs 4
Rust crates/vize_fresco/src/render/painter.rs 3
Rust crates/vize_fresco/src/render/tree.rs 4
Rust crates/vize_fresco/src/terminal/backend.rs 2
Rust crates/vize_fresco/src/terminal/buffer.rs 6
Rust crates/vize_fresco/src/terminal/cell.rs 4
Rust crates/vize_fresco/src/terminal/cursor.rs 3
Rust crates/vize_fresco/src/text/segment.rs 12
Rust crates/vize_fresco/src/text/width.rs 10
Rust crates/vize_fresco/src/text/wrap.rs 11
Rust crates/vize_glyph/src/json/tests.rs 22
Rust crates/vize_glyph/src/lib.rs 18
Rust crates/vize_glyph/src/script.rs 10
Rust crates/vize_glyph/src/style.rs 7
Rust crates/vize_glyph/src/template.rs 40
Rust crates/vize_glyph/src/template/attributes.rs 4
Rust crates/vize_glyph/tests/custom_blocks.rs 2
Rust crates/vize_glyph/tests/script_idempotence.rs 3
Rust crates/vize_glyph/tests/sfc_check_mode.rs 2
Rust crates/vize_glyph/tests/sfc_script_idempotence.rs 2
Rust crates/vize_glyph/tests/template_component_tags.rs 1
Rust crates/vize_glyph/tests/template_directive_attributes.rs 7
Rust crates/vize_glyph/tests/template_nested_component_indent.rs 1
Rust crates/vize_maestro/src/document/store/tests.rs 18
Rust crates/vize_maestro/src/ide/auto_import.rs 3
Rust crates/vize_maestro/src/ide/code_action.rs 6
Rust crates/vize_maestro/src/ide/code_lens.rs 4
Rust crates/vize_maestro/src/ide/completion/component_props_tests.rs 3
Rust crates/vize_maestro/src/ide/completion/dedup_tests.rs 2
Rust crates/vize_maestro/src/ide/completion/script/tests.rs 3
Rust crates/vize_maestro/src/ide/completion/template/bindings.rs 3
Rust crates/vize_maestro/src/ide/completion/template/component_meta.rs 3
Rust crates/vize_maestro/src/ide/completion/template/native_tests.rs 3
Rust crates/vize_maestro/src/ide/completion/template/slot_outlets.rs 3
Rust crates/vize_maestro/src/ide/completion/tests.rs 39
Rust crates/vize_maestro/src/ide/corsa_support/canonical_tests.rs 5
Rust crates/vize_maestro/src/ide/corsa_support/html_attribute_tests.rs 4
Rust crates/vize_maestro/src/ide/corsa_support/html_tag.rs 8
Rust crates/vize_maestro/src/ide/cursor_context.rs 9
Rust crates/vize_maestro/src/ide/definition.rs 26
Rust crates/vize_maestro/src/ide/definition/corsa_tests.rs 1
Rust crates/vize_maestro/src/ide/definition/html_tests.rs 6
Rust crates/vize_maestro/src/ide/diagnostics/corsa/message.rs 9
Rust crates/vize_maestro/src/ide/diagnostics/corsa/relative_import_tests.rs 1
Rust crates/vize_maestro/src/ide/diagnostics/corsa/tests.rs 7
Rust crates/vize_maestro/src/ide/diagnostics/editor_typecheck_tests.rs 5
Rust crates/vize_maestro/src/ide/diagnostics/tests.rs 34
Rust crates/vize_maestro/src/ide/document_highlight.rs 3
Rust crates/vize_maestro/src/ide/document_link.rs 3
Rust crates/vize_maestro/src/ide/ecosystem/context.rs 2
Rust crates/vize_maestro/src/ide/ecosystem/i18n.rs 3
Rust crates/vize_maestro/src/ide/ecosystem/router_extension_tests.rs 1
Rust crates/vize_maestro/src/ide/ecosystem/router.rs 4
Rust crates/vize_maestro/src/ide/ecosystem/void.rs 2
Rust crates/vize_maestro/src/ide/file_rename/declaration_index_tests.rs 1
Rust crates/vize_maestro/src/ide/file_rename/manual_tests.rs 3
Rust crates/vize_maestro/src/ide/file_rename/merge_tests.rs 3
Rust crates/vize_maestro/src/ide/file_rename/resources.rs 2
Rust crates/vize_maestro/src/ide/hover.rs 17
Rust crates/vize_maestro/src/ide/hover/component_prop.rs 1
Rust crates/vize_maestro/src/ide/hover/component_tag.rs 2
Rust crates/vize_maestro/src/ide/hover/corsa_tests.rs 1
Rust crates/vize_maestro/src/ide/hover/html.rs 6
Rust crates/vize_maestro/src/ide/inlay_hint.rs 10
Rust crates/vize_maestro/src/ide/jsx/code_action.rs 4
Rust crates/vize_maestro/src/ide/jsx/document_symbols.rs 4
Rust crates/vize_maestro/src/ide/jsx/position.rs 3
Rust crates/vize_maestro/src/ide/jsx/references.rs 1
Rust crates/vize_maestro/src/ide/jsx/rename.rs 3
Rust crates/vize_maestro/src/ide/jsx/scoped_style.rs 6
Rust crates/vize_maestro/src/ide/jsx/semantic_tokens.rs 4
Rust crates/vize_maestro/src/ide/jsx/service.rs 6
Rust crates/vize_maestro/src/ide/jsx/virtual_ts.rs 4
Rust crates/vize_maestro/src/ide/references.rs 6
Rust crates/vize_maestro/src/ide/rename.rs 6
Rust crates/vize_maestro/src/ide/semantic_tokens/tests.rs 25
Rust crates/vize_maestro/src/ide/tests.rs 13
Rust crates/vize_maestro/src/ide/type_service.rs 2
Rust crates/vize_maestro/src/ide/type_service/diagnostics.rs 4
Rust crates/vize_maestro/src/ide/workspace_symbols.rs 5
Rust crates/vize_maestro/src/runtime.rs 1
Rust crates/vize_maestro/src/server/capabilities/tests.rs 8
Rust crates/vize_maestro/src/server/format.rs 8
Rust crates/vize_maestro/src/server/handlers.rs 9
Rust crates/vize_maestro/src/server/handlers/tests/lifecycle.rs 6
Rust crates/vize_maestro/src/server/handlers/tests/requests.rs 2
Rust crates/vize_maestro/src/server/handlers/tests/requests/responses.rs 3
Rust crates/vize_maestro/src/server/state/config_tests.rs 2
Rust crates/vize_maestro/src/server/state/tests.rs 26
Rust crates/vize_maestro/src/utils/position.rs 8
Rust crates/vize_maestro/src/virtual_code/generator/tests.rs 10
Rust crates/vize_maestro/src/virtual_code/script_code.rs 2
Rust crates/vize_maestro/src/virtual_code/source_map.rs 6
Rust crates/vize_maestro/src/virtual_code/style_code.rs 2
Rust crates/vize_maestro/src/virtual_code/template_code.rs 4
Rust crates/vize_maestro/tests/file_rename_declarations.rs 3
Rust crates/vize_musea/src/autogen.rs 4
Rust crates/vize_musea/src/autogen/strategy.rs 8
Rust crates/vize_musea/src/docs.rs 2
Rust crates/vize_musea/src/docs/catalog.rs 3
Rust crates/vize_musea/src/docs/markdown.rs 2
Rust crates/vize_musea/src/lib.rs 4
Rust crates/vize_musea/src/palette/codegen.rs 4
Rust crates/vize_musea/src/palette/inference.rs 7
Rust crates/vize_musea/src/palette/types.rs 3
Rust crates/vize_musea/src/parse.rs 8
Rust crates/vize_musea/src/parse/art_block.rs 4
Rust crates/vize_musea/src/parse/variant.rs 7
Rust crates/vize_musea/src/tokens/tests.rs 3
Rust crates/vize_musea/src/transform/to_csf/tests.rs 7
Rust crates/vize_musea/src/transform/to_vue.rs 4
Rust crates/vize_musea/src/types.rs 3
Rust crates/vize_musea/src/vrt/config.rs 5
Rust crates/vize_musea/src/vrt/preset.rs 5
Rust crates/vize_musea/tests/define_art_metadata.rs 1
Rust crates/vize_patina/src/diagnostic.rs 19
Rust crates/vize_patina/src/lib.rs 2
Rust crates/vize_patina/src/linter/corsa_session/paths.rs 5
Rust crates/vize_patina/src/linter/corsa_session/session.rs 3
Rust crates/vize_patina/src/linter/corsa_session/tests.rs 2
Rust crates/vize_patina/src/linter/engine/ecosystem_hint.rs 2
Rust crates/vize_patina/src/linter/engine/template_extract.rs 10
Rust crates/vize_patina/src/linter/native_type_aware/template_queries/calls.rs 15
Rust crates/vize_patina/src/linter/native_type_aware/template_queries/collector.rs 1
Rust crates/vize_patina/src/linter/native_type_aware/tests.rs 47
Rust crates/vize_patina/src/linter/native_type_aware/tests/opt_in.rs 5
Rust crates/vize_patina/src/linter/native_type_aware/tests/options_api.rs 1
Rust crates/vize_patina/src/linter/script_rules/html_scripts.rs 1
Rust crates/vize_patina/src/linter/tests/basic.rs 29
Rust crates/vize_patina/src/linter/tests/css.rs 1
Rust crates/vize_patina/src/linter/tests/directives.rs 15
Rust crates/vize_patina/src/linter/tests/jsx_fallback.rs 3
Rust crates/vize_patina/src/linter/tests/jsx.rs 18
Rust crates/vize_patina/src/linter/tests/no_top_level_ref.rs 2
Rust crates/vize_patina/src/linter/tests/nuxt.rs 7
Rust crates/vize_patina/src/linter/tests/script.rs 2
Rust crates/vize_patina/src/linter/tests/severity_overrides.rs 2
Rust crates/vize_patina/src/linter/tests/sfc.rs 26
Rust crates/vize_patina/src/linter/tests/v_for_unused_vars.rs 2
Rust crates/vize_patina/src/markup.rs 10
Rust crates/vize_patina/src/output/tests.rs 13
Rust crates/vize_patina/src/preset.rs 4
Rust crates/vize_patina/src/rules/a11y/alt_text.rs 11
Rust crates/vize_patina/src/rules/a11y/anchor_has_content.rs 5
Rust crates/vize_patina/src/rules/a11y/anchor_is_valid.rs 11
Rust crates/vize_patina/src/rules/a11y/aria_props.rs 13
Rust crates/vize_patina/src/rules/a11y/aria_role.rs 18
Rust crates/vize_patina/src/rules/a11y/aria_unsupported_elements.rs 6
Rust crates/vize_patina/src/rules/a11y/click_events_have_key_events.rs 9
Rust crates/vize_patina/src/rules/a11y/form_control_has_label.rs 10
Rust crates/vize_patina/src/rules/a11y/heading_has_content.rs 8
Rust crates/vize_patina/src/rules/a11y/iframe_has_title.rs 4
Rust crates/vize_patina/src/rules/a11y/img_alt.rs 3
Rust crates/vize_patina/src/rules/a11y/interactive_supports_focus.rs 6
Rust crates/vize_patina/src/rules/a11y/label_has_for.rs 6
Rust crates/vize_patina/src/rules/a11y/media_has_caption.rs 6
Rust crates/vize_patina/src/rules/a11y/mouse_events_have_key_events.rs 8
Rust crates/vize_patina/src/rules/a11y/no_access_key.rs 4
Rust crates/vize_patina/src/rules/a11y/no_aria_hidden_on_focusable.rs 7
Rust crates/vize_patina/src/rules/a11y/no_autofocus.rs 4
Rust crates/vize_patina/src/rules/a11y/no_distracting_elements.rs 3
Rust crates/vize_patina/src/rules/a11y/no_i_for_icon.rs 13
Rust crates/vize_patina/src/rules/a11y/no_redundant_roles.rs 6
Rust crates/vize_patina/src/rules/a11y/no_refer_to_non_existent_id.rs 3
Rust crates/vize_patina/src/rules/a11y/no_role_presentation_on_focusable.rs 7
Rust crates/vize_patina/src/rules/a11y/no_static_element_interactions.rs 8
Rust crates/vize_patina/src/rules/a11y/role_has_required_aria_props.rs 8
Rust crates/vize_patina/src/rules/a11y/tabindex_no_positive.rs 4
Rust crates/vize_patina/src/rules/css.rs 6
Rust crates/vize_patina/src/rules/css/no_display_none.rs 3
Rust crates/vize_patina/src/rules/css/no_hardcoded_values.rs 7
Rust crates/vize_patina/src/rules/css/no_id_selectors.rs 3
Rust crates/vize_patina/src/rules/css/no_important.rs 2
Rust crates/vize_patina/src/rules/css/no_utility_classes.rs 4
Rust crates/vize_patina/src/rules/css/no_v_bind_performance.rs 4
Rust crates/vize_patina/src/rules/css/prefer_logical_properties.rs 3
Rust crates/vize_patina/src/rules/css/prefer_nested_selectors.rs 12
Rust crates/vize_patina/src/rules/css/prefer_slotted.rs 3
Rust crates/vize_patina/src/rules/css/require_font_display.rs 3
Rust crates/vize_patina/src/rules/ecosystem/i18n_no_missing_key.rs 4
Rust crates/vize_patina/src/rules/ecosystem/nuxt_prefer_nuxt_link.rs 3
Rust crates/vize_patina/src/rules/ecosystem/router_link_require_to.rs 4
Rust crates/vize_patina/src/rules/ecosystem/void_link_require_href.rs 4
Rust crates/vize_patina/src/rules/ecosystem/void_link_valid_method.rs 3
Rust crates/vize_patina/src/rules/ecosystem/vue_router_prefer_named_link.rs 4
Rust crates/vize_patina/src/rules/html/deprecated_attr.rs 8
Rust crates/vize_patina/src/rules/html/deprecated_element.rs 9
Rust crates/vize_patina/src/rules/html/id_duplication.rs 9
Rust crates/vize_patina/src/rules/html/no_consecutive_br.rs 6
Rust crates/vize_patina/src/rules/html/no_duplicate_dt.rs 5
Rust crates/vize_patina/src/rules/html/no_empty_palpable_content.rs 12
Rust crates/vize_patina/src/rules/html/require_datetime.rs 8
Rust crates/vize_patina/src/rules/musea.rs 5
Rust crates/vize_patina/src/rules/musea/no_empty_variant.rs 3
Rust crates/vize_patina/src/rules/musea/prefer_design_tokens.rs 8
Rust crates/vize_patina/src/rules/musea/require_component.rs 3
Rust crates/vize_patina/src/rules/musea/require_title.rs 4
Rust crates/vize_patina/src/rules/musea/unique_variant_names.rs 3
Rust crates/vize_patina/src/rules/musea/valid_variant.rs 3
Rust crates/vize_patina/src/rules/opinionated/a11y/heading_levels.rs 9
Rust crates/vize_patina/src/rules/opinionated/a11y/landmark_roles.rs 12
Rust crates/vize_patina/src/rules/opinionated/a11y/placeholder_label_option.rs 6
Rust crates/vize_patina/src/rules/opinionated/a11y/use_list.rs 10
Rust crates/vize_patina/src/rules/opinionated/html/no_dupe_style_properties.rs 8
Rust crates/vize_patina/src/rules/opinionated/html/no_duplicate_class.rs 8
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_floating_promises.rs 1
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_reactivity_loss.rs 1
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_unsafe_template_binding.rs 1
Rust crates/vize_patina/src/rules/opinionated/vapor/no_inline_template.rs 3
Rust crates/vize_patina/src/rules/opinionated/vapor/prefer_static_class.rs 5
Rust crates/vize_patina/src/rules/opinionated/vapor/require_vapor_attribute.rs 1
Rust crates/vize_patina/src/rules/opinionated/vue/component_name_in_template_casing.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/html_button_has_type.rs 12
Rust crates/vize_patina/src/rules/opinionated/vue/html_self_closing.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/multi_word_component_names.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/no_array_index_key.rs 13
Rust crates/vize_patina/src/rules/opinionated/vue/no_boolean_attr_value.rs 10
Rust crates/vize_patina/src/rules/opinionated/vue/no_empty_component_block.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_inline_style.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/no_multiple_objects_in_class.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_negated_v_if_condition.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/no_root_v_if.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_template_shadow.rs 3
Rust crates/vize_patina/src/rules/opinionated/vue/no_unused_refs/tests.rs 18
Rust crates/vize_patina/src/rules/opinionated/vue/no_useless_mustaches.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/no_useless_v_bind.rs 5
Rust crates/vize_patina/src/rules/opinionated/vue/no_v_text.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/prefer_props_shorthand.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/prefer_true_attribute_shorthand.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/require_component_registration.rs 5
Rust crates/vize_patina/src/rules/opinionated/vue/scoped_event_names.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/slot_name_casing.rs 7
Rust crates/vize_patina/src/rules/opinionated/vue/this_in_template.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/use_unique_element_ids.rs 20
Rust crates/vize_patina/src/rules/opinionated/vue/use_v_on_exact.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/v_bind_style.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/v_on_event_hyphenation.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/v_on_handler_style.rs 12
Rust crates/vize_patina/src/rules/opinionated/vue/warn_custom_block.rs 2
Rust crates/vize_patina/src/rules/opinionated/vue/warn_custom_directive.rs 4
Rust crates/vize_patina/src/rules/petite_vue/no_unsupported_directive.rs 7
Rust crates/vize_patina/src/rules/petite_vue/valid_v_effect.rs 6
Rust crates/vize_patina/src/rules/petite_vue/valid_v_scope.rs 13
Rust crates/vize_patina/src/rules/script/component_options_name_casing/tests.rs 18
Rust crates/vize_patina/src/rules/script/custom_event_name_casing.rs 15
Rust crates/vize_patina/src/rules/script/define_emits_declaration.rs 9
Rust crates/vize_patina/src/rules/script/define_macros_order/tests.rs 19
Rust crates/vize_patina/src/rules/script/define_props_declaration.rs 9
Rust crates/vize_patina/src/rules/script/define_props_destructuring.rs 8
Rust crates/vize_patina/src/rules/script/no_arrow_functions_in_watch/tests.rs 18
Rust crates/vize_patina/src/rules/script/no_async_in_computed.rs 5
Rust crates/vize_patina/src/rules/script/no_boolean_default/tests.rs 15
Rust crates/vize_patina/src/rules/script/no_deep_destructure_in_props.rs 8
Rust crates/vize_patina/src/rules/script/no_deprecated_data_object_declaration/tests.rs 14
Rust crates/vize_patina/src/rules/script/no_deprecated_dollar_listeners_api.rs 10
Rust `crates/vize

Comment truncated at 64000 characters. Open the workflow run for the full job log.

@ubugeeei ubugeeei force-pushed the fix/template-component-intellisense branch from d4c01b8 to a732177 Compare July 8, 2026 19:46

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/vize_maestro/src/ide/diagnostics/collectors.rs`:
- Around line 47-58: The diagnostics collector in collect() is re-parsing the
same template in collect_template_diagnostics and again in the Drawer flow,
doubling work on the typecheck-enabled path. Refactor the collectors in
collectors.rs so the already-parsed AST or the finished Drawer/croquis from
collect_template_diagnostics is threaded into the template diagnostics
collection instead of calling vize_armature::parse a second time, and reuse the
existing Bump/Drawer state where possible.
- Around line 670-672: The duplicated prop_names_match helper in the diagnostics
collector should be consolidated into a shared helper so its matching behavior
stays consistent with hover/component_tag.rs. Move the logic into
crate::ide::definition::helpers alongside kebab_to_camel, then update both
collectors to call the shared function instead of keeping separate copies. Use
the existing prop_names_match references in collectors.rs and
hover/component_tag.rs to replace the local implementations with the shared
helper.

In `@crates/vize_maestro/src/ide/hover/component_prop.rs`:
- Around line 30-40: Extract the duplicated Vue docs label and URL used in
`hover_component_prop` into a shared constant or small helper so it can be
reused by `hover_component_tag` in `component_tag.rs` as well. Update the
`.link(...)` call in this builder to reference the shared symbol instead of
hardcoding `"Vue Component Props"` and the Vue props URL, keeping both hover
paths consistent and preventing drift if the docs change.

In `@crates/vize_maestro/src/ide/hover/component_tag.rs`:
- Around line 85-96: Add hover test coverage for the new required-props
rendering paths in hover_component_tag so both the “Required props” bullet
output and the vue missing-required example are exercised; update or add tests
alongside the existing component hover tests to assert these branches. Also
remove the duplicated "Vue Component Props" link literal by reusing the shared
link constant used in component_prop.rs so the label/URL stay consistent in one
place.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 78c22428-7164-44f9-b277-4e0965296cdb

📥 Commits

Reviewing files that changed from the base of the PR and between 672683a and d4c01b8.

📒 Files selected for processing (12)
  • crates/vize_maestro/src/ide/completion/component_props_tests.rs
  • crates/vize_maestro/src/ide/completion/items.rs
  • crates/vize_maestro/src/ide/completion/template.rs
  • crates/vize_maestro/src/ide/completion/template/directives.rs
  • crates/vize_maestro/src/ide/completion/template/tag_context.rs
  • crates/vize_maestro/src/ide/completion/tests.rs
  • crates/vize_maestro/src/ide/diagnostics.rs
  • crates/vize_maestro/src/ide/diagnostics/collectors.rs
  • crates/vize_maestro/src/ide/diagnostics/service.rs
  • crates/vize_maestro/src/ide/diagnostics/tests.rs
  • crates/vize_maestro/src/ide/hover/component_prop.rs
  • crates/vize_maestro/src/ide/hover/component_tag.rs
📜 Review details
⏰ Context from checks skipped due to timeout. (9)
  • GitHub Check: dialect-guard
  • GitHub Check: clippy-and-test
  • GitHub Check: vue-parity
  • GitHub Check: criterion-ab
  • GitHub Check: build-js-packages
  • GitHub Check: test-js-packages
  • GitHub Check: test-scripts
  • GitHub Check: pr-benchmark
  • GitHub Check: tool-benchmark
🧰 Additional context used
📓 Path-based instructions (1)
crates/**

⚙️ CodeRabbit configuration file

crates/**: Focus on parser/compiler correctness, source locations, UTF-8/UTF-16 offset handling, and panic-free LSP behavior. Flag changes that only work for small fixtures but break real Vue/Nuxt projects.

Files:

  • crates/vize_maestro/src/ide/diagnostics.rs
  • crates/vize_maestro/src/ide/hover/component_prop.rs
  • crates/vize_maestro/src/ide/completion/tests.rs
  • crates/vize_maestro/src/ide/diagnostics/tests.rs
  • crates/vize_maestro/src/ide/completion/template/directives.rs
  • crates/vize_maestro/src/ide/diagnostics/service.rs
  • crates/vize_maestro/src/ide/completion/component_props_tests.rs
  • crates/vize_maestro/src/ide/completion/items.rs
  • crates/vize_maestro/src/ide/diagnostics/collectors.rs
  • crates/vize_maestro/src/ide/completion/template/tag_context.rs
  • crates/vize_maestro/src/ide/hover/component_tag.rs
  • crates/vize_maestro/src/ide/completion/template.rs
🔇 Additional comments (18)
crates/vize_maestro/src/ide/hover/component_prop.rs (1)

144-148: LGTM!

crates/vize_maestro/src/ide/hover/component_tag.rs (2)

50-65: LGTM!


234-241: LGTM!

crates/vize_maestro/src/ide/completion/items.rs (3)

12-13: LGTM!


94-114: LGTM!


116-123: 🎯 Functional Correctness

Shorthand directive labels are already used. crates/vize_maestro/src/ide/completion/template/directives.rs passes "@", ":", and "#" into directive_item, so the shorthand branches in directive_completion_kind are reachable and the icon mapping is intentional.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/completion/template/directives.rs (2)

4-5: LGTM!


56-75: 🎯 Functional Correctness

No issue: event shorthand completions already get replacement text edits in open tags. contextual_directive_completions() is wrapped by prepare_open_tag_completions(), so event_shorthand_completions() items also pass through with_open_tag_text_edits() and replace the typed prefix instead of duplicating it.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/diagnostics.rs (1)

43-43: LGTM!

crates/vize_maestro/src/ide/diagnostics/collectors.rs (2)

12-46: LGTM!

Also applies to: 86-116


64-83: 🚀 Performance & Scalability

No issue: component_metadata is already cached per file. It reuses ServerState::component_metadata_cache keyed by resolved path and invalidates on file length/mtime changes, so repeated component usages here do not cause repeated disk reads.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/diagnostics/service.rs (1)

154-167: LGTM!

crates/vize_maestro/src/ide/diagnostics/tests.rs (1)

257-361: LGTM!

crates/vize_maestro/src/ide/completion/template/tag_context.rs (1)

7-13: LGTM!

Also applies to: 44-55, 79-93

crates/vize_maestro/src/ide/completion/template.rs (2)

23-23: LGTM!

Also applies to: 40-86, 103-110, 139-169, 186-208, 216-226


112-137: 🩺 Stability & Availability

No clamp needed here The range helper already bounds offset to content.len(), so ctx.offset can’t drive an out-of-range position lookup.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/completion/component_props_tests.rs (1)

3-3: LGTM!

Also applies to: 50-101, 193-203

crates/vize_maestro/src/ide/completion/tests.rs (1)

9-11: LGTM!

Also applies to: 559-597

Comment on lines +47 to +58
let allocator = vize_carton::Bump::new();
let (root, _) = vize_armature::parse(&allocator, template_content);
let mut drawer = Drawer::with_options(DrawerOptions {
analyze_template_scopes: true,
track_usage: true,
..Default::default()
});
drawer.draw_template(&root);
let croquis = drawer.finish();
if croquis.component_usages.is_empty() {
return Vec::new();
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 Performance & Scalability | 🔵 Trivial | 🏗️ Heavy lift

Template is re-parsed here even though collect_template_diagnostics already parses the same template in the same collect() pass.

Every call to collect() with features.typecheck enabled now parses the template with vize_armature::parse twice (once for parser diagnostics, once here for the Drawer), plus builds a fresh Drawer/Bump allocator. For large real-world templates (as opposed to small fixtures), this doubles per-keystroke parse cost on the typecheck-enabled path.

Consider threading the already-parsed AST (or the Drawer/croquis result) from collect_template_diagnostics into this collector instead of re-parsing, to keep the diagnostics pipeline scaling with real Vue/Nuxt-sized templates.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/collectors.rs` around lines 47 - 58,
The diagnostics collector in collect() is re-parsing the same template in
collect_template_diagnostics and again in the Drawer flow, doubling work on the
typecheck-enabled path. Refactor the collectors in collectors.rs so the
already-parsed AST or the finished Drawer/croquis from
collect_template_diagnostics is threaded into the template diagnostics
collection instead of calling vize_armature::parse a second time, and reuse the
existing Bump/Drawer state where possible.

Comment on lines +670 to +672
fn prop_names_match(passed_name: &str, declared_name: &str) -> bool {
passed_name == declared_name || helpers::kebab_to_camel(passed_name) == declared_name
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Duplicate prop_names_match helper.

This is structurally identical to prop_names_match already defined in hover/component_tag.rs. The doc comment on this collector (line 31-32) explicitly states it "uses the same component metadata and usage analysis as component hover" — keeping two copies risks the matching semantics silently drifting apart (e.g. if kebab/camel handling is extended in one copy but not the other).

♻️ Suggested consolidation

Move prop_names_match into crate::ide::definition::helpers (alongside kebab_to_camel, which is already imported here) and have both hover/component_tag.rs and this collector call the shared helper.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/collectors.rs` around lines 670 -
672, The duplicated prop_names_match helper in the diagnostics collector should
be consolidated into a shared helper so its matching behavior stays consistent
with hover/component_tag.rs. Move the logic into crate::ide::definition::helpers
alongside kebab_to_camel, then update both collectors to call the shared
function instead of keeping separate copies. Use the existing prop_names_match
references in collectors.rs and hover/component_tag.rs to replace the local
implementations with the shared helper.

Comment on lines +30 to +40
.section("Requirement", requirement)
.code(
"vue",
&format!(
"<{component_name} {attr_name}=\"...\" />\n<{component_name} :{attr_name}=\"value\" />"
),
)
.link(
"Vue Component Props",
"https://vuejs.org/guide/components/props.html",
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider extracting the shared Vue docs link into a constant.

The "Vue Component Props" / "https://vuejs.org/guide/components/props.html" pair is duplicated verbatim in component_tag.rs (hover_component_tag). A shared const/helper would avoid drift if the URL or label ever changes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/hover/component_prop.rs` around lines 30 - 40,
Extract the duplicated Vue docs label and URL used in `hover_component_prop`
into a shared constant or small helper so it can be reused by
`hover_component_tag` in `component_tag.rs` as well. Update the `.link(...)`
call in this builder to reference the shared symbol instead of hardcoding `"Vue
Component Props"` and the Vue props URL, keeping both hover paths consistent and
preventing drift if the docs change.

Comment on lines +85 to +96
if !usage.has_spread_attrs {
builder = builder.code(
"vue",
&missing_required_example(tag_name.as_str(), &missing_required),
);
}
}

builder = builder.link(
"Vue Component Props",
"https://vuejs.org/guide/components/props.html",
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add hover test coverage for the new required-props sections.

This adds two new rendering branches (Required props bullets and the vue missing-required example) to hover_component_tag, but no accompanying test exercises them (unlike the sibling component_prop.rs change, which did add assertions). A regression here would go unnoticed.

Also duplicates the "Vue Component Props" link constant already flagged in component_prop.rs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/hover/component_tag.rs` around lines 85 - 96, Add
hover test coverage for the new required-props rendering paths in
hover_component_tag so both the “Required props” bullet output and the vue
missing-required example are exercised; update or add tests alongside the
existing component hover tests to assert these branches. Also remove the
duplicated "Vue Component Props" link literal by reusing the shared link
constant used in component_prop.rs so the label/URL stay consistent in one
place.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

PR Benchmark

Base: 672683a1958a156bfc1033b5188b76010ce162bf Head: a732177c374b366f1e26cbc573b02214aedbebc0 Input: 1,000 generated SFC files
Median of 10 measured run(s) after 2 warmup run(s). Times are shown in milliseconds to 0.001ms. Rate is head/base, so below 1.000x is faster. Regression threshold: 5%.
Budget: passed.

Task Base Head Rate Result
Compile SFC 198.334ms 199.300ms 1.005x stable
Lint 131.788ms 132.070ms 1.002x stable
Format 157.768ms 152.359ms 0.966x stable
Type check (1T) 775.643ms 764.445ms 0.986x stable
Type check (max) 780.023ms 776.659ms 0.996x stable
Raw run times

Compile SFC

  • Base: 210.359ms, 196.140ms, 192.045ms, 192.366ms, 200.529ms, 203.055ms, 204.522ms, 190.666ms, 194.375ms, 201.184ms
  • Head: 203.034ms, 196.474ms, 194.563ms, 192.492ms, 193.917ms, 191.895ms, 211.132ms, 208.951ms, 212.034ms, 202.126ms

Lint

  • Base: 132.664ms, 126.698ms, 130.913ms, 124.334ms, 134.041ms, 129.167ms, 140.203ms, 135.485ms, 144.255ms, 123.291ms
  • Head: 131.268ms, 134.646ms, 130.380ms, 130.651ms, 128.660ms, 132.872ms, 136.647ms, 141.032ms, 137.543ms, 126.911ms

Format

  • Base: 160.272ms, 158.635ms, 158.541ms, 150.063ms, 153.464ms, 152.584ms, 158.159ms, 157.377ms, 146.039ms, 160.857ms
  • Head: 148.502ms, 162.683ms, 145.895ms, 154.139ms, 152.774ms, 151.943ms, 148.104ms, 148.672ms, 158.213ms, 157.364ms

Type check (1T)

  • Base: 803.361ms, 775.805ms, 765.683ms, 778.630ms, 763.271ms, 751.509ms, 775.481ms, 792.430ms, 749.551ms, 790.914ms
  • Head: 878.387ms, 772.485ms, 751.278ms, 773.412ms, 756.667ms, 755.228ms, 785.551ms, 771.090ms, 757.801ms, 743.585ms

Type check (max)

  • Base: 778.421ms, 785.730ms, 760.994ms, 781.624ms, 760.198ms, 796.125ms, 767.002ms, 766.399ms, 781.779ms, 805.347ms
  • Head: 752.629ms, 795.458ms, 784.177ms, 791.104ms, 768.380ms, 783.164ms, 775.616ms, 777.702ms, 757.724ms, 768.884ms

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Detailed Test Report

Commit: a732177c374b
Workflow: Check #28970913441
Attempt: 1
Overall: in_progress (1 in_progress, 3 skipped, 25 success)
Wall Time: 4m 48s

Area Summary

Area Jobs Result Runner Time
JS / TS 1 success 48s
Rust 3 success 4m 28s
E2E / VRT 1 success 2m 59s
Infra 1 skipped 0s
Other 23 in_progress 21m 26s

Test Inventory

Total tracked cases: 8628 across 1215 files.

Area Files Cases
Compiler Fixtures 43 1270
E2E 16 149
JS / TS 254 1065
Rust 897 6133
VRT 5 11
Files
Area File Cases
Compiler Fixtures tests/fixtures/errors/parse-errors.pkl 38
Compiler Fixtures tests/fixtures/errors/transform-errors.pkl 44
Compiler Fixtures tests/fixtures/parser/attribute.pkl 16
Compiler Fixtures tests/fixtures/parser/comment.pkl 55
Compiler Fixtures tests/fixtures/parser/directive.pkl 143
Compiler Fixtures tests/fixtures/parser/element.pkl 35
Compiler Fixtures tests/fixtures/parser/interpolation.pkl 85
Compiler Fixtures tests/fixtures/parser/text.pkl 68
Compiler Fixtures tests/fixtures/sfc/basic.pkl 13
Compiler Fixtures tests/fixtures/sfc/define-model.pkl 17
Compiler Fixtures tests/fixtures/sfc/directives.pkl 5
Compiler Fixtures tests/fixtures/sfc/options-api.pkl 39
Compiler Fixtures tests/fixtures/sfc/patches.pkl 58
Compiler Fixtures tests/fixtures/sfc/props-destructure.pkl 4
Compiler Fixtures tests/fixtures/sfc/script-setup-advanced.pkl 6
Compiler Fixtures tests/fixtures/sfc/script-setup.pkl 69
Compiler Fixtures tests/fixtures/vapor/component.pkl 17
Compiler Fixtures tests/fixtures/vapor/edge-cases.pkl 4
Compiler Fixtures tests/fixtures/vapor/element.pkl 16
Compiler Fixtures tests/fixtures/vapor/parity-core-directives.pkl 8
Compiler Fixtures tests/fixtures/vapor/v-bind.pkl 12
Compiler Fixtures tests/fixtures/vapor/v-for.pkl 10
Compiler Fixtures tests/fixtures/vapor/v-if.pkl 7
Compiler Fixtures tests/fixtures/vapor/v-model.pkl 13
Compiler Fixtures tests/fixtures/vapor/v-on.pkl 14
Compiler Fixtures tests/fixtures/vapor/v-show.pkl 6
Compiler Fixtures tests/fixtures/vapor/v-slot.pkl 10
Compiler Fixtures tests/fixtures/vdom/component.pkl 45
Compiler Fixtures tests/fixtures/vdom/directives.pkl 24
Compiler Fixtures tests/fixtures/vdom/dynamic-component.pkl 9
Compiler Fixtures tests/fixtures/vdom/element.pkl 44
Compiler Fixtures tests/fixtures/vdom/hoisting.pkl 20
Compiler Fixtures tests/fixtures/vdom/html-entities.pkl 9
Compiler Fixtures tests/fixtures/vdom/parity-core-directives.pkl 8
Compiler Fixtures tests/fixtures/vdom/patch-flags.pkl 32
Compiler Fixtures tests/fixtures/vdom/v-bind.pkl 56
Compiler Fixtures tests/fixtures/vdom/v-for.pkl 28
Compiler Fixtures tests/fixtures/vdom/v-if.pkl 25
Compiler Fixtures tests/fixtures/vdom/v-model.pkl 31
Compiler Fixtures tests/fixtures/vdom/v-on.pkl 62
Compiler Fixtures tests/fixtures/vdom/v-once.pkl 16
Compiler Fixtures tests/fixtures/vdom/v-show.pkl 19
Compiler Fixtures tests/fixtures/vdom/v-slot.pkl 30
E2E playground/e2e/atelier-output-tabs.test.ts 1
E2E playground/e2e/components.test.ts 16
E2E playground/e2e/css-compile.test.ts 17
E2E playground/e2e/edge-cases.test.ts 26
E2E playground/e2e/sfc-compile.test.ts 21
E2E playground/e2e/vite-plugin-vapor.test.ts 12
E2E playground/e2e/wasm.test.ts 12
E2E tests/app/dev/elk.spec.ts 9
E2E tests/app/dev/misskey.spec.ts 7
E2E tests/app/dev/npmx.spec.ts 14
E2E tests/app/dev/nuxt-ui.spec.ts 3
E2E tests/app/dev/vuefes.spec.ts 7
E2E tests/app/preview/elk.ts 1
E2E tests/app/preview/misskey.ts 1
E2E tests/app/preview/npmx.ts 1
E2E tests/app/preview/vuefes.ts 1
JS / TS docs/theme/background.test.ts 2
JS / TS docs/theme/navigation.test.js 4
JS / TS docs/theme/syntax-highlight.test.js 8
JS / TS npm/builder/rspack/src/integration.test.ts 2
JS / TS npm/builder/rspack/src/jsx.test.ts 3
JS / TS npm/builder/rspack/src/plugin/index.test.ts 8
JS / TS npm/builder/rspack/src/plugin/ruleCloning.test.ts 15
JS / TS npm/builder/rspack/src/scoped-css.test.ts 5
JS / TS npm/builder/rspack/src/shared/jsx-compile.test.ts 4
JS / TS npm/builder/rspack/src/shared/nativeCss.test.ts 10
JS / TS npm/builder/rspack/src/shared/output.test.ts 4
JS / TS npm/builder/rspack/src/shared/utils.test.ts 35
JS / TS npm/builder/rspack/src/vapor.test.ts 3
JS / TS npm/builder/unplugin/src/core.test.ts 1
JS / TS npm/builder/unplugin/src/css-preprocessors.test.ts 5
JS / TS npm/builder/unplugin/src/esbuild-hooks.test.ts 13
JS / TS npm/builder/unplugin/src/esbuild.test.ts 1
JS / TS npm/builder/unplugin/src/filter-edge.test.ts 10
JS / TS npm/builder/unplugin/src/filter.test.ts 3
JS / TS npm/builder/unplugin/src/jsx.test.ts 6
JS / TS npm/builder/unplugin/src/normalize-options.test.ts 15
JS / TS npm/builder/unplugin/src/plugin-hooks.test.ts 11
JS / TS npm/builder/unplugin/src/request.test.ts 16
JS / TS npm/builder/unplugin/src/rolldown.test.ts 6
JS / TS npm/builder/unplugin/src/rollup.test.ts 1
JS / TS npm/builder/unplugin/src/strip-types-edge.test.ts 9
JS / TS npm/builder/unplugin/src/strip-types.test.ts 1
JS / TS npm/builder/unplugin/src/style-output.test.ts 18
JS / TS npm/builder/unplugin/src/style.test.ts 1
JS / TS npm/builder/unplugin/src/template-preprocessors.test.ts 4
JS / TS npm/builder/unplugin/src/vapor.test.ts 3
JS / TS npm/builder/unplugin/src/webpack-cjs.test.ts 3
JS / TS npm/builder/unplugin/src/webpack-defines-edge.test.ts 11
JS / TS npm/builder/unplugin/src/webpack.test.ts 2
JS / TS npm/builder/vite-musea/src/api-routes/arts-order.test.ts 1
JS / TS npm/builder/vite-musea/src/api-routes/handler-palette.test.ts 1
JS / TS npm/builder/vite-musea/src/api-routes/index.projectroot.test.ts 2
JS / TS npm/builder/vite-musea/src/api-routes/index.test.ts 6
JS / TS npm/builder/vite-musea/src/art-module-helper-collisions.test.ts 1
JS / TS npm/builder/vite-musea/src/art-module.test.ts 10
JS / TS npm/builder/vite-musea/src/art-order.test.ts 1
JS / TS npm/builder/vite-musea/src/autogen/generate.test.ts 1
JS / TS npm/builder/vite-musea/src/autogen/native-shape.test.ts 1
JS / TS npm/builder/vite-musea/src/cli/commands.test.ts 4
JS / TS npm/builder/vite-musea/src/cli/utils.test.ts 1
JS / TS npm/builder/vite-musea/src/gallery/template.test.ts 2
JS / TS npm/builder/vite-musea/src/native-loader.test.ts 1
JS / TS npm/builder/vite-musea/src/palette-state.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/art-processing.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/index.test.ts 7
JS / TS npm/builder/vite-musea/src/plugin/storybook-inputs.test.ts 3
JS / TS npm/builder/vite-musea/src/plugin/virtual-transform.test.ts 2
JS / TS npm/builder/vite-musea/src/plugin/vue-alias.test.ts 3
JS / TS npm/builder/vite-musea/src/plugin/watch.test.ts 3
JS / TS npm/builder/vite-musea/src/preview-vue2.test.ts 2
JS / TS npm/builder/vite-musea/src/preview/html.test.ts 1
JS / TS npm/builder/vite-musea/src/security.test.ts 6
JS / TS npm/builder/vite-musea/src/server-middleware.test.ts 4
JS / TS npm/builder/vite-musea/src/static-build-vue2.test.ts 1
JS / TS npm/builder/vite-musea/src/static-build.test.ts 5
JS / TS npm/builder/vite-musea/src/static-export.test.ts 6
JS / TS npm/builder/vite-musea/src/tokens.test.ts 7
JS / TS npm/builder/vite-musea/src/tokens/css-length.test.ts 1
JS / TS npm/builder/vite-musea/src/tokens/preview.test.ts 4
JS / TS npm/builder/vite-musea/src/utils.test.ts 5
JS / TS npm/builder/vite/src/output-ast.test.ts 2
JS / TS npm/builder/vite/src/utils-filter.test.ts 4
JS / TS npm/builder/vite/src/utils.test.ts 17
JS / TS npm/framework/musea-nuxt/src/mocks.test.ts 5
JS / TS npm/framework/musea-nuxt/src/plugin.test.ts 3
JS / TS npm/framework/nuxt/src/components-edge.test.ts 18
JS / TS npm/framework/nuxt/src/components.test.ts 8
JS / TS npm/framework/nuxt/src/dev-html-edge.test.ts 11
JS / TS npm/framework/nuxt/src/i18n-edge.test.ts 10
JS / TS npm/framework/nuxt/src/index-nuxt2-musea.test.ts 1
JS / TS npm/framework/nuxt/src/index.test.ts 6
JS / TS npm/framework/nuxt/src/musea-components.test.ts 3
JS / TS npm/framework/nuxt/src/options-edge.test.ts 16
JS / TS npm/framework/nuxt/src/unocss-edge.test.ts 11
JS / TS npm/framework/nuxt/src/unocss.test.ts 3
JS / TS npm/framework/nuxt/src/utils-edge.test.ts 24
JS / TS npm/mcp-musea/src/musea.test.ts 2
JS / TS npm/mcp-musea/src/tools/handler/index.test.ts 2
JS / TS npm/oxint/src/cli/files.test.ts 3
JS / TS npm/oxint/src/cli/output.test.ts 3
JS / TS npm/oxint/src/configs.ts 5
JS / TS npm/oxint/src/native.ts 3
JS / TS npm/oxint/src/settings.ts 5
JS / TS npm/oxint/src/workaround.ts 3
JS / TS playground/src/features/atelier/codeOutputs.test.ts 4
JS / TS playground/src/features/atelier/formatters.test.ts 2
JS / TS playground/src/features/cross-file/utils.test.ts 3
JS / TS playground/src/features/inspector/compareCompilers.test.ts 2
JS / TS playground/src/features/inspector/diffRows.test.ts 4
JS / TS playground/src/features/inspector/share.test.ts 4
JS / TS playground/src/simple.test.ts 2
JS / TS playground/src/utils/position.test.ts 2
JS / TS tests/snapshots/build/elk.ts 2
JS / TS tests/snapshots/build/generic.ts 1
JS / TS tests/snapshots/build/misskey.ts 2
JS / TS tests/snapshots/build/npmx.ts 2
JS / TS tests/snapshots/build/vuefes.ts 2
JS / TS tests/snapshots/check/ant-design-vue.ts 1
JS / TS tests/snapshots/check/class-component.ts 2
JS / TS tests/snapshots/check/compiler-macros.ts 1
JS / TS tests/snapshots/check/directus.ts 1
JS / TS tests/snapshots/check/ecosystem-products.ts 1
JS / TS tests/snapshots/check/element-plus.ts 1
JS / TS tests/snapshots/check/elk.ts 1
JS / TS tests/snapshots/check/frontend-phpcon.ts 1
JS / TS tests/snapshots/check/generic-build.ts 1
JS / TS tests/snapshots/check/hoppscotch.ts 1
JS / TS tests/snapshots/check/misskey.ts 1
JS / TS tests/snapshots/check/naive-ui.ts 1
JS / TS tests/snapshots/check/npmx.ts 1
JS / TS tests/snapshots/check/nuxt-parity.ts 4
JS / TS tests/snapshots/check/nuxt-ui.ts 1
JS / TS tests/snapshots/check/options-api.ts 3
JS / TS tests/snapshots/check/primevue.ts 1
JS / TS tests/snapshots/check/reka-ui.ts 1
JS / TS tests/snapshots/check/style-preprocessors.ts 1
JS / TS tests/snapshots/check/toolchain-parity.ts 2
JS / TS tests/snapshots/check/typecheck-errors.ts 1
JS / TS tests/snapshots/check/typecheck-vue-imports.ts 1
JS / TS tests/snapshots/check/voicevox.ts 1
JS / TS tests/snapshots/check/vue-vben-admin.ts 1
JS / TS tests/snapshots/check/vuefes.ts 1
JS / TS tests/snapshots/check/vuetify.ts 1
JS / TS tests/snapshots/check/zz-intentional-errors-fixtures.ts 1
JS / TS tests/snapshots/check/zz-intentional-errors-realworld.ts 2
JS / TS tests/snapshots/inspect/elk.ts 1
JS / TS tests/snapshots/inspect/npmx.ts 1
JS / TS tests/snapshots/inspect/vuefes.ts 1
JS / TS tests/snapshots/lint/ant-design-vue.ts 1
JS / TS tests/snapshots/lint/directus.ts 1
JS / TS tests/snapshots/lint/element-plus.ts 1
JS / TS tests/snapshots/lint/elk.ts 1
JS / TS tests/snapshots/lint/hoppscotch.ts 1
JS / TS tests/snapshots/lint/misskey.ts 1
JS / TS tests/snapshots/lint/naive-ui.ts 1
JS / TS tests/snapshots/lint/npmx.ts 1
JS / TS tests/snapshots/lint/nuxt-ui.ts 1
JS / TS tests/snapshots/lint/primevue.ts 1
JS / TS tests/snapshots/lint/reka-ui.ts 1
JS / TS tests/snapshots/lint/voicevox.ts 1
JS / TS tests/snapshots/lint/vue-vben-admin.ts 1
JS / TS tests/snapshots/lint/vuefes.ts 1
JS / TS tests/snapshots/lint/vuetify.ts 1
JS / TS tests/tooling/benchmark-budget.test.ts 6
JS / TS tests/tooling/benchmark-generator.test.ts 2
JS / TS tests/tooling/bundler-plugin-manifests.test.ts 5
JS / TS tests/tooling/cli-check-args.test.ts 6
JS / TS tests/tooling/cli-check-collection.test.ts 4
JS / TS tests/tooling/cli-check-contract.test.ts 6
JS / TS tests/tooling/cli-check-diagnostics.test.ts 8
JS / TS tests/tooling/cli-check-json-shape.test.ts 5
JS / TS tests/tooling/cli-fmt-contract.test.ts 5
JS / TS tests/tooling/cli-lint-contract.test.ts 7
JS / TS tests/tooling/cli-top-level.test.ts 5
JS / TS tests/tooling/compiler-fixture-diff-report.test.ts 2
JS / TS tests/tooling/config-alias-entries.test.ts 6
JS / TS tests/tooling/config-json-errors.test.ts 4
JS / TS tests/tooling/config-json-shape.test.ts 7
JS / TS tests/tooling/config-loading.test.ts 4
JS / TS tests/tooling/config-resolution.test.ts 10
JS / TS tests/tooling/config-types.test.ts 1
JS / TS tests/tooling/dev-app.test.ts 4
JS / TS tests/tooling/docs-browser.test.ts 2
JS / TS tests/tooling/docs-stability.test.ts 1
JS / TS tests/tooling/e2e-binaries.test.ts 3
JS / TS tests/tooling/e2e-tasks.test.ts 2
JS / TS tests/tooling/e2e-workflow.test.ts 1
JS / TS tests/tooling/ecosystem-product-coverage.test.ts 2
JS / TS tests/tooling/editor-integrations-consistency.test.ts 2
JS / TS tests/tooling/editor-integrations-emacs.test.ts 5
JS / TS tests/tooling/editor-integrations-helix.test.ts 4
JS / TS tests/tooling/editor-integrations-neovim.test.ts 4
JS / TS tests/tooling/editor-integrations-vim.test.ts 4
JS / TS tests/tooling/editor-integrations-vscode-art.test.ts 2
JS / TS tests/tooling/editor-integrations-zed.test.ts 4
JS / TS tests/tooling/editor-integrations.test.ts 6
JS / TS tests/tooling/editor-language-configuration.test.ts 7
JS / TS tests/tooling/editor-lsp-adapters.test.ts 1
JS / TS tests/tooling/editor-profiles-consistency.test.ts 3
JS / TS tests/tooling/fuzz-setup.test.ts 4
JS / TS tests/tooling/github-comments.test.ts 2
JS / TS tests/tooling/github-workflows-benchmark.test.ts 4
JS / TS tests/tooling/github-workflows-check.test.ts 11
JS / TS tests/tooling/github-workflows-release-build.test.ts 12
JS / TS tests/tooling/github-workflows-release-publish.test.ts 8
JS / TS tests/tooling/github-workflows-setup.test.ts 11
JS / TS tests/tooling/github-workflows.test.ts 10
JS / TS tests/tooling/github-zig-musl-linkers.test.ts 2
JS / TS tests/tooling/issue-pr-title-policy.test.ts 3
JS / TS tests/tooling/jsx-ecosystem-fixtures.test.ts 4
JS / TS tests/tooling/language-engineering-practices.test.ts 3
JS / TS tests/tooling/lsp-authoring-core.test.ts 1
JS / TS tests/tooling/lsp-capabilities.test.ts 3
JS / TS tests/tooling/lsp-definition-navigation.test.ts 1
JS / TS tests/tooling/lsp-diagnostics-lifecycle.test.ts 4
JS / TS tests/tooling/lsp-document-features.test.ts 7
JS / TS tests/tooling/lsp-document-highlight.test.ts 4
JS / TS tests/tooling/lsp-document-link.test.ts 2
JS / TS tests/tooling/lsp-editor-feature-isolation.test.ts 15
JS / TS tests/tooling/lsp-editor-feature-matrix.test.ts 11
JS / TS tests/tooling/lsp-editor-feature-routing.test.ts 1
JS / TS tests/tooling/lsp-editor-production-gates.test.ts 1
JS / TS tests/tooling/lsp-file-rename-workspace.test.ts 4
JS / TS tests/tooling/lsp-hover-template.test.ts 1
JS / TS tests/tooling/lsp-inlay-codelens.test.ts 3
JS / TS tests/tooling/lsp-protocol-resilience.test.ts 5
JS / TS tests/tooling/lsp-rename-guards.test.ts 2
JS / TS tests/tooling/lsp-roadmap-completion.test.ts 1
JS / TS tests/tooling/lsp-smoke.test.ts 6
JS / TS tests/tooling/lsp-template-completion.test.ts 1
JS / TS tests/tooling/lsp-workspace-semantic.test.ts 3
JS / TS tests/tooling/moonbit-generate-rule-types.test.ts 1
JS / TS tests/tooling/moonbit-github-scripts.test.ts 9
JS / TS tests/tooling/moonbit-helper.test.ts 2
JS / TS tests/tooling/moonbit-postprocess-types.test.ts 1
JS / TS tests/tooling/moonbit-publish-crates.test.ts 6
JS / TS tests/tooling/moonbit-publish-open-vsx.test.ts 2
JS / TS tests/tooling/moonbit-publish.test.ts 11
JS / TS tests/tooling/moonbit-release.test.ts 6
JS / TS tests/tooling/moonbit-rust-source-coverage.test.ts 4
JS / TS tests/tooling/moonbit-warnings.test.ts 1
JS / TS tests/tooling/native-legacy-build.test.ts 2
JS / TS tests/tooling/native-loader.test.ts 2
JS / TS tests/tooling/native-smoke-workflow.test.ts 1
JS / TS tests/tooling/node-engine-matrix.test.ts 3
JS / TS tests/tooling/normalize-global-types.test.ts 4
JS / TS tests/tooling/package-manifests.test.ts 17
JS / TS tests/tooling/playwright-app-config.test.ts 1
JS / TS tests/tooling/playwright-vrt-config.test.ts 1
JS / TS tests/tooling/production-readiness.test.ts 3
JS / TS tests/tooling/readme-boundary.test.ts 2
JS / TS tests/tooling/realworld-snapshot-scripts.test.ts 1
JS / TS tests/tooling/release-changelog.test.ts 2
JS / TS tests/tooling/release-package-versions.test.ts 1
JS / TS tests/tooling/release-platforms.test.ts 3
JS / TS tests/tooling/release-readiness.test.ts 4
JS / TS tests/tooling/release-smoke-install.test.ts 6
JS / TS tests/tooling/repo-governance.test.ts 5
JS / TS tests/tooling/runtime-and-build-stack.test.ts 5
JS / TS tests/tooling/snapshot-baselines.test.ts 3
JS / TS tests/tooling/source-file-lengths.test.ts 3
JS / TS tests/tooling/task-shell.test.ts 13
JS / TS tests/tooling/tool-benchmark.test.ts 2
JS / TS tests/tooling/vscode-extension-core-behavior.test.ts 15
JS / TS tests/tooling/vscode-extension-manifest.test.ts 9
JS / TS tests/tooling/vscode-typescript-vue-plugin.test.ts 9
JS / TS tests/tooling/vscode-vize-template-grammar.test.ts 4
JS / TS tests/tooling/vue-ecosystem-fixtures.test.ts 6
JS / TS tests/tooling/wasm-package-smoke.test.ts 2
Rust crates/vize_armature/src/legacy.rs 7
Rust crates/vize_armature/src/parser/tests.rs 95
Rust crates/vize_armature/src/tokenizer/entity_decode.rs 11
Rust crates/vize_armature/src/tokenizer/tests.rs 72
Rust crates/vize_atelier_core/src/codegen/expression/generate.rs 6
Rust crates/vize_atelier_core/src/codegen/helpers.rs 5
Rust crates/vize_atelier_core/src/codegen/slots/tests.rs 7
Rust crates/vize_atelier_core/src/codegen/source_map.rs 9
Rust crates/vize_atelier_core/src/codegen/tests.rs 68
Rust crates/vize_atelier_core/src/codegen/v_for/helpers.rs 4
Rust crates/vize_atelier_core/src/lane/tests.rs 12
Rust crates/vize_atelier_core/src/runtime_helpers.rs 2
Rust crates/vize_atelier_core/src/test_macros.rs 9
Rust crates/vize_atelier_core/src/transform/element.rs 7
Rust crates/vize_atelier_core/src/transform/structural.rs 3
Rust crates/vize_atelier_core/src/transforms/hoist_static.rs 11
Rust crates/vize_atelier_core/src/transforms/legacy_filters.rs 15
Rust crates/vize_atelier_core/src/transforms/legacy.rs 16
Rust crates/vize_atelier_core/src/transforms/transform_element.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression.rs 11
Rust crates/vize_atelier_core/src/transforms/transform_expression/inline_handler.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression/prefix.rs 2
Rust crates/vize_atelier_core/src/transforms/transform_expression/typescript.rs 7
Rust crates/vize_atelier_core/src/transforms/transform_text.rs 3
Rust crates/vize_atelier_core/src/transforms/v_bind.rs 1
Rust crates/vize_atelier_core/src/transforms/v_for.rs 9
Rust crates/vize_atelier_core/src/transforms/v_if.rs 2
Rust crates/vize_atelier_core/src/transforms/v_memo.rs 2
Rust crates/vize_atelier_core/src/transforms/v_model.rs 2
Rust crates/vize_atelier_core/src/transforms/v_on.rs 4
Rust crates/vize_atelier_core/src/transforms/v_once.rs 2
Rust crates/vize_atelier_core/src/transforms/v_slot.rs 14
Rust crates/vize_atelier_core/tests/conditional_named_slots.rs 2
Rust crates/vize_atelier_core/tests/dynamic_slot_forwarding.rs 1
Rust crates/vize_atelier_core/tests/legacy_event_modifiers.rs 9
Rust crates/vize_atelier_core/tests/legacy_filters.rs 11
Rust crates/vize_atelier_core/tests/legacy_template_sugar.rs 10
Rust crates/vize_atelier_core/tests/scoped_slot_shadowing.rs 1
Rust crates/vize_atelier_dom/src/options.rs 7
Rust crates/vize_atelier_dom/src/steps/v_html.rs 5
Rust crates/vize_atelier_dom/src/steps/v_model.rs 7
Rust crates/vize_atelier_dom/src/steps/v_on.rs 10
Rust crates/vize_atelier_dom/src/steps/v_show.rs 5
Rust crates/vize_atelier_dom/src/steps/v_text.rs 6
Rust crates/vize_atelier_dom/src/tests.rs 27
Rust crates/vize_atelier_dom/tests/dom_snapshot.rs 24
Rust crates/vize_atelier_dom/tests/invalid_expression_diagnostics.rs 6
Rust crates/vize_atelier_dom/tests/setup_component_unref.rs 2
Rust crates/vize_atelier_jsx/src/compile.rs 5
Rust crates/vize_atelier_jsx/src/compile/render_exports.rs 2
Rust crates/vize_atelier_jsx/src/diagnostics.rs 1
Rust crates/vize_atelier_jsx/src/lang.rs 4
Rust crates/vize_atelier_jsx/src/lower/text.rs 5
Rust crates/vize_atelier_jsx/src/mode.rs 7
Rust crates/vize_atelier_jsx/src/parse.rs 7
Rust crates/vize_atelier_jsx/src/span.rs 4
Rust crates/vize_atelier_jsx/tests/adversarial_snapshots.rs 9
Rust crates/vize_atelier_jsx/tests/analysis.rs 5
Rust crates/vize_atelier_jsx/tests/attributes.rs 11
Rust crates/vize_atelier_jsx/tests/children.rs 8
Rust crates/vize_atelier_jsx/tests/compile.rs 11
Rust crates/vize_atelier_jsx/tests/components.rs 7
Rust crates/vize_atelier_jsx/tests/control_flow.rs 2
Rust crates/vize_atelier_jsx/tests/diagnostics.rs 6
Rust crates/vize_atelier_jsx/tests/directives.rs 8
Rust crates/vize_atelier_jsx/tests/ecosystem_smoke.rs 1
Rust crates/vize_atelier_jsx/tests/edge_cases.rs 5
Rust crates/vize_atelier_jsx/tests/elements.rs 10
Rust crates/vize_atelier_jsx/tests/events.rs 2
Rust crates/vize_atelier_jsx/tests/fragments.rs 4
Rust crates/vize_atelier_jsx/tests/modes.rs 13
Rust crates/vize_atelier_jsx/tests/parity_tsx.rs 7
Rust crates/vize_atelier_jsx/tests/parity_vapor.rs 3
Rust crates/vize_atelier_jsx/tests/parity_vdom.rs 1
Rust crates/vize_atelier_jsx/tests/slots.rs 4
Rust crates/vize_atelier_jsx/tests/ssr.rs 3
Rust crates/vize_atelier_jsx/tests/style.rs 9
Rust crates/vize_atelier_jsx/tests/tsx.rs 5
Rust crates/vize_atelier_jsx/tests/vapor_ssr.rs 5
Rust crates/vize_atelier_jsx/tests/vapor.rs 6
Rust crates/vize_atelier_jsx/tests/vdom.rs 5
Rust crates/vize_atelier_sfc/src/bundler/tests.rs 11
Rust crates/vize_atelier_sfc/src/compile_script/artifacts.rs 10
Rust crates/vize_atelier_sfc/src/compile_script/import_utils.rs 6
Rust crates/vize_atelier_sfc/src/compile_script/inline/compiler/props.rs 1
Rust crates/vize_atelier_sfc/src/compile_script/inline/compiler/setup_emit.rs 4
Rust crates/vize_atelier_sfc/src/compile_script/inline/define_model_tests.rs 1
Rust crates/vize_atelier_sfc/src/compile_script/inline/tests.rs 27
Rust crates/vize_atelier_sfc/src/compile_script/inline/type_handling.rs 3
Rust crates/vize_atelier_sfc/src/compile_script/lazy_hydration.rs 3
Rust crates/vize_atelier_sfc/src/compile_script/macros.rs 5
Rust crates/vize_atelier_sfc/src/compile_script/props/tests.rs 11
Rust crates/vize_atelier_sfc/src/compile_script/statement_sections.rs 6
Rust crates/vize_atelier_sfc/src/compile_script/tests.rs 47
Rust crates/vize_atelier_sfc/src/compile_template/tests.rs 27
Rust crates/vize_atelier_sfc/src/compile/tests.rs 88
Rust crates/vize_atelier_sfc/src/compile/tests/define_props_regressions.rs 4
Rust crates/vize_atelier_sfc/src/compile/tests/options_api_events.rs 2
Rust crates/vize_atelier_sfc/src/croquis.rs 1
Rust crates/vize_atelier_sfc/src/css/tests.rs 31
Rust crates/vize_atelier_sfc/src/css/tests/scoped_regressions.rs 5
Rust crates/vize_atelier_sfc/src/lib.rs 14
Rust crates/vize_atelier_sfc/src/parse/tests.rs 33
Rust crates/vize_atelier_sfc/src/rewrite_default.rs 6
Rust crates/vize_atelier_sfc/src/script/analyze_script_bindings.rs 10
Rust crates/vize_atelier_sfc/src/script/context.rs 12
Rust crates/vize_atelier_sfc/src/script/context/external_types.rs 14
Rust crates/vize_atelier_sfc/src/script/context/props.rs 1
Rust crates/vize_atelier_sfc/src/script/define_emits.rs 5
Rust crates/vize_atelier_sfc/src/script/define_expose.rs 1
Rust crates/vize_atelier_sfc/src/script/define_model.rs 3
Rust crates/vize_atelier_sfc/src/script/define_options.rs 1
Rust crates/vize_atelier_sfc/src/script/define_props_destructure/tests.rs 48
Rust crates/vize_atelier_sfc/src/script/define_props.rs 3
Rust crates/vize_atelier_sfc/src/script/define_slots.rs 2
Rust crates/vize_atelier_sfc/src/script/import_usage_check.rs 15
Rust crates/vize_atelier_sfc/src/script/type_resolution.rs 7
Rust crates/vize_atelier_sfc/src/script/utils.rs 4
Rust crates/vize_atelier_sfc/src/snapshot_tests.rs 8
Rust crates/vize_atelier_sfc/src/style.rs 26
Rust crates/vize_atelier_sfc/src/vite_plugin/css_scope.rs 12
Rust crates/vize_atelier_sfc/src/vite_plugin/css.rs 3
Rust crates/vize_atelier_sfc/src/vite_plugin/hmr.rs 2
Rust crates/vize_atelier_sfc/src/vite_plugin/js_string.rs 1
Rust crates/vize_atelier_sfc/src/vite_plugin/resolver.rs 6
Rust crates/vize_atelier_sfc/src/vite_plugin/tests.rs 10
Rust crates/vize_atelier_sfc/src/vite_plugin/tests/middleware.rs 2
Rust crates/vize_atelier_sfc/src/vite_plugin/tests/precompile.rs 1
Rust crates/vize_atelier_sfc/src/vite_plugin/transform.rs 7
Rust crates/vize_atelier_sfc/tests/allocation_budget.rs 1
Rust crates/vize_atelier_sfc/tests/empty_component.rs 1
Rust crates/vize_atelier_sfc/tests/scoped_slot_shadowing.rs 2
Rust crates/vize_atelier_sfc/tests/setup_component_unref.rs 1
Rust crates/vize_atelier_sfc/tests/vite_css_scope.rs 1
Rust crates/vize_atelier_ssr/src/codegen.rs 7
Rust crates/vize_atelier_ssr/src/errors.rs 1
Rust crates/vize_atelier_ssr/src/lib.rs 31
Rust crates/vize_atelier_ssr/src/options.rs 1
Rust crates/vize_atelier_ssr/src/steps.rs 11
Rust crates/vize_atelier_ssr/tests/setup_component_parity.rs 1
Rust crates/vize_atelier_ssr/tests/ssr_snapshot.rs 76
Rust crates/vize_atelier_vapor/src/generate.rs 3
Rust crates/vize_atelier_vapor/src/generate/destructure.rs 2
Rust crates/vize_atelier_vapor/src/generate/operations/for_loop.rs 1
Rust crates/vize_atelier_vapor/src/generators/block.rs 2
Rust crates/vize_atelier_vapor/src/generators/component.rs 3
Rust crates/vize_atelier_vapor/src/generators/directive.rs 4
Rust crates/vize_atelier_vapor/src/generators/event.rs 3
Rust crates/vize_atelier_vapor/src/generators/for_node.rs 3
Rust crates/vize_atelier_vapor/src/generators/generate_text.rs 5
Rust crates/vize_atelier_vapor/src/generators/if_node.rs 2
Rust crates/vize_atelier_vapor/src/generators/prop.rs 3
Rust crates/vize_atelier_vapor/src/lower.rs 2
Rust crates/vize_atelier_vapor/src/tests_dotted_slots.rs 1
Rust crates/vize_atelier_vapor/src/tests_setup_components.rs 2
Rust crates/vize_atelier_vapor/src/tests.rs 42
Rust crates/vize_atelier_vapor/src/transforms/element.rs 2
Rust crates/vize_atelier_vapor/src/transforms/transform_slot.rs 1
Rust crates/vize_atelier_vapor/src/transforms/transform_text.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_bind.rs 1
Rust crates/vize_atelier_vapor/src/transforms/v_for.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_if.rs 1
Rust crates/vize_atelier_vapor/src/transforms/v_model.rs 3
Rust crates/vize_atelier_vapor/src/transforms/v_on.rs 2
Rust crates/vize_atelier_vapor/src/transforms/v_show.rs 1
Rust crates/vize_canon/src/batch/error.rs 2
Rust crates/vize_canon/src/batch/executor/cli/import_resolution.rs 1
Rust crates/vize_canon/src/batch/executor/cli/tests.rs 7
Rust crates/vize_canon/src/batch/executor/declaration_maps.rs 1
Rust crates/vize_canon/src/batch/executor/diagnostics.rs 12
Rust crates/vize_canon/src/batch/executor/diagnostics/keyof_indexed_assignment.rs 2
Rust crates/vize_canon/src/batch/executor/diagnostics/line_index.rs 2
Rust crates/vize_canon/src/batch/executor/diagnostics/module_resolution.rs 1
Rust crates/vize_canon/src/batch/executor/tests.rs 12
Rust crates/vize_canon/src/batch/import_rewriter_dts_tests.rs 2
Rust crates/vize_canon/src/batch/import_rewriter_tests.rs 19
Rust crates/vize_canon/src/batch/import_rewriter_type_tests.rs 10
Rust crates/vize_canon/src/batch/import_rewriter_virtual_tests.rs 2
Rust crates/vize_canon/src/batch/import_rewriter_virtual.rs 1
Rust crates/vize_canon/src/batch/materialize_lock.rs 1
Rust crates/vize_canon/src/batch/runtime_deps/tests.rs 3
Rust crates/vize_canon/src/batch/source_map.rs 4
Rust crates/vize_canon/src/batch/type_checker/tests.rs 34
Rust crates/vize_canon/src/batch/type_checker/tests/camel_case_component_props.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/emit_object_recursion.rs 3
Rust crates/vize_canon/src/batch/type_checker/tests/generic_component_listener_payload.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/generic_props.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/no_check_props.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/no_unused.rs 5
Rust crates/vize_canon/src/batch/type_checker/tests/options_api_required_props.rs 3
Rust crates/vize_canon/src/batch/type_checker/tests/package_exports_types.rs 2
Rust crates/vize_canon/src/batch/type_checker/tests/recent_issues.rs 7
Rust crates/vize_canon/src/batch/type_checker/tests/scan.rs 1
Rust crates/vize_canon/src/batch/type_checker/tests/tsx_sfc.rs 2
Rust crates/vize_canon/src/batch/virtual_project/jsx_codegen.rs 3
Rust crates/vize_canon/src/batch/virtual_project/passthrough.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests.rs 33
Rust crates/vize_canon/src/batch/virtual_project/tests/graphql_generated.rs 1
Rust crates/vize_canon/src/batch/virtual_project/tests/module_augmentations.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests/ref_arity.rs 3
Rust crates/vize_canon/src/batch/virtual_project/tests/setup_props.rs 2
Rust crates/vize_canon/src/batch/virtual_project/tests/tsconfig_native_options.rs 1
Rust crates/vize_canon/src/batch/virtual_project/tests/windows_paths.rs 1
Rust crates/vize_canon/src/batch/virtual_ts.rs 1
Rust crates/vize_canon/src/checker.rs 19
Rust crates/vize_canon/src/context.rs 3
Rust crates/vize_canon/src/corsa_bridge.rs 4
Rust crates/vize_canon/src/corsa_bridge/vue_dependencies.rs 1
Rust crates/vize_canon/src/corsa_bridge/vue_dependency_specifiers.rs 1
Rust crates/vize_canon/src/corsa_bridge/vue_document_tests.rs 4
Rust crates/vize_canon/src/corsa_server.rs 6
Rust crates/vize_canon/src/corsa_session_cache.rs 2
Rust crates/vize_canon/src/diagnostic.rs 2
Rust crates/vize_canon/src/file_uri.rs 6
Rust crates/vize_canon/src/intelligence.rs 5
Rust crates/vize_canon/src/lsp_client/diagnostics_api.rs 3
Rust crates/vize_canon/src/lsp_client/diagnostics.rs 3
Rust crates/vize_canon/src/lsp_client/lifecycle.rs 1
Rust crates/vize_canon/src/lsp_client/session.rs 8
Rust crates/vize_canon/src/lsp_client/tests.rs 7
Rust crates/vize_canon/src/lsp_client/virtual_overlay.rs 1
Rust crates/vize_canon/src/script_parse.rs 5
Rust crates/vize_canon/src/sfc_typecheck/tests.rs 64
Rust crates/vize_canon/src/sfc_typecheck/tests/emit_props.rs 1
Rust crates/vize_canon/src/sfc_typecheck/tests/optional_chain_props.rs 2
Rust crates/vize_canon/src/sfc_typecheck/tests/options_api_required_props.rs 1
Rust crates/vize_canon/src/sfc_typecheck/tests/options_api_setup_spread.rs 1
Rust crates/vize_canon/src/source_map.rs 12
Rust crates/vize_canon/src/tests.rs 18
Rust crates/vize_canon/src/type_only_import_anchors.rs 1
Rust crates/vize_canon/src/typecheck_service.rs 2
Rust crates/vize_canon/src/types.rs 2
Rust crates/vize_canon/src/virtual_ts/expressions/component_props.rs 1
Rust crates/vize_canon/src/virtual_ts/expressions/tests.rs 9
Rust crates/vize_canon/src/virtual_ts/generator/legacy_vue2.rs 1
Rust crates/vize_canon/src/virtual_ts/generator/script_module.rs 3
Rust crates/vize_canon/src/virtual_ts/generator/setup_helpers/boolean_keys.rs 2
Rust crates/vize_canon/src/virtual_ts/generator/spans.rs 9
Rust crates/vize_canon/src/virtual_ts/helpers.rs 3
Rust crates/vize_canon/src/virtual_ts/incremental.rs 3
Rust crates/vize_canon/src/virtual_ts/interface_extends_tests.rs 1
Rust crates/vize_canon/src/virtual_ts/legacy_vue2_vuetify_tests.rs 7
Rust crates/vize_canon/src/virtual_ts/props.rs 4
Rust crates/vize_canon/src/virtual_ts/props/with_defaults.rs 2
Rust crates/vize_canon/src/virtual_ts/tests.rs 62
Rust crates/vize_canon/src/virtual_ts/tests/auto_import_shadowing.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/component_navigation.rs 3
Rust crates/vize_canon/src/virtual_ts/tests/define_props_scope.rs 6
Rust crates/vize_canon/src/virtual_ts/tests/legacy_nuxt2_page_context.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/no_check_template_bindings.rs 2
Rust crates/vize_canon/src/virtual_ts/tests/options_api_props_spread.rs 5
Rust crates/vize_canon/src/virtual_ts/tests/options_api_setup_spread.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/unused_refs.rs 1
Rust crates/vize_canon/src/virtual_ts/tests/vif_chain.rs 2
Rust crates/vize_canon/src/virtual_ts/types.rs 1
Rust crates/vize_canon/tests/lsp_import_resolution.rs 1
Rust crates/vize_canon/tests/nuxt_false_positives.rs 4
Rust crates/vize_canon/tests/plain_script_named_exports.rs 2
Rust crates/vize_carton/src/allocator.rs 4
Rust crates/vize_carton/src/clone_in.rs 6
Rust crates/vize_carton/src/config/loader/tests.rs 22
Rust crates/vize_carton/src/config/model/linter_rule_options.rs 4
Rust crates/vize_carton/src/config/model/linter.rs 9
Rust crates/vize_carton/src/config/model/vue.rs 5
Rust crates/vize_carton/src/config/normalize.rs 4
Rust crates/vize_carton/src/corsa_resolver.rs 20
Rust crates/vize_carton/src/dialect.rs 12
Rust crates/vize_carton/src/directive.rs 18
Rust crates/vize_carton/src/dom_tag_config.rs 5
Rust crates/vize_carton/src/flags.rs 3
Rust crates/vize_carton/src/general.rs 7
Rust crates/vize_carton/src/hash.rs 4
Rust crates/vize_carton/src/i18n.rs 7
Rust crates/vize_carton/src/line_index.rs 7
Rust crates/vize_carton/src/lsp.rs 7
Rust crates/vize_carton/src/path.rs 4
Rust crates/vize_carton/src/profiler/tests.rs 10
Rust crates/vize_carton/src/source_range.rs 5
Rust crates/vize_carton/src/string_builder.rs 6
Rust crates/vize_carton/src/telegraph.rs 2
Rust crates/vize_carton/tests/linter_features.rs 3
Rust crates/vize_carton/tests/loading.rs 12
Rust crates/vize_carton/tests/pkl_compat.rs 1
Rust crates/vize_croquis_cf/src/analyzer/core/deps.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_basic.rs 11
Rust crates/vize_croquis_cf/src/analyzer/tests_element_id.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/basic.rs 6
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/patterns.rs 5
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/playground.rs 2
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/provider_context.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/provider_reactivity.rs 3
Rust crates/vize_croquis_cf/src/analyzer/tests_provide_inject/tree.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_race_conditions/advanced.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_race_conditions/basic.rs 5
Rust crates/vize_croquis_cf/src/analyzer/tests_reactivity_props/direct.rs 9
Rust crates/vize_croquis_cf/src/analyzer/tests_reactivity_props/shared.rs 4
Rust crates/vize_croquis_cf/src/analyzer/tests_single_file.rs 10
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/full.rs 1
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/graph.rs 1
Rust crates/vize_croquis_cf/src/analyzer/tests_snapshots/reactivity.rs 2
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/codes.rs 2
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/markdown.rs 8
Rust crates/vize_croquis_cf/src/diagnostics/diagnostics_tests/snapshots.rs 3
Rust crates/vize_croquis_cf/src/graph.rs 3
Rust crates/vize_croquis_cf/src/registry.rs 5
Rust crates/vize_croquis_cf/src/rules/boundary.rs 1
Rust crates/vize_croquis_cf/src/rules/component_resolution/paths.rs 3
Rust crates/vize_croquis_cf/src/rules/component_resolution/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity_tests.rs 7
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity/path_helpers.rs 3
Rust crates/vize_croquis_cf/src/rules/cross_file_reactivity/store_detection.rs 7
Rust crates/vize_croquis_cf/src/rules/element_id.rs 1
Rust crates/vize_croquis_cf/src/rules/emit.rs 1
Rust crates/vize_croquis_cf/src/rules/event_bubbling/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/fallthrough/tests.rs 3
Rust crates/vize_croquis_cf/src/rules/props_validation/helpers_tests.rs 4
Rust crates/vize_croquis_cf/src/rules/provide_inject/tests.rs 1
Rust crates/vize_croquis_cf/src/rules/reactivity/tests.rs 1
Rust crates/vize_croquis_cf/src/rules/setup_context.rs 1
Rust crates/vize_croquis_cf/src/suppression.rs 8
Rust crates/vize_croquis/src/builtins.rs 6
Rust crates/vize_croquis/src/call_graph/analysis.rs 6
Rust crates/vize_croquis/src/croquis.rs 2
Rust crates/vize_croquis/src/css.rs 1
Rust crates/vize_croquis/src/declaration_ts.rs 2
Rust crates/vize_croquis/src/drawer/helpers/identifiers/tests.rs 5
Rust crates/vize_croquis/src/drawer/helpers/keywords.rs 2
Rust crates/vize_croquis/src/drawer/helpers/slots/slot_props.rs 3
Rust crates/vize_croquis/src/drawer/helpers/v_for/tests.rs 4
Rust crates/vize_croquis/src/drawer/helpers/v_scope.rs 5
Rust crates/vize_croquis/src/drawer/template/tests.rs 11
Rust crates/vize_croquis/src/drawer/tests/script.rs 6
Rust crates/vize_croquis/src/drawer/tests/snapshots.rs 4
Rust crates/vize_croquis/src/effect_graph.rs 3
Rust crates/vize_croquis/src/hoist.rs 2
Rust crates/vize_croquis/src/import_resolver.rs 10
Rust crates/vize_croquis/src/macros.rs 3
Rust crates/vize_croquis/src/naming.rs 7
Rust crates/vize_croquis/src/optimization.rs 2
Rust crates/vize_croquis/src/provide.rs 2
Rust crates/vize_croquis/src/race.rs 1
Rust crates/vize_croquis/src/reactivity_tracking/tracker.rs 7
Rust crates/vize_croquis/src/reactivity.rs 5
Rust crates/vize_croquis/src/render_tree.rs 1
Rust crates/vize_croquis/src/scope/chain/chain_tests.rs 26
Rust crates/vize_croquis/src/scope/types.rs 7
Rust crates/vize_croquis/src/script_parser/interface_extends_tests.rs 2
Rust crates/vize_croquis/src/script_parser/options_api_emits_tests.rs 1
Rust crates/vize_croquis/src/script_parser/process/options_api.rs 4
Rust crates/vize_croquis/src/script_parser/props_destructure_tests.rs 2
Rust crates/vize_croquis/src/script_parser/tests.rs 52
Rust crates/vize_croquis/src/setup_context.rs 2
Rust crates/vize_croquis/src/symbol.rs 2
Rust crates/vize_croquis/src/types/tests.rs 8
Rust crates/vize_croquis/src/virtual_ts.rs 11
Rust crates/vize_croquis/src/virtual_ts/generator/script.rs 3
Rust crates/vize_curator/src/inspector/tests.rs 9
Rust crates/vize_curator/src/profile/tests.rs 1
Rust crates/vize_fresco/src/component/box_node.rs 4
Rust crates/vize_fresco/src/component/input_node.rs 4
Rust crates/vize_fresco/src/component/text_node.rs 4
Rust crates/vize_fresco/src/input/event.rs 2
Rust crates/vize_fresco/src/input/ime/candidate.rs 6
Rust crates/vize_fresco/src/input/ime/platform.rs 4
Rust crates/vize_fresco/src/input/ime/preedit.rs 7
Rust crates/vize_fresco/src/input/ime/state.rs 5
Rust crates/vize_fresco/src/input/keyboard.rs 5
Rust crates/vize_fresco/src/input/mouse.rs 3
Rust crates/vize_fresco/src/layout/engine.rs 6
Rust crates/vize_fresco/src/layout/flex_tests.rs 4
Rust crates/vize_fresco/src/layout/rect.rs 7
Rust crates/vize_fresco/src/napi/render_tests.rs 3
Rust crates/vize_fresco/src/render/diff.rs 4
Rust crates/vize_fresco/src/render/node.rs 4
Rust crates/vize_fresco/src/render/painter.rs 3
Rust crates/vize_fresco/src/render/tree.rs 4
Rust crates/vize_fresco/src/terminal/backend.rs 2
Rust crates/vize_fresco/src/terminal/buffer.rs 6
Rust crates/vize_fresco/src/terminal/cell.rs 4
Rust crates/vize_fresco/src/terminal/cursor.rs 3
Rust crates/vize_fresco/src/text/segment.rs 12
Rust crates/vize_fresco/src/text/width.rs 10
Rust crates/vize_fresco/src/text/wrap.rs 11
Rust crates/vize_glyph/src/json/tests.rs 22
Rust crates/vize_glyph/src/lib.rs 18
Rust crates/vize_glyph/src/script.rs 10
Rust crates/vize_glyph/src/style.rs 7
Rust crates/vize_glyph/src/template.rs 40
Rust crates/vize_glyph/src/template/attributes.rs 4
Rust crates/vize_glyph/tests/custom_blocks.rs 2
Rust crates/vize_glyph/tests/script_idempotence.rs 3
Rust crates/vize_glyph/tests/sfc_check_mode.rs 2
Rust crates/vize_glyph/tests/sfc_script_idempotence.rs 2
Rust crates/vize_glyph/tests/template_component_tags.rs 1
Rust crates/vize_glyph/tests/template_directive_attributes.rs 7
Rust crates/vize_glyph/tests/template_nested_component_indent.rs 1
Rust crates/vize_maestro/src/document/store/tests.rs 18
Rust crates/vize_maestro/src/ide/auto_import.rs 3
Rust crates/vize_maestro/src/ide/code_action.rs 6
Rust crates/vize_maestro/src/ide/code_lens.rs 4
Rust crates/vize_maestro/src/ide/completion/component_props_tests.rs 3
Rust crates/vize_maestro/src/ide/completion/dedup_tests.rs 2
Rust crates/vize_maestro/src/ide/completion/script/tests.rs 3
Rust crates/vize_maestro/src/ide/completion/template_event_tests.rs 1
Rust crates/vize_maestro/src/ide/completion/template/bindings.rs 3
Rust crates/vize_maestro/src/ide/completion/template/component_meta.rs 3
Rust crates/vize_maestro/src/ide/completion/template/native_tests.rs 3
Rust crates/vize_maestro/src/ide/completion/template/slot_outlets.rs 3
Rust crates/vize_maestro/src/ide/completion/tests.rs 38
Rust crates/vize_maestro/src/ide/corsa_support/canonical_tests.rs 5
Rust crates/vize_maestro/src/ide/corsa_support/html_attribute_tests.rs 4
Rust crates/vize_maestro/src/ide/corsa_support/html_tag.rs 8
Rust crates/vize_maestro/src/ide/cursor_context.rs 9
Rust crates/vize_maestro/src/ide/definition.rs 26
Rust crates/vize_maestro/src/ide/definition/corsa_tests.rs 1
Rust crates/vize_maestro/src/ide/definition/html_tests.rs 6
Rust crates/vize_maestro/src/ide/diagnostics/component_props_tests.rs 2
Rust crates/vize_maestro/src/ide/diagnostics/corsa/message.rs 9
Rust crates/vize_maestro/src/ide/diagnostics/corsa/relative_import_tests.rs 1
Rust crates/vize_maestro/src/ide/diagnostics/corsa/tests.rs 7
Rust crates/vize_maestro/src/ide/diagnostics/editor_typecheck_tests.rs 5
Rust crates/vize_maestro/src/ide/diagnostics/tests.rs 32
Rust crates/vize_maestro/src/ide/document_highlight.rs 3
Rust crates/vize_maestro/src/ide/document_link.rs 3
Rust crates/vize_maestro/src/ide/ecosystem/context.rs 2
Rust crates/vize_maestro/src/ide/ecosystem/i18n.rs 3
Rust crates/vize_maestro/src/ide/ecosystem/router_extension_tests.rs 1
Rust crates/vize_maestro/src/ide/ecosystem/router.rs 4
Rust crates/vize_maestro/src/ide/ecosystem/void.rs 2
Rust crates/vize_maestro/src/ide/file_rename/declaration_index_tests.rs 1
Rust crates/vize_maestro/src/ide/file_rename/manual_tests.rs 3
Rust crates/vize_maestro/src/ide/file_rename/merge_tests.rs 3
Rust crates/vize_maestro/src/ide/file_rename/resources.rs 2
Rust crates/vize_maestro/src/ide/hover.rs 17
Rust crates/vize_maestro/src/ide/hover/component_prop.rs 1
Rust crates/vize_maestro/src/ide/hover/component_tag.rs 2
Rust crates/vize_maestro/src/ide/hover/corsa_tests.rs 1
Rust crates/vize_maestro/src/ide/hover/html.rs 6
Rust crates/vize_maestro/src/ide/inlay_hint.rs 10
Rust crates/vize_maestro/src/ide/jsx/code_action.rs 4
Rust crates/vize_maestro/src/ide/jsx/document_symbols.rs 4
Rust crates/vize_maestro/src/ide/jsx/position.rs 3
Rust crates/vize_maestro/src/ide/jsx/references.rs 1
Rust crates/vize_maestro/src/ide/jsx/rename.rs 3
Rust crates/vize_maestro/src/ide/jsx/scoped_style.rs 6
Rust crates/vize_maestro/src/ide/jsx/semantic_tokens.rs 4
Rust crates/vize_maestro/src/ide/jsx/service.rs 6
Rust crates/vize_maestro/src/ide/jsx/virtual_ts.rs 4
Rust crates/vize_maestro/src/ide/references.rs 6
Rust crates/vize_maestro/src/ide/rename.rs 6
Rust crates/vize_maestro/src/ide/semantic_tokens/tests.rs 25
Rust crates/vize_maestro/src/ide/tests.rs 13
Rust crates/vize_maestro/src/ide/type_service.rs 2
Rust crates/vize_maestro/src/ide/type_service/diagnostics.rs 4
Rust crates/vize_maestro/src/ide/workspace_symbols.rs 5
Rust crates/vize_maestro/src/runtime.rs 1
Rust crates/vize_maestro/src/server/capabilities/tests.rs 8
Rust crates/vize_maestro/src/server/format.rs 8
Rust crates/vize_maestro/src/server/handlers.rs 9
Rust crates/vize_maestro/src/server/handlers/tests/lifecycle.rs 6
Rust crates/vize_maestro/src/server/handlers/tests/requests.rs 2
Rust crates/vize_maestro/src/server/handlers/tests/requests/responses.rs 3
Rust crates/vize_maestro/src/server/state/config_tests.rs 2
Rust crates/vize_maestro/src/server/state/tests.rs 26
Rust crates/vize_maestro/src/utils/position.rs 8
Rust crates/vize_maestro/src/virtual_code/generator/tests.rs 10
Rust crates/vize_maestro/src/virtual_code/script_code.rs 2
Rust crates/vize_maestro/src/virtual_code/source_map.rs 6
Rust crates/vize_maestro/src/virtual_code/style_code.rs 2
Rust crates/vize_maestro/src/virtual_code/template_code.rs 4
Rust crates/vize_maestro/tests/file_rename_declarations.rs 3
Rust crates/vize_musea/src/autogen.rs 4
Rust crates/vize_musea/src/autogen/strategy.rs 8
Rust crates/vize_musea/src/docs.rs 2
Rust crates/vize_musea/src/docs/catalog.rs 3
Rust crates/vize_musea/src/docs/markdown.rs 2
Rust crates/vize_musea/src/lib.rs 4
Rust crates/vize_musea/src/palette/codegen.rs 4
Rust crates/vize_musea/src/palette/inference.rs 7
Rust crates/vize_musea/src/palette/types.rs 3
Rust crates/vize_musea/src/parse.rs 8
Rust crates/vize_musea/src/parse/art_block.rs 4
Rust crates/vize_musea/src/parse/variant.rs 7
Rust crates/vize_musea/src/tokens/tests.rs 3
Rust crates/vize_musea/src/transform/to_csf/tests.rs 7
Rust crates/vize_musea/src/transform/to_vue.rs 4
Rust crates/vize_musea/src/types.rs 3
Rust crates/vize_musea/src/vrt/config.rs 5
Rust crates/vize_musea/src/vrt/preset.rs 5
Rust crates/vize_musea/tests/define_art_metadata.rs 1
Rust crates/vize_patina/src/diagnostic.rs 19
Rust crates/vize_patina/src/lib.rs 2
Rust crates/vize_patina/src/linter/corsa_session/paths.rs 5
Rust crates/vize_patina/src/linter/corsa_session/session.rs 3
Rust crates/vize_patina/src/linter/corsa_session/tests.rs 2
Rust crates/vize_patina/src/linter/engine/ecosystem_hint.rs 2
Rust crates/vize_patina/src/linter/engine/template_extract.rs 10
Rust crates/vize_patina/src/linter/native_type_aware/template_queries/calls.rs 15
Rust crates/vize_patina/src/linter/native_type_aware/template_queries/collector.rs 1
Rust crates/vize_patina/src/linter/native_type_aware/tests.rs 47
Rust crates/vize_patina/src/linter/native_type_aware/tests/opt_in.rs 5
Rust crates/vize_patina/src/linter/native_type_aware/tests/options_api.rs 1
Rust crates/vize_patina/src/linter/script_rules/html_scripts.rs 1
Rust crates/vize_patina/src/linter/tests/basic.rs 29
Rust crates/vize_patina/src/linter/tests/css.rs 1
Rust crates/vize_patina/src/linter/tests/directives.rs 15
Rust crates/vize_patina/src/linter/tests/jsx_fallback.rs 3
Rust crates/vize_patina/src/linter/tests/jsx.rs 18
Rust crates/vize_patina/src/linter/tests/no_top_level_ref.rs 2
Rust crates/vize_patina/src/linter/tests/nuxt.rs 7
Rust crates/vize_patina/src/linter/tests/script.rs 2
Rust crates/vize_patina/src/linter/tests/severity_overrides.rs 2
Rust crates/vize_patina/src/linter/tests/sfc.rs 26
Rust crates/vize_patina/src/linter/tests/v_for_unused_vars.rs 2
Rust crates/vize_patina/src/markup.rs 10
Rust crates/vize_patina/src/output/tests.rs 13
Rust crates/vize_patina/src/preset.rs 4
Rust crates/vize_patina/src/rules/a11y/alt_text.rs 11
Rust crates/vize_patina/src/rules/a11y/anchor_has_content.rs 5
Rust crates/vize_patina/src/rules/a11y/anchor_is_valid.rs 11
Rust crates/vize_patina/src/rules/a11y/aria_props.rs 13
Rust crates/vize_patina/src/rules/a11y/aria_role.rs 18
Rust crates/vize_patina/src/rules/a11y/aria_unsupported_elements.rs 6
Rust crates/vize_patina/src/rules/a11y/click_events_have_key_events.rs 9
Rust crates/vize_patina/src/rules/a11y/form_control_has_label.rs 10
Rust crates/vize_patina/src/rules/a11y/heading_has_content.rs 8
Rust crates/vize_patina/src/rules/a11y/iframe_has_title.rs 4
Rust crates/vize_patina/src/rules/a11y/img_alt.rs 3
Rust crates/vize_patina/src/rules/a11y/interactive_supports_focus.rs 6
Rust crates/vize_patina/src/rules/a11y/label_has_for.rs 6
Rust crates/vize_patina/src/rules/a11y/media_has_caption.rs 6
Rust crates/vize_patina/src/rules/a11y/mouse_events_have_key_events.rs 8
Rust crates/vize_patina/src/rules/a11y/no_access_key.rs 4
Rust crates/vize_patina/src/rules/a11y/no_aria_hidden_on_focusable.rs 7
Rust crates/vize_patina/src/rules/a11y/no_autofocus.rs 4
Rust crates/vize_patina/src/rules/a11y/no_distracting_elements.rs 3
Rust crates/vize_patina/src/rules/a11y/no_i_for_icon.rs 13
Rust crates/vize_patina/src/rules/a11y/no_redundant_roles.rs 6
Rust crates/vize_patina/src/rules/a11y/no_refer_to_non_existent_id.rs 3
Rust crates/vize_patina/src/rules/a11y/no_role_presentation_on_focusable.rs 7
Rust crates/vize_patina/src/rules/a11y/no_static_element_interactions.rs 8
Rust crates/vize_patina/src/rules/a11y/role_has_required_aria_props.rs 8
Rust crates/vize_patina/src/rules/a11y/tabindex_no_positive.rs 4
Rust crates/vize_patina/src/rules/css.rs 6
Rust crates/vize_patina/src/rules/css/no_display_none.rs 3
Rust crates/vize_patina/src/rules/css/no_hardcoded_values.rs 7
Rust crates/vize_patina/src/rules/css/no_id_selectors.rs 3
Rust crates/vize_patina/src/rules/css/no_important.rs 2
Rust crates/vize_patina/src/rules/css/no_utility_classes.rs 4
Rust crates/vize_patina/src/rules/css/no_v_bind_performance.rs 4
Rust crates/vize_patina/src/rules/css/prefer_logical_properties.rs 3
Rust crates/vize_patina/src/rules/css/prefer_nested_selectors.rs 12
Rust crates/vize_patina/src/rules/css/prefer_slotted.rs 3
Rust crates/vize_patina/src/rules/css/require_font_display.rs 3
Rust crates/vize_patina/src/rules/ecosystem/i18n_no_missing_key.rs 4
Rust crates/vize_patina/src/rules/ecosystem/nuxt_prefer_nuxt_link.rs 3
Rust crates/vize_patina/src/rules/ecosystem/router_link_require_to.rs 4
Rust crates/vize_patina/src/rules/ecosystem/void_link_require_href.rs 4
Rust crates/vize_patina/src/rules/ecosystem/void_link_valid_method.rs 3
Rust crates/vize_patina/src/rules/ecosystem/vue_router_prefer_named_link.rs 4
Rust crates/vize_patina/src/rules/html/deprecated_attr.rs 8
Rust crates/vize_patina/src/rules/html/deprecated_element.rs 9
Rust crates/vize_patina/src/rules/html/id_duplication.rs 9
Rust crates/vize_patina/src/rules/html/no_consecutive_br.rs 6
Rust crates/vize_patina/src/rules/html/no_duplicate_dt.rs 5
Rust crates/vize_patina/src/rules/html/no_empty_palpable_content.rs 12
Rust crates/vize_patina/src/rules/html/require_datetime.rs 8
Rust crates/vize_patina/src/rules/musea.rs 5
Rust crates/vize_patina/src/rules/musea/no_empty_variant.rs 3
Rust crates/vize_patina/src/rules/musea/prefer_design_tokens.rs 8
Rust crates/vize_patina/src/rules/musea/require_component.rs 3
Rust crates/vize_patina/src/rules/musea/require_title.rs 4
Rust crates/vize_patina/src/rules/musea/unique_variant_names.rs 3
Rust crates/vize_patina/src/rules/musea/valid_variant.rs 3
Rust crates/vize_patina/src/rules/opinionated/a11y/heading_levels.rs 9
Rust crates/vize_patina/src/rules/opinionated/a11y/landmark_roles.rs 12
Rust crates/vize_patina/src/rules/opinionated/a11y/placeholder_label_option.rs 6
Rust crates/vize_patina/src/rules/opinionated/a11y/use_list.rs 10
Rust crates/vize_patina/src/rules/opinionated/html/no_dupe_style_properties.rs 8
Rust crates/vize_patina/src/rules/opinionated/html/no_duplicate_class.rs 8
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_floating_promises.rs 1
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_reactivity_loss.rs 1
Rust crates/vize_patina/src/rules/opinionated/type_aware/no_unsafe_template_binding.rs 1
Rust crates/vize_patina/src/rules/opinionated/vapor/no_inline_template.rs 3
Rust crates/vize_patina/src/rules/opinionated/vapor/prefer_static_class.rs 5
Rust crates/vize_patina/src/rules/opinionated/vapor/require_vapor_attribute.rs 1
Rust crates/vize_patina/src/rules/opinionated/vue/component_name_in_template_casing.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/html_button_has_type.rs 12
Rust crates/vize_patina/src/rules/opinionated/vue/html_self_closing.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/multi_word_component_names.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/no_array_index_key.rs 13
Rust crates/vize_patina/src/rules/opinionated/vue/no_boolean_attr_value.rs 10
Rust crates/vize_patina/src/rules/opinionated/vue/no_empty_component_block.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_inline_style.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/no_multiple_objects_in_class.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_negated_v_if_condition.rs 9
Rust crates/vize_patina/src/rules/opinionated/vue/no_root_v_if.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/no_template_shadow.rs 3
Rust crates/vize_patina/src/rules/opinionated/vue/no_unused_refs/tests.rs 18
Rust crates/vize_patina/src/rules/opinionated/vue/no_useless_mustaches.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/no_useless_v_bind.rs 5
Rust crates/vize_patina/src/rules/opinionated/vue/no_v_text.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/prefer_props_shorthand.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/prefer_true_attribute_shorthand.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/require_component_registration.rs 5
Rust crates/vize_patina/src/rules/opinionated/vue/scoped_event_names.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/slot_name_casing.rs 7
Rust crates/vize_patina/src/rules/opinionated/vue/this_in_template.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/use_unique_element_ids.rs 20
Rust crates/vize_patina/src/rules/opinionated/vue/use_v_on_exact.rs 6
Rust crates/vize_patina/src/rules/opinionated/vue/v_bind_style.rs 4
Rust crates/vize_patina/src/rules/opinionated/vue/v_on_event_hyphenation.rs 8
Rust crates/vize_patina/src/rules/opinionated/vue/v_on_handler_style.rs 12
Rust crates/vize_patina/src/rules/opinionated/vue/warn_custom_block.rs 2
Rust crates/vize_patina/src/rules/opinionated/vue/warn_custom_directive.rs 4
Rust crates/vize_patina/src/rules/petite_vue/no_unsupported_directive.rs 7
Rust crates/vize_patina/src/rules/petite_vue/valid_v_effect.rs 6
Rust crates/vize_patina/src/rules/petite_vue/valid_v_scope.rs 13
Rust crates/vize_patina/src/rules/script/component_options_name_casing/tests.rs 18
Rust crates/vize_patina/src/rules/script/custom_event_name_casing.rs 15
Rust crates/vize_patina/src/rules/script/define_emits_declaration.rs 9
Rust crates/vize_patina/src/rules/script/define_macros_order/tests.rs 19
Rust crates/vize_patina/src/rules/script/define_props_declaration.rs 9
Rust crates/vize_patina/src/rules/script/define_props_destructuring.rs 8
Rust crates/vize_patina/src/rules/script/no_arrow_functions_in_watch/tests.rs 18
Rust crates/vize_patina/src/rules/script/no_async_in_computed.rs 5
Rust crates/vize_patina/src/rules/script/no_boolean_default/tests.rs 15
Rust crates/vize_patina/src/rules/script/no_deep_destructure_in_props.rs 8
Rust `crates/vize_patina/src/rules/script/no_deprec

Comment truncated at 64000 characters. Open the workflow run for the full job log.

@ubugeeei ubugeeei merged commit 30c1fa0 into main Jul 8, 2026
41 of 42 checks passed
@ubugeeei ubugeeei deleted the fix/template-component-intellisense branch July 8, 2026 19:51
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Tool Benchmark

Measured: 2026-07-08T19:51:51.879Z
Commit: a732177c374b (run)
Runner: blacksmith-32vcpu-ubuntu-2404 (32 logical CPU, Intel(R) Xeon(R) Processor, 32 vCPU / 128 GB RAM / 1.5 TB storage)
Input: 3,000 generated SFC files (11.7 MB). Median of 3 measured run(s) after 1 warmup run(s).
Large SFC: 300 repeated template blocks (225.6 KB). Nuxt import set: 250 SFC files.

Surface Files Existing tool Existing median Vize 1T Vize max Speedup
SFC compile 3,000 @vue/compiler-sfc (1T) 3.86s 681.7ms 57.8ms 66.9x
Large SFC compile 1 @vue/compiler-sfc (1T) 59.0ms 21.5ms 16.0ms 3.7x
Large SFC type check 1 vue-tsc 834.1ms 103.2ms 108.0ms 7.7x
Lint 3,000 eslint-plugin-vue (1T) 11.06s 461.8ms 103.0ms 107.4x
Format 3,000 Prettier CLI 31.56s 2.29s 436.2ms 72.4x
Type check 500 vue-tsc 5.41s 458.6ms 389.3ms 13.9x
Vite build (end-to-end) 1,000 @vitejs/plugin-vue 1.75s n/a 1.49s 1.2x
Nuxt SPA build (end-to-end) 250 Nuxt default compiler 4.49s n/a 4.92s 0.9x

Fairness notes:

  • All tools run on the same generated Vue SFC corpus from the same checkout and lockfile.
  • The 15,000-SFC rows are the many-file workload; the large-SFC rows isolate one large component.
  • Reported times are medians; measured runs alternate variant order after warmup runs.
  • Destructive formatter runs receive a fresh copy of the same input before each invocation.
  • SFC compile Vize max uses compileSfcBatchWithResults wall time so the primary number includes generated output crossing the JS/native boundary; the stats-only native timeMs is shown only in variant details.
  • Vite build timings exclude fixture copy/setup; the Vize max lane sets precompileBatchSize to the benchmark file count so Blacksmith max runs one native precompile batch instead of the memory-safe default chunks.
  • Nuxt SPA build timings exclude synthetic app generation and compare nuxt build with Nuxt's default compiler against the same app with @vizejs/nuxt installed.
  • Single-thread lanes are shown where useful, and the primary speedup compares the incumbent default/single-thread lane with Vize's max runner lane.

Commands:

gh workflow run tool-benchmark.yml --ref <branch> -f file_count=3000 -f check_file_count=500 -f vite_file_count=1000 -f nuxt_file_count=250 -f large_blocks=300 -f runs=3 -f warmups=1 -f commit_results=true
node bench/generate.mjs 3000
node bench/compare-tools.mjs --input bench/__in__ --vize-bin target/release/vize --runs 3 --warmups 1 --check-file-count 500 --vite-file-count 1000 --nuxt-file-count 250 --large-blocks 300 --runner-label "blacksmith-32vcpu-ubuntu-2404" --out tool-benchmark-summary.md --json tool-benchmark-results.json --doc performance-blacksmith.md
Variant details and raw run times

SFC compile

Variant Median Throughput Raw measured runs
@vue/compiler-sfc (1T) 3.86s 776 files/s 3.86s, 4.01s, 3.82s
@vue/compiler-sfc (32 workers) 1.70s 1.8k files/s 1.70s, 1.76s, 1.67s
Vize native loop (1T) 681.7ms 4.4k files/s 713.6ms, 681.7ms, 674.1ms
Vize native batch results (max) 57.8ms 51.9k files/s 58.3ms, 55.5ms, 57.8ms
Vize native batch stats-only (core max) 38.1ms 78.7k files/s 37.3ms, 38.3ms, 38.1ms

Large SFC compile

Variant Median Throughput Raw measured runs
@vue/compiler-sfc (1T) 59.0ms 17 files/s 63.7ms, 59.0ms, 54.5ms
@vue/compiler-sfc (1 workers) 194.2ms 5 files/s 200.2ms, 194.2ms, 188.1ms
Vize native loop (1T) 21.5ms 46 files/s 21.7ms, 16.4ms, 21.5ms
Vize native batch results (max) 16.0ms 63 files/s 18.6ms, 16.0ms, 15.8ms
Vize native batch stats-only (core max) 15.9ms 63 files/s 16.7ms, 15.9ms, 15.3ms

Large SFC type check

Variant Median Throughput Raw measured runs
vue-tsc 834.1ms 1 files/s 834.1ms, 826.4ms, 857.4ms
Vize check (1T) 103.2ms 10 files/s 103.2ms, 105.1ms, 101.2ms
Vize check (max) 108.0ms 9 files/s 106.2ms, 108.0ms, 112.7ms

Lint

Variant Median Throughput Raw measured runs
eslint-plugin-vue (1T) 11.06s 271 files/s 11.17s, 11.06s, 10.64s
eslint-plugin-vue (32 workers) 3.84s 781 files/s 4.00s, 3.79s, 3.84s
Vize lint (1T) 461.8ms 6.5k files/s 461.8ms, 429.7ms, 471.2ms
Vize lint (max) 103.0ms 29.1k files/s 103.8ms, 102.4ms, 103.0ms

Format

Variant Median Throughput Raw measured runs
Prettier CLI 31.56s 95 files/s 31.60s, 31.56s, 31.50s
Vize fmt (1T) 2.29s 1.3k files/s 2.27s, 2.30s, 2.29s
Vize fmt (max) 436.2ms 6.9k files/s 436.2ms, 440.7ms, 434.0ms

Type check

Variant Median Throughput Raw measured runs
vue-tsc 5.41s 92 files/s 5.41s, 5.41s, 5.37s
Vize check (1T) 458.6ms 1.1k files/s 475.3ms, 458.6ms, 458.6ms
Vize check (max) 389.3ms 1.3k files/s 392.8ms, 389.3ms, 388.5ms

Vite build (end-to-end)

Variant Median Throughput Raw measured runs
@vitejs/plugin-vue 1.75s 573 files/s 1.75s, 1.75s, 1.69s
@vizejs/vite-plugin 1.49s 669 files/s 1.46s, 1.50s, 1.49s

Nuxt SPA build (end-to-end)

Variant Median Throughput Raw measured runs
Nuxt default compiler 4.49s 56 files/s 4.48s, 4.49s, 4.54s
@vizejs/nuxt 4.92s 51 files/s 4.81s, 4.92s, 5.02s

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/vize_maestro/src/ide/completion/template/tag_context.rs (1)

79-93: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use Unicode whitespace for open-tag token boundaries. is_ascii_whitespace() misses cases like NBSP, so the token scan can span multiple attributes while trim_start() hides only the leading space. That breaks completion prefix matching and can widen the LSP replace range.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/completion/template/tag_context.rs` around lines
79 - 93, The open-tag token scan in current_open_tag_token should use
Unicode-aware whitespace boundaries instead of is_ascii_whitespace(), since
ASCII-only checks miss characters like NBSP and can cause the token to span too
far. Update the loop over slice.char_indices() to treat any Unicode whitespace
as a boundary, and keep the token start aligned with that same rule so
content[token_start..cursor] and the returned prefix stay consistent. Make sure
the behavior around '<' in current_open_tag_token still works the same while
preventing completion prefix and replace-range widening.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/vize_maestro/src/ide/completion/template_event_tests.rs`:
- Around line 60-76: The helper functions completion_labels, completion_items,
and has_label in template_event_tests duplicate the identical test utilities
already defined in component_props_tests. Extract these shared helpers into a
common test-support module (for example, a cfg(test) module under the completion
tests) and update both test files to import them instead of keeping separate
copies. Use the existing function names as the shared API so the test assertions
stay unchanged and future completion tests can reuse the same utilities.

In `@crates/vize_maestro/src/ide/diagnostics/component_props.rs`:
- Around line 100-119: The static missing-required-props diagnostic in
component_props.rs is too aggressive as an ERROR for cases that can be satisfied
at runtime or through higher-order patterns. Update the Diagnostic construction
in the required-props reporting path to use a less severe level such as WARNING
or HINT, or add a suppression mechanism for known false positives, so the logic
around required_props_message, has_spread_attrs, and the component props check
does not produce hard red squiggles for legitimate Vue/Nuxt component patterns.
- Around line 54-62: The template is being parsed and analyzed a second time in
the diagnostics flow, duplicating work already done by
collect_template_diagnostics. Update the component_props diagnostics path to
reuse the already-parsed AST or Croquis produced earlier by collect() instead of
calling vize_armature::parse and running a new
Drawer::with_options/draw_template pass again. Keep the existing behavior for
parse-error short-circuiting, but thread the prior result through the
diagnostics collector so large templates are not reprocessed on every keystroke.
- Around line 71-93: The diagnostics loop in component_props.rs resolves
component metadata repeatedly for the same component name, which causes
redundant lookups when croquis.component_usages contains multiple instances of
one component. Add memoization within the loop around component_metadata so
repeated usage.name.as_str() values reuse the previously resolved metadata
instead of calling component_metadata again, and keep the existing required-prop
missing check logic in place using the cached result.
- Line 2: The module-level clippy allow in component_props currently suppresses
legitimate uses of disallowed methods/macros across the whole file. Narrow the
allowance by moving the allow attributes to the specific functions or statements
in component_props, especially around content.to_string(),
"component-required-props".to_string(), sources::COMPONENTS.to_string(), and
required_props_message, so future additions still trigger clippy.

---

Outside diff comments:
In `@crates/vize_maestro/src/ide/completion/template/tag_context.rs`:
- Around line 79-93: The open-tag token scan in current_open_tag_token should
use Unicode-aware whitespace boundaries instead of is_ascii_whitespace(), since
ASCII-only checks miss characters like NBSP and can cause the token to span too
far. Update the loop over slice.char_indices() to treat any Unicode whitespace
as a boundary, and keep the token start aligned with that same rule so
content[token_start..cursor] and the returned prefix stay consistent. Make sure
the behavior around '<' in current_open_tag_token still works the same while
preventing completion prefix and replace-range widening.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 5aaeaf9b-87f9-46b6-b31a-b5319191de9a

📥 Commits

Reviewing files that changed from the base of the PR and between d4c01b8 and a732177.

📒 Files selected for processing (13)
  • crates/vize_maestro/src/ide/completion.rs
  • crates/vize_maestro/src/ide/completion/component_props_tests.rs
  • crates/vize_maestro/src/ide/completion/items.rs
  • crates/vize_maestro/src/ide/completion/template.rs
  • crates/vize_maestro/src/ide/completion/template/directives.rs
  • crates/vize_maestro/src/ide/completion/template/tag_context.rs
  • crates/vize_maestro/src/ide/completion/template_event_tests.rs
  • crates/vize_maestro/src/ide/diagnostics.rs
  • crates/vize_maestro/src/ide/diagnostics/component_props.rs
  • crates/vize_maestro/src/ide/diagnostics/component_props_tests.rs
  • crates/vize_maestro/src/ide/diagnostics/service.rs
  • crates/vize_maestro/src/ide/hover/component_prop.rs
  • crates/vize_maestro/src/ide/hover/component_tag.rs
📜 Review details
⏰ Context from checks skipped due to timeout. (8)
  • GitHub Check: pr-benchmark-comment
  • GitHub Check: pr-benchmark-budget
  • GitHub Check: playground-test
  • GitHub Check: dialect-guard
  • GitHub Check: criterion-ab
  • GitHub Check: tool-benchmark
  • GitHub Check: test-scripts
  • GitHub Check: clippy-and-test
🧰 Additional context used
📓 Path-based instructions (1)
crates/**

⚙️ CodeRabbit configuration file

crates/**: Focus on parser/compiler correctness, source locations, UTF-8/UTF-16 offset handling, and panic-free LSP behavior. Flag changes that only work for small fixtures but break real Vue/Nuxt projects.

Files:

  • crates/vize_maestro/src/ide/completion.rs
  • crates/vize_maestro/src/ide/completion/template_event_tests.rs
  • crates/vize_maestro/src/ide/completion/template/directives.rs
  • crates/vize_maestro/src/ide/diagnostics.rs
  • crates/vize_maestro/src/ide/completion/items.rs
  • crates/vize_maestro/src/ide/diagnostics/component_props_tests.rs
  • crates/vize_maestro/src/ide/completion/template/tag_context.rs
  • crates/vize_maestro/src/ide/hover/component_prop.rs
  • crates/vize_maestro/src/ide/hover/component_tag.rs
  • crates/vize_maestro/src/ide/diagnostics/component_props.rs
  • crates/vize_maestro/src/ide/completion/template.rs
  • crates/vize_maestro/src/ide/diagnostics/service.rs
  • crates/vize_maestro/src/ide/completion/component_props_tests.rs
🔇 Additional comments (20)
crates/vize_maestro/src/ide/hover/component_prop.rs (2)

37-40: 📐 Maintainability & Code Quality

Duplicated Vue docs link literal.

Same "Vue Component Props" / URL pair duplicated in component_tag.rs. Previously flagged for extraction into a shared constant.


144-148: LGTM!

crates/vize_maestro/src/ide/hover/component_tag.rs (2)

69-80: 📐 Maintainability & Code Quality

Missing test coverage for required-props hover branches; duplicated link literal.

No test exercises the new "Required props" example/link branches here (unlike component_prop.rs). Also duplicates the "Vue Component Props" link literal already flagged in component_prop.rs.


218-225: LGTM!

crates/vize_maestro/src/ide/completion/items.rs (3)

12-13: LGTM!


94-114: LGTM!


116-123: 🎯 Functional Correctness

No change needed for directive kinds. directive_item only receives bare directive shorthands (v-on, v-bind, v-model, v-slot) and shorthand symbols (@, :, #); compound labels are handled by event_item elsewhere.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/completion/template/directives.rs (2)

4-5: LGTM!


61-71: LGTM!

crates/vize_maestro/src/ide/diagnostics.rs (1)

12-14: LGTM!

Also applies to: 46-46

crates/vize_maestro/src/ide/diagnostics/component_props.rs (2)

126-146: LGTM!


95-119: 🩺 Stability & Availability

No issue: the component span and line mapping are already safe

usage.start is the byte offset of the element start, so + 1 correctly lands on the tag name. LineIndex::line_col also accepts any in-bounds byte offset and handles mid-character offsets without panicking, so the UTF-8 panic concern doesn’t apply here.

			> Likely an incorrect or invalid review comment.
crates/vize_maestro/src/ide/diagnostics/service.rs (1)

142-150: Wiring is correctly placed after the parse-error short-circuit.

Gating on features.typecheck (rather than features.lint) is a deliberate, tested choice (see component_props_tests.rs), and the call happens after script/template parse errors already return early, so the collector only runs on a structurally valid template.

crates/vize_maestro/src/ide/diagnostics/component_props_tests.rs (1)

22-125: LGTM!

Tests clearly cover the happy path (missing required prop reported with correct source/code/message/range) and the spread-attrs suppression case.

crates/vize_maestro/src/ide/completion/template/tag_context.rs (1)

8-13: LGTM!

Also applies to: 44-55

crates/vize_maestro/src/ide/completion/template.rs (2)

23-23: LGTM!

Also applies to: 55-66, 103-110, 139-169, 171-185, 216-226


112-137: 🎯 Functional Correctness

Set filter_text on open-tag completions. These items only rewrite insert_text, so some LSP clients can re-filter on the edited :prop/@event prefix and drop the suggestion as typing continues.

crates/vize_maestro/src/ide/completion/component_props_tests.rs (1)

3-3: LGTM!

Also applies to: 50-101, 193-204

crates/vize_maestro/src/ide/completion/template_event_tests.rs (1)

1-48: LGTM!

crates/vize_maestro/src/ide/completion.rs (1)

25-27: 🎯 Functional Correctness

No issue: template_event_tests is already test-gated. #[cfg(test)] applies to the following module item here, so mod template_event_tests; is not compiled in non-test builds.

			> Likely an incorrect or invalid review comment.

Comment on lines +60 to +76
fn completion_labels(response: CompletionResponse) -> Vec<String> {
completion_items(response)
.into_iter()
.map(|item| item.label)
.collect()
}

fn completion_items(response: CompletionResponse) -> Vec<tower_lsp::lsp_types::CompletionItem> {
match response {
CompletionResponse::Array(items) => items,
CompletionResponse::List(list) => list.items,
}
}

fn has_label(labels: &[String], expected: &str) -> bool {
labels.iter().any(|label| label == expected)
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Duplicate test helpers already present in component_props_tests.rs.

completion_labels, completion_items, and has_label here are identical, verbatim copies of the functions defined in crates/vize_maestro/src/ide/completion/component_props_tests.rs (Lines 192-208 there). Consider extracting these into a shared test-support module used by both files to avoid divergence as more completion test files get added.

♻️ Suggested direction
// e.g. crates/vize_maestro/src/ide/completion/test_support.rs (cfg(test) only)
pub(super) fn completion_items(response: CompletionResponse) -> Vec<CompletionItem> { ... }
pub(super) fn completion_labels(response: CompletionResponse) -> Vec<String> { ... }
pub(super) fn has_label(labels: &[String], expected: &str) -> bool { ... }

Then use super::test_support::{completion_items, completion_labels, has_label}; from both test files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/completion/template_event_tests.rs` around lines
60 - 76, The helper functions completion_labels, completion_items, and has_label
in template_event_tests duplicate the identical test utilities already defined
in component_props_tests. Extract these shared helpers into a common
test-support module (for example, a cfg(test) module under the completion tests)
and update both test files to import them instead of keeping separate copies.
Use the existing function names as the shared API so the test assertions stay
unchanged and future completion tests can reuse the same utilities.

@@ -0,0 +1,146 @@
//! Component-surface diagnostics that need template usage plus imported metadata.
#![allow(clippy::disallowed_methods, clippy::disallowed_macros)]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check clippy.toml for what disallowed_methods/macros are configured, and see if any listed
# item is actually used in this file.
fd -e toml clippy --exec cat {}
rg -n 'disallowed-methods|disallowed-macros' -A5

Repository: ubugeeei-prod/vize

Length of output: 915


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the target file and any nearby usage of the disallowed clippy items.
wc -l crates/vize_maestro/src/ide/diagnostics/component_props.rs
cat -n crates/vize_maestro/src/ide/diagnostics/component_props.rs

printf '\n-- usages in file --\n'
rg -n '\bformat!\b|\.to_string\(\)|disallowed_methods|disallowed_macros' crates/vize_maestro/src/ide/diagnostics/component_props.rs || true

printf '\n-- project-wide uses of disallowed items in this file path context --\n'
rg -n 'format!\(|\.to_string\(\)' crates/vize_maestro/src/ide/diagnostics/component_props.rs crates/vize_maestro/src/ide -g '!**/target/**' || true

Repository: ubugeeei-prod/vize

Length of output: 50376


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the target file and any nearby usage of the disallowed clippy items.
wc -l crates/vize_maestro/src/ide/diagnostics/component_props.rs
cat -n crates/vize_maestro/src/ide/diagnostics/component_props.rs

printf '\n-- usages in file --\n'
rg -n '\bformat!\b|\.to_string\(\)|disallowed_methods|disallowed_macros' crates/vize_maestro/src/ide/diagnostics/component_props.rs || true

printf '\n-- project-wide uses of disallowed items in this file path context --\n'
rg -n 'format!\(|\.to_string\(\)' crates/vize_maestro/src/ide/component_props.rs crates/vize_maestro/src/ide -g '!**/target/**' || true

Repository: ubugeeei-prod/vize

Length of output: 50376


Narrow the clippy allow in crates/vize_maestro/src/ide/diagnostics/component_props.rs The module-level #![allow(...)] covers several actual format!/to_string() sites here (content.to_string(), "component-required-props".to_string(), sources::COMPONENTS.to_string(), and format! in required_props_message). If these calls are intentional, scope the allow to the specific statements/functions instead of the whole file so the lint still catches new additions.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/component_props.rs` at line 2, The
module-level clippy allow in component_props currently suppresses legitimate
uses of disallowed methods/macros across the whole file. Narrow the allowance by
moving the allow attributes to the specific functions or statements in
component_props, especially around content.to_string(),
"component-required-props".to_string(), sources::COMPONENTS.to_string(), and
required_props_message, so future additions still trigger clippy.

Comment on lines +54 to +62
let allocator = vize_carton::Bump::new();
let (root, _) = vize_armature::parse(&allocator, template_content);
let mut drawer = Drawer::with_options(DrawerOptions {
analyze_template_scopes: true,
track_usage: true,
..Default::default()
});
drawer.draw_template(&root);
let croquis = drawer.finish();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 Performance & Scalability | 🔵 Trivial | 🏗️ Heavy lift

Template re-parsed independently of collect_template_diagnostics.

vize_armature::parse plus a full Drawer pass run again here even though service.rs's collect() already parsed and analyzed the same template a few lines earlier (collect_template_diagnostics) and short-circuits on parse errors before this call runs. For large real-world templates re-parsed on every keystroke, this doubles parse/analysis cost for this diagnostic pass alone (on top of script/template/sfc-compile parses already happening).

Longer-term, consider threading the already-parsed AST/Croquis result through instead of re-parsing, to keep collect() scaling on large SFCs.

As per path instructions, "Flag changes that only work for small fixtures but break real Vue/Nuxt projects" for crates/**.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/component_props.rs` around lines 54 -
62, The template is being parsed and analyzed a second time in the diagnostics
flow, duplicating work already done by collect_template_diagnostics. Update the
component_props diagnostics path to reuse the already-parsed AST or Croquis
produced earlier by collect() instead of calling vize_armature::parse and
running a new Drawer::with_options/draw_template pass again. Keep the existing
behavior for parse-error short-circuiting, but thread the prior result through
the diagnostics collector so large templates are not reprocessed on every
keystroke.

Source: Path instructions

Comment on lines +71 to +93
for usage in croquis.component_usages {
if usage.has_spread_attrs {
continue;
}

let Some(metadata) = component_metadata(&metadata_ctx, usage.name.as_str()) else {
continue;
};
let missing = metadata
.props
.iter()
.filter(|prop| prop.required)
.filter(|prop| {
!usage
.props
.iter()
.any(|passed| prop_names_match(passed.name.as_str(), prop.name.as_str()))
})
.map(|prop| prop.name.clone())
.collect::<Vec<_>>();
if missing.is_empty() {
continue;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

No memoization of component_metadata across repeated usages of the same component.

component_metadata(&metadata_ctx, usage.name.as_str()) is resolved fresh for every usage in croquis.component_usages. Real templates frequently render the same component many times (e.g., inside v-for), so a list template with N instances of the same child component triggers N independent metadata resolutions (each potentially involving cross-file lookups/parsing) per diagnostics pass.

Consider caching resolved metadata by component name for the duration of this loop:

♻️ Suggested caching
+        let mut metadata_cache: std::collections::HashMap<&str, Option<_>> = Default::default();
         for usage in croquis.component_usages {
             if usage.has_spread_attrs {
                 continue;
             }

-            let Some(metadata) = component_metadata(&metadata_ctx, usage.name.as_str()) else {
+            let metadata = metadata_cache
+                .entry(usage.name.as_str())
+                .or_insert_with(|| component_metadata(&metadata_ctx, usage.name.as_str()));
+            let Some(metadata) = metadata else {
                 continue;
             };

(Exact types depend on component_metadata's return type — adjust as needed.)

As per path instructions, flag changes that "break real Vue/Nuxt projects" beyond small fixtures for crates/**.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/component_props.rs` around lines 71 -
93, The diagnostics loop in component_props.rs resolves component metadata
repeatedly for the same component name, which causes redundant lookups when
croquis.component_usages contains multiple instances of one component. Add
memoization within the loop around component_metadata so repeated
usage.name.as_str() values reuse the previously resolved metadata instead of
calling component_metadata again, and keep the existing required-prop missing
check logic in place using the cached result.

Source: Path instructions

Comment on lines +100 to +119
diagnostics.push(Diagnostic {
range: Range {
start: Position {
line: start_line,
character: start_col,
},
end: Position {
line: end_line,
character: end_col,
},
},
severity: Some(DiagnosticSeverity::ERROR),
code: Some(NumberOrString::String(
"component-required-props".to_string(),
)),
code_description: vue_props_code_description(),
source: Some(sources::COMPONENTS.to_string()),
message: required_props_message(usage.name.as_str(), &missing),
..Default::default()
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

ERROR severity for statically-inferred missing required props risks false positives on real components.

Static template analysis cannot see every legitimate way a required prop can be satisfied at runtime: inheritAttrs: false + manual $attrs application in a render function, mixins/extends supplying props, provide/inject-based wrapper components, or a slot-forwarding higher-order component. The has_spread_attrs check only covers the v-bind="obj" case; it won't catch these other common design-system/HOC patterns seen in real Vue/Nuxt codebases.

Marking these as hard ERROR squiggles (rather than WARNING/HINT) means any component relying on such patterns will show persistent, unfixable-looking red diagnostics for correct code — a pattern the path guidance specifically warns against (fixture-only correctness that doesn't hold up on real projects).

Consider downgrading to DiagnosticSeverity::WARNING (or HINT) given the inherent false-positive surface of static analysis here, or provide an explicit suppression mechanism (e.g., a directive comment) for known false positives.

As per path instructions, "Flag changes that only work for small fixtures but break real Vue/Nuxt projects" for crates/**.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/vize_maestro/src/ide/diagnostics/component_props.rs` around lines 100
- 119, The static missing-required-props diagnostic in component_props.rs is too
aggressive as an ERROR for cases that can be satisfied at runtime or through
higher-order patterns. Update the Diagnostic construction in the required-props
reporting path to use a less severe level such as WARNING or HINT, or add a
suppression mechanism for known false positives, so the logic around
required_props_message, has_spread_attrs, and the component props check does not
produce hard red squiggles for legitimate Vue/Nuxt component patterns.

Source: Path instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant