Sniffler is an open-source tool that maps changed source files to the E2E tests they can affect, so CI pipelines don't have to run the full test suite on every pull request. It works by analyzing import and export statements in JavaScript and TypeScript projects to build a dependency graph, then traces how a change propagates through modules to identify only the relevant E2E tests. It supports barrel file precision, escape hatches for files that should always trigger a full run, and can pipe its output to any test runner or tool. Current limitations include no native code analysis and a manually maintained test map, though automatic instrumentation for React Native is planned.
Table of contents
What Sniffler doesGetting started with SnifflerHow Sniffler worksLimitationsConclusion436 Impressions