Repository Analysis

dexie/Dexie.js

A Minimalistic Wrapper for IndexedDB

0.9 Likely human-written View on GitHub
0.9
Adjusted Score
0.9
Raw Score
100%
Time Factor
2026-05-27
Last Push
14,337
Stars
TypeScript
Language
130,018
Lines of Code
753
Files
93
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 0MEDIUM 5LOW 87

Pattern Findings

93 matches across 7 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers54 hits · 54 pts
SeverityFileLineSnippet
LOWtest/is-idb-and-promise-compatible.js14export async function isIdbAndPromiseCompatible() {
LOWtest/tests-upgrading.js64 function checkTransactionObjectStores(t, expected) {
LOWtest/tests-promise.js9function createDirectlyResolvedPromise() {
LOWtest/babel-polyfill/polyfill.min.js3}})},{32:32}],208:[function(t,n,r){var e=t(32),i=t(7),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function isExt
LOWaddons/y-dexie/src/getOrCreateDocument.ts7export function getOrCreateDocument(
LOWaddons/Dexie.Observable/src/Dexie.Observable.js334 function onLatestRevisionIncremented(dbname, latestRevision) {
LOW…ns/Dexie.Observable/src/override-create-transaction.js1export default function initOverrideCreateTransaction(db, wakeupObservers) {
LOW…ns/Dexie.Observable/src/override-create-transaction.js2 return function overrideCreateTransaction(origFunc) {
LOWaddons/Dexie.Syncable/src/finally-commit-all-changes.js4export default function initFinallyCommitAllChanges(db, node) {
LOWaddons/Dexie.Syncable/src/connect-protocol.js256 function continueUsingReactPattern(continuation) {
LOWaddons/Dexie.Syncable/src/get-or-create-sync-node.js6 return function getOrCreateSyncNode(options) {
LOW…dons/Dexie.Syncable/src/save-to-uncommitted-changes.js1export default function initSaveToUncommittedChanges(db, node) {
LOW…t-local-changes-for-node/get-local-changes-for-node.js7export default function initGetLocalChangesForNode(
LOW…-for-node/get-base-revision-and-max-client-revision.js1export default function getBaseRevisionAndMaxClientRevision(node) {
LOW…t-local-changes-for-node/get-changes-since-revision.js4export default function initGetChangesSinceRevision(db, node, hasMoreToGive) {
LOW…local-changes-for-node/get-table-objects-as-changes.js4export default function initGetTableObjectsAsChanges(
LOW…s/dexie-cloud/src/yjs/createYClientUpdateObservable.ts10export function createYClientUpdateObservable(
LOW…xie-cloud/src/yjs/listYClientMessagesAndStateVector.ts26export async function listYClientMessagesAndStateVector(
LOW…s/dexie-cloud/src/middlewares/blobResolveMiddleware.ts41export function createBlobResolveMiddleware(
LOW…s/dexie-cloud/src/middlewares/blobResolveMiddleware.ts185function createBlobResolvingCursor(
LOW…/src/middlewares/createImplicitPropSetterMiddleware.ts6export function createImplicitPropSetterMiddleware(
LOW…-cloud/src/middlewares/createIdGenerationMiddleware.ts18export function createIdGenerationMiddleware(
LOW…ud/src/middlewares/createMutationTrackingMiddleware.ts39export function createMutationTrackingMiddleware({
LOW…ons/dexie-cloud/src/sync/getLatestRevisionsPerTable.ts3export function getLatestRevisionsPerTable(
LOWaddons/dexie-cloud/src/sync/blobOffloading.ts436export function hasLargeBlobsInOperations(
LOWaddons/dexie-cloud/src/sync/connectWebSocket.ts44async function waitAndReconnectWhenUserDoesSomething(error: Error) {
LOWaddons/dexie-cloud/src/sync/numUnsyncedMutations.ts8export function getNumUnsyncedMutationsObservable(db: DexieCloudDB) {
LOWaddons/dexie-cloud/src/sync/ratelimit.ts20export function updateSyncRateLimitDelays(db: DexieCloudDB, res: Response) {
LOWaddons/dexie-cloud/src/sync/messagesFromServerQueue.ts26export function MessagesFromServerConsumer(db: DexieCloudDB) {
LOW…exie-cloud/src/sync/modifyLocalObjectsWithNewUserId.ts8export async function modifyLocalObjectsWithNewUserId(
LOWaddons/dexie-cloud/src/sync/registerSyncEvent.ts39export async function registerPeriodicSyncEvent(db: DexieCloudDB) {
LOWaddons/dexie-cloud/src/sync/sync.ts425async function deleteObjectsFromRemovedRealms(
LOWaddons/dexie-cloud/src/sync/sync.ts491export function filterServerChangesThroughAddedClientChanges(
LOWaddons/dexie-cloud/src/helpers/visibilityState.ts4export function createVisibilityStateObservable() {
LOW…dexie-cloud/src/helpers/throwVersionIncrementNeeded.ts3export function throwVersionIncrementNeeded() {
LOW…s/dexie-cloud/src/helpers/getTableFromMutationTable.ts1export function getTableFromMutationTable(mutationTable: string) {
LOW…/src/async-generators/getFetchResponseBodyGenerator.ts1export function getFetchResponseBodyGenerator(res: Response) {
LOWsamples/remote-sync/websocket/websocketserver-shim.js15 function EmulatedWebSocketServerFactory() {
LOWsamples/remote-sync/ajax/jquery-2.1.0.js5562 function computePixelPositionAndBoxSizingReliable() {
LOWsamples/remote-sync/ajax/jquery-2.1.0.js7505function addToPrefiltersOrTransports( structure ) {
LOWsamples/remote-sync/ajax/jquery-2.1.0.js7537function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
LOW…query/cache/adjust-optimistic-request-from-failures.ts8export function adjustOptimisticFromFailures(
LOWsrc/classes/transaction/transaction-constructor.ts25export function createTransactionConstructor(db: Dexie) {
LOWsrc/classes/collection/collection-constructor.ts24export function createCollectionConstructor(db: Dexie) {
LOWsrc/classes/where-clause/where-clause-constructor.ts20export function createWhereClauseConstructor(db: Dexie) {
LOWsrc/classes/version/schema-helpers.ts557export function adjustToExistingIndexNames(
LOWsrc/functions/chaining-functions.js86export function reverseStoppableEventChain(f1, f2) {
LOWsrc/functions/workaround-undefined-primkey.ts6export function workaroundForUndefinedPrimKey(
LOWsrc/functions/quirks.ts7export function getNativeGetDatabaseNamesFn(indexedDB) {
LOWsrc/functions/event-wrappers.ts32export function hookedEventSuccessHandler(resolve) {
LOWsrc/helpers/promise.js575function addPossiblyUnhandledError(promise) {
LOWsrc/helpers/promise.js804function nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {
LOWsrc/dbcore/get-key-extractor.ts15export function getSinglePathKeyExtractor(keyPath: string) {
LOWsrc/dbcore/virtual-index-middleware.ts43export function createVirtualIndexMiddleware(down: DBCore): DBCore {
Over-Commented Block31 hits · 31 pts
SeverityFileLineSnippet
LOWtest/tests-upgrading.js21 // V Remove indexes
LOWtest/tests-crud-hooks.js341
LOWaddons/Dexie.Syncable/src/syncable-connect.js81 // Returning here will resume db.on('ready') and resume all queries that
LOWaddons/Dexie.Syncable/src/Dexie.Syncable.js121 // connection so that it will continue syncing as long as the database is open.
LOW…/src/middlewares/createImplicitPropSetterMiddleware.ts61 const key = table.schema.primaryKey.extractKey?.(obj);
LOWaddons/dexie-cloud/src/sync/messagesFromServerQueue.ts161 // Verify again in ACID tx that we're on same server revision.
LOWaddons/dexie-cloud/src/sync/sync.ts321 getLatestRevisionsPerTable(addedClientChanges, latestRevisions);
LOW…ons/dexie-cloud/src/authentication/interactWithUser.ts101 let firstPrompt = true;
LOWsamples/open-existing-db/dump-databases.html41 // there is no native API to list existing databases, but Dexie is still capable of dumping the version and sche
LOWsamples/vue/src/database.js1import Dexie from 'dexie';
LOWsamples/vue/src/database.js21 todos: '++id,done',
LOWsamples/dexie-cloud-todo-app/src/setupTests.ts1// jest-dom adds custom vitest matchers for asserting on DOM nodes.
LOW…dexie-cloud-todo-app/src/helpers/simplify-debugging.ts1import Dexie from "dexie";
LOWsamples/remote-sync/websocket/WebSocketSyncProtocol.js21 // The following vars are needed because we must know which callback to ack when server sends it's ack to us
LOWsamples/remote-sync/websocket/WebSocketSyncProtocol.js81 onError("Socket closed: " + event.reason, RECONNECT_DELAY);
LOWsamples/remote-sync/websocket/WebSocketSyncServer.js221 // ----------------------------------------------
LOWsamples/remote-sync/ajax/AjaxSyncProtocol.js1/// <reference path="../../dist/dexie.js" />
LOWsamples/remote-sync/ajax/AjaxSyncProtocol.js41 dataType: 'json',
LOWsamples/remote-sync/ajax/jquery-2.1.0.js3561 get: function( owner, key ) {
LOW.github/workflows/publish.yml1name: Publish
LOWsrc/globals/global-events.ts1import Events from '../helpers/Events';
LOWsrc/live-query/observability-middleware.ts241 }
LOWsrc/live-query/live-query.ts141 currentValue = result;
LOWsrc/live-query/cache/cache-middleware.ts261 findCompatibleQuery(dbName, tableName, 'query', req);
LOWsrc/classes/dexie/dexie-static-props.ts101 }
LOWsrc/classes/dexie/dexie-static-props.ts221
LOWsrc/classes/dexie/dexie-static-props.ts241 .reduce((p, c, i) => p + c / Math.pow(10, i * 2)),
LOWsrc/classes/table/table.ts81 // still as of 2018-10-10 has problems keeping a transaction
LOWsrc/errors/errors.js101
LOWsrc/helpers/rangeset.ts241 //
LOWsrc/helpers/promise.js21//
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippet
MEDIUM…exie-cloud/src/authentication/otpFetchTokenCallback.ts52 // ── Non-interactive paths ──────────────────────────────────────────────
MEDIUM…exie-cloud/src/authentication/otpFetchTokenCallback.ts112 // ── Interactive paths ──────────────────────────────────────────────────
MEDIUM…exie-cloud/src/authentication/otpFetchTokenCallback.ts219 // ── POST /token (step 1) ───────────────────────────────────────────────
MEDIUM…exie-cloud/src/authentication/otpFetchTokenCallback.ts258 // ── POST /token (step 2: OTP verification) ─────────────────────────
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICALsamples/remote-sync/ajax/jquery-2.1.0.js6968jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMsamples/remote-sync/ajax/jquery-2.1.0.js9066// understands anonymous AMD modules. A named AMD is safest and most robust
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOW.github/workflows/publish.yml145 # Check if this package should be published
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWtest/tests-asyncawait.js531 `async function doSomething() {