{"id":14984947,"url":"https://github.com/sevenc-nanashi/cross-test","last_synced_at":"2026-02-02T20:11:43.283Z","repository":{"id":252641385,"uuid":"840934771","full_name":"sevenc-nanashi/cross-test","owner":"sevenc-nanashi","description":"A test runner for Deno that allows you to run tests in multiple JS runtimes.","archived":false,"fork":false,"pushed_at":"2024-09-02T21:00:38.000Z","size":152,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T23:14:28.482Z","etag":null,"topics":["deno"],"latest_commit_sha":null,"homepage":"","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/sevenc-nanashi.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T06:21:07.000Z","updated_at":"2024-09-02T21:00:42.000Z","dependencies_parsed_at":"2024-08-11T13:26:51.912Z","dependency_job_id":"c0ca73f4-0e20-4110-9686-9ec6910d1512","html_url":"https://github.com/sevenc-nanashi/cross-test","commit_stats":null,"previous_names":["sevenc-nanashi/anytest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevenc-nanashi%2Fcross-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevenc-nanashi%2Fcross-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevenc-nanashi%2Fcross-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevenc-nanashi%2Fcross-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sevenc-nanashi","download_url":"https://codeload.github.com/sevenc-nanashi/cross-test/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312135,"owners_count":21082638,"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":["deno"],"created_at":"2024-09-24T14:09:54.454Z","updated_at":"2026-02-02T20:11:43.216Z","avatar_url":"https://github.com/sevenc-nanashi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cross-test / Cross test runner for Deno\n\nCross-test is a test runner for Deno that allows you to run tests in multiple JS\nruntimes.\n\n\u003e [!IMPORTANT]\n\u003e This is very experimental plugin; it may not work as expected.\n\n## Supported runtimes\n\n- Deno\n- Node.js\n- Bun\n- Workerd (aka: Cloudflare Workers)\n- Browser\n\n## Installation\n\n```sh\n$ deno add @sevenc-nanashi/cross-test\n```\n\nFor GitHub Actions setup:\n```yml\n- name: Checkout\n  uses: actions/checkout@v4\n- name: Setup Deno\n  uses: denoland/setup-deno@v1\n  with:\n    deno-version: v1.x\n- name: Setup Node\n  uses: actions/setup-node@v4\n  with:\n    node-version: 20\n- name: Setup Bun\n  uses: oven-sh/setup-bun@v2\n  with:\n    bun-version: latest\n- name: Cache\n  uses: actions/cache@v4\n  with:\n    path: ~/.cache/cross-test/workerd-manager\n    key: ${{ runner.os }}-cross-test-workerd-manager\n- name: Run tests\n  run: deno test -A ./example\n```\n\n## Usage\n\n```ts\nimport { createCrossTest } from \"@sevenc-nanashi/cross-test\";\n\nconst crossTest = createCrossTest({\n  runtimes: [\"deno\", \"node\", \"bun\", \"workerd\", \"browser\"],\n});\n\ncrossTest(\"My Test\", () =\u003e {\n  // Your test code here will be run in these 5 runtimes.\n});\n```\n\n## How does it work?\n\n- Deno: It runs the test code in the Deno runtime.\n- Node.js, Bun:\n  - Compile the test code to ESM using `esbuild`.\n  - Run the compiled code in the Node.js or Bun runtime.\n- Workerd:\n  - Create a Node project which runs miniflare, a local emulator of Cloudflare Workers.\n  - Compile the test code to ESM using `esbuild`.\n  - Run the compiled code in the Workerd runtime via the created Node project.\n- Browser:\n  - Compile the test code to ESM using `esbuild`.\n  - Run the compiled code in the Browser runtime via [`@astral/astral`](https://jsr.io/@astral/astral)\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file\nfor details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevenc-nanashi%2Fcross-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsevenc-nanashi%2Fcross-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevenc-nanashi%2Fcross-test/lists"}