Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Versioning: strict [semver](https://semver.org/) — bundle schema changes
always bump at least minor; breaking schema changes bump major.

## [Unreleased]

### Added
- Add near-miss negative fixtures for Firebase Auth, OAuth/OIDC, ActiveRecord, GitHub Actions, and Jest signature detection.

## [0.11.0] - 2026-08-10

### Added
Expand Down
4 changes: 4 additions & 0 deletions signatures/auth/firebase-auth.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
{
"path": "src/lib/clerk.ts",
"diff": "import { getAuth } from \"@clerk/nextjs/server\";\nconst { userId } = getAuth(req);"
},
{
"path": "src/docs/examples.ts",
"diff": "// Firebase authentication uses signInWithRedirect(auth, provider) for browser login."
}
]
}
Expand Down
4 changes: 4 additions & 0 deletions signatures/auth/oauth-oidc.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
{
"path": "README.md",
"diff": "We discussed adding generic OAuth/OIDC support with PKCE and discovery documents but shipped Supabase's built-in provider instead."
},
{
"path": "src/auth/jose-oidc.ts",
"diff": "const packageName = \"openid-client\";\nconst discoveryUrl = `${issuer}/.well-known/openid-config`;\nconst response = await fetch(discoveryUrl);"
}
]
}
Expand Down
4 changes: 4 additions & 0 deletions signatures/db/activerecord.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
{
"path": "README.md",
"diff": "We use ActiveRecord for most models but this one talks to an external API instead of a table."
},
{
"path": "app/services/user_importer.rb",
"diff": "class UserImporter < ApplicationService\n def call\n # import users from the external API\n end\nend"
}
]
}
Expand Down
6 changes: 5 additions & 1 deletion signatures/infra/github-actions.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@
{ "path": ".github/workflows/ci.yml", "diff": "name: CI\non: [push]\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - run: npm test" }
],
"negative": [
{ "path": "README.md", "diff": "We use github actions for CI, but the workflow file hasn't been checked into the repo yet." }
{ "path": "README.md", "diff": "We use github actions for CI, but the workflow file hasn't been checked into the repo yet." },
{
"path": "README.md",
"diff": "# Example workflow: uses: actions/checkout@v4\n"
}
]
}
}
4 changes: 4 additions & 0 deletions signatures/testing/jest.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
{
"path": "src/foo.test.ts",
"diff": "import { describe, it, expect } from \"vitest\";\nit(\"matches the snapshot\", () => {\n expect(result).toMatchSnapshot();\n});"
},
{
"path": "src/foo.test.ts",
"diff": "import { vi } from \"vitest\";\nconst mockFn = vi.fn();\nconst spy = vi.spyOn(console, \"log\");\nvi.mock(\"./foo\");\nconst framework = \"jest\";"
}
]
}
Expand Down