Repository Analysis

immerjs/immer

Create the next immutable state by mutating the current one

1.1 Likely human-written View on GitHub
1.1
Adjusted Score
1.1
Raw Score
100%
Time Factor
2026-05-15
Last Push
28,940
Stars
JavaScript
Language
44,967
Lines of Code
103
Files
30
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 0MEDIUM 2LOW 27

Pattern Findings

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

Verbosity Indicators7 hits · 14 pts
SeverityFileLineSnippet
LOWsrc/plugins/patches.ts51 // Step 1: Check if state has a stored key
LOWsrc/plugins/patches.ts53 // Step 2: Validate the key is still valid in parent
LOWsrc/plugins/patches.ts76 // Step 3: Handle Set case specially
LOWsrc/plugins/patches.ts88 // Step 4: Validate key still exists in parent
LOWsrc/plugins/patches.ts93 // Step 5: Add key to path
LOWsrc/plugins/patches.ts97 // Step 6: Recurse to parent if exists
LOWsrc/plugins/patches.ts102 // Step 7: At root - reverse path and validate
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICAL__tests__/patch.js1593 draft.queries.queryKey.data.items.push({name: "item2"})
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippet
LOW__performance_tests__/data.json5777 "about": "Laboris aliqua labore esse officia Lorem. Ad occaecat ullamco est quis cillum Lorem ipsum eu laboris velit
LOW__performance_tests__/data.json7577 "about": "Ut labore consequat occaecat deserunt qui in. Lorem ipsum commodo culpa minim proident amet voluptate eius
LOW__performance_tests__/data.json8657 "about": "Eu est esse Lorem ipsum aute non labore qui id ad exercitation deserunt. Velit nulla nostrud laboris velit
LOW__performance_tests__/data.json11537 "about": "Enim Lorem ipsum Lorem culpa officia ad et esse ullamco fugiat. Eiusmod non tempor quis ad eu elit magna a
LOW__performance_tests__/data.json12977 "about": "Commodo consectetur occaecat non nostrud est sunt sunt incididunt mollit qui eiusmod laboris do esse. Et e
LOW__performance_tests__/data.json16442 "about": "Commodo elit eu irure ex eu eiusmod ipsum et laboris enim dolore nulla fugiat enim. Excepteur non dolor an
LOW__performance_tests__/data.json17342 "about": "Est veniam irure dolore aliquip ex. Dolore minim sunt eu voluptate aliqua. Enim elit cupidatat cupidatat l
LOW__performance_tests__/data.json21707 "about": "Et ea veniam amet nisi labore enim elit. Mollit eu laborum nulla fugiat qui mollit dolor. Reprehenderit no
LOW__performance_tests__/data.json23057 "about": "Fugiat ad eu eu dolor nisi occaecat velit proident velit nostrud enim. Adipisicing aute dolore aute exerci
Hyper-Verbose Identifiers6 hits · 6 pts
SeverityFileLineSnippet
LOWsrc/core/finalize.ts169export function registerChildFinalizationCallback(
LOWsrc/core/finalize.ts194function generatePatchesAndFinalize(state: ImmerState, rootScope: ImmerScope) {
LOWsrc/plugins/patches.ts238 function generatePatchesFromAssigned(
LOWsrc/plugins/arrayMethods.ts267 function handleReorderingOperation(
LOWsrc/plugins/arrayMethods.ts372 function handleNonMutatingOperation(
LOWsrc/utils/common.ts274function dontMutateFrozenCollections() {
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippet
LOWperf-testing/read-cpuprofile.js441// .map(([category, funcMap]) => {
LOWperf-testing/read-cpuprofile.js461// .sort((a, b) => b[1] - a[1])
LOWperf-testing/read-cpuprofile.js481// if (funcKey.includes("[unknown]")) {
LOWperf-testing/read-cpuprofile.js501// uncategorizedStats.forEach(([func, samples]) => {
LOWperf-testing/read-cpuprofile.js521
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM__tests__/regressions.js152 // That's roughly what seamless-immutable does
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
MEDIUM_site/readme/index.html241 Here is a simple example of the difference that Immer could make in practice.