{"id":20247415,"url":"https://github.com/moddota/typescriptaddontemplate","last_synced_at":"2025-04-05T22:05:04.713Z","repository":{"id":37598782,"uuid":"231253304","full_name":"ModDota/TypeScriptAddonTemplate","owner":"ModDota","description":"Dota 2 addon template with TypeScript Panorama and VScripts.","archived":false,"fork":false,"pushed_at":"2025-02-08T11:09:18.000Z","size":273,"stargazers_count":85,"open_issues_count":4,"forks_count":24,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-29T21:05:30.091Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ModDota.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":"2020-01-01T19:06:44.000Z","updated_at":"2025-03-16T12:22:40.000Z","dependencies_parsed_at":"2025-01-14T11:10:30.365Z","dependency_job_id":"20311373-8364-414d-a8c5-80b4744bfd60","html_url":"https://github.com/ModDota/TypeScriptAddonTemplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModDota%2FTypeScriptAddonTemplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModDota%2FTypeScriptAddonTemplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModDota%2FTypeScriptAddonTemplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModDota%2FTypeScriptAddonTemplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ModDota","download_url":"https://codeload.github.com/ModDota/TypeScriptAddonTemplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406085,"owners_count":20933803,"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":["hacktoberfest"],"created_at":"2024-11-14T09:37:19.454Z","updated_at":"2025-04-05T22:05:04.683Z","avatar_url":"https://github.com/ModDota.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ModDota template\n\nA template for Dota 2 Custom Games built with modern technologies.\n\n[This tutorial](https://moddota.com/scripting/Typescript/typescript-introduction/) explains how to set up and use the template.\n\nThe template includes:\n\n- [TypeScript for Panorama](https://moddota.com/panorama/introduction-to-panorama-ui-with-typescript)\n- [TypeScript for VScripts](https://typescripttolua.github.io/)\n- Simple commands to build and launch your custom game\n- [Continuous Integration](#continuous-integration) support\n\n## Getting Started\n\n1. Clone this repository or, if you're planning to have a repository for your custom game on GitHub, [create a new repository from this template](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template) and clone it instead.\n2. Open the directory of your custom game and change `name` field in `package.json` file to the name of your addon name.\n3. Open terminal in that directory and run `npm install` to install dependencies. You also should run `npm update` once in a while to get tool updates.\n\nAfter that you can press `Ctrl+Shift+B` in VSCode or run `npm run dev` command in terminal to compile your code and watch for changes.\n\n## Contents:\n\n* **[src/common]:** TypeScript .d.ts type declaration files with types that can be shared between Panorama and VScripts\n* **[src/vscripts]:** TypeScript code for Dota addon (Lua) vscripts. Compiles lua to game/scripts/vscripts.\n* **[src/panorama]:** TypeScript code for panorama UI. Compiles js to content/panorama/scripts/custom_game\n\n--\n\n* **[game/*]:** Dota game directory containing files such as npc kv files and compiled lua scripts.\n* **[content/*]:** Dota content directory containing panorama sources other than scripts (xml, css, compiled js)\n\n--\n\n* **[scripts/*]:** Repository installation scripts\n\n## Continuous Integration\n\nThis template includes a [GitHub Actions](https://github.com/features/actions) [workflow](.github/workflows/ci.yml) that builds your custom game on every commit and fails when there are type errors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoddota%2Ftypescriptaddontemplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoddota%2Ftypescriptaddontemplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoddota%2Ftypescriptaddontemplate/lists"}