Repository Analysis

mobxjs/mobx

Simple, scalable state management.

0.9 Likely human-written View on GitHub
0.9
Adjusted Score
0.9
Raw Score
100%
Time Factor
2026-05-27
Last Push
28,190
Stars
TypeScript
Language
136,538
Lines of Code
368
Files
117
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 2HIGH 0MEDIUM 1LOW 114

Pattern Findings

117 matches across 4 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers92 hits · 78 pts
SeverityFileLineSnippet
LOWdocs/reactions.md340function createSomeDisposableResource() {}
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13926 function collectClosureIdentsAndTraverse(node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13936 function collectBlockIdentsAndTraverse(node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13946 function visitLocalClosureIdentifiers(node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js132 function createSourceCodeErrorMessage(code, e) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js3311 function scanUnicodeCodePointEscape() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js4527 function markerCreatePreserveWhitespace() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js5953 function parsePropertyMethodFunction(options) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6232 function parseObjectSpreadProperty() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6511 function parseSpreadOrAssignmentExpression() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6564 function parseLeftHandSideExpressionAllowCall() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6617 function parseLeftHandSideExpression() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6919 function parseConditionalExpression() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js6953 function reinterpretAsAssignmentBindingPattern(expr) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7004 function reinterpretAsDestructuredParameter(options, expr) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7047 function reinterpretAsCoverFormalsList(expressions) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7112 function parseArrowFunctionExpression(options, marker) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7148 function parseAssignmentExpression() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7355 function parseTypeParameterDeclaration() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7374 function parseTypeParameterInstantiation() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7462 function parseObjectTypeCallProperty(marker, isStatic) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7883 function parseTypeAnnotatableIdentifier(
LOW…s/getting-started-assets/javascripts/JSXTransformer.js7953 function parseVariableDeclarationList(kind) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js8017 function parseExportBatchSpecifier() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js8244 function parseImportDefaultSpecifier() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js8254 function parseImportNamespaceSpecifier() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js8447 function parseForVariableDeclaration() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js9001 function parseFunctionSourceElements() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js10445 function parseJSXExpressionContainer() {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13215 function compareByOriginalPositions(
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13260 function compareByGeneratedPositions(
LOW…s/getting-started-assets/javascripts/JSXTransformer.js13980 function visitLocalBlockIdentifiers(node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js14349 function getNextSyntacticCharOffset(char, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js14586 function getLexicalBindingMetadata(identName, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js14669 function enqueueNodeWithStartIndex(queue, node) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js14739 function injectTempVarDeclarations(state, index) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15235 function visitClassFunctionExpression(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15687 function visitSuperMemberExpression(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15799 function getDestructuredComponents(node, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15888 function visitStructuredAssignment(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15966 function visitFunctionBodyForStructuredParameter(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js15982 function renderDestructuredComponents(funcNode, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16129 function visitObjectLiteralShortNotation(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16197 function visitFunctionParamsWithRestParam(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16254 function visitFunctionBodyWithRestParam(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16366 function visitTaggedTemplateExpression(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16861 function visitInterfaceDeclaration(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16884 function visitFunctionParametricAnnotation(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16898 function visitFunctionReturnAnnotation(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16907 function visitOptionalFunctionParameterAnnotation(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16921 function visitTypeAnnotatedIdentifier(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js16930 function visitTypeAnnotatedObjectOrArrayPattern(traverse, node, path, state) {
LOW…s/getting-started-assets/javascripts/JSXTransformer.js17081 function renderJSXExpressionContainer(traverse, object, isLast, path, state) {
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js197 function throwingComputedValueSetter() {
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js555 function observeObservableProperty(
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js799 function checkIfStateModificationsAreAllowed() {
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js1081 function getValueModeFromModifierFunc(func) {
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js1724 function setObservableObjectProperty(adm, propName, value) {
LOW…/assets/getting-started-assets/javascripts/mobx.umd.js1933 function assertPropertyConfigurable(object, prop) {
LOW…tarted-assets/javascripts/codemirror/lib/codemirror.js2134 function conflictingCollapsedRange(doc, lineNo, from, to, marker) {
32 more matches not shown…
Over-Commented Block22 hits · 20 pts
SeverityFileLineSnippet
LOWdocs/custom-observables.md41 // - Callback for when this atom transitions from observed to unobserved.
LOW…s/getting-started-assets/javascripts/JSXTransformer.js2261 // following conditions:
LOW…s/getting-started-assets/javascripts/JSXTransformer.js11501 // length quantities we use in the source map spec, the first bit is the sign,
LOW…s/getting-started-assets/javascripts/JSXTransformer.js11661 * @param aNeedle The element being searched for.
LOW…s/getting-started-assets/javascripts/JSXTransformer.js11861 // are lazily instantiated, accessed via the `_generatedMappings` and
LOW…tarted-assets/javascripts/codemirror/lib/codemirror.js481 // One-char codes used for character types:
LOW…tarted-assets/javascripts/codemirror/lib/codemirror.js3701 lineObj = getLine(cm.doc, pos.line)
LOW…tarted-assets/javascripts/codemirror/lib/codemirror.js6241 // the scroll effect that the first few mouse wheel events have,
LOW…tarted-assets/javascripts/codemirror/lib/codemirror.js8021 )
LOW…mobx-react/__tests__/utils/killFinalizationRegistry.ts1// We want to be able to test reaction cleanup code that based on FinalizationRegistry & timers on the same run
LOWpackages/mobx-react/src/observerClass.ts121 // Happens with `<Suspend>` see #3492
LOWpackages/mobx/__tests__/v5/base/strict-mode.js121
LOWpackages/mobx/src/core/observable.ts41export function hasObservers(observable: IObservable): boolean {
LOWpackages/mobx/src/core/observable.ts161
LOWpackages/mobx-react-lite/__tests__/observer.test.tsx861// emmitedErrors.push(error)
LOWpackages/mobx-react-lite/__tests__/observer.test.tsx881
LOWpackages/mobx-react-lite/__tests__/observer.test.tsx901// const renderedValues = []
LOWpackages/mobx-react-lite/__tests__/observer.test.tsx921// </p>
LOW…/__tests__/strictAndConcurrentModeUsingTimers.test.tsx61 expect(count1IsObserved).toBeTruthy()
LOW…/__tests__/strictAndConcurrentModeUsingTimers.test.tsx101
LOW…/__tests__/strictAndConcurrentModeUsingTimers.test.tsx121 expect(countIsObserved).toBeTruthy()
LOW…react-lite/__tests__/utils/killFinalizationRegistry.ts1// We want to be able to test reaction cleanup code that based on FinalizationRegistry & timers on the same run
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippet
CRITICAL…getting-started-assets/javascripts/jquery-2.1.4.min.js3752 n.each(n.expr.match.bool.source.match(/\w+/g), function(a, b) {
CRITICAL…tarted-assets/javascripts/codemirror/lib/codemirror.js12669 return this.cm.display.wrapper.ownerDocument.getSelection()
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMpackages/mobx-react/__tests__/finalizationRegistry.tsx16 // There is no profound reason why that's the case, if you know a simpler or more robust setup