Add browser-plugin-bot-detection wrapping FingerprintJS BotD#1460
Add browser-plugin-bot-detection wrapping FingerprintJS BotD#1460Nick (stanch) merged 4 commits intorelease/4.7.0from
Conversation
Introduces a new browser tracker plugin that detects bots client-side using @fingerprintjs/botd and attaches the result as a client_side_bot_detection context entity to all tracked events. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
FWIW, botd has no dependencies, so I think it’s not what upset Wiz... |
There was a problem hiding this comment.
Pull request overview
Adds a new Snowplow browser tracker plugin package to perform client-side bot detection via @fingerprintjs/botd, and attach the result as a client_side_bot_detection context entity on events once detection has completed.
Changes:
- Adds new Rush project/package
@snowplow/browser-plugin-bot-detectionwith Rollup build, Jest config, types, schema constant, and tests. - Wires the new dependency and package into Rush configs (approved browser packages, lockfiles, repo state).
- Updates the
rush-prettierautoinstaller lockfile (resolving newerprettier/pretty-quickversions).
Reviewed changes
Copilot reviewed 12 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| rush.json | Registers the new plugin as a Rush project. |
| plugins/browser-plugin-bot-detection/package.json | Defines the new plugin package metadata and dependencies. |
| plugins/browser-plugin-bot-detection/src/index.ts | Implements BotD load/detect and context attachment. |
| plugins/browser-plugin-bot-detection/src/schemata.ts | Adds the Iglu schema string constant. |
| plugins/browser-plugin-bot-detection/src/types.ts | Defines the context data + bot kind types. |
| plugins/browser-plugin-bot-detection/rollup.config.js | Adds build outputs (UMD + min + ES module). |
| plugins/browser-plugin-bot-detection/jest.config.js | Adds Jest config for the new plugin package. |
| plugins/browser-plugin-bot-detection/test/bot-detection.test.ts | Adds tests for bot/no-bot/pending/failure behaviors. |
| plugins/browser-plugin-bot-detection/tsconfig.json | Extends repo TypeScript config. |
| common/config/rush/browser-approved-packages.json | Allows @fingerprintjs/botd (plugins) and the new plugin package (trackers). |
| common/config/rush/pnpm-lock.yaml | Adds @fingerprintjs/botd and the new plugin importer; also includes unrelated transitive changes. |
| common/config/rush/repo-state.json | Updates the Rush shrinkwrap hash. |
| common/autoinstallers/rush-prettier/pnpm-lock.yaml | Updates lockfile format and resolves newer prettier tooling versions. |
| common/changes/@snowplow/browser-plugin-bot-detection/bot-detection-plugin_2026-03-17-17-11.json | Adds the changeset entry for the new package. |
Files not reviewed (2)
- common/autoinstallers/rush-prettier/pnpm-lock.yaml: Language not supported
- common/config/rush/pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Just some small nitpicks but I think this looks good! |
- Change rush change type from "none" to "minor" for new package - Add author field to package.json - Add README.md and LICENSE files - Improve error log message to be more descriptive - Fix test mock detect() to return Promise.reject instead of throwing - Revert unrelated rush-prettier lockfile upgrade - Remove unrelated transitive version bumps from pnpm-lock.yaml Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Matus Tomlein (matus-tomlein)
left a comment
There was a problem hiding this comment.
LGTM!
Can you please point this at the release/4.7.0 branch so that we can prepare a release?
* Add browser-plugin-bot-detection wrapping FingerprintJS BotD Introduces a new browser tracker plugin that detects bots client-side using @fingerprintjs/botd and attaches the result as a client_side_bot_detection context entity to all tracked events. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add browser-plugin-bot-detection wrapping FingerprintJS BotD Introduces a new browser tracker plugin that detects bots client-side using @fingerprintjs/botd and attaches the result as a client_side_bot_detection context entity to all tracked events. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces a new browser tracker plugin that detects bots client-side using @fingerprintjs/botd and attaches the result as a client_side_bot_detection context entity to all tracked events.