{"id":20081984,"url":"https://github.com/exercism/typescript","last_synced_at":"2025-04-05T14:09:56.946Z","repository":{"id":17727327,"uuid":"81760052","full_name":"exercism/typescript","owner":"exercism","description":"Exercism exercises in TypeScript.","archived":false,"fork":false,"pushed_at":"2024-05-22T08:14:06.000Z","size":5748,"stargazers_count":142,"open_issues_count":32,"forks_count":156,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-05-23T08:56:32.419Z","etag":null,"topics":["community-contributions-paused","exercism-track"],"latest_commit_sha":null,"homepage":"https://exercism.org/tracks/typescript","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/exercism.png","metadata":{"funding":{"github":["exercism"],"custom":["https://exercism.org/donate"]},"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-12T21:51:23.000Z","updated_at":"2024-05-28T17:16:53.135Z","dependencies_parsed_at":"2024-05-22T08:58:48.587Z","dependency_job_id":null,"html_url":"https://github.com/exercism/typescript","commit_stats":{"total_commits":787,"total_committers":102,"mean_commits":7.715686274509804,"dds":0.7547649301143583,"last_synced_commit":"7d5a9ca19b35d0daf639154976e53dbd750e3cd6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ftypescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ftypescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ftypescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ftypescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exercism","download_url":"https://codeload.github.com/exercism/typescript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246759219,"owners_count":20829067,"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":["community-contributions-paused","exercism-track"],"created_at":"2024-11-13T15:41:14.563Z","updated_at":"2025-04-05T14:09:56.923Z","avatar_url":"https://github.com/exercism.png","language":"TypeScript","funding_links":["https://github.com/sponsors/exercism","https://exercism.org/donate"],"categories":[],"sub_categories":[],"readme":"# Exercism TypeScript Track\n\n[![configlet](https://github.com/exercism/typescript/actions/workflows/configlet.yml/badge.svg)](https://github.com/exercism/typescript/actions/workflows/configlet.yml) [![typescript / ci](https://github.com/exercism/typescript/workflows/typescript%20/%20main/badge.svg)](https://github.com/exercism/typescript/actions?query=workflow%3A%22typescript+%2F+main%22)\n\n**Exercism exercises in TypeScript**\n\nThis is the TypeScript track, one of the many tracks on [exercism][web-exercism].\nIt holds all the _exercises_ that are currently implemented and available for students to complete.\nThe track consists of various **core** exercises - the ones a student _must_ complete - and each **core** exercise may unlock various _side_ exercises.\nYou can find this in the [`config.json`][file-config].\n\n\u003e In version 3 of exercism, the above no longer holds. See the [`exercism/v3`][git-v3] repository for more information.\n\n## Tools\n\nSee [CONTRIBUTING.md][file-contributing] for a list of requirements to contribute to this track.\nIt also has a list of tools you can use, of which the `test` tool is one of them.\n\n## Running the test suite\n\nThis runs `jest` tests for all sample solutions.\nThis _does not_ use the regular way to run `jest`, because the example solution files must be renamed to be imported correctly into the test files.\n\n```shell\ncorepack yarn test\n```\n\nIf the `ASSIGNMENT` environment variable is set, only _that_ exercise is tested.\nFor example, if you only want to test the `two-fer.example.ts` for `two-fer`, you may, depending on your environment, use:\n\n```shell\nASSIGNMENT=practice/two-fer corepack yarn test\n```\n\n\u003e Running on Windows? Depending on your shell, environment variables are set differently.\n\u003e You can use `cross-env` to normalize this. The following should work across environments:\n\u003e\n\u003e ```bash\n\u003e corepack yarn dlx cross-env ASSIGNMENT=practice/two-fer corepack yarn test\n\u003e ```\n\n## Related repositories\n\n- [Website Copy][git-website-copy] (Mentor Notes)\n- [The TypeScript Analyzer][git-typescript-analyzer]\n- [The TypeScript Representer][git-typescript-representer]\n- [The TypeScript Test Runner][git-typescript-test-runner]\n\n### Related JavaScript repositories\n\nA lot of the improvements made to this track and tooling, is also made to the JavaScript track and tooling and vice-versa.\n\n- [The JavaScript track][git-javascript]\n- [The JavaScript Analyzer][git-javascript-analyzer] (Automated Code Analysis)\n- [The JavaScript Representer][git-javascript-representer]\n- [The JavaScript Test Runner][git-javascript-test-runner]\n\n[web-exercism]: https://exercism.org\n[file-config]: https://github.com/exercism/typescript/blob/master/config.json\n[file-contributing]: https://github.com/exercism/typescript/blob/master/CONTRIBUTING.md\n[git-javascript]: https://github.com/exercism/javascript\n[git-javascript-analyzer]: https://github.com/exercism/javascript-analyzer\n[git-javascript-representer]: https://github.com/exercism/javascript-representer\n[git-javascript-test-runner]: https://github.com/exercism/javascript-test-runner\n[git-typescript]: https://github.com/exercism/typescript/\n[git-typescript-analyzer]: https://github.com/exercism/typescript-analyzer\n[git-typescript-representer]: https://github.com/exercism/typescript-representer\n[git-typescript-test-runner]: https://github.com/exercism/typescript-test-runner\n[git-v3]: https://github.com/exercism/v3\n[git-website-copy]: https://github.com/exercism/website-copy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Ftypescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexercism%2Ftypescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Ftypescript/lists"}