{"adoption": {"forks": 187, "observed_at": "2026-08-28T04:06:59.251772+00:00", "stars": 2538}, "canonical_url": "https://ross.abutalabs.com/products/typescripttolua", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Typescript to lua transpiler. https://typescripttolua.github.io/", "domain": ["programming-languages", "compilers", "developer-tools"], "enriched": true, "function": ["compiler", "cli", "developer-tools"], "health_score": 75, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["TypeScriptToLua/TypeScriptToLua"], "name": "TypeScriptToLua/TypeScriptToLua", "platform": ["cli", "cross-platform"], "pushed_at": "2026-07-09T19:34:11+00:00", "repo": "TypeScriptToLua/TypeScriptToLua", "stars": 2538, "tags": ["typescript", "lua", "transpiler", "language-interop", "game-development", "nodejs"], "topics": ["typescript", "lua", "transpiler", "compiler", "converter", "lua-transpiler"], "urls": [], "use_cases": ["transpile typescript to lua", "write lua projects in typescript", "compile typescript for roblox or love2d", "add type safety to a lua codebase", "use vscode tooling for lua development", "convert typescript source into lua output"], "what_it_is": "TypeScriptToLua is a generic TypeScript to Lua transpiler that lets developers write code in TypeScript and compile it to Lua. It targets any environment that accepts Lua code, such as game engines, and supports declaring existing APIs via TypeScript declaration files.", "when_to_avoid": ["you need direct JavaScript execution rather than Lua output", "your project requires runtime features or libraries with no Lua equivalent", "you need a general-purpose TypeScript compiler targeting JS"], "when_to_choose": ["your target runtime only accepts Lua but you want TypeScript's type system and tooling", "you maintain a large Lua project that is hard to keep maintainable", "you want to declare existing Lua APIs with TypeScript declaration files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/typescripttolua", "repo": "TypeScriptToLua/TypeScriptToLua", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.251772+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:11.004402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31cf5c4f09b6cc8cc223cf65ffda55e3103b4a39b6bc8e4536e95a57ec54e5bf", "fetched_at": "2026-08-28T04:06:59.251772+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypeScriptToLua/TypeScriptToLua"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3167, "days_push": 55, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}