This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [vue-tsc](https://redirect.github.com/vuejs/language-tools) ([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.2.10` -> `3.0.1`](https://renovatebot.com/diffs/npm/vue-tsc/2.2.10/3.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v3.0.1`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#301-2025-07-02) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v3.0.0...v3.0.1) ##### Bug Fixes - fix(language-core): remove calculation logic of element inner loc ([#​5460](https://redirect.github.com/vuejs/language-tools/issues/5460)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(vscode): correct syntax highlight of `v-else` ([#​5470](https://redirect.github.com/vuejs/language-tools/issues/5470)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Other Changes - docs(vscode): update Russian translation for VS Code extension ([#​5461](https://redirect.github.com/vuejs/language-tools/issues/5461)) - Thanks to [@​AndreyYolkin](https://redirect.github.com/AndreyYolkin)! - chore: update volar to 2.4.17 - typescript: correctly use `getModeForUsageLocation` to calculate the resolution mode ### [`v3.0.0`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#300-2025-07-01) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.2.12...v3.0.0) ##### Features - feat(typescript-plugin): skip declaration files in goto components definition ([#​5221](https://redirect.github.com/vuejs/language-tools/issues/5221)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(language-core): introduce `strictVModel` option ([#​5229](https://redirect.github.com/vuejs/language-tools/issues/5229)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(vscode, language-server, typescript-plugin): communicate with tsserver based on request forwarding ([#​5252](https://redirect.github.com/vuejs/language-tools/issues/5252), [#​5395](https://redirect.github.com/vuejs/language-tools/issues/5395), [#​5443](https://redirect.github.com/vuejs/language-tools/issues/5443)) - feat(language-core): support navigation of events with `v-on` syntax ([#​5275](https://redirect.github.com/vuejs/language-tools/issues/5275)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(language-core): type support of slot children ([#​5137](https://redirect.github.com/vuejs/language-tools/issues/5137)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(language-service): autocomplete for props with union type - feat(language-service): document links for template refs ([#​5385](https://redirect.github.com/vuejs/language-tools/issues/5385)) - Thanks to [@​alex-snezhko](https://redirect.github.com/alex-snezhko)! - feat(language-core): resolve external stylesheets ([#​5136](https://redirect.github.com/vuejs/language-tools/issues/5136)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(language-core): add `strictCssModules` option ([#​5164](https://redirect.github.com/vuejs/language-tools/issues/5164)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - feat(component-type-helpers): add `ComponentAttrs` type for attribute extraction - feat(vscode): add support for `typescript.sortImports`, `typescript.removeUnusedImports` commands ([#​5444](https://redirect.github.com/vuejs/language-tools/issues/5444)) - feat(vscode): i18n support of configurations and commands with `zh-CN`, `zh-TW`, `ru` and `ja` ([#​5330](https://redirect.github.com/vuejs/language-tools/issues/5330), [#​5340](https://redirect.github.com/vuejs/language-tools/issues/5340), [#​5404](https://redirect.github.com/vuejs/language-tools/issues/5404)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX), [@​PurplePlanen](https://redirect.github.com/PurplePlanen) and [@​zyoshoka](https://redirect.github.com/zyoshoka)! ##### Bug Fixes - fix(language-core): generate condition guards for model events ([#​5225](https://redirect.github.com/vuejs/language-tools/issues/5225)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): prevent global types generation in declaration files ([#​5239](https://redirect.github.com/vuejs/language-tools/issues/5239)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): prevent eager inference of slot props from generics ([#​5247](https://redirect.github.com/vuejs/language-tools/issues/5247)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(typescript-plugin): prevent highlighting native element tags with same name as components ([#​5253](https://redirect.github.com/vuejs/language-tools/issues/5253)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-service): do not provide required props inlay hints for intrinsic elements ([#​5258](https://redirect.github.com/vuejs/language-tools/issues/5258)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(vscode): handle `typescript-language-features` module loading race condition ([#​5260](https://redirect.github.com/vuejs/language-tools/issues/5260)) - fix(component-meta): update event type representation to include array notation - fix(language-core): correct error mapping when prop exp is arrow function ([#​5262](https://redirect.github.com/vuejs/language-tools/issues/5262)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-service): add document highlights support ([#​5263](https://redirect.github.com/vuejs/language-tools/issues/5263)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): correct type inference of multiple template refs with same name ([#​5271](https://redirect.github.com/vuejs/language-tools/issues/5271)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): skip AST parsing when the expression is an identifier ([#​5268](https://redirect.github.com/vuejs/language-tools/issues/5268)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): do not drop leading comments of `defineModels` ([#​5273](https://redirect.github.com/vuejs/language-tools/issues/5273)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): improve fault tolerance for unsupported script languages - fix(language-core): avoid invalid auto import edit position when setup global types fails - fix(language-core): transform slot parameter list into equivalent binding pattern ([#​5245](https://redirect.github.com/vuejs/language-tools/issues/5245)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): correct codegen when src path does not match the generated length - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-service): exclude `data-` attribute completion from sfc level nodes - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): remove semantic highlight of v-bind shorthand ([#​5321](https://redirect.github.com/vuejs/language-tools/issues/5321)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(vscode): inline html comment pattern in Vue syntax definition ([#​5327](https://redirect.github.com/vuejs/language-tools/issues/5327)) - Thanks to [@​zyoshoka](https://redirect.github.com/zyoshoka)! - fix(language-core): avoid unrelated virtual code recomputes on style and template change - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(component-meta): attach namespace prefix correctly on generated types ([#​5326](https://redirect.github.com/vuejs/language-tools/issues/5326)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): drop `undefined` from optional prop type with default in template ([#​5339](https://redirect.github.com/vuejs/language-tools/issues/5339)) - Thanks to [@​Dylancyclone](https://redirect.github.com/Dylancyclone)! - fix: depend on exact volar version ([#​5345](https://redirect.github.com/vuejs/language-tools/issues/5345)) - Thanks to [@​tomblachut](https://redirect.github.com/tomblachut)! - fix(language-core): ignore frontmatter block in markdown files ([#​5362](https://redirect.github.com/vuejs/language-tools/issues/5362)) - Thanks to [@​brc-dd](https://redirect.github.com/brc-dd)! - fix(component-meta): only exclude vnode events from props ([#​5369](https://redirect.github.com/vuejs/language-tools/issues/5369)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): skip css references for position within virtual code with `navigation: true` ([#​5378](https://redirect.github.com/vuejs/language-tools/issues/5378)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): hoist export declarations from generic script block ([#​5398](https://redirect.github.com/vuejs/language-tools/issues/5398)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(vscode): correct syntax highlight for directives starting with `v-for` ([#​5399](https://redirect.github.com/vuejs/language-tools/issues/5399)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): correct support for flatten plugins ([#​5392](https://redirect.github.com/vuejs/language-tools/issues/5392)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - fix(language-core): remove `semantic` code feature on first argument of `useCssModule` and `useTemplateRef` - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(typescript-plugin): filter completion items of macros and global variables in template and styles ([#​5425](https://redirect.github.com/vuejs/language-tools/issues/5425)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(language-core): do not generate redundant function scopes to affect type narrowing ([#​5430](https://redirect.github.com/vuejs/language-tools/issues/5430)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - fix(component-meta): add new file name in `updateFile` ([#​5438](https://redirect.github.com/vuejs/language-tools/issues/5438)) - Thanks to [@​Akryum](https://redirect.github.com/Akryum)! - fix(language-core): `Prettify<T>` breaks generics inferencing ([#​5424](https://redirect.github.com/vuejs/language-tools/issues/5424)) - Thanks to [@​so1ve](https://redirect.github.com/so1ve)! - fix(language-core): use `var` instead of `let` to declare `attrsVar` that may be hoisted - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Performance - perf(language-core): cache and reuse inline ts asts during full updates ([#​5435](https://redirect.github.com/vuejs/language-tools/issues/5435)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Other Changes - refactor(vscode, language-server): remove hybrid mode configuration ([#​5248](https://redirect.github.com/vuejs/language-tools/issues/5248)) - refactor(vscode): remove write virtual files command - chore(vscode): correct `directory` path in package.json ([#​5283](https://redirect.github.com/vuejs/language-tools/issues/5283)) - Thanks to [@​zyoshoka](https://redirect.github.com/zyoshoka)! - chore(vscode): use rolldown for bundling ([#​5337](https://redirect.github.com/vuejs/language-tools/issues/5337)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - refactor(vscode): remove doctor - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - docs: update instructions for neovim lsp configuration ([#​5361](https://redirect.github.com/vuejs/language-tools/issues/5361)) - Thanks to [@​kshksdrt](https://redirect.github.com/kshksdrt)! - refactor(vscode): remove Vite problem matcher ([#​5375](https://redirect.github.com/vuejs/language-tools/issues/5375)) - chore(docs): update vue language package name ([#​5376](https://redirect.github.com/vuejs/language-tools/issues/5376)) - Thanks to [@​marktlinn](https://redirect.github.com/marktlinn)! - chore(ci): set pre-release status when publishing to Open VSX ([#​5377](https://redirect.github.com/vuejs/language-tools/issues/5377)) - Thanks to [@​lukashass](https://redirect.github.com/lukashass)! - docs: fallback workaround of `vue_language_server_path` in nvim setup example ([#​5391](https://redirect.github.com/vuejs/language-tools/issues/5391)) - Thanks to [@​menuRivera](https://redirect.github.com/menuRivera)! - test(component-meta): simplify code with snapshots ([#​5403](https://redirect.github.com/vuejs/language-tools/issues/5403)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - docs(nvim): move neovim lspconfig docs to wiki page ([#​5408](https://redirect.github.com/vuejs/language-tools/issues/5408)) - Thanks to [@​RayGuo-ergou](https://redirect.github.com/RayGuo-ergou)! - refactor(language-server): drop `typescript.tsdk` initialization option ([#​5409](https://redirect.github.com/vuejs/language-tools/issues/5409)) - refactor(language-service): drop name casing convertion and its language status item ([#​5411](https://redirect.github.com/vuejs/language-tools/issues/5411)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - refactor(language-core): drop `defineProp` support ([#​5415](https://redirect.github.com/vuejs/language-tools/issues/5415)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - chore(vscode): change display name to "Vue (Official)" - refactor: cleanup dependencies relationship ([#​5421](https://redirect.github.com/vuejs/language-tools/issues/5421)) - refactor(component-meta): use type-helpers as a peer dependency - refactor(vscode): cleanup extension client ([#​5422](https://redirect.github.com/vuejs/language-tools/issues/5422)) - refactor(language-server): move in server code from insiders edition ([#​5423](https://redirect.github.com/vuejs/language-tools/issues/5423)) - chore: introduce oxlint for faster linting ([#​5416](https://redirect.github.com/vuejs/language-tools/issues/5416)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - refactor(vscode): remove split editor feature ([#​5446](https://redirect.github.com/vuejs/language-tools/issues/5446)) - refactor(vscode): rename configuration keys from `complete` to `suggest` for clarity ### [`v2.2.12`](https://redirect.github.com/vuejs/language-tools/compare/v2.2.10...0b13bf1966398ea3949b6b02d09b251ddc9a51eb) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.2.10...v2.2.12) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Unraid API
Monorepo for the Unraid API and Unraid Connect.
Explore the docs »
·
Report Bug
·
Request Feature
·
Submit Work Intent
Table of Contents
About The Project
Built With
Getting Started
This section will guide you through the steps necessary to get the monorepo projects running and communicating with each other.
Prerequisites
Make sure the following software is installed before proceeding.
- Bash
- Docker (for macOS folks, Orbstack works too)
- Node.js (v20)
- Just (optional)
- libvirt (macOS folks can run
brew install libvirt) - rclone (for development)
- An Unraid server for development
Alternative: Using Nix Flake
If you have Nix installed, you can use the provided flake to automatically set up all development dependencies:
nix develop
This will provide all the required tools (Node.js, Docker, Just, libvirt, rclone, etc.) without needing to install them manually.
SSH Key Setup
Next, create an SSH key if you haven't already. Once you have your key pair, add your public SSH key to your Unraid server:
- Log in to your Unraid development server.
- Use the navigation menu to go to 'Users'.
- Click on the user you logged in with (e.g.
root) - Paste your SSH public key into 'SSH authorized keys' and click 'Save'.
Installation
-
Clone and enter the repo
git clone git@github.com:unraid/api.git cd apiIf using Nix, enter the development environment:
nix develop -
Run the monorepo setup command.
pnpm install -
Run the build watcher to build the components and serve a local plugin file that can be installed on your Unraid server.
pnpm build:watchNavigate to Plugins->Install and install the local plugin file that is output to the console.
Tip
View other workflows (local dev, etc.) in the Developer Workflows
Usage
See How to Use the API.
For more examples, please refer to the Documentation
Contributing
For a complete guide on contributing to the project, including our code of conduct and development process, please see our Contributing Guide. Please read this before contributing.
Developer Documentation
For more information about development workflows, repository organization, and other technical details, please refer to the developer documentation inside this repository:
- Development Guide - Setup, building, and debugging instructions
- Development Workflows - Detailed workflows for local development, building, and deployment
- Repository Organization - High-level architecture and project structure
Work Intent Process
Before starting development work on this project, you must submit a Work Intent and have it approved by a core developer. This helps prevent duplicate work and ensures changes align with the project's goals.
-
Create a Work Intent
- Go to Issues → New Issue → Work Intent
- Fill out the brief template describing what you want to work on
- The issue will be automatically labeled as
work-intentandunapproved
-
Wait for Approval
- A core developer will review your Work Intent
- They may ask questions or suggest changes
- Once approved, the
unapprovedlabel will be removed
-
Begin Development
- Only start coding after your Work Intent is approved
- Follow the approach outlined in your approved Work Intent
- Reference the Work Intent in your future PR
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Top contributors
Community
Contact
@UnraidOfficial - contact@unraid.net
Project Link: https://github.com/unraid/api