{"id":13895564,"url":"https://github.com/Bilal2453/luvit-meta","last_synced_at":"2025-07-17T11:31:40.950Z","repository":{"id":45287544,"uuid":"487354649","full_name":"Bilal2453/luvit-meta","owner":"Bilal2453","description":"Meta type definitions for the Lua platform Luvit.","archived":false,"fork":false,"pushed_at":"2024-10-29T19:55:20.000Z","size":337,"stargazers_count":37,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-29T21:46:21.225Z","etag":null,"topics":["definitions","luvit","meta","types"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bilal2453.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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-04-30T18:38:44.000Z","updated_at":"2024-10-20T04:49:46.000Z","dependencies_parsed_at":"2023-12-14T15:25:07.156Z","dependency_job_id":"58c8afc8-03ba-45b3-b4d0-c4dc7bbd5c20","html_url":"https://github.com/Bilal2453/luvit-meta","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Bilal2453/luvit-meta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilal2453%2Fluvit-meta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilal2453%2Fluvit-meta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilal2453%2Fluvit-meta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilal2453%2Fluvit-meta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bilal2453","download_url":"https://codeload.github.com/Bilal2453/luvit-meta/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilal2453%2Fluvit-meta/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265600589,"owners_count":23795721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["definitions","luvit","meta","types"],"created_at":"2024-08-06T18:02:18.245Z","updated_at":"2025-07-17T11:31:40.589Z","avatar_url":"https://github.com/Bilal2453.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# Luvit-Meta\n\nThis project is a collection of definition files for the framework [Luvit](https://github.com/Luvit/Luvit). The definitions provide types for all modules currently shipped in Luvit, the classes, methods and their arguments and returns; it does as well provide descriptions whereever possible, either by scraping the Luvit-docs, Nodejs docs, luv docs or manually written in some places.\n\nSome of the definitions are scraped off of code/docs and then some manual work is done to figure types out. For those the used scraper is located under [scrapers](/scrapers), the script outputs to a file in the same directory. From there it is manually copied over to the actual library definition.\nOther definitions -and most of them- are completely manually written, as it was required to figure the logic out in order to figure the types.\n\n### Cool, any examples?\n\nHere are some samples of it working:\n\nhttps://user-images.githubusercontent.com/38175840/169595790-80305ae3-c4fc-478a-af59-6bfa2acb2635.mp4\n\n\nhttps://user-images.githubusercontent.com/38175840/169615756-f9946531-d943-4942-9124-f819783bc180.mp4\n\n\nhttps://user-images.githubusercontent.com/38175840/169663522-5aed02c1-1308-49d6-8d63-3de23a872ef7.mp4\n\n\n### Where does this work?\n\nThe definitions use the [Sumneko's Lua Language Server (LLS)](https://github.com/LuaLS/lua-language-server/) annotations, therefor it should work on any editor that support LLS, such as [VSCode](https://marketplace.visualstudio.com/items?itemName=sumneko.lua) and Neovim.\n\n### How to install it?\n\n#### On Visual Studio Code:\n\n  1. Install [this plugin](https://marketplace.visualstudio.com/items?itemName=sumneko.lua) then reload editor.\n\n  2. Open the workspace you want to enable this in.\n  3. Press `Ctrl + Shift + P`, a prompt will open.\n  4. Type \"Open addon manager\" and press enter.\n\n  ![image](https://user-images.githubusercontent.com/38175840/222934323-e3f92383-98d1-4799-bc29-80453b78af84.png)\n\n  5. Search for `Luvit` then press `Enable`.\n\n  ![image](https://user-images.githubusercontent.com/38175840/222933683-fcf54e36-3b46-4ce0-b12a-3210e2c4f44e.png)\n\n  6. The definitions should now be enabled for that workspace.\n     Typing something like `local fs = require'fs'` will show you auto-completion.\n\n\n#### Manually, for other editors:\n\n  1. Install [LLS]((https://github.com/LuaLS/lua-language-server/)) for your editor.\n  2. Configure your meta directory.\n  3. [Click here](https://github.com/Bilal2453/luvit-meta/archive/refs/heads/release.zip) to download the definitions; alternatively clone this repository.\n  4. Extract the ZIP file to your meta directory/move the folder there.\n  5. Should now be ready. If not, check the editor plugin's manual for doing this.\n\n### What modules have definitions?\n\nBuilt-in Modules:\n\n- [x] buffer\n- [x] childprocess\n- [x] codec\n- [x] core\n- [x] dgram\n- [x] dns\n- [x] env\n- [x] fs\n- [x] helpful\n- [x] hooks\n- [x] http\n- [x] http-codec\n- [x] http-header\n- [x] https\n- [x] json\n- [x] los\n- [x] lpeg\n- [x] net\n- [x] path\n- [x] pathjoin\n- [x] pretty-print\n- [x] process\n- [x] querystring\n- [x] re\n- [x] readline\n- [x] repl\n- [x] require\n- [x] resource\n- [x] stream\n- [x] thread\n- [x] timer\n- [x] tls\n- [x] url\n- [x] ustring\n- [x] utils\n- [x] uv\n- [ ] miniz\n- [ ] luvi\n- [ ] rex\n- [ ] openssl\n- [ ] WinSVC\n\nPopular libraries that are not built-in:\n\n- [x] coro-http\n- [ ] coro-net\n- [ ] coro-channel\n- [ ] coro-wrapper\n- [ ] coro-fs\n- [ ] coro-spawn\n- [x] [discordia](https://github.com/SinisterRectus/Discordia/)\n\n## License\n\nThis exhausting project is licensed under Apache License 2.0, see [LICENSE](/LICENSE) for more information. Feel free to fork and/or PR changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBilal2453%2Fluvit-meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBilal2453%2Fluvit-meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBilal2453%2Fluvit-meta/lists"}