Skip to main content

codemap-vue

A Vue Single File Component (.vue) indexer for CodeMap, distributed as an independent PyPI package.

What it captures

Backed by a small regex-based SFC scanner + tree-sitter:

SFC block Indexed Backed by
<template> ❌ Ignored
<script> (lang="js" / default) tree-sitter-javascript (required)
<script> (lang="jsx") tree-sitter-javascript (required)
<script> (lang="ts") ✅ (with [typescript] extra) tree-sitter-typescript (optional)
<script> (lang="tsx") ✅ (with [typescript] extra) tree-sitter-typescript (optional)
<script setup> (lang="ts") ✅ (with [typescript] extra) tree-sitter-typescript (optional)
<style> ❌ Ignored

Inside the <script> block, the same symbol kinds as codemap-javascript and codemap-typescript are surfaced:

AST node Symbol kind
function_declaration function
class_declaration class
method_definition (inside class) method
Top-level const / let / var variable (with extra.vue_block_lang)

Line numbers are translated back to the original .vue file coordinate space, so codemap get jumps to the correct line even when the script block starts hundreds of lines below <template>.

Install

# JavaScript-only Vue projects (no <script lang="ts">):
pip install codemap-vue

# Vue projects that use TypeScript in <script setup lang="ts"> (the
# Vue 3 default):
pip install "codemap-vue[typescript]"

tree-sitter-typescript is an optional dependency because some Vue projects (Vue 2 codebases, JS-only sites) do not need it. When you index a .vue file with <script lang="ts"> and the extra is not installed, the plugin emits a VUE003 warning instead of crashing.

Implementation notes

tree-sitter-vue is not currently published on PyPI. Rather than bundle a hand-compiled grammar, this plugin uses a permissive regex scanner (codemap_vue.sfc.extract_script_blocks) to locate every top-level <script> block in the SFC, read its lang= attribute, and slice out the inner bytes. The inner bytes are then handed to the appropriate tree-sitter grammar.

The scanner is intentionally permissive about malformed input: a missing </script> closing tag still produces a block that runs to EOF, so indexing partial / in-progress files still yields useful symbols.

SymbolID encoding

scip-vue . . . src/components/UserList.vue/fetchUser().
└──────┘     └────────────────────────────────────────┘
  scheme         file → namespaces / type / method

Tests

pip install -e ".[dev]"
pytest

Limits / next steps

  • <template> contents (directives, expressions, v-on handlers) are not parsed. A future codemap-vue minor release could expose declared template refs (<input ref="emailRef" />) and defineProps / defineEmits macros as symbols.
  • <script setup> macros (defineProps, defineExpose, …) are surfaced only when they appear as ordinary function calls inside a variable declaration. Treating them as first-class component-shape symbols is a v0.2.x improvement.
  • Class-based component decorators (vue-class-component / vue-property-decorator) are not yet captured.

License

MIT — same as the host project.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codemap_vue-0.4.10.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codemap_vue-0.4.10-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file codemap_vue-0.4.10.tar.gz.

File metadata

  • Download URL: codemap_vue-0.4.10.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codemap_vue-0.4.10.tar.gz
Algorithm Hash digest
SHA256 e47c78a40f364d1f015bcfc9ed283b80eefe71c0a391f3010b147c885851991d
MD5 132fb46cfe321faec708a3101e4fce58
BLAKE2b-256 321f37faa5ae4bdcaaee2b15cb05f14aeadab93c2955e13b36072cfa8c068449

See more details on using hashes here.

Provenance

The following attestation bundles were made for codemap_vue-0.4.10.tar.gz:

Publisher: publish.yml on qxbyte/codemap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codemap_vue-0.4.10-py3-none-any.whl.

File metadata

  • Download URL: codemap_vue-0.4.10-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for codemap_vue-0.4.10-py3-none-any.whl
Algorithm Hash digest
SHA256 c85d6b3a02d8ebf1ab70818fe40a152aa2d5bedd862742a00383c553ba27c93d
MD5 394f80f7b2a163c416fe8fb900ad919e
BLAKE2b-256 c604b90a1b5f9117067737cb048a56affca6a56d122f510e6b52a21ad005e4b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for codemap_vue-0.4.10-py3-none-any.whl:

Publisher: publish.yml on qxbyte/codemap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.10 This release

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page