MCPcopy
hub / github.com/vuejs/language-tools

github.com/vuejs/language-tools @v3.3.6 sqlite

repository ↗ · DeepWiki ↗ · release v3.3.6 ↗
798 symbols 2,016 edges 230 files 2 documented · 0%
README

Vue Language Tools

Version Downloads License

⚡ Vue language toolset with native TypeScript performance based-on Volar.js

💬 #language-tools on our Discord Server

Quick Start

For VSCode Users

Install the Vue (Official) extension to get full Vue language support.

Command-Line Type Checking

npm install vue-tsc typescript --save-dev
{
  "scripts": {
    "type-check": "vue-tsc --noEmit"
  }
}

Packages

For End Users

Package Description
Vue (Official) Vue, Vitepress, petite-vue language support extension for VSCode
vue-tsc Type-check and dts build command line tool

For Editor Integration

Package Description
@vue/language-server The language server itself
@vue/language-service Language service plugin collection
@vue/typescript-plugin TypeScript language service plugin

Core Module

Package Description
@vue/language-core SFC parsing and virtual code generation

Helper Tools

Package Description
vue-component-meta Component props, events, slots types information extract tool
vue-component-type-helpers Component type helper utilities
@vue/language-plugin-pug Pug template support

Community Integration

yaegassy/coc-volar \ Vue language client for coc.nvim

neovim/nvim-lspconfig \ Vue language server configuration for Neovim, check documentation here to set it up.

mattn/vim-lsp-settings \ Vue language server auto configuration for vim-lsp

sublimelsp/LSP-volar \ Vue language client for Sublime

kabiaa/atom-ide-volar \ Vue language client for Atom

emacs-lsp/lsp-mode (jadestrong/lsp-volar) \ Vue language client for Emacs

tommasongr/nova-vue \ Vue language client for Nova

xiaoxin-sky/lapce-vue \ Vue language client for Lapce

Kingwl/monaco-volar \ Vue language support for Monaco on Browser

WebStorm \ Built-in integration for @vue/language-server

Eclipse WildWebDeveloper \ Vue language server configuration for Eclipse

vueCompilerOptions

Configure Vue compiler options in tsconfig.json:

{
  "compilerOptions": { /* ... */ },
  "vueCompilerOptions": {
    "target": 3.5,
    "strictTemplates": true
  }
}

For detailed options, please refer to the @vue/language-core documentation.

Contribution Guide

If you want to work on the volar extension follow these commands to set up your local development environment.

🔎 Note that you will need pnpm - you can download it here: https://pnpm.io/installation.

git clone https://github.com/vuejs/language-tools.git
cd language-tools
pnpm install
npm run build

The recommended way to develop the volar extension is to use the Debug Tools provided by VSCode.

Alternatively, you can run one of the scripts defined in the package.json file.

❗ You should always use the debug launch configs or package.json scripts defined in the root of the project.

Additional info for contributing to open source projects can be found here: https://docs.github.com/en/get-started/quickstart/contributing-to-projects

To develop with upstream Volar.js modules, you can setup a workspace with https://github.com/volarjs/workspace.

❤️ Sponsors

This project is made possible thanks to our generous sponsors:

License

MIT License

Extension points exported contracts — how you extend this code

Requests (Interface)
(no doc)
packages/typescript-plugin/lib/requests/index.ts
GlobalComponents (Interface)
(no doc)
packages/language-core/types/vue-3.4-shims.d.ts
ActionData (Interface)
(no doc)
packages/language-service/lib/plugins/vue-extract-file.ts
Declaration (Interface)
(no doc)
packages/component-meta/lib/types.ts
BlockNode (Interface)
(no doc)
packages/language-plugin-pug/lib/baseParse.ts
GlobalComponents (Interface)
(no doc)
test-workspace/tsc/#4503/globals.d.ts
MyNestedProps (Interface)
(no doc)
test-workspace/component-meta/reference-type-props/my-props.ts
LockItem (Interface)
(no doc)
extensions/vscode/scripts/grammars-sync.ts

Core symbols most depended-on inside this repo

end
called by 41
packages/language-core/lib/codegen/template/context.ts
start
called by 38
packages/language-core/lib/codegen/utils/boundary.ts
defineFormatTest
called by 32
packages/language-service/tests/utils/format.ts
getLanguageServer
called by 30
packages/language-server/tests/server.ts
getComponentMeta
called by 25
packages/typescript-plugin/lib/requests/index.ts
generateSfcBlockSection
called by 24
packages/language-core/lib/codegen/utils/index.ts
resolveEmbeddedCode
called by 22
packages/language-service/lib/utils.ts
createResponse
called by 19
packages/typescript-plugin/index.ts

Shape

Function 656
Interface 71
Method 56
Class 10
Enum 5

Languages

TypeScript100%

Modules by API surface

packages/language-core/lib/virtualCode/ir.ts31 symbols
packages/language-service/lib/plugins/vue-template.ts26 symbols
packages/language-core/lib/types.ts26 symbols
packages/language-server/lib/server.ts23 symbols
packages/component-meta/lib/schemaResolvers.ts19 symbols
packages/typescript-plugin/lib/requests/index.ts17 symbols
packages/typescript-plugin/lib/common.ts17 symbols
packages/language-core/lib/codegen/template/context.ts17 symbols
packages/language-plugin-pug/lib/baseParse.ts16 symbols
packages/component-meta/lib/types.ts16 symbols
packages/language-service/lib/plugins/vue-inlayhints.ts15 symbols
packages/language-core/lib/parsers/scriptSetupRanges.ts15 symbols

Dependencies from manifests, versioned

@tsslint/clilatest · 1×
@tsslint/compat-eslintlatest · 1×
@tsslint/configlatest · 1×
@types/node24.1.0 · 1×
@types/path-browserify1.0.3 · 1×
@types/picomatch4.0.3 · 1×
@types/vscode1.88.0 · 1×
@typescript-eslint/eslint-plugin8.58.2 · 1×
@typescript/native-previewlatest · 1×
@typescript/server-harnesslatest · 1×
@volar/kit2.4.28 · 1×
@volar/language-core2.4.28 · 1×

For agents

$ claude mcp add language-tools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact