{"id":33332945,"url":"https://github.com/use-tusk/drift-node-sdk","last_synced_at":"2026-04-15T00:02:30.809Z","repository":{"id":317922304,"uuid":"1069356944","full_name":"Use-Tusk/drift-node-sdk","owner":"Use-Tusk","description":"Node.js SDK for capturing and replaying API calls made to/from your service","archived":false,"fork":false,"pushed_at":"2026-01-15T23:01:32.000Z","size":8996,"stargazers_count":168,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T00:24:00.897Z","etag":null,"topics":["api-testing","code-quality","mock","nodejs","test-automation-framework","test-generation","testing","testing-library","traffic-replay","typescript"],"latest_commit_sha":null,"homepage":"https://www.usetusk.ai/tusk-drift","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Use-Tusk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T19:59:13.000Z","updated_at":"2026-01-15T23:01:34.000Z","dependencies_parsed_at":"2026-01-16T01:03:51.531Z","dependency_job_id":null,"html_url":"https://github.com/Use-Tusk/drift-node-sdk","commit_stats":null,"previous_names":["use-tusk/drift-node-sdk"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/Use-Tusk/drift-node-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Use-Tusk%2Fdrift-node-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Use-Tusk%2Fdrift-node-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Use-Tusk%2Fdrift-node-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Use-Tusk%2Fdrift-node-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Use-Tusk","download_url":"https://codeload.github.com/Use-Tusk/drift-node-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Use-Tusk%2Fdrift-node-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28587018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T20:45:59.482Z","status":"ssl_error","status_checked_at":"2026-01-19T20:45:41.500Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api-testing","code-quality","mock","nodejs","test-automation-framework","test-generation","testing","testing-library","traffic-replay","typescript"],"created_at":"2025-11-20T22:02:05.732Z","updated_at":"2026-04-08T02:04:25.174Z","avatar_url":"https://github.com/Use-Tusk.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/tusk-banner.png\" alt=\"Tusk Drift Banner\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@use-tusk/drift-node-sdk\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@use-tusk/drift-node-sdk\" alt=\"npm version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" alt=\"License: Apache 2.0\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Use-Tusk/drift-node-sdk/commits/main/\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/Use-Tusk/drift-node-sdk\" alt=\"GitHub last commit\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://x.com/usetusk\"\u003e\u003cimg src=\"https://img.shields.io/twitter/url?url=https%3A%2F%2Fx.com%2Fusetusk\u0026style=flat\u0026logo=x\u0026label=Tusk\u0026color=BF40BF\" alt=\"Tusk X account\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://join.slack.com/t/tusk-community/shared_invite/zt-3fve1s7ie-NAAUn~UpHsf1m_2tdoGjsQ\"\u003e\u003cimg src=\"https://img.shields.io/badge/slack-badge?style=flat\u0026logo=slack\u0026label=Tusk\u0026color=BF40BF\" alt=\"Tusk Community Slack\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThe Node.js Tusk Drift SDK enables fast and deterministic API testing by capturing and replaying API calls made to/from your service. Automatically record real-world API calls, then replay them as tests using the [Tusk CLI](https://github.com/Use-Tusk/tusk-cli) to find regressions. During replay, all outbound requests are intercepted with recorded data to ensure consistent behavior without side-effects.\n\n\u003cdiv align=\"center\"\u003e\n\n![Demo](images/demo.gif)\n\n\u003cp\u003e\u003ca href=\"https://github.com/Use-Tusk/drift-node-demo\"\u003eTry it on a demo repo →\u003c/a\u003e\u003c/p\u003e\n\n\u003c/div\u003e\n\n## Documentation\n\nFor comprehensive guides and API reference, visit our [full documentation](https://docs.usetusk.ai/api-tests/installation#setup).\n\n### SDK Guides\n\n- [Initialization Guide](docs/initialization.md) - Set up the SDK in your Node.js application\n- [Environment Variables](docs/environment-variables.md) - Environment variables reference\n- [Quick Start Guide](docs/quickstart.md) - Record and replay your first trace\n- [Troubleshooting Guide](docs/troubleshooting.md) - Common issues and solutions\n\n\u003cdiv align=\"center\"\u003e\n\n![Tusk Drift Animated Diagram](images/tusk-drift-animated-diagram-light.gif#gh-light-mode-only)\n![Tusk Drift Animated Diagram](images/tusk-drift-animated-diagram-dark.gif#gh-dark-mode-only)\n\n\u003c/div\u003e\n\n## Requirements\n\nTusk Drift currently supports the following packages and versions:\n\n- **HTTP/HTTPS**: All versions (Node.js built-in)\n- **GRPC**: `@grpc/grpc-js@1.x` (Outbound requests only)\n- **PG**: `pg@8.x`, `pg-pool@2.x-3.x`\n- **Firestore**: `@google-cloud/firestore@7.x-8.x`\n- **Postgres**: `postgres@3.x`\n- **MySQL**: `mysql2@3.x`, `mysql@2.x`\n- **MongoDB**: `mongodb@4.x-7.x`\n- **Redis**: `redis@4.x-5.x` (`@redis/client@1.x,5.x`)\n- **IORedis**: `ioredis@4.x-5.x`\n- **Upstash Redis**: `@upstash/redis@1.x`\n- **GraphQL**: `graphql@15.x-16.x`\n- **Prisma**: `prisma@5.x-6.x`\n- **JSON Web Tokens**: `jsonwebtoken@5.x-9.x`\n- **JWKS RSA**: `jwks-rsa@1.x-3.x`\n\nIf you're using packages or versions not listed above, please create an issue with the package + version you'd like an instrumentation for.\n\n## Installation\n\n### Step 1: Install the CLI\n\nFirst, install and configure the Tusk Drift CLI by following our [CLI installation guide](https://github.com/Use-Tusk/tusk-cli?tab=readme-ov-file#install). The CLI helps set up your Tusk configuration file and replays tests.\n\nThe wizard will eventually direct you back here when it's time to set up the SDK.\n\n### Step 2: Install the SDK\n\nAfter completing the CLI wizard, install the SDK:\n\n```bash\nnpm install @use-tusk/drift-node-sdk\n```\n\n### Step 3: Initialize the SDK for your service\n\nRefer to our [initialization guide](docs/initialization.md) to set up the SDK for your service.\n\n### Step 4: Run Your First Test\n\nFollow along our [quick start guide](docs/quickstart.md) to record and replay your first test!\n\n## Troubleshooting\n\nHaving issues?\n\n- Read our [troubleshooting doc](docs/troubleshooting.md)\n- Create an issue or reach us at [support@usetusk.ai](mailto:support@usetusk.ai).\n\n## Community\n\nJoin our open source community on [Slack](https://join.slack.com/t/tusk-community/shared_invite/zt-3fve1s7ie-NAAUn~UpHsf1m_2tdoGjsQ).\n\n## Contributing\n\nWe appreciate feedback and contributions. See [CONTRIBUTING.md](/CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuse-tusk%2Fdrift-node-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuse-tusk%2Fdrift-node-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuse-tusk%2Fdrift-node-sdk/lists"}