{"id":18729558,"url":"https://github.com/luals/vscode-lua-webvue","last_synced_at":"2026-03-19T06:04:13.727Z","repository":{"id":72078858,"uuid":"577643807","full_name":"LuaLS/vscode-lua-webvue","owner":"LuaLS","description":"Addon manager Vue webapp for displaying in a WebView by the Lua extension in VS Code","archived":false,"fork":false,"pushed_at":"2024-07-16T17:22:53.000Z","size":513,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-19T21:09:09.855Z","etag":null,"topics":["lua-language-server","sumneko-lua","vscode"],"latest_commit_sha":null,"homepage":"https://github.com/sumneko/vscode-lua","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LuaLS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-13T07:45:39.000Z","updated_at":"2024-07-16T17:22:57.000Z","dependencies_parsed_at":"2023-11-11T18:27:51.938Z","dependency_job_id":"a904ebc3-0c0f-48c1-bcb6-904e439d45f2","html_url":"https://github.com/LuaLS/vscode-lua-webvue","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/LuaLS/vscode-lua-webvue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLS%2Fvscode-lua-webvue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLS%2Fvscode-lua-webvue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLS%2Fvscode-lua-webvue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLS%2Fvscode-lua-webvue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LuaLS","download_url":"https://codeload.github.com/LuaLS/vscode-lua-webvue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLS%2Fvscode-lua-webvue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28765908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:19:35.311Z","status":"ssl_error","status_checked_at":"2026-01-26T03:19:13.815Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua-language-server","sumneko-lua","vscode"],"created_at":"2024-11-07T14:27:33.966Z","updated_at":"2026-01-26T03:32:18.200Z","avatar_url":"https://github.com/LuaLS.png","language":"Vue","readme":"\n# vscode-lua-webvue\nA [Vue](https://vuejs.org/) web application that is used by [Sumneko's Lua VS Code extension][vscode-lua]. The extension allows users to open a [webview](https://code.visualstudio.com/api/extension-guides/webview) that contains this webapp. This webapp gives users a reactive and first-party looking UI to manage their addons.\n\n\n## Usage\nThis webapp is not intended to be run outside of VS Code, as it depends on the [VS Code API][vscode-api] in order to perform filesystem actions and commands specific to VS Code.\n\nFor using with [Sumneko's VS Code extension][vscode-lua], you can follow these steps:\n\n1. Clone this repository\n\n2. `npm i` in the root to install dependencies\n\n3. `npm run build` to have [Vite][vite] build the app into the `build/` directory\n\n4. The `build/` directory can be copied to `client/webvue/` in the [Lua VS Code extension][vscode-lua].\n\nAfter following those steps, the build folder should now be found at `client/webvue/build/` in the `vscode-lua` directory.\n\nAfter launching VS Code, the extension will be enabled and the `Lua: Open Addon Manager`(`lua.addon_manager.open`) command will be registered. Running this command in VS Code will open this webapp.\n\n\n\n## Development\nBecause this webapp depends on the [VS Code API][vscode-api], it has a bit of an odd development/testing method.\n\nIn order to not have to build the webapp and reload VS Code every time a small change is made, the VS Code extension will instead load the [Vite][vite] development server in an iframe. This allows changes to the webapp to immediately show in VS Code, but also has some drawbacks.\n\nBecause the webapp is being displayed in an iframe… in an iframe, the [`message`](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage)s that are exchanged between VS Code and the webview have to be relayed by the webview to the inner development iframe. This means that **popups/`target=\"_blank\"` will not function** (setting the [`sandbox`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox) attribute allows popups, but ends up breaking everything else).\n\n### Prerequisites\n- VS Code\n- NodeJS \u0026 NPM\n\n### Setup\nFirst, we will have to set up the VS Code extension.\n\n1. Extension setup\n   1. Run `git clone --recurse-submodules $REPO`, where `$REPO` is your preferred clone URL from [`vscode-lua`][vscode-lua].\n\n   2. Download a language server binary from [`lua-language-server`](https://github.com/LuaLS/lua-language-server/releases/latest) for your machine.\n\n   3. Unzip the compressed file and copy its contents to your `vscode-lua` clone under the `server/` directory.\n\n   4. In the `client/` folder, run `npm i` to install dependencies for the client.\n\n   5. Run `tsc --watch` in the `client/` folder. This will compile all TypeScript changes to the client as they happen.\n\n\u003e **Note**\n\u003e You will want to open another terminal window to run the following steps in.\n\n2. WebVue setup\n   1. Move to `client/webuve`\n   2. Run `npm i` to install dependencies in `client/webvue`.\n   3. Run `npm run dev` to start a [Vite][vite] local server.\n\n3. Testing in VS Code\n   1. You can now edit the files in `client/` to modify the VS Code extension, and the files in `client/webvue/` to edit this webapp.\n   2. Open your `vscode-lua` clone in VS Code, go to the `Run and Debug` menu, and run the `Launch Client` option. This will open an extension development window of VS Code where you can test your changes.\n\n[vscode-api]: https://code.visualstudio.com/api/references/vscode-api\n[vscode-lua]: https://github.com/sumneko/vscode-lua\n[vite]: https://vitejs.dev/\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluals%2Fvscode-lua-webvue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluals%2Fvscode-lua-webvue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluals%2Fvscode-lua-webvue/lists"}