{"id":30677159,"url":"https://github.com/ajitjha393/parikshit","last_synced_at":"2026-04-30T12:35:15.016Z","repository":{"id":56810789,"uuid":"525717224","full_name":"ajitjha393/Parikshit","owner":"ajitjha393","description":"A simple and scalable JavaScript testing framework written in Typescript!","archived":false,"fork":false,"pushed_at":"2022-08-27T12:31:38.000Z","size":138,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-30T12:35:01.399Z","etag":null,"topics":["haste-map","jest","js","testing","watchman"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ajitjha393.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}},"created_at":"2022-08-17T09:11:56.000Z","updated_at":"2023-03-17T13:11:14.000Z","dependencies_parsed_at":"2022-09-04T03:00:21.767Z","dependency_job_id":null,"html_url":"https://github.com/ajitjha393/Parikshit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ajitjha393/Parikshit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitjha393%2FParikshit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitjha393%2FParikshit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitjha393%2FParikshit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitjha393%2FParikshit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajitjha393","download_url":"https://codeload.github.com/ajitjha393/Parikshit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitjha393%2FParikshit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32465009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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":["haste-map","jest","js","testing","watchman"],"created_at":"2025-09-01T11:12:20.379Z","updated_at":"2026-04-30T12:35:14.996Z","avatar_url":"https://github.com/ajitjha393.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parikshit\n\nParikshit is a simple and scalable JavaScript testing framework written in Typescript. \n\nIt is inspired by the [Jest](https://jestjs.io/) framework and is built on top the Facebook's `Haste module system` \n\n\n## Features Supported\n- [x] File system search \n- [x] Run multiple tests parallely\n- [x] Assertion framework (`expect`, `toBe`, `toThrow`, etc.)\n- [x] Mocking functionality\n- [x] Run specific test file passed from the CLI\n- [x] Basic Test Runner suite (`describe`, `it`)\n- [x] Isolated Test environment (using `vm`)\n- [x] A module system support for the test files\n\n\n## Haste Module System \n\n```ts\nclass HasteMap extends EventEmitter {}\n\ntype HasteMap = { \n    clocks: WatchmanClocks,\n    files: {[filepath: string]: FileMetaData},\n    map: {[id: string]: ModuleMapItem},\n    mocks: {[id: string]: string},\n }\n\n``` \n\nParikshit uses the HasteMap implementation, which is inspired by [Node-Haste](https://github.com/facebook/node-haste) and was built with for high-performance in large code repositories with hundreds of thousands of files. This implementation is scalable and provides predictable performance.\n\nIt makes use of worker processes for parallelizing the file access operations and metadata extraction.\n\n\n## Examples: \n\n1.  **Run a single test file `describe.test.js`**\n\n```ts\nconst banana = require('./banana.js')\nconst apple = require('./apple.js')\n\nit('tastes good', () =\u003e {\n  expect(banana).toBe('good')\n})\n\nit('tastes good too', () =\u003e {\n  expect(apple).toBe('good')\n})\n\ndescribe('Describe test', () =\u003e {\n  it('this should work', () =\u003e {\n    expect(1).toBe(1)\n  })\n})\n\ndescribe('Second Describe test', () =\u003e {\n  it(`Test for checking async code`, async () =\u003e {\n    await new Promise(resolve =\u003e setTimeout(resolve, 200))\n    expect(1).toBe(2)\n  })\n})\n\n\n```\n\n- `Output`\n\n\n![image](https://user-images.githubusercontent.com/42679346/187028464-750b0542-632f-47a3-abe1-37a41914a2ec.png)\n\n\n2. **Run entire test suite in the current project**\n\n![image](https://user-images.githubusercontent.com/42679346/187028549-97ca0a90-8e51-4689-8739-63fa1ae7a876.png)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajitjha393%2Fparikshit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajitjha393%2Fparikshit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajitjha393%2Fparikshit/lists"}