{"id":28485483,"url":"https://github.com/typefox/langium-in-browser-codegen-example","last_synced_at":"2025-06-28T06:31:12.145Z","repository":{"id":169549989,"uuid":"590552558","full_name":"TypeFox/langium-in-browser-codegen-example","owner":"TypeFox","description":"Demonstrator of a fully-in-browser language implementation including code generation based on the arithmetics example language","archived":false,"fork":false,"pushed_at":"2023-11-03T12:34:17.000Z","size":85,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-08T00:11:25.234Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/TypeFox.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},"funding":{"github":"TypeFox"}},"created_at":"2023-01-18T17:16:14.000Z","updated_at":"2025-03-01T01:03:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"a3f6863c-24eb-4f2b-80ad-2eba25517f7c","html_url":"https://github.com/TypeFox/langium-in-browser-codegen-example","commit_stats":null,"previous_names":["langium/langium-in-browser-codegen-example","typefox/langium-in-browser-codegen-example"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/TypeFox/langium-in-browser-codegen-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeFox%2Flangium-in-browser-codegen-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeFox%2Flangium-in-browser-codegen-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeFox%2Flangium-in-browser-codegen-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeFox%2Flangium-in-browser-codegen-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TypeFox","download_url":"https://codeload.github.com/TypeFox/langium-in-browser-codegen-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeFox%2Flangium-in-browser-codegen-example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262387188,"owners_count":23303183,"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":[],"created_at":"2025-06-08T00:10:42.267Z","updated_at":"2025-06-28T06:31:12.138Z","avatar_url":"https://github.com/TypeFox.png","language":"TypeScript","readme":"**Update:** The implementation has been updated to Langium v2.0, and with that the branches *expandToString*, *expandToNode*, *expandTracedToNode*, and *main* have been force-pushed. The former commits are still available via the tags *expandToString-Langium-v1*, *expandToNode-Langium-v1*, and *expandTracedToNode-Langium-v1*. (October 25th, 2023)\n\n\u003cdiv id=\"langium-logo\" align=\"center\"\u003e\n  \u003ca href=\"https://github.com/langium/langium\"\u003e\n    \u003cimg alt=\"Langium Logo\" width=\"500\" src=\"https://user-images.githubusercontent.com/4377073/135283991-90ef7724-649d-440a-8720-df13c23bda82.png\"\u003e\n  \u003c/a\u003e\n  \u003ch3\u003e\n    Example application demonstrating a fully-in-browser DSL implementation including Code Generation based on Langium's arithmetics example DSL\n  \u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cdiv id=\"badges\" align=\"center\"\u003e\n\n  [![Build](https://github.com/langium/langium-in-browser-codegen-example/actions/workflows/actions.yml/badge.svg)](https://github.com/langium/langium-in-browser-codegen-example/actions/workflows/actions.yml)\n  [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/langium/langium-in-browser-codegen-example/)\n\n\u003c/div\u003e\n\n\u003chr\u003e\n\nThis example project demonstrates the usage of Langium in the browser without any backend.\nThe language server is run in a web worker. It parses and validates the input text on change and — in this special case — sends a serialized snapshot of the abstract syntax tree (AST) to the browser's main thread, provided the text is free of errors. The code generation is than executed in the browser's main thread, and the obtained code is executed subsequently.  \n_Remark_: This setup well-suited for the sake of this demostration, but it is not common in production (yet 😁).\n\n## Get started\n\nRun\n```\nnpm i\nnpm run serve\n```\nand open http://localhost:3000 in your browser.\nOpen the browser's developer tools, and put a break point at https://github.com/langium/langium-in-browser-codegen-example/blob/a2e590d9aeccf94178ebed83ab64ad40ebe1c635/src/arithmeticsEditor/index.ts#L44","funding_links":["https://github.com/sponsors/TypeFox"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypefox%2Flangium-in-browser-codegen-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftypefox%2Flangium-in-browser-codegen-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftypefox%2Flangium-in-browser-codegen-example/lists"}