{"_id":"@ahmedrowaihi/k6-tools","_rev":"4-b1149222a651a181e23d766a76ec41a1","name":"@ahmedrowaihi/k6-tools","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@ahmedrowaihi/k6-tools","version":"0.1.0","keywords":["k6","load-testing","cli","openapi"],"author":{"name":"Ahmed Rowaihi","email":"ahmedrowaihi@gmail.com"},"license":"MIT","_id":"@ahmedrowaihi/k6-tools@0.1.0","maintainers":[{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"}],"homepage":"https://github.com/ahmedrowaihi/contract-kit/tree/main/packages/k6/tools","bugs":{"url":"https://github.com/ahmedrowaihi/contract-kit/issues"},"bin":{"k6-tools":"dist/bin.js"},"dist":{"shasum":"5fd81e0e52b9d374a37ceae06d817289e259b538","tarball":"https://registry.npmjs.org/@ahmedrowaihi/k6-tools/-/k6-tools-0.1.0.tgz","fileCount":39,"integrity":"sha512-wEVz0Bc9q/WPf7wjVa2fFIHaWM35cxflQqieRwEfwgPjJLQ0B8XwNU8OaNqOG1d0yhTgUJ67tKgtWHwhZxDalg==","signatures":[{"sig":"MEQCIFt83sP8Cyf7biljgAp2gGbpw0PBX5RRQ4dAqEAtzIiRAiAC7v5svFG7GMdGA/i+A3uHsaJ/puUpN+kKbQBovMzSBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmedrowaihi%2fk6-tools@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31546},"main":"./dist/index.js","type":"module","_from":"file:ahmedrowaihi-k6-tools-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run","build":"tsc -p tsconfig.build.json && chmod +x dist/bin.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"},"_resolved":"/tmp/ed9389a94cd995946bc6a7d4cb5dc2f0/ahmedrowaihi-k6-tools-0.1.0.tgz","_integrity":"sha512-wEVz0Bc9q/WPf7wjVa2fFIHaWM35cxflQqieRwEfwgPjJLQ0B8XwNU8OaNqOG1d0yhTgUJ67tKgtWHwhZxDalg==","repository":{"url":"git+https://github.com/ahmedrowaihi/contract-kit.git","type":"git","directory":"packages/k6/tools"},"_npmVersion":"10.8.2","description":"CLI for the @ahmedrowaihi/k6 framework. Scaffold load tests (init), regenerate the typed client (sync), bundle+run scripts against the real k6 binary, replay recorded traffic.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"c12":"^3.3.0","citty":"^0.1.6","consola":"^3.4.2","esbuild":"^0.27.7","@ahmedrowaihi/k6-gen":"0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","@types/node":"^22","@ahmedrowaihi/tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/k6-tools_0.1.0_1778769284628_0.5907128153176247","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ahmedrowaihi/k6-tools","version":"0.1.1","keywords":["k6","load-testing","cli","openapi"],"author":{"name":"Ahmed Rowaihi","email":"ahmedrowaihi@gmail.com"},"license":"MIT","_id":"@ahmedrowaihi/k6-tools@0.1.1","maintainers":[{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"}],"homepage":"https://github.com/ahmedrowaihi/contract-kit/tree/main/packages/k6/tools","bugs":{"url":"https://github.com/ahmedrowaihi/contract-kit/issues"},"bin":{"k6-tools":"dist/bin.js"},"dist":{"shasum":"0f2aa967a213bed6005a2b9a9df9d96ca64adbc8","tarball":"https://registry.npmjs.org/@ahmedrowaihi/k6-tools/-/k6-tools-0.1.1.tgz","fileCount":39,"integrity":"sha512-UWrsNrydWi5S2v1ZKAMeBh83rIJd3Mu8J/WZkuvopSqDsmjer5C5G6R5h+Kz7YWfyd5BlWFgA2gcBYStrEKvPw==","signatures":[{"sig":"MEUCIQCYNH3Z0R4Q8szcuwQe7D5m1ygiFdIVFonZOjrDFOjd6AIgajyNzWW9eKa36I57xfHWlZqHJclqSl1G4kkKEv4bFAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmedrowaihi%2fk6-tools@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31564},"main":"./dist/index.js","type":"module","_from":"file:ahmedrowaihi-k6-tools-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json && chmod +x dist/bin.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"},"_resolved":"/tmp/20a97315498b0b5181d8d5d9d9b27df2/ahmedrowaihi-k6-tools-0.1.1.tgz","_integrity":"sha512-UWrsNrydWi5S2v1ZKAMeBh83rIJd3Mu8J/WZkuvopSqDsmjer5C5G6R5h+Kz7YWfyd5BlWFgA2gcBYStrEKvPw==","repository":{"url":"git+https://github.com/ahmedrowaihi/contract-kit.git","type":"git","directory":"packages/k6/tools"},"_npmVersion":"10.8.2","description":"CLI for the @ahmedrowaihi/k6 framework. Scaffold load tests (init), regenerate the typed client (sync), bundle+run scripts against the real k6 binary, replay recorded traffic.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"c12":"^3.3.0","citty":"^0.1.6","consola":"^3.4.2","esbuild":"^0.27.7","@ahmedrowaihi/k6-gen":"0.1.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","@types/node":"^22","@ahmedrowaihi/tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/k6-tools_0.1.1_1778885510836_0.3000097660230836","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ahmedrowaihi/k6-tools","version":"0.2.0","keywords":["k6","load-testing","cli","openapi"],"author":{"name":"Ahmed Rowaihi","email":"ahmedrowaihi@gmail.com"},"license":"MIT","_id":"@ahmedrowaihi/k6-tools@0.2.0","maintainers":[{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"}],"homepage":"https://github.com/ahmedrowaihi/contract-kit/tree/main/packages/k6/tools","bugs":{"url":"https://github.com/ahmedrowaihi/contract-kit/issues"},"bin":{"k6-tools":"dist/bin.js"},"dist":{"shasum":"9533bdc26472ad872e3d7198c9e29cb0a4fa9279","tarball":"https://registry.npmjs.org/@ahmedrowaihi/k6-tools/-/k6-tools-0.2.0.tgz","fileCount":63,"integrity":"sha512-U1ORHs9pYpAkSrYb2B/wxd1pNl1BvQf0No2CoAlztXibyXLUd8QqsbBsaQ6ODVp1wRM3Kon5viCDrnPvA6+cQw==","signatures":[{"sig":"MEQCIBOfG6GOqgTqnk0HsFPKhQi8FCQKkY0h/cpbpvjQk/tsAiAxUZejRHic5tBRQTPQZqfE/0/0XPblomhf9oaG9bUEMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmedrowaihi%2fk6-tools@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61530},"main":"./dist/index.js","type":"module","_from":"file:ahmedrowaihi-k6-tools-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json && chmod +x dist/bin.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"},"_resolved":"/tmp/24668d086d16d2e15a554efb01a9a740/ahmedrowaihi-k6-tools-0.2.0.tgz","_integrity":"sha512-U1ORHs9pYpAkSrYb2B/wxd1pNl1BvQf0No2CoAlztXibyXLUd8QqsbBsaQ6ODVp1wRM3Kon5viCDrnPvA6+cQw==","repository":{"url":"git+https://github.com/ahmedrowaihi/contract-kit.git","type":"git","directory":"packages/k6/tools"},"_npmVersion":"10.8.2","description":"CLI for the @ahmedrowaihi/k6 framework. Scaffold load tests (init), regenerate the typed client (sync), bundle+run scripts against the real k6 binary, replay recorded traffic.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"c12":"^3.3.0","citty":"^0.1.6","consola":"^3.4.2","esbuild":"^0.27.7","tinyglobby":"^0.2.10","@ahmedrowaihi/k6-gen":"0.2.0","@ahmedrowaihi/openapi-tools":"1.3.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","@types/node":"^22","@ahmedrowaihi/tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/k6-tools_0.2.0_1778890927533_0.5601969734255094","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ahmedrowaihi/k6-tools","version":"0.2.1","description":"CLI for the @ahmedrowaihi/k6 framework. Scaffold load tests (init), regenerate the typed client (sync), bundle+run scripts against the real k6 binary, replay recorded traffic.","keywords":["k6","load-testing","cli","openapi"],"homepage":"https://github.com/ahmedrowaihi/contract-kit/tree/main/packages/k6/tools","bugs":{"url":"https://github.com/ahmedrowaihi/contract-kit/issues"},"license":"MIT","author":{"name":"Ahmed Rowaihi","email":"ahmedrowaihi@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/ahmedrowaihi/contract-kit.git","directory":"packages/k6/tools"},"type":"module","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"k6-tools":"dist/bin.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"publishConfig":{"access":"public","provenance":true},"dependencies":{"c12":"^3.3.4","citty":"^0.2.2","consola":"^3.4.2","esbuild":"^0.27.7","tinyglobby":"^0.2.10","@ahmedrowaihi/k6-gen":"0.2.1","@ahmedrowaihi/openapi-tools":"1.3.0"},"devDependencies":{"@types/node":"^22","vitest":"^4.0.0","@ahmedrowaihi/tsconfig":"0.0.0"},"engines":{"node":">=20.19.0"},"scripts":{"build":"tsc -p tsconfig.build.json && chmod +x dist/bin.js","dev":"tsc -p tsconfig.build.json --watch","typecheck":"tsc --noEmit","test":"vitest run --passWithNoTests"},"_id":"@ahmedrowaihi/k6-tools@0.2.1","_integrity":"sha512-JKWR2ST9UbvAj1rfV+OFEvbqlm8xaSN25xXOyENBMntRbW/ojujLHqhEIW9VifTiOpMaDlGbgyXuRprcS2CyrA==","_resolved":"/tmp/ca52e34d340d9148f7afbaab89c4e21e/ahmedrowaihi-k6-tools-0.2.1.tgz","_from":"file:ahmedrowaihi-k6-tools-0.2.1.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-JKWR2ST9UbvAj1rfV+OFEvbqlm8xaSN25xXOyENBMntRbW/ojujLHqhEIW9VifTiOpMaDlGbgyXuRprcS2CyrA==","shasum":"321301f96299365a5bf380e97395957451e71da4","tarball":"https://registry.npmjs.org/@ahmedrowaihi/k6-tools/-/k6-tools-0.2.1.tgz","fileCount":63,"unpackedSize":63409,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ahmedrowaihi%2fk6-tools@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDRnzRV4TBaqVWNW2Dz7U3pVknMbvGUZoLhXGM8CCBwuQIhAIBf4EJfncCAVgkg0X4Ly/vb1tUJNvjzdoqm4VzefaN/"}]},"_npmUser":{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"},"directories":{},"maintainers":[{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/k6-tools_0.2.1_1778893437957_0.5832231728961055"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T14:34:44.511Z","modified":"2026-05-16T01:03:58.374Z","0.1.0":"2026-05-14T14:34:44.826Z","0.1.1":"2026-05-15T22:51:50.985Z","0.2.0":"2026-05-16T00:22:07.696Z","0.2.1":"2026-05-16T01:03:58.100Z"},"bugs":{"url":"https://github.com/ahmedrowaihi/contract-kit/issues"},"author":{"name":"Ahmed Rowaihi","email":"ahmedrowaihi@gmail.com"},"license":"MIT","homepage":"https://github.com/ahmedrowaihi/contract-kit/tree/main/packages/k6/tools","keywords":["k6","load-testing","cli","openapi"],"repository":{"type":"git","url":"git+https://github.com/ahmedrowaihi/contract-kit.git","directory":"packages/k6/tools"},"description":"CLI for the @ahmedrowaihi/k6 framework. Scaffold load tests (init), regenerate the typed client (sync), bundle+run scripts against the real k6 binary, replay recorded traffic.","maintainers":[{"name":"ahmedrowaihi","email":"ahmedrowaihi1@gmail.com"}],"readme":"# @ahmedrowaihi/k6-tools\n\nCLI for the [@ahmedrowaihi/k6](../framework) framework. Scaffold load-test projects, regenerate the typed client when the spec changes, bundle + run against the real [k6](https://k6.io) binary.\n\n```bash\nnpm i -D @ahmedrowaihi/k6-tools\n```\n\n## Commands\n\n### `k6-tools init`\n\nScaffold a new load-test project:\n\n```bash\nk6-tools init --spec ./openapi.yaml --output ./src/gen --auth bearer\n```\n\nWrites `loadtest.ts`, `k6-tools.config.ts`, and runs the generator. Re-run with `--force` to overwrite.\n\n### `k6-tools sync`\n\nRegenerate the typed client + data builders from the spec. Run this any time `openapi.yaml` changes.\n\n```bash\nk6-tools sync                       # picks up k6-tools.config.{ts,js}\nk6-tools sync --spec ./other.yaml\n```\n\n### `k6-tools run`\n\nBundle the loadtest entry with esbuild (k6 has no module resolution) and shell out to the real `k6` binary.\n\n```bash\nk6-tools run                                              # bundles + runs the default\nk6-tools run --base-url https://staging.api.example.com   # override BASE_URL\nk6-tools run --vus 5 --duration 30s                       # override the implicit default scenario\nk6-tools run --k6-arg=--stage --k6-arg=1m:50,2m:50,30s:0  # pass-through to k6\n```\n\nCLI overrides (`--vus`, `--duration`, `--stage`) drive k6's implicit `default` scenario which dispatches to `lt.default` — the first named scenario (or the shorthand `flow`/`test`).\n\n## Config\n\n```ts\n// k6-tools.config.ts\nimport { defineConfig } from \"@ahmedrowaihi/k6-tools\";\n\nexport default defineConfig({\n  spec: \"./openapi.yaml\",\n  output: \"./src/gen\",\n  loadtest: \"./loadtest.ts\",\n  defaultBaseUrl: \"https://api.example.com\",\n});\n```\n\nLoaded by [c12](https://github.com/unjs/c12) — also accepts `.js`, `.mjs`, `.json`, and `package.json#k6-tools`.\n\n## See also\n\n- [@ahmedrowaihi/k6](../framework) — the runtime framework\n- [@ahmedrowaihi/k6-gen](../gen) — generator used internally by `sync` / `init`\n- [examples/k6-petstore](../../../examples/k6-petstore/) — full working setup\n","readmeFilename":"README.md"}