{"id":30252242,"url":"https://github.com/robynllama/csjava","last_synced_at":"2026-04-14T00:02:41.960Z","repository":{"id":309026917,"uuid":"1034931890","full_name":"RobynLlama/CSJava","owner":"RobynLlama","description":"A learning project about embedding the Jint JavaScript engine in C# with TypeScript for scripting","archived":false,"fork":false,"pushed_at":"2025-08-09T09:49:16.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-09T11:37:28.960Z","etag":null,"topics":["csharp","jint","node","typescript"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobynLlama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-08-09T09:38:48.000Z","updated_at":"2025-08-09T09:50:45.000Z","dependencies_parsed_at":"2025-08-09T11:55:31.818Z","dependency_job_id":null,"html_url":"https://github.com/RobynLlama/CSJava","commit_stats":null,"previous_names":["robynllama/csjava"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/RobynLlama/CSJava","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobynLlama%2FCSJava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobynLlama%2FCSJava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobynLlama%2FCSJava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobynLlama%2FCSJava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobynLlama","download_url":"https://codeload.github.com/RobynLlama/CSJava/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobynLlama%2FCSJava/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270564927,"owners_count":24607758,"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","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["csharp","jint","node","typescript"],"created_at":"2025-08-15T11:40:51.777Z","updated_at":"2026-04-14T00:02:41.909Z","avatar_url":"https://github.com/RobynLlama.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSJava\n\nCSJava is a learning project about embedding the [Jint](https://github.com/sebastienros/jint) JavaScript engine in C# with TypeScript for scripting. It demonstrates running compiled TypeScript code inside a .NET app using Jint.\n\n## Getting Started\n\n### Install dependencies\n\nThis project requires [Node.js](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) and `npm` (Node Package Manager) to be installed on your system.\n\nRun the following in the root of the cloned repository to install the project's dependencies and all required tooling for the build action:\n\n```bash\ndotnet tool restore\nnpm install\n```\n\n\u003e **Note:** If you encounter issues installing dependencies (e.g., `esbuild` fails to install due to npm version conflicts), you may need to switch your Node.js version using [nvm](https://github.com/nvm-sh/nvm). For example:\n\u003e\n\u003e ```bash\n\u003e nvm use 20\n\u003e npm install\n\u003e ```\n\u003e\n\u003e This ensures compatibility with the required npm version for `esbuild`.\n\n### Build\n\nCompiles the whole project including transpiling the TypeScript source files to JavaScript:\n\n```bash\ndotnet build\n```\n\nThe build file for CSJava includes a step that uses `esbuild` to create all the required JavaScript files for the demo.\n\n### Execute\n\nRun the C# application that loads and executes the compiled JavaScript:\n\n```bash\ndotnet run --project=src/CSJava/CSJava.csproj\n```\n\nThis will invoke the project's build target as needed so you rarely need to build manually.\n\n## VSCode Integration\n\nA VSCode task called \"Build CSJava\" is configured as the **default build task** (`Ctrl+Shift+B`). Running this task will just run the same build script as `dotnet build` just without having to type it yourself.\n\nYou may also use the command pallette to run the provided \"Run CSJava\" task that will skip needing to type `dotnet run --project ...\" every time\n\n## Notes\n\n- TypeScript files live in `src/\u003cscript name\u003e/main.ts` and compile to `JS/\u003cscript name\u003e.js` for execution in the engine.\n- `src/` is the root of TypeScript resolution so all imports should be relative to it.\n- The C# project hosts the Jint engine and runs the compiled scripts from the `JS` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobynllama%2Fcsjava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobynllama%2Fcsjava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobynllama%2Fcsjava/lists"}