Repository Analysis

plausible/analytics

Open source, privacy-first web analytics. Lightweight, cookie-free Google Analytics alternative. Self-hosted or cloud.

0.4 Likely human-written View on GitHub
0.4
Adjusted Score
0.4
Raw Score
100%
Time Factor
2026-05-28
Last Push
26,631
Stars
Elixir
Language
163,345
Lines of Code
415
Files
72
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 1LOW 71

Pattern Findings

72 matches across 5 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers63 hits · 63 pts
SeverityFileLineSnippet
LOWtracker/installation_support/autoconsent-to-cookies.js25export function initializeCookieConsentEngine({
LOWtracker/installation_support/verifier.js14async function verifyPlausibleInstallation(options) {
LOWtracker/installation_support/verifier.js121function getNormalizedPlausibleEventBody(fetchOptions) {
LOWtracker/installation_support/verifier.js144function startRecordingEventFetchCalls() {
LOWtracker/installation_support/verifier.js310function forceIgnoreWebdriverCondition() {
LOWtracker/test/support/initialize-page-dynamically.ts73export function getConfiguredPlausibleWebSnippet({
LOWtracker/test/support/initialize-page-dynamically.ts112export async function initializePageDynamically(
LOWtracker/test/support/test-utils.js243export function ensurePlausibleInitialized(page) {
LOWtracker/compiler/index.js108function wrapInstantlyEvaluatingFunction(baseCode) {
LOWtracker/src/engagement.js105function registerEngagementListener() {
LOWtracker/src/custom-events.js53function shouldInterceptNavigation(event, link) {
LOWtracker/src/custom-events.js278 function handleTaggedFormSubmitEvent(event) {
LOWtracker/src/custom-events.js321 function handleTaggedElementClickEvent(event) {
LOWassets/js/app.js74function showChangelogNotification(el) {
LOWassets/js/dashboard/api.ts87export function dashboardStateToSearchParams(
LOWassets/js/dashboard/api.ts152function getSharedLinkSearchParams(): Record<string, string> {
LOWassets/js/dashboard/dashboard-time-periods.ts572export function useSaveTimePreferencesToStorage({
LOWassets/js/dashboard/dashboard-time-periods.ts599export function getSavedTimePreferencesFromStorage({
LOWassets/js/dashboard/dashboard-time-periods.ts672export function getCurrentPeriodDisplayName({
LOWassets/js/dashboard/dashboard-time-periods.ts731export function getCurrentComparisonPeriodDisplayName({
LOWassets/js/dashboard/dashboard-state-context.tsx41export default function DashboardStateContextProvider({
LOWassets/js/dashboard/dashboard-state.ts134export function isDateOnOrAfterStatsStartDate({
LOWassets/js/dashboard/dashboard-state.ts146export function isDateBeforeOrOnCurrentDate({
LOWassets/js/dashboard/dashboard-state.ts195function setDashboardPeriodAndDate({
LOWassets/js/dashboard/util/filters.js67export function isFreeChoiceFilterOperation(operation) {
LOWassets/js/dashboard/util/filters.js85export function getPropertyKeyFromFilterKey(filterKey) {
LOWassets/js/dashboard/util/url-search-params.ts166export function serializeSimpleSearchEntry([key, value]: [string, unknown]): [
LOWassets/js/dashboard/util/url-search-params.ts194export function encodeURIComponentPermissive(
LOWassets/js/dashboard/util/url-search-params.ts237export function maybeGetLatestReadableSearch(
LOWassets/js/dashboard/util/url-search-params.ts274export function getSearchWithEnforcedSegment(
LOWassets/js/dashboard/util/storage.js8function testLocalStorageAvailability() {
LOWassets/js/dashboard/nav-menu/dashboard-options-menu.tsx93function DashboardOptionsMenuItems() {
LOW…board/nav-menu/query-periods/dashboard-period-menu.tsx41function DashboardPeriodMenuKeybinds({
LOWassets/js/dashboard/filtering/segments.ts96export function formatSegmentIdAsLabelKey(id: number | string): string {
LOWassets/js/dashboard/filtering/segments.ts118export function getSearchToRemoveSegmentFilter(): Required<AppNavigationTarget>['search'] {
LOWassets/js/dashboard/filtering/segments.ts134export function getSearchToSetSegmentFilter(
LOW…s/js/dashboard/navigation/routeless-modals-context.tsx22export function RoutelessModalsContextProvider({
LOWassets/js/dashboard/components/combobox.js231 function renderSingleOptionContent() {
LOWassets/js/dashboard/components/feature-setup-notice.tsx84 function renderSecondaryCallToAction() {
LOWassets/js/dashboard/extra/exploration/index.tsx27function useScrollActiveColumnIntoView(
LOWassets/js/dashboard/extra/exploration/journey.ts275export function updateJourneyOnRateLimitError({
LOWassets/js/dashboard/hooks/use-query-api.ts150export function useSearchAndPaginateQueryAPI(
LOWassets/js/dashboard/error/something-went-wrong.tsx8export function SomethingWentWrongMessage({
LOW…/dashboard/stats/imported-query-unsupported-warning.js7export default function ImportedQueryUnsupportedWarning({
LOWassets/js/dashboard/stats/breakdowns.tsx59export function getStatsQueryWithImplicitNotEmptyFilter(
LOWassets/js/dashboard/stats/breakdowns.tsx135export function MetricValueTooltipContent({
LOWassets/js/dashboard/stats/graph/intervals.ts46export function extractIntervalFromDimensions(dimensions: string[]): Interval {
LOWassets/js/dashboard/stats/graph/intervals.ts136function validIntervalsForMainPeriod(
LOWassets/js/dashboard/stats/graph/intervals.ts152function validIntervalsForCustomComparison(
LOWassets/js/dashboard/stats/graph/intervals.ts200function validIntervalsForCustomPeriod({ to, from }: DayjsRange): Interval[] {
LOWassets/js/dashboard/stats/graph/intervals.ts216function validIntervalsForAllTimePeriod(
LOWassets/js/dashboard/stats/graph/visitor-graph.tsx181function getStoredTopStatsHeightKey(site: Pick<PlausibleSite, 'domain'>) {
LOWassets/js/dashboard/stats/behaviours/index.js479 function renderImportedQueryUnsupportedWarning() {
LOW…hboard/stats/behaviours/special-goal-prop-breakdown.js21 function getExternalLinkUrlFactory() {
LOWassets/js/dashboard/stats/behaviours/modes-context.tsx48function getInitiallyAvailableModes({
LOW…s/js/dashboard/stats/modals/details-breakdown.test.tsx76function flushTanStackNotification() {
LOWassets/js/dashboard/stats/modals/details-breakdown.tsx257function VisitorsWithPercentageCell({
LOWassets/js/dashboard/stats/locations/map.tsx272function colorInCountriesWithValues(
LOWassets/js/dashboard/stats/locations/map.tsx303function drawHighlightedCountryOutline(element: SVGSVGElement) {
LOWassets/js/dashboard/stats/locations/map.tsx334function parseWorldTopoJsonToGeoJsonFeatures(): Array<WorldJsonCountryData> {
3 more matches not shown…
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippet
LOWpriv/ua_inspector/device.shell_tv.yml1###############
LOWpriv/ua_inspector/device.televisions.yml1###############
LOWpriv/ua_inspector/os.oss.yml1###############
LOWpriv/ref_inspector/referers.yml1# #######################################################################################################
LOWe2e/playwright.config.ts41 // use: { ...devices['Desktop Firefox'] },
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOWtracker/test/transform-request.spec.ts197 return { ...payload, p: { author: 'Jane Doe' } }
LOWtracker/test/transform-request.spec.ts224 author: 'Jane Doe'
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMassets/package-lock.json9256 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
Verbosity Indicators1 hit · 1 pts
SeverityFileLineSnippet
LOWassets/js/dashboard/util/url-search-params.ts234 The purpose of this function is to redirect users from one of the previous versions to the current version,