{"_id":"@amazon/vinyl-browserstack","_rev":"3-9c96dca52c8e70d6cd72c8f2cbf6154a","name":"@amazon/vinyl-browserstack","dist-tags":{"latest":"3.2.0"},"versions":{"3.0.1":{"name":"@amazon/vinyl-browserstack","version":"3.0.1","author":"","license":"Apache-2.0","_id":"@amazon/vinyl-browserstack@3.0.1","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"69208d3fb8413b715f7e91676dd3cd85454f9324","tarball":"https://registry.npmjs.org/@amazon/vinyl-browserstack/-/vinyl-browserstack-3.0.1.tgz","fileCount":18,"integrity":"sha512-yCAJKpd3Qzy3sSYFphC8fdM318XtzFWFiAXnkHLAppLNJMABWJTaw8cu6+ebNf/08wXQ22WGcEK1XGankUsMyQ==","signatures":[{"sig":"MEUCIQCgRkiHk+TrW9D916Zo4fnXAJm7TZiUVwSDSZ1sFxkniwIgQZCl26gbXCEqnosBWIh4+/UntIVFB9U2eQ4ISERrsH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100380},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","development":"./src/index.ts"}},"gitHead":"045177105d5d73716fc07c8de4a6bac9d0c3756f","scripts":{"lint":"npm run oxlint:check && npm run prettier:check","test":"echo \"No tests\"","build":"tsc -p ./src/tsconfig.json","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","release":"npm run lint && npm run build:release","lint:write":"npm run oxlint:write && npm run prettier:write","build:watch":"tsc -p ./src/tsconfig.json -w","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsc -p ./src/tsconfig.json","test:coverage":"echo \"No tests\"","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write"},"_npmUser":{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"11.16.0","description":"Runs an in-browser Jasmine suite across BrowserStack real browsers over Selenium/WebDriver.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"express":"^5.1.0","selenium-webdriver":"^4.28.1","@amazon/vinyl-build-utils":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/express":"^5.0.1","@types/selenium-webdriver":"^4.1.28"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-browserstack_3.0.1_1788545073929_0.17094871432932024","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@amazon/vinyl-browserstack","version":"3.1.0","author":"","license":"Apache-2.0","_id":"@amazon/vinyl-browserstack@3.1.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"4574b198378803debafd95f16c558421eb90bf48","tarball":"https://registry.npmjs.org/@amazon/vinyl-browserstack/-/vinyl-browserstack-3.1.0.tgz","fileCount":18,"integrity":"sha512-hDBPBJJwvz4D0uK9liqtWn6rwgKq6Syd+upplCgDvNMIhA7uzcOAS67sTn2O9CUTlgNmVQBMyPvdxO0RGtetDA==","signatures":[{"sig":"MEYCIQDXzdOrUoThkjHJHKgPEBt0sBgJEfQl64PIDW5KrwNK/QIhALo1V8qVpN36RUiu3gjSes6wYBuMTAqw2r+x8m75ina8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-browserstack@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100070},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9e3200fa30db5543427e4618e8e2f0a20cf57996","scripts":{"lint":"npm run oxlint:check && npm run prettier:check","test":"echo \"No tests\"","build":"tsc -p ./src/tsconfig.json","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","release":"npm run lint && npm run build:release","lint:write":"npm run oxlint:write && npm run prettier:write","build:watch":"tsc -p ./src/tsconfig.json -w","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsc -p ./src/tsconfig.json","test:coverage":"echo \"No tests\"","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5747a7aa-a8cb-4479-ba7b-b1f89723d6f4"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"12.0.2","description":"Runs an in-browser Jasmine suite across BrowserStack real browsers over Selenium/WebDriver.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"express":"^5.1.0","selenium-webdriver":"^4.28.1","@amazon/vinyl-build-utils":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/express":"^5.0.1","@types/selenium-webdriver":"^4.1.28"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-browserstack_3.1.0_1788627280891_0.9111201523713781","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@amazon/vinyl-browserstack","version":"3.2.0","description":"Runs an in-browser Jasmine suite across BrowserStack real browsers over Selenium/WebDriver.","repository":{"type":"git","url":"git+https://github.com/amazonmusic/vinyl.git"},"main":"dist/index.js","types":"dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p ./src/tsconfig.json","build:release":"tsc -p ./src/tsconfig.json","build:watch":"tsc -p ./src/tsconfig.json -w","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","lint":"npm run oxlint:check && npm run prettier:check","lint:write":"npm run oxlint:write && npm run prettier:write","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","release":"npm run lint && npm run build:release","test":"echo \"No tests\"","test:coverage":"echo \"No tests\"","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix"},"author":"","license":"Apache-2.0","devDependencies":{"@types/express":"^5.0.1","@types/selenium-webdriver":"^4.1.28"},"dependencies":{"@amazon/vinyl-build-utils":"^3.2.0","express":"^5.1.0","selenium-webdriver":"^4.28.1"},"publishConfig":{"access":"public"},"gitHead":"9b169bdcf10b790dc725df50f1bb6f175fc9a351","_id":"@amazon/vinyl-browserstack@3.2.0","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"homepage":"https://github.com/amazonmusic/vinyl#readme","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-Y/I6bMRMS84LqYaK7e+4g6JFO13W8R2FhJmG4FymQ0NxxXvTZlgqhB58nS/Lc/7hJV8uT+lQXepdkdPNXq/XrA==","shasum":"02de7932d688c3055e855e18846bff6f13701c4c","tarball":"https://registry.npmjs.org/@amazon/vinyl-browserstack/-/vinyl-browserstack-3.2.0.tgz","fileCount":18,"unpackedSize":100070,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-browserstack@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDgbAmOEqIU2aGWJqh4KQKAlJIIM6yvsiFedGNPnGnySQIga8X9m4rb6uuwP00PZxn+qjbKfag7Hbmp5lGsc405puc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5747a7aa-a8cb-4479-ba7b-b1f89723d6f4"}},"directories":{},"maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vinyl-browserstack_3.2.0_1788999318094_0.8692113726371986"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-04T18:04:33.663Z","modified":"2026-09-10T00:15:18.548Z","3.0.1":"2026-09-04T18:04:34.072Z","3.1.0":"2026-09-05T16:54:41.039Z","3.2.0":"2026-09-10T00:15:18.238Z"},"bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"license":"Apache-2.0","homepage":"https://github.com/amazonmusic/vinyl#readme","repository":{"type":"git","url":"git+https://github.com/amazonmusic/vinyl.git"},"description":"Runs an in-browser Jasmine suite across BrowserStack real browsers over Selenium/WebDriver.","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"readme":"# @amazon/vinyl-browserstack\n\nRuns an **in-browser Jasmine** suite across BrowserStack real browsers over\n**Selenium/WebDriver** (`hub-cloud.browserstack.com/wd/hub`).\n\n## How it works\n\nThe consuming package builds a browser test page (its Jasmine bootstrap + specs)\nand serves it. This runner:\n\n1. Starts a local Express server (serving the test page) plus a **reporter REST\n   API** the in-browser suite posts progress and logs to.\n2. Starts the **BrowserStack Local** tunnel.\n3. Builds a real **WebDriver** session per browser — parallelized to the\n   account's available session budget — and navigates each to the test URL with\n   a `?reportApi=` query param.\n4. Keeps each session alive with a periodic no-op WebDriver command (the specs\n   run in-browser with no driver interaction, so the session's idle timer must\n   be reset explicitly — REST status polling does not reset it), and enforces a\n   local max-duration cap since WebDriver has no server-side worker timeout.\n5. Aggregates per-spec pass/fail, writes `bStackLogs/<sessionId>.log` per\n   session, and stamps each session pass/fail via the Automate REST API.\n\nThis is the WebDriver successor to the legacy `/5/worker` (JS Testing) transport\nin `@amazon/vinyl-build-utils`. It reuses that package's framework-agnostic\nprimitives (reporter API, Express server, Local tunnel, Automate client,\ncredentials, logging) and swaps only the transport.\n\nUnlike the legacy transport, WebDriver sessions populate the BrowserStack\ndashboard **Console Logs** tab (Chrome only; `bStackLogs/` remains the complete\ncross-browser log source).\n\n## Usage\n\n```ts\nimport { runSeleniumBrowserStackAndExit } from '@amazon/vinyl-browserstack'\nimport { vinylDefaultBrowserStackOptions } from '@amazon/vinyl-build-utils'\n\nrunSeleniumBrowserStackAndExit({\n    ...vinylDefaultBrowserStackOptions,\n    workerCommon: { project: 'MyProject' },\n})\n```\n\nCredentials come from `options.credentials` or the `BROWSERSTACK_USERNAME` /\n`BROWSERSTACK_ACCESS_KEY` environment variables (a `.env` file is honored).\n","readmeFilename":"README.md"}