AI Slop Code Risk Monitor

ag-grid/ag-grid

SlopCodeMonitor badge for ag-grid/ag-grid Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

The best JavaScript Data Table for building Enterprise Applications. Supports React / Angular / Vue / Plain JavaScript.

1.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ag-grid/ag-grid, a TypeScript project with 15,670 GitHub stars. SynthScan examined 1,571,092 lines of code across 9793 source files, recording 1532 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 1.4 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.4
Adjusted Signal
1.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
15.7K
Stars
TypeScript
Language
1.6M
Lines of Code
9.8K
Files
1.5K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 1018 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

Are imports declared and package/API names verified? 268 finding(s).

Agent Over-Engineering Ratio 3.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 726 finding(s).

PR Review Velocity Impact 6.5/100 · LOW

Which changes need focused human review? 1532 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 4MEDIUM 269LOW 1257

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1532 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators246 hits · 724 pts
SeverityFileLineSnippetContext
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss6// ─── Brand tokens ────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss17// ─── Page wrapper ────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss85// ─── Eyebrows (Geist Mono UPPERCASE) ─────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss116// ─── Layout primitives ───────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss143// ─── Hero ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss401// ─── Hero faces (right side) ─────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss498// ─── Hero entrance animation ─────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss583// ─── Buttons (brand) ─────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss651// ─── Roll-up text animation ──────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss706// ─── Section nav ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss741// ─── Generic section ─────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss781// ─── Full-width section title rule ───────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss822// ─── Intro ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss867// ─── Speakers ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss1057// ─── Agenda ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss1460// ─── Photo gallery (continuous marquee) ──────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss1533// ─── Session recording modal ─────────────────────────────────────────────────COMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss1623// ─── Notify me (Mailchimp signup) ────────────────────────────────────────────COMMENT
MEDIUM…behavioural/src/benchmarks/grouping-pipelines.bench.ts31// ── Plain grouping (3 levels, value + count agg) ─────────────────────────────────────────────────COMMENT
MEDIUM…behavioural/src/benchmarks/grouping-pipelines.bench.ts78// ── Grouping + sorting (5 levels, all sorted) ────────────────────────────────────────────────────COMMENT
MEDIUM…behavioural/src/benchmarks/grouping-pipelines.bench.ts127// ── Grouping + aggregation (3 levels, 50 value cols) ─────────────────────────────────────────────COMMENT
MEDIUM…behavioural/src/benchmarks/grouping-pipelines.bench.ts240// ── Grouping + filtering (3 levels, text filter) ─────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/benchmarks/bench-data.ts6// ── Flat data (id / name / value) — shared by the flat-pipelines benches. ────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts30 // ─── Non-batch (single cell edit) ────────────────────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts124 // ─── Batch commit ─────────────────────────────────────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts330 // ─── Multi-column batch ─────────────────────────────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts376 // ─── Pivot + batch ───────────────────────────────────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts464 // ─── Tree data ────────────────────────────────────────────────────────────COMMENT
MEDIUM…rc/cell-editing/cell-editing-batch-aggregation.test.ts504 // ─── Grand total row batch styling ────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts90 // ── Basic / documented behaviour ────────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts183 // ── Row-dimension invalidation ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts311 // ── Grouping ────────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts420 // ── Pagination ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts453 // ── Column-dimension invalidation ───────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts791 // ── Column membership (ColModel-driven registration) ────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts936 // ── Pinned & full-width rows ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMtesting/behavioural/src/columns/row-span.test.ts1090 // ── DOM contract (low-level rendering primitives the snapshot tooling builds on) ──────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts63 // ── Per-section validation ──────────────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts69 // ── Sort index consistency ──────────────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts72 // ── Pinned boundary markers ─────────────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts75 // ── Row group / pivot / value column list consistency ────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts78 // ── Column state snapshot consistency ────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts81 // ── isColumn type discriminator ─────────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts88 // ── Liveness: no destroyed cols/groups reachable from the grid ──────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts91 // ── Provided-group id uniqueness in the current state ───────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts94 // ── api.getColumn(colId) lookup consistency ─────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts97 // ── api.getDisplayedColAfter / Before navigation chain ──────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts100 // ── getAllGridColumns() colId uniqueness ────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts103 // ── Hidden columns excluded from displayed ──────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts109 // ── Tree leaves match section flat arrays ───────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts112 // ── isPinning / isPinningLeft / isPinningRight consistency ──────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts115 // ── getColumnGroupState matches displayed group isExpanded() ────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts118 // ── getAllDisplayedColumnGroups consistency with section trees ──────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts124 // ── api.getColumnDef(colId) returns each displayed col's colDef ─────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts127 // ── api.getColumns() superset of displayed (covers colDefCols) ──────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts130 // ── api.getColumnGroup / getProvidedColumnGroup lookup ──────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts133 // ── At-rest UI flags (hover, menu) ──────────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts136 // ── Per-column flex / state consistency ─────────────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts139 // ── Tree root parents are null in each section ──────────────────────COMMENT
MEDIUM⚡…gridColumns/columns-validation/gridColumnsValidator.ts142 // ── All cols in column state are reachable via api.getColumn ────────COMMENT
186 more matches not shown…
Hyper-Verbose Identifiers480 hits · 483 pts
SeverityFileLineSnippetContext
LOW…ation/ag-grid-docs/plugins/agDevMarkdownNegotiation.ts14export default function agDevGridMarkdownNegotiation(): Plugin {CODE
LOW…-grid-docs/scripts/validate-example-dev-validations.ts68async function validateExampleDevValidations(): Promise<ValidationResult> {CODE
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts81// export function addNewIdentifierNextToGiven(root: j.Collection<any>, targetName: string, newName: string) {COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts112// // export function isUsingEnterpriseNpmPackage(root: j.Collection<any>): boolean {COMMENT
LOW…n/_examples/change-detection-delta-aggregation/main.ts152function pickExistingRowItemAtRandom(api: GridApi) {CODE
LOW…n/_examples/change-detection-delta-aggregation/main.ts157function pickExistingRowNodeAtRandom(api: GridApi): IRowNode | undefined {CODE
LOW…n/_examples/change-detection-delta-aggregation/main.ts221function changeGroupUsingTransaction() {CODE
LOW…nge-detection/_examples/change-detection-pivot/main.ts149function pickExistingRowNodeAtRandom(api: GridApi) {CODE
LOW…nge-detection/_examples/change-detection-pivot/main.ts163function pickExistingRowItemAtRandom(api: GridApi): Student | null {CODE
LOW…nge-detection/_examples/change-detection-pivot/main.ts183function addNewGroupUsingTransaction() {CODE
LOW…de-model-tree-data/_examples/purging-tree-data/main.ts119function createServerSideDatasource(fakeServer: any) {CODE
LOW…-model-tree-data/_examples/filtering-tree-data/main.ts106function floatingFilterValueFormatter(params: ValueFormatterParams) {CODE
LOW…-tree-data/_examples/filtering-tree-data/fakeServer.ts222 function recursiveFilterParentMatches(allResults, childResults) {CODE
LOW…-tree-data/_examples/filtering-tree-data/fakeServer.ts235 function recursiveFilterChildMatches(allResults, parentResults) {CODE
LOW…-model-tree-data/_examples/selecting-tree-data/main.ts196function createServerSideDatasource(fakeServer: FakeServer) {CODE
LOW…erver-side-model-tree-data/_examples/tree-data/main.ts120function createServerSideDatasource(fakeServer: any) {CODE
LOW…del-tree-data/_examples/transactions-tree-data/main.ts262function createServerSideDatasource(fakeServer: any) {CODE
LOW…-model-tree-data/_examples/supplying-hierarchy/main.ts86 function createServerSideDatasource(data: any) {CODE
LOW…d-columns-api/_examples/calculated-columns-api/main.ts109function onCalculatedColumnChanged(event: CalculatedColumnChangedEvent<SalesRow>) {CODE
LOW…odel-row-height/_examples/resetting-row-height/main.ts62function createServerSideDatasource(server) {CODE
LOW…advanced-columns/_examples/configuring-columns/main.ts94function onIncludeHiddenColumnsToggled() {CODE
LOW…docs/row-sorting/_examples/sorting-api/example.spec.ts72function expectLexicographicallySorted(primary: string[], secondary: string[]) {CODE
LOW…ocs/row-sorting/_examples/multi-column/example.spec.ts15function expectLexicographicallySorted(CODE
LOW…t/docs/accessing-data/_examples/using-for-each/main.ts60function onBtForEachNodeAfterFilter() {CODE
LOW…t/docs/accessing-data/_examples/using-for-each/main.ts65function onBtForEachNodeAfterFilterAndSort() {CODE
LOW…ocs/src/content/docs/context/_examples/context/main.ts96function reportingCurrencyValueGetter(params: ValueGetterParams<IProduct, IPrice, IReportingContext>): IPrice {CODE
LOW…ng/_examples/tree-unmanaged-row-drag-highlight/main.ts152function setPotentialParentForNode(api: GridApi<IFile>, overNode: IRowNode<IFile> | undefined | null) {CODE
LOW…docs/pdf-export-rows/_examples/pdf-export-rows/main.ts107function onPdfExportOptionsChanged() {CODE
LOW…t-rows/_examples/pdf-wrapping-grouping-pinning/main.ts141function onPdfExportOptionsChanged() {CODE
LOW…-columns-customising/_examples/expand-collapse/main.ts94function expandAthleteAndCompetitionGroups() {CODE
LOW…-columns-customising/_examples/expand-collapse/main.ts99function collapseCompetitionGroups() {CODE
LOW…nc/_examples/rich-select-paged-async-filtering/main.ts32function getFilteredValuePageFromServer(CODE
LOW…nc/_examples/rich-select-paged-async-filtering/main.ts55function getInitialStartRowForValue(value: string | null | undefined): number {CODE
LOW…async/_examples/rich-select-paged-async-values/main.ts50function getInitialStartRowForValue(value: string | null | undefined): number {CODE
LOW…ent/docs/column-groups/_examples/group-changes/main.ts98function onParticipantAndMedalsInGroups() {CODE
LOW…s/filtering/_examples/provided-filters/example.spec.ts27async function expectVisibleColumnValues(CODE
LOW…docs/filter-text/_examples/text-filter/example.spec.ts5async function expectFilterPopupWidensFromRightEdge(page: Page): Promise<void> {CODE
LOW…ata-updates/_examples/preserve-previous-values/main.ts70function selectAlgeriaAndArgentina() {CODE
LOW…el-configuration/_examples/additional-row-data/main.ts69function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…odel-configuration/_examples/cache-block-state/main.ts69function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…onfiguration/_examples/initial-scroll-position/main.ts69function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…l-configuration/_examples/cache-configurations/main.ts70function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…el-configuration/_examples/block-load-debounce/main.ts69function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…-rows/_examples/full-width-keyboard-navigation/main.ts22function getAllFocusableElementsOf(el: HTMLElement) {CODE
LOW…g-transactions/_examples/transactions-showcase/main.ts178function isServerSideGroupOpenByDefault(params: IsServerSideGroupOpenByDefaultParams) {CODE
LOW…sactions/_examples/transactions-showcase/fakeServer.ts58 function executeGroupChildCountsQuery(request, groupId) {CODE
LOW…/server-side-model-datasource/_examples/simple/main.ts59function createServerSideDatasource(server: any): IServerSideDatasource {CODE
LOW…_examples/header-component-keyboard-navigation/main.ts21function getAllFocusableElementsOf(el: HTMLElement) {CODE
LOW…_examples/header-component-keyboard-navigation/main.ts45function suppressHeaderKeyboardEvent({ event }: SuppressHeaderKeyboardEventParams<any>) {CODE
LOW…docs/grid-size-test/_examples/auto-height-ssrm/main.ts35function createServerSideDatasource(): IServerSideDatasource {CODE
LOW…/_examples/configuring-advanced-filter-builder/main.ts105function onAdvancedFilterBuilderVisibleChanged(event: AdvancedFilterBuilderVisibleChangedEvent<IOlympicData>) {CODE
LOW…rouping-data/_examples/grouping-null-undefined/main.ts33function toggleGroupAllowUnbalanced() {CODE
LOW…ter-quick/_examples/quick-filter-configuration/main.ts78function onIncludeHiddenColumnsToggled() {CODE
LOW…i-cross-filter-chart/_examples/sales-dashboard/main.ts116function createQuarterlySalesChart(api: GridApi) {CODE
LOW…-cross-filter-chart/_examples/sales-dashboard2/main.ts116function createQuarterlySalesChart(api: GridApi) {CODE
LOW…-api-cross-filter-chart/_examples/custom-theme/main.ts179function createQuarterlySalesChart(api: GridApi) {CODE
LOW…docs/grid-state/_examples/partial-column-state/main.ts61function recreateWithPartialColumnOrder() {CODE
LOW…export-columns/_examples/pdf-widths-autosizing/main.ts94function onPdfExportOptionsChanged() {CODE
LOW…df-export-columns/_examples/pdf-export-columns/main.ts106function onPdfExportOptionsChanged() {CODE
LOW…nt/docs/column-state/_examples/selective-state/main.ts81function onBtSaveOrderAndVisibilityState() {CODE
420 more matches not shown…
Fake / Example Data261 hits · 256 pts
SeverityFileLineSnippetContext
LOW…ing/_examples/row-spanning-auto-height/example.spec.ts14 await expect(firstLorem).toContainText('Lorem ipsum');CODE
LOW…ow-spanning/_examples/row-spanning-auto-height/main.ts18const lorem = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doCODE
LOW…ow-spanning/_examples/row-spanning-auto-height/main.ts18const lorem = `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doCODE
LOW⚡…ide-model-row-height/_examples/auto-row-height/data.ts3 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW⚡…ide-model-row-height/_examples/auto-row-height/data.ts3 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW…rge-text/_examples/large-text-editor-cols-rows/main.ts33 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
LOW…rge-text/_examples/large-text-editor-cols-rows/main.ts33 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
LOW…large-text/_examples/large-text-editor/example.spec.ts6 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW…large-text/_examples/large-text-editor/example.spec.ts6 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW…large-text/_examples/large-text-editor/example.spec.ts44 // The description value is a fixed Lorem ipsum string.COMMENT
LOW…editors-large-text/_examples/large-text-editor/main.ts29 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
LOW…editors-large-text/_examples/large-text-editor/main.ts29 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
LOW…idth-row/full-width-cell-renderer.component_angular.ts97 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpaCODE
LOW…idth-row/full-width-cell-renderer.component_angular.ts97 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpaCODE
LOW…-width-row/fullWidthCellRenderer_reactFunctionalTs.tsx20 '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intelCODE
LOW…-width-row/fullWidthCellRenderer_reactFunctionalTs.tsx20 '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intelCODE
LOW…er-inside-full-width-row/fullWidthCellRenderer_vue3.ts41 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volCODE
LOW…er-inside-full-width-row/fullWidthCellRenderer_vue3.ts41 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volCODE
LOW…ide-full-width-row/fullWidthCellRenderer_typescript.ts71 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat inCODE
LOW…ide-full-width-row/fullWidthCellRenderer_typescript.ts71 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat inCODE
LOW…les/reorder-grids/provided/reactFunctionalTs/index.tsx36 { id: 1, name: 'John Doe', age: 30, country: 'USA' },CODE
LOW…_examples/excel-export-unlocking-cells/example.spec.ts24 await input.fill('Jane Doe');CODE
LOW…_examples/excel-export-unlocking-cells/example.spec.ts27 await expect(agIdFor.cell('0', 'athlete')).toContainText('Jane Doe');CODE
LOW…ation/_examples/cell-editor-validation/example.spec.ts62 await editInput(page).fill('Jane Doe');CODE
LOW…ation/_examples/cell-editor-validation/example.spec.ts66 await expect(cell).toContainText('Jane Doe');CODE
LOW…amples/cell-editor-validation-override/example.spec.ts27 await editInput(page).fill('Jane Doe');CODE
LOW…amples/cell-editor-validation-override/example.spec.ts30 await expect(cell).toContainText('Jane Doe');CODE
LOW…ll-width/full-width-cell-renderer.component_angular.ts31 Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intellegebat at. Ea necCODE
LOW…ll-width/full-width-cell-renderer.component_angular.ts31 Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intellegebat at. Ea necCODE
LOW…ll-width/full-width-cell-renderer.component_angular.ts50 Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intellegebat at. Ea necCODE
LOW…ll-width/full-width-cell-renderer.component_angular.ts50 Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intellegebat at. Ea necCODE
LOW…full-width/fullWidthCellRenderer_reactFunctionalTs.tsx7 '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intelCODE
LOW…full-width/fullWidthCellRenderer_reactFunctionalTs.tsx7 '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpat intelCODE
LOW…amples/simple-full-width/fullWidthCellRenderer_vue3.ts38 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volCODE
LOW…amples/simple-full-width/fullWidthCellRenderer_vue3.ts38 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volCODE
LOW…/simple-full-width/fullWidthCellRenderer_typescript.ts34 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpaCODE
LOW…/simple-full-width/fullWidthCellRenderer_typescript.ts34 return '<p>Sample Text in a Paragraph</p><p>Lorem ipsum dolor sit amet, his mazim necessitatibus te, mea volutpaCODE
LOW⚡…et-filter-list/_examples/filter-value-tooltips/data.ts3 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore'.split(' ');CODE
LOW⚡…et-filter-list/_examples/filter-value-tooltips/data.ts3 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore'.split(' ');CODE
LOW⚡…tent/docs/row-height/_examples/auto-row-height/data.ts3 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW⚡…tent/docs/row-height/_examples/auto-row-height/data.ts3 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW…t/docs/row-height/_examples/row-height-complex/data.ts1const latinText = 'Lorem ipsum dolor sit amet.\nConsectetur adipiscing elit.';CODE
LOW…t/docs/row-height/_examples/row-height-complex/data.ts1const latinText = 'Lorem ipsum dolor sit amet.\nConsectetur adipiscing elit.';CODE
LOW⚡…ontext-menu/_examples/popup-parent-solution/index.html4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…ontext-menu/_examples/popup-parent-solution/index.html4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…ontext-menu/_examples/popup-parent-solution/index.html13 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…ontext-menu/_examples/popup-parent-solution/index.html13 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…context-menu/_examples/popup-parent-problem/index.html4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…context-menu/_examples/popup-parent-problem/index.html4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…context-menu/_examples/popup-parent-problem/index.html13 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW⚡…context-menu/_examples/popup-parent-problem/index.html13 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc posuere lobortis est, sit amet molestie justo mattisCODE
LOW…ni-filter/_examples/text-customisation/example.spec.ts14 await expect(miniFilter).toHaveAttribute('placeholder', 'Search values...');CODE
LOW…/cell-editing/_examples/simple-editing/example.spec.ts20 await input.fill('Jane Doe');CODE
LOW…/cell-editing/_examples/simple-editing/example.spec.ts23 await expect(cell).toContainText('Jane Doe');CODE
LOW⚡…rovided-cell-editors/_examples/editors/example.spec.ts13// The description column is a fixed Lorem ipsum string.COMMENT
LOW⚡…rovided-cell-editors/_examples/editors/example.spec.ts15 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW⚡…rovided-cell-editors/_examples/editors/example.spec.ts15 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magnaCODE
LOW…rovided-cell-editors/_examples/editors/example.spec.ts124 // The description value is a fixed Lorem ipsum string.COMMENT
LOW…t/docs/provided-cell-editors/_examples/editors/main.ts96 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
LOW…t/docs/provided-cell-editors/_examples/editors/main.ts96 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloCODE
201 more matches not shown…
Overly Generic Function Names225 hits · 226 pts
SeverityFileLineSnippetContext
LOW…cs/component-filter/_examples/filter-component/data.ts1export function getData(): any[] {CODE
LOW…s/filter-component/provided/reactFunctionalTs/data.tsx1export function getData(): any[] {CODE
LOW…-tree-data/_examples/filtering-tree-data/fakeServer.ts179 function processData(data) {CODE
LOW⚡…ide-model-row-height/_examples/auto-row-height/data.ts1export function getData(): any[] {CODE
LOW…lines-axis-types/_examples/sparkline-time-axis/data.ts1export function getData(): any[] {CODE
LOW…nes-axis-types/_examples/sparkline-number-axis/data.ts1export function getData(): any[] {CODE
LOW…s-axis-types/_examples/sparkline-category-axis/data.ts1export function getData(): any[] {CODE
LOW…ent/docs/integrated-charts-menu/_examples/menu/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…rated-charts-menu/_examples/menu-customisation/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…isation/_examples/area-sparkline-customisation/data.ts1export function getData(): any[] {CODE
LOW…_examples/updating-with-transaction-and-groups/data.ts1export function getData(): any[] {CODE
LOW…e-transactions/_examples/suppress-update-model/data.ts13export function getData() {CODE
LOW…-transactions/_examples/small-changes-big-data/data.ts87export function getData() {CODE
LOW…ansactions/_examples/updating-with-transaction/data.ts1export function getData(): any[] {CODE
LOW…ocs/src/content/docs/context/_examples/context/main.ts117function getData(): IProduct[] {CODE
LOW…ustomisation/_examples/column-sparkline-labels/data.ts1export function getData(): any[] {CODE
LOW…ation/_examples/column-sparkline-customisation/data.ts1export function getData(): any[] {CODE
LOW…amples/tree-managed-row-drag-extract-data-path/data.ts7export function getData(): Task[] {CODE
LOW…ing/_examples/tree-managed-row-drag-filesystem/data.ts10export function getData(): IFile[] {CODE
LOW…ging/_examples/tree-managed-row-drag-data-path/data.ts8export function getData(): Task[] {CODE
LOW…xamples/tree-managed-row-drag-extract-children/data.ts8export function getData(): Task[] {CODE
LOW…xamples/tree-unmanaged-row-drag-with-parent-id/data.ts3export function getData(): IFile[] {CODE
LOW…rag-with-parent-id/provided/reactFunctionalTs/data.tsx3export function getData(): IFile[] {CODE
LOW…row-dragging/_examples/tree-unmanaged-row-drag/data.ts3export function getData(): IFile[] {CODE
LOW…examples/tree-unmanaged-row-drag/provided/vue3/data.ts3export function getData(): IFile[] {CODE
LOW…unmanaged-row-drag/provided/reactFunctionalTs/data.tsx3export function getData(): IFile[] {CODE
LOW…a-row-dragging/_examples/tree-managed-row-drag/data.ts8export function getData(): Task[] {CODE
LOW…dragging/_examples/tree-managed-multi-row-drag/data.ts8export function getData(): Task[] {CODE
LOW…ng/_examples/tree-unmanaged-row-drag-highlight/data.ts3export function getData(): IFile[] {CODE
LOW…amples/tree-managed-row-drag-extract-parent-id/data.ts8export function getData(): Task[] {CODE
LOW…ouping-edit/_examples/refresh-after-group-edit/main.ts29function getData(): Employee[] {CODE
LOW…ping-edit/_examples/distribute-group-value-sum/data.ts8export function getData(): SalesRecord[] {CODE
LOW…ocs/grouping-edit/_examples/tree-data-editable/data.ts7export function getData(): BudgetRecord[] {CODE
LOW…-edit/_examples/distribute-group-value-all-agg/data.ts13export function getData(): MetricsRecord[] {CODE
LOW…sation/_examples/dragger-inside-full-width-row/data.ts1export function getData(): any[] {CODE
LOW…ed-charts-chart-types/_examples/scatter-bubble/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…egrated-charts-chart-types/_examples/pie-donut/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…ated-charts-chart-types/_examples/hierarchical/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…/integrated-charts-chart-types/_examples/polar/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…rated-charts-chart-types/_examples/specialized/data.ts1export async function getData(chartType: 'heatmap' | 'waterfall', delay: number = 100): Promise<any[]> {CODE
LOW…grated-charts-chart-types/_examples/column-bar/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…egrated-charts-chart-types/_examples/line-area/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…rated-charts-chart-types/_examples/statistical/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…/integrated-charts-chart-types/_examples/combo/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…integrated-charts-chart-types/_examples/funnel/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…/tree-data-selection/_examples/group-selection/data.ts84export function getData() {CODE
LOW…data-selection/_examples/group-cell-checkboxes/data.ts84export function getData() {CODE
LOW…-chart-tool-panels/_examples/chart-tool-panels/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…ol-panels/_examples/format-panel-customisation/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…tool-panels/_examples/data-panel-customisation/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…art-tool-panels/_examples/chart-tool-panel-api/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…-panels/_examples/settings-panel-customisation/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…panels/_examples/omitting-ordering-tool-panels/data.ts1export async function getData(delay: number = 100): Promise<any[]> {CODE
LOW…-dragging-unmanaged/_examples/simple-unmanaged/data.ts1export function getData(): any[] {CODE
LOW…e-data-group-column/_examples/custom-component/data.ts83export function getData() {CODE
LOW…olumn/_examples/custom-component/provided/vue3/data.ts83export function getData(): any[] {CODE
LOW…s/custom-component/provided/reactFunctionalTs/data.tsx83export function getData() {CODE
LOW…/tree-data-group-column/_examples/group-column/data.ts83export function getData() {CODE
LOW…/tree-data-group-column/_examples/child-counts/data.ts13export function getData() {CODE
LOW…-data-group-column/_examples/dynamic-component/data.ts83export function getData() {CODE
165 more matches not shown…
Over-Commented Block171 hits · 166 pts
SeverityFileLineSnippetContext
LOW.stylelintrc.js21 },COMMENT
LOWinvalidate-cloudfront-cache.sh1#!/usr/bin/env bashCOMMENT
LOWdocumentation/ag-grid-docs/playwright.config.ts141 navigationTimeout: 20_000,COMMENT
LOWdocumentation/ag-grid-docs/playwright.config.ts161 // {COMMENT
LOW…rid-docs/testing/htaccess-harness/archive-migration.sh1#!/usr/bin/env bashCOMMENT
LOW…mentation/ag-grid-docs/testing/htaccess-harness/run.sh1#!/usr/bin/env bashCOMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts1// /* eslint-disable */COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts21// // // .replace(' as ISetFilterParams', '');COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts41// AllEnterpriseModule.dependsOn!.find((m) => m.moduleName === moduleStr || m.moduleName === moduleStr + 'ModuleCOMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts61// return;COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts81// })COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts101// });COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts121// // m += 'Module';COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts141COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts161// // json.columnDefs.forEach((colDef) => {COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts181COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts201// // toAdd.add(validation.module + 'Module');COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts221// toAdd.add('HighlightChangesModule');COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts241// // if (findIdentifier(root, j, 'editable')) {COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts261// // add new modulesCOMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts281// const comment = j.commentBlock(' Development Only ', false, true);COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts301// sortAndCombineImports(root, j);COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts321// const regularImports = importDeclarations; //.filter((path) => path.node.importKind !== 'type');COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts341// // imports that start with ./ should be lastCOMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts361// // Combine duplicate importsCOMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts381COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts401// agMultiColumnFilter: 'MultiFilterModule',COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts421// agNoRowsOverlay: 'OverlayModule',COMMENT
LOW…tion/ag-grid-docs/src/content/docs/module-transform.ts441// agFiltersToolPanel: 'FiltersToolPanelModule',COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts1// import j from 'jscodeshift';COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts21// } else if (aName > bName) {COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts41// * @param targetImportCOMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts61COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts81// export function addNewIdentifierNextToGiven(root: j.Collection<any>, targetName: string, newName: string) {COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts101// // export function getChartsImport(isEnterpriseCharts: boolean): any {COMMENT
LOW…g-grid-docs/src/content/docs/module-transform-utils.ts121// return path?.node?.source?.value === npmPackage;COMMENT
LOW…docs/row-sorting/_examples/sorting-api/example.spec.ts1import { ensureGridReady, expect, test, waitForGridContent, waitForRowAnimations } from '@utils/grid/test-utils';COMMENT
LOW…/_examples/saving-and-restoring-charts/example.spec.ts81 await mouse.move(startX, startY);COMMENT
LOW…id-docs/src/pages-styles/beyond-the-prompt.module.scss501// • Right group — the three `.heroFace` SVGs un-blur in place, slightlyCOMMENT
LOW…tation/ag-grid-docs/src/utils/bryntumCampaignAssets.ts81COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/cspRules.test.ts521 });COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts21// While 'report-only', production keeps enforcing the previous policy (whichCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts41// file for well over the site-wide 7-day cap). Sitemaps, llms.txt, /.well-known/ files, JSONCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts61COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts101# Root static files (robots.txt, favicon.ico): unhashed but low-churn, so a moderateCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts121// bundle) is the same asset class - unhashed, build-time static, never a content page - so itCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts141// Anchored to .js so it can only ever match an actual script file, not a directory orCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts161Header set Cache-Control "no-cache" "expr=%{REQUEST_URI} =~ m#^/((charts|studio)/)?(changelog|pipeline|roadmap)/[^/]+\\.COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts181// Cache-Control rule in it that matches unhashed content would override the root's in-flightCOMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts261RequestHeader edit* If-None-Match '-gzip"' '"'COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts301// block. Production embeds the same rules inside its existing block instead.COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts321# caches must key on it. Scoped to the negotiated paths so the rest of the site keeps its default.COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts741// A bare archive root whose archive has its own .htaccess (grid 36.x, charts 14.x, studio 2.x+).COMMENT
LOW…ation/ag-grid-docs/src/utils/htaccess/htaccessRules.ts761// archives have no .htaccess of their own, so the root's rules are the ones they see.COMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts61COMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts81COMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts101// the only inline scripts the 'site' scope authorises by hash.COMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts121 "'sha256-QzWFZi+FLIx23tnm9SBU4aEgx4x8DsuASP07mfqol/c='", // client:load bootstrapCOMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts141// `vtp_html` is a plain JSON string, whereas an interpolating one is aCOMMENT
LOW…umentation/ag-grid-docs/src/utils/htaccess/cspRules.ts161COMMENT
111 more matches not shown…
Structural Annotation Overuse53 hits · 102 pts
SeverityFileLineSnippetContext
LOW.rulesync/commands/manual-test.md14## Step 1: Locate the example sourceCOMMENT
LOW.rulesync/commands/manual-test.md44## Step 2: Create the test projectCOMMENT
LOW.rulesync/commands/manual-test.md54## Step 3: Update `src/config.ts`COMMENT
LOW.rulesync/commands/manual-test.md97## Step 4: Handle custom UI and componentsCOMMENT
LOW.rulesync/commands/manual-test.md118## Step 5: Verify and reportCOMMENT
LOW…oural/src/filters/set-filter-empty-before-data.test.ts100 // Step 1: apply the model while the grid may still be empty (pre-inference).COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts112 // Step 2: data arrives (a no-op when the grid already had it).COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts119 // Step 3: remove the only row matching the applied model.COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts124 // Step 4: re-apply the identical model, now that 'one' is no longer a grid value.COMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts544 // Step 1: Select columnCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts550 // Step 2: Type operator prefix and selectCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts557 // Step 3: Type value — autocomplete already adds opening quote for text operandsCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts562 // Step 4: ApplyCOMMENT
LOW…rop/tree-data/tree-data-managed-row-drag-basic.test.ts404 // Step 1: Drag 'User Auth' into 'Payment Integration' (making it a child)COMMENT
LOW…rop/tree-data/tree-data-managed-row-drag-basic.test.ts424 // Step 2: Drag 'User Auth' back out alongside 'Payment Integration'COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts160 // Step 1: Remove sport from row groups via the drop zone (simulates removing pill)COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts169 // Step 2: Drag sport back to row groups at same position (exact revert)COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts184 // Step 1: Click X on Sport pill in CTP row group drop zoneCOMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts193 // Step 2: Drag Sport from columns list into row groups drop zoneCOMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx177 // Step 1: Trigger suspense to unmount the gridCOMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx185 // Step 2: Change language while grid is suspended (this changes columnDefs)COMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx190 // Step 3: Resolve suspense to remount the grid with new columnDefsCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts62 // Step 1: Edit cell A0 to "Foo"COMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts83 // Step 2: Re-focus cell A0 (Enter may have navigated to next row), then press Delete to clearCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts102 // Step 3: Press Delete again — should stay cleared (the cell was explicitly edited then cleared)COMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts166 // Step 1: Select ROW_0 and dblClick fill handle to fill downCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts183 // Step 2: Drag fill handle upward to reduce the range back to ROW_0 only.COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1422 // Step 1: Start editing the 'Tesla' cell (top-left)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1428 // Step 2: Press Tab twice to navigate to the empty price cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1536 // Step 1: Start editing the 'Tesla' row by double-clicking the make cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1544 // Step 2: Press Tab twice to navigate to the empty price cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1553 // Step 3: Click on another row (Ford's make cell in row 1)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1720 // Step 4: Press ESC to exit edit mode (cancel edit)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1724 // Step 5: The value in the initial cell should NOT have changedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1439 // Step 3: Click on another cell (e.g., Ford's make cell in row 1)COMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1465 // Step 4: Verify the editor is closedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1578 // Step 4: Verify row 0 editors are closedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1668 // Step 1: Focus on a cell that has a value and create a cell rangeCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1681 // Step 2: Press DELETE - the valueSetter should be called but return falseCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1702 // Step 3: Double-click another cell to enter edit modeCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts47 // Step 1: suppressAggFilteredOnly=true — agg includes ALL children (8000) but only report.pdf matches filterCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts54 // Step 2: toggle suppressAggFilteredOnly OFF — agg now reflects only filtered childrenCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts63 // Step 3: toggle suppressAggFilteredOnly ON again — back to all children aggCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts72 // Step 4: toggle suppressAggFilteredOnly OFF one more timeCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts108 // Step 1: suppressAggFilteredOnly=true, Work filler agg=8000 matches filterCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts117 // Step 2: toggle suppressAggFilteredOnly OFF — Docs agg changes to 8000 (filtered only)COMMENT
LOW…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts128 // Step 3: toggle suppressAggFilteredOnly ON — Docs agg returns to 10000COMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts886 // Step 1: Sort aCOMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts889 // Step 2: Pin bCOMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts892 // Step 3: Hide cCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts234 // Step 1: Apply some stateCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts242 // Step 2: Move column c to first positionCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts245 // Step 3: Update column defs (should preserve state)COMMENT
Verbosity Indicators50 hits · 98 pts
SeverityFileLineSnippetContext
LOW…oural/src/filters/set-filter-empty-before-data.test.ts100 // Step 1: apply the model while the grid may still be empty (pre-inference).COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts112 // Step 2: data arrives (a no-op when the grid already had it).COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts119 // Step 3: remove the only row matching the applied model.COMMENT
LOW⚡…oural/src/filters/set-filter-empty-before-data.test.ts124 // Step 4: re-apply the identical model, now that 'one' is no longer a grid value.COMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts544 // Step 1: Select columnCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts550 // Step 2: Type operator prefix and selectCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts557 // Step 3: Type value — autocomplete already adds opening quote for text operandsCOMMENT
LOW⚡…s/advanced-filter/advanced-filter-autocomplete.test.ts562 // Step 4: ApplyCOMMENT
LOW…rop/tree-data/tree-data-managed-row-drag-basic.test.ts404 // Step 1: Drag 'User Auth' into 'Payment Integration' (making it a child)COMMENT
LOW…rop/tree-data/tree-data-managed-row-drag-basic.test.ts424 // Step 2: Drag 'User Auth' back out alongside 'Payment Integration'COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts160 // Step 1: Remove sport from row groups via the drop zone (simulates removing pill)COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts169 // Step 2: Drag sport back to row groups at same position (exact revert)COMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts184 // Step 1: Click X on Sport pill in CTP row group drop zoneCOMMENT
LOW⚡…lumnToolPanel/deferred-pivot-mode-apply-button.test.ts193 // Step 2: Drag Sport from columns list into row groups drop zoneCOMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx177 // Step 1: Trigger suspense to unmount the gridCOMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx185 // Step 2: Change language while grid is suspended (this changes columnDefs)COMMENT
LOW⚡…sting/behavioural/src/suspense/react-suspense.test.tsx190 // Step 3: Resolve suspense to remount the grid with new columnDefsCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts62 // Step 1: Edit cell A0 to "Foo"COMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts83 // Step 2: Re-focus cell A0 (Enter may have navigated to next row), then press Delete to clearCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts102 // Step 3: Press Delete again — should stay cleared (the cell was explicitly edited then cleared)COMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts166 // Step 1: Select ROW_0 and dblClick fill handle to fill downCOMMENT
LOW…ural/src/cell-editing/cell-editing-batch-clear.test.ts183 // Step 2: Drag fill handle upward to reduce the range back to ROW_0 only.COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1422 // Step 1: Start editing the 'Tesla' cell (top-left)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1428 // Step 2: Press Tab twice to navigate to the empty price cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1536 // Step 1: Start editing the 'Tesla' row by double-clicking the make cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1544 // Step 2: Press Tab twice to navigate to the empty price cellCOMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1553 // Step 3: Click on another row (Ford's make cell in row 1)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1720 // Step 4: Press ESC to exit edit mode (cancel edit)COMMENT
LOW⚡…oural/src/cell-editing/cell-editing-regression.test.ts1724 // Step 5: The value in the initial cell should NOT have changedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1439 // Step 3: Click on another cell (e.g., Ford's make cell in row 1)COMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1465 // Step 4: Verify the editor is closedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1578 // Step 4: Verify row 0 editors are closedCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1668 // Step 1: Focus on a cell that has a value and create a cell rangeCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1681 // Step 2: Press DELETE - the valueSetter should be called but return falseCOMMENT
LOW…oural/src/cell-editing/cell-editing-regression.test.ts1702 // Step 3: Double-click another cell to enter edit modeCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts47 // Step 1: suppressAggFilteredOnly=true — agg includes ALL children (8000) but only report.pdf matches filterCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts54 // Step 2: toggle suppressAggFilteredOnly OFF — agg now reflects only filtered childrenCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts63 // Step 3: toggle suppressAggFilteredOnly ON again — back to all children aggCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts72 // Step 4: toggle suppressAggFilteredOnly OFF one more timeCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts108 // Step 1: suppressAggFilteredOnly=true, Work filler agg=8000 matches filterCOMMENT
LOW⚡…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts117 // Step 2: toggle suppressAggFilteredOnly OFF — Docs agg changes to 8000 (filtered only)COMMENT
LOW…a/datapath/stages/tree-suppressAggFilteredOnly.test.ts128 // Step 3: toggle suppressAggFilteredOnly ON — Docs agg returns to 10000COMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts886 // Step 1: Sort aCOMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts889 // Step 2: Pin bCOMMENT
LOW⚡testing/behavioural/src/columns/column-model.test.ts892 // Step 3: Hide cCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts234 // Step 1: Apply some stateCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts242 // Step 2: Move column c to first positionCOMMENT
LOW⚡…mns/column-mutations/mutations-and-transitions.test.ts245 // Step 3: Update column defs (should preserve state)COMMENT
LOW…es/ag-grid-community/src/misc/animationFrameService.ts155 // to do so. This is why we need to check if we have time left after scrolling before performing any tasks.COMMENT
LOW…ag-grid-enterprise/src/rowGrouping/rowGroupingUtils.ts76 * To avoid a breaking change we need to check if the variable is present and if not fallback to the old way of concatenCOMMENT
AI Slop Vocabulary16 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUM⚡…mentation/ag-grid-docs/testing/htaccess-harness/run.sh3# Local Apache behavioural harness for the generated .htaccess files (grid, charts, studio).COMMENT
MEDIUM⚡…mentation/ag-grid-docs/testing/htaccess-harness/run.sh4# Thin wrapper so the Nx target (test:htaccess) keeps calling `bash .../run.sh`; the harness itselfCOMMENT
MEDIUM⚡…mentation/ag-grid-docs/testing/htaccess-harness/run.sh5# is harness.mjs. See README.md for the options (CHARTS_REPO/CHARTS_REF, STUDIO_REPO/STUDIO_REF,COMMENT
MEDIUM⚡…mentation/ag-grid-docs/testing/htaccess-harness/run.sh9# The harness's own verdict rules first (known-fail matching, coverage, generator aborts): aCOMMENT
MEDIUM…ow-height/_examples/dynamic-row-height/example.spec.ts7 // Locate a group row by its displayed group value — robust to the positionalCOMMENT
MEDIUM…-model-grouping/_examples/row-grouping/example.spec.ts7 // Locate a group row by its displayed group value — robust to the positionalCOMMENT
MEDIUM…e-model-retry/_examples/retry-infinite/example.spec.ts7 // Locate a group row by its displayed group value — robust to the positionalCOMMENT
MEDIUM…mn-groups/_examples/order-pivot-groups/example.spec.ts20 // This is robust to virtualisation: it asserts the ordering of whatever is rendered rather thanCOMMENT
MEDIUM…id-docs/src/pages-styles/beyond-the-prompt.module.scss1471// width and looping gives a seamless, continuous scroll. Each slide owns itsCOMMENT
MEDIUM…nts/prep_and_archive/migrateDeployedArchiveHtaccess.sh57# Locally, documentation/ag-grid-docs/testing/htaccess-harness/archive-migration.sh runs theCOMMENT
MEDIUMpackages/ag-grid-community/src/testing/testIdService.ts47 // Add a delayed setup that is also debounced to be more robust with Reacts async rendering.COMMENT
MEDIUM.github/workflows/ci.yml105 # by code-CI jobs — the e2e htaccess harness (test:htaccess) and its own unitCOMMENT
MEDIUM.github/workflows/ci.yml336 # Turn the htaccess redirect harness (test:htaccess, a dependsOn of test:e2e) into a hardCOMMENT
MEDIUM.github/workflows/doc-tests.yml104 # Pre-build the package the test harness imports at runtime, so the seven test jobsCOMMENT
MEDIUM.github/actions/test-framework-examples/action.yml50 # below is served from the Nx cache. The test harness (src/utils/grid/test-utils.ts)COMMENT
MEDIUM…-shared/scripts/install-for-cloud/install-for-cloud.sh385 # applied — so in the cloud harness this notice was being written to nobody.COMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICAL…g/behavioural/src/ai-toolkit/structured-schema.test.ts1082 const [child] = ageFilter.properties.filterModels.items.anyOf.map(resolveNullable);CODE
CRITICAL…g/behavioural/src/ai-toolkit/structured-schema.test.ts1106 const children = nameFilter.properties.filterModels.items.anyOf.filter((child: any) => child.properties);CODE
Modern AI Meta-Vocabulary6 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUM…ation/ag-grid-docs/public/changelog/releases/30_0_0.md17 - AG-8464 - Allow updating an integrated chart via the Grid API (see [Event Driven Chart Updates](https://www.ag-griCODE
MEDIUM…d-docs/src/content/api-documentation/grid-api/api.json1138 "url": "./integrated-charts-events/#event-driven-chart-updates"CODE
MEDIUMtesting/module-size-angular/README.md15## Code scaffoldingCOMMENT
MEDIUM.github/workflows/optimise-context.yml3# Runs /ag-eng:optimise-context over this repo's agentic tooling config andCOMMENT
MEDIUM.github/workflows/optimise-context.yml9# Run now: Actions → "Optimise agentic context" → Run workflowCOMMENT
MEDIUM…ernal/ag-shared/scripts/setup-prompts/setup-prompts.sh48 # Always enable — Claude Code is the primary agentic tool across all AG repos.COMMENT
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…tent/docs/printing/_examples/for-print-complex/main.ts51 print();CODE
HIGH…nal/ag-shared/scripts/junit-processor/src/processor.ts25 print() {CODE
HIGH…nal/ag-shared/scripts/junit-processor/src/processor.ts161 print() {CODE
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippetContext
LOW…rid-docs/testing/htaccess-harness/archive-migration.sh8# Usage:COMMENT
LOW⚡scripts/deployments/release/cleanup_old_releases.sh13# Usage:COMMENT
LOWexternal/ag-shared/scripts/git-hooks/setup-hooks.sh9# Usage:COMMENT
LOW…ernal/ag-shared/scripts/setup-prompts/setup-prompts.sh8# Usage:COMMENT
LOW…nal/ag-shared/scripts/setup-prompts/verify-rulesync.sh9# Usage:COMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOW…hub/actions/check-issue-comment-permissions/action.yml71 # Check if current association is in allowed listCOMMENT
LOW…al/ag-shared/github/actions/codex-pr-review/action.yml457 # Check if error is authentication-relatedCOMMENT
LOW…ernal/ag-shared/scripts/setup-prompts/setup-prompts.sh386 # Check if file starts with the TOON preambleCOMMENT
LOW…nal/ag-shared/scripts/setup-prompts/verify-rulesync.sh73 # Check if file starts with frontmatterCOMMENT
AI Response Leakage1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…cumentation/ag-grid-docs/public/pipeline/pipeline.json10777 "moreInformation": "Until this is implemented, you can set enableGroupEdit=true to enable paste inside group rowCODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUM…arts-api-pivot-chart/_examples/pivot-chart-api/main.ts73 // expand one row for demonstration purposesCOMMENT
LOW…/ag-website-shared/src/content/community/showcase.json1387 "description": "Accounting System built in ASP.NET DotNetCore, ReactJS, MobX. Don't forget to click STAR if CODE
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ared/scripts/setup-prompts/cleanup-plugin-delivered.py38CODE
LOWexternal/ag-shared/scripts/rulesync-fetch/stage.py100CODE
LOWexternal/ag-shared/scripts/rulesync-fetch/stage.py217CODE
LOWexternal/ag-shared/scripts/rulesync-fetch/stage.py428CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…ared/scripts/setup-prompts/cleanup-plugin-delivered.py17CODE
LOWexternal/ag-shared/scripts/rulesync-fetch/stage.py28CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…ag-grid-docs/src/utils/grid/test/scrollGridRelative.ts106 // TODO: implement scrolling with keyboard, and scrollbarsCOMMENT