Deliver web apps with confidence 🚀
This report summarizes scanner evidence for angular/angular, a TypeScript project with 101,083 GitHub stars. SynthScan examined 1,888,535 lines of code across 10080 source files, recording 2132 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 1.5 (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.
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.
Can maintainers explain intent, assumptions, and trade-offs? 1921 finding(s).
Are imports declared and package/API names verified? 140 finding(s).
Are wrappers, guards, and repeated structures necessary? 1646 finding(s).
Which changes need focused human review? 2132 finding(s).
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.
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.
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.
The scanner identified 2132 distinct pattern matches across 17 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/tslint/validateImportForEsmCjsInteropRule.ts | 86 | function isNamedImportToDisallowedModule(node: ts.Node, disallowed: string[]): boolean { | CODE |
| LOW | tools/tslint/validateImportForEsmCjsInteropRule.ts | 94 | function isDefaultImportToDisallowedModule(node: ts.Node, disallowed: string[]) { | CODE |
| LOW | tools/tslint/noImplicitOverrideAbstractRule.ts | 60 | function matchesParentAbstractElement(node: ts.ClassElement, program: ts.Program): boolean { | CODE |
| LOW | tools/tslint/noImplicitOverrideAbstractRule.ts | 82 | function checkClassForInheritedMatchingAbstractMember( | CODE |
| LOW | tools/tslint/noImplicitOverrideAbstractRule.ts | 128 | function getExtendsHeritageExpressions( | CODE |
| LOW | …tractor/symbol_extractor_spec/hello_world_min_debug.js | 220 | function getNextLNodeWithProjection(node) { | CODE |
| LOW | …tractor/symbol_extractor_spec/hello_world_min_debug.js | 224 | function getNextOrParentSiblingNode(initialNode, rootNode) { | CODE |
| LOW | …tractor/symbol_extractor_spec/hello_world_min_debug.js | 385 | function renderComponentOrTemplate(node, hostView, componentOrContext, template) { | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 150 | declare function producerUpdateValueVersion(node: ReactiveNode): void; | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 169 | declare function consumerBeforeComputation(node: ReactiveNode | null): ReactiveNode | null; | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 178 | declare function resetConsumerBeforeComputation(node: ReactiveNode): void; | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 195 | declare function finalizeConsumerAfterComputation(node: ReactiveNode): void; | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 200 | declare function consumerPollProducersForChange(node: ReactiveNode): boolean; | CODE |
| LOW | …ock_packages/@angular/core/types/_formatter-chunk.d.ts | 218 | declare function installDevToolsSignalFormatter(): void; | CODE |
| LOW | …ar/core/types/_chrome_dev_tools_performance-chunk.d.ts | 860 | declare function getComponentInstanceDeepLinkId(instance: {}): number | undefined; | CODE |
| LOW | …ck_packages/@angular/core/types/_debug_node-chunk.d.ts | 3252 | declare function provideBrowserGlobalErrorListeners(): EnvironmentProviders; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6161 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType.Html): value is SafeHtml; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6162 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType.ResourceUrl): value is SafeResourceUrl; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6163 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType.Script): value is SafeScript; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6164 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType.Style): value is SafeStyle; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6165 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType.Url): value is SafeUrl; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6166 | declare function allowSanitizationBypassAndThrow(value: any, type: BypassType): boolean; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6167 | declare function getSanitizationBypassType(value: any): BypassType | null; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6177 | declare function bypassSanitizationTrustHtml(trustedHtml: string): SafeHtml; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6187 | declare function bypassSanitizationTrustStyle(trustedStyle: string): SafeStyle; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6197 | declare function bypassSanitizationTrustScript(trustedScript: string): SafeScript; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6207 | declare function bypassSanitizationTrustUrl(trustedUrl: string): SafeUrl; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 6217 | declare function bypassSanitizationTrustResourceUrl(trustedResourceUrl: string): SafeResourceUrl; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7165 | declare function resolveComponentResources(resourceResolver: (url: string) => Promise<string | { | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7169 | declare function isComponentDefPendingResolution(type: Type$1<any>): boolean; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7170 | declare function clearResolutionOfComponentResourcesQueue(): Map<Type$1<any>, Component>; | CODE |
| LOW⚡ | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7171 | declare function restoreComponentResolutionQueue(queue: Map<Type$1<any>, Component>): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 386 | declare function provideEnvironmentInitializer(initializerFn: () => void): EnvironmentProviders; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 1807 | declare function createEnvironmentInjector(providers: Array<Provider | EnvironmentProviders>, parent: EnvironmentInjecto | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 2892 | declare function assertNotInReactiveContext(debugFn: Function, extraContext?: string): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3090 | declare function provideStabilityDebugging(): EnvironmentProviders; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3103 | declare function provideCheckNoChangesConfig(options: { | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3118 | declare function provideCheckNoChangesConfig(options: { | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3358 | declare function internalProvideZoneChangeDetection({ ngZoneFactory, scheduleInRootZone, }: { | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3382 | declare function provideZoneChangeDetection(options?: NgZoneOptions): EnvironmentProviders; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3471 | declare function provideZonelessChangeDetection(): EnvironmentProviders; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3472 | declare function provideZonelessChangeDetectionInternal(): Provider[]; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 3736 | declare function internalCreateApplication(config: { | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 4120 | declare function resetIncrementalHydrationEnabledWarnedForTests(): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 4209 | declare function resetIncrementalHydrationRuntimeForTests(): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 4949 | declare function inferTagNameFromDefinition(componentDef: ComponentDef<unknown>): string; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7343 | declare function setInjectorProfilerContext(context: InjectorProfilerContext): InjectorProfilerContext; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 7759 | declare function setAllowDuplicateNgModuleIdsForTest(allowDuplicates: boolean): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 8554 | declare function flushModuleScopingQueueAsMuchAsPossible(): void; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 8568 | declare function generateStandaloneInDeclarationsError(type: Type$1<any>, location: string): string; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 9235 | declare function provideNgReflectAttributes(): EnvironmentProviders; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 9334 | declare function createOrReusePlatformInjector(providers?: StaticProvider[]): Injector; | CODE |
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 9353 | declare function providePlatformInitializer(initializerFn: () => void): StaticProvider; | CODE |
| LOW | …k_packages/@angular/core/types/primitives-signals.d.ts | 86 | declare function setThrowInvalidWriteToSignalError(fn: <T>(node: SignalNode<T>) => never): void; | CODE |
| LOW⚡ | …ges/@angular/core/types/primitives-event-dispatch.d.ts | 49 | declare function bootstrapAppScopedEarlyEventContract(container: HTMLElement, appId: string, bubbleEventTypes: string[], | CODE |
| LOW⚡ | …ges/@angular/core/types/primitives-event-dispatch.d.ts | 51 | declare function getAppScopedQueuedEventInfos(appId: string, dataContainer?: EarlyJsactionDataContainer): EventInfo[]; | CODE |
| LOW⚡ | …ges/@angular/core/types/primitives-event-dispatch.d.ts | 56 | declare function registerAppScopedDispatcher(appId: string, dispatcher: (eventInfo: EventInfo) => void, dataContainer?: | CODE |
| LOW⚡ | …ges/@angular/core/types/primitives-event-dispatch.d.ts | 58 | declare function removeAllAppScopedEventListeners(appId: string, dataContainer?: EarlyJsactionDataContainer): void; | CODE |
| LOW⚡ | …ges/@angular/core/types/primitives-event-dispatch.d.ts | 60 | declare function clearAppScopedEarlyEventContract(appId: string, dataContainer?: EarlyJsactionDataContainer): void; | CODE |
| LOW | ngp-vscode-ng-language-service/server/src/server.ts | 329 | async function computeWorkspaceDiagnostics(): Promise<WorkspaceDiagnosticReport> { | CODE |
| 1515 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ckages/compiler-cli/src/ngtsc/typecheck/src/checker.ts | 131 | position: this.meta.ref.node.name.getStart(), | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 553 | act(() => fixture.componentInstance.form.controls.name.setValue('updated')); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 657 | act(() => fixture.componentInstance.form.controls.name.setValue('updated')); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 682 | act(() => fixture.componentInstance.form.controls.name.disable()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 685 | act(() => fixture.componentInstance.form.controls.name.enable()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 709 | act(() => fixture.componentInstance.form.controls.name.markAsTouched()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 712 | act(() => fixture.componentInstance.form.controls.name.markAsUntouched()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 736 | act(() => fixture.componentInstance.form.controls.name.markAsDirty()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 739 | act(() => fixture.componentInstance.form.controls.name.markAsPristine()); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 764 | act(() => fixture.componentInstance.form.controls.name.setValue('')); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 768 | act(() => fixture.componentInstance.form.controls.name.setValue('valid')); | CODE |
| CRITICAL | packages/forms/signals/test/web/reactive_fvc.spec.ts | 798 | act(() => fixture.componentInstance.form.controls.name.setValue('valid')); | CODE |
| CRITICAL⚡ | packages/forms/signals/test/web/reactive_fvc.spec.ts | 826 | fixture.componentInstance.form.controls.name.removeValidators(Validators.required); | CODE |
| CRITICAL⚡ | packages/forms/signals/test/web/reactive_fvc.spec.ts | 827 | fixture.componentInstance.form.controls.name.updateValueAndValidity(); | CODE |
| CRITICAL⚡ | packages/forms/signals/test/web/reactive_fvc.spec.ts | 833 | fixture.componentInstance.form.controls.name.addValidators(Validators.required); | CODE |
| CRITICAL⚡ | packages/forms/signals/test/web/reactive_fvc.spec.ts | 834 | fixture.componentInstance.form.controls.name.updateValueAndValidity(); | CODE |
| CRITICAL | packages/forms/signals/src/field/validation.ts | 164 | ...this.node.logicNode.logic.syncTreeErrors.compute(this.node.context), | CODE |
| CRITICAL | packages/forms/signals/src/field/validation.ts | 185 | ...this.node.logicNode.logic.syncErrors.compute(this.node.context), | CODE |
| CRITICAL | packages/forms/signals/src/field/validation.ts | 233 | ...this.node.logicNode.logic.asyncErrors.compute(this.node.context), | CODE |
| CRITICAL | packages/forms/signals/src/field/state.ts | 112 | ...this.node.logicNode.logic.disabledReasons.compute(this.node.context), | CODE |
| CRITICAL | packages/forms/signals/src/field/state.ts | 136 | this.node.logicNode.logic.readonly.compute(this.node.context)) ?? | CODE |
| CRITICAL | packages/forms/signals/src/field/state.ts | 150 | this.node.logicNode.logic.hidden.compute(this.node.context)) ?? | CODE |
| CRITICAL | packages/compiler/test/ml_parser/ast_spec_utils.ts | 167 | ast.sourceSpan.fullStart.file.content.substring( | CODE |
| CRITICAL | …benchmarks/src/expanding_rows/expanding_row_summary.ts | 116 | this.expandingRow.expandingRowMainElement.nativeElement.classList.contains( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .pullapprove.yml | 11 | # ========================================================= | COMMENT |
| MEDIUM⚡ | .pullapprove.yml | 13 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 87 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 89 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 115 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 117 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 164 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 166 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 193 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 195 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 219 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 224 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 242 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 244 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 277 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 279 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 299 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 301 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 350 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 352 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 364 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 366 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 399 | # ================================================ | COMMENT |
| MEDIUM | .pullapprove.yml | 401 | # ================================================ | COMMENT |
| MEDIUM | .pullapprove.yml | 428 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 430 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 450 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 452 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 469 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 471 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 500 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 507 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 519 | # ========================================================= | COMMENT |
| MEDIUM | .pullapprove.yml | 525 | # ========================================================= | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 596 | // ┌─────────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 604 | // │ └─────────┘ │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 605 | // │ ┌─────▼─────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 608 | // └───┬───┘ └───────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 612 | // ┌────▼─────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 615 | // └──────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 679 | // ┌────────────────────imports───────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 681 | // │ ┌───────imports────────┐ │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 684 | // ┌─────────┴─┴─────────┐ ┌─────────▼────────────┐ ┌──────────▼───────────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 686 | // └──────────┬──────────┘ └──────────┬────┬──────┘ └────┬────────┬────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 690 | // ┌▼─────▼┐ imports │ │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 691 | // ┌────┤ModuleD├─────┐ │ imports │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 692 | // imports └───────┘ │ │ │ ┌───▼────────┐ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 693 | // │ imports ┌──▼─────┐ │ │ ModuleE │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 695 | // │ModuleB│ │ └────────┘ │ └────────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 696 | // └──┬────┘ ┌─────▼─────┐ │ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 698 | // ┌────▼─────┐ │-MyServiceB│◄────────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 699 | // │ ModuleA │ └───────────┘ | COMMENT |
| MEDIUM⚡ | packages/core/test/acceptance/injector_profiler_spec.ts | 701 | // └──────────┘ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 208 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 210 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 249 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 251 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 271 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 273 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | packages/language-service/api.ts | 296 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pullapprove.yml | 1 | #################################################################################### | COMMENT |
| LOW | .pullapprove.yml | 21 | # | COMMENT |
| LOW | adev/shared-docs/styles/_colors.scss | 201 | circle at 60% bottom, | COMMENT |
| LOW | …/5-component-communication-with-signals/src/app/app.ts | 21 | <!-- Add buttons to update product data and toggle availability --> | COMMENT |
| LOW | …ps/6-two-way-binding-with-model-signals/src/app/app.ts | 41 | </div> | COMMENT |
| LOW | devtools/cypress/plugins/index.js | 1 | /** | COMMENT |
| LOW | devtools/cypress/integration/node-search.e2e.js | 121 | // todo(aleksanderbodurri): revive this test if we decide to revive this functionality | COMMENT |
| LOW | devtools/cypress/support/index.js | 1 | /** | COMMENT |
| LOW | devtools/cypress/support/index.js | 21 | // https://on.cypress.io/configuration | COMMENT |
| LOW | …b/directive-forest/tree-strategies/render-tree.spec.ts | 121 | COMMENT | |
| LOW | devtools/projects/shell-browser/src/devtools.ts | 41 | }); | COMMENT |
| LOW | …plorer/directive-forest/component-data-source/index.ts | 181 | forest: DevToolsNode[], | COMMENT |
| LOW | packages/types.d.ts | 21 | // and packages such as platform-server that need these types should | COMMENT |
| LOW | packages/compiler-cli/test/ngtsc/ngtsc_spec.ts | 9661 | 'styles: [' + | COMMENT |
| LOW | …-cli/preprocessor/test/defer_local_compilation_spec.ts | 301 | COMMENT | |
| LOW | …lden/ngmodule_inj_imports_provider_filtering/source.md | 61 | // directives and pipes outright, and keeps an NgModule unconditionally — whether or not that | COMMENT |
| LOW | …processor/test/golden/host_property_literals/golden.md | 1 | # /out/test.ts | COMMENT |
| LOW | …ngmodule_injector_imports_nested_type_syntax/source.md | 21 | export const SHARED = [AModule, BModule]; | COMMENT |
| LOW | …dule_injector_imports_nested_type_syntax/golden.opt.md | 1 | # /out/app.module.ts | COMMENT |
| LOW | …ngmodule_injector_imports_nested_type_syntax/golden.md | 1 | # /out/app.module.ts | COMMENT |
| LOW | …ckages/compiler-cli/preprocessor/ng-analyze/src/lib.rs | 1 | // g3 requires extra security review for any `unsafe` Rust code; do not introduce `unsafe` without | COMMENT |
| LOW | packages/compiler-cli/preprocessor/ng-analyze/src/fs.rs | 21 | COMMENT | |
| LOW | …ompiler-cli/preprocessor/ng-analyze/src/physical_fs.rs | 1 | //! The physical filesystem layer beneath [`crate::fs::OverlayFileSystem`]: | COMMENT |
| LOW | …piler-cli/preprocessor/ng-analyze/src/evaluator/mod.rs | 1 | //! Partial static evaluation of decorator metadata expressions. | COMMENT |
| LOW | …-cli/preprocessor/ng-analyze/src/evaluator/resolved.rs | 1 | //! [`Resolved<T>`]: a partially evaluated value whose consumer expects a `T`. | COMMENT |
| LOW | …ler-cli/preprocessor/ng-analyze/src/evaluator/value.rs | 1 | //! Owned value types produced by partial static evaluation. | COMMENT |
| LOW | …ler-cli/preprocessor/ng-analyze/src/evaluator/value.rs | 261 | /// owning class and `kind` is [`DeclKind::StaticMethod`]. | COMMENT |
| LOW | …ler-cli/preprocessor/ng-analyze/src/evaluator/value.rs | 501 | /// (upstream `UNKNOWN_IDENTIFIER`); carries the identifier text. | COMMENT |
| LOW | …ler-cli/preprocessor/ng-analyze/src/evaluator/value.rs | 541 | /// | COMMENT |
| LOW | …er-cli/preprocessor/ng-analyze/src/evaluator/driver.rs | 1 | //! Semantic-mode driver: resolves [`IncompleteValue`] holes across files and re-runs the | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 41 | } | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 61 | /// True for `import type { X }` / `import { type X }` (ignored by ngtsc's deferrability check). | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 361 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 441 | /// One entry of the `host` object reduced by the partial evaluator (`Record<string, string | Expression>`). | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 581 | #[serde(rename_all = "camelCase")] | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 661 | COMMENT | |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 761 | /// Raw source spans of the top-level `imports`/`exports` array elements, emitted | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 781 | pub enum IsolatedTypeElementKind { | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 861 | #[serde(rename_all = "camelCase")] | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 901 | pub canonical_name: Option<String>, | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 921 | /// per-member entries ngtsc builds for the property-decorator map of `ɵsetClassMetadata`. | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 961 | Undefined, | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 981 | /// update callback. | COMMENT |
| LOW | …iler-cli/preprocessor/ng-analyze/src/types/metadata.rs | 1021 | pub top_level_references: Option<Vec<TopLevelReferenceMetadata>>, | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 101 | pub source_file_validator_diagnostics: Vec<NgDiagnostic>, | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 121 | #[serde(rename_all = "camelCase")] | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 141 | /// are permitted. | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 161 | /// the tsconfig's `angularCompilerOptions` when unset. Without a `workspace_name` the flag | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 181 | /// Configuration of the built-in file-system module resolution. These settings only | COMMENT |
| LOW | …/compiler-cli/preprocessor/ng-analyze/src/types/api.rs | 361 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | …compiler-cli/preprocessor/ng-analyze/src/query/keys.rs | 21 | /// (`analyzer::load_syntax_resources`), resource registration, and resolution of the file's | COMMENT |
| LOW | …compiler-cli/preprocessor/ng-analyze/src/query/keys.rs | 41 | /// Export map of a package entry point (upstream's `moduleExportsCache`). | COMMENT |
| LOW | …-cli/preprocessor/ng-analyze/src/query/module_scope.rs | 381 | /// (`modulesWithStructuralErrors`, before scope resolution adds to it). | COMMENT |
| LOW | …mpiler-cli/preprocessor/ng-analyze/src/query/engine.rs | 21 | COMMENT | |
| LOW | …preprocessor/ng-analyze/src/compiler/async_compiler.rs | 1 | //! Self-driving query handle infrastructure shared by the query engine and its cache. | COMMENT |
| LOW | …er-cli/preprocessor/ng-analyze/src/analyzer/imports.rs | 141 | if runtime_specifiers.contains(s) { | COMMENT |
| LOW | …er-cli/preprocessor/ng-analyze/src/analyzer/imports.rs | 341 | COMMENT | |
| LOW | …er-cli/preprocessor/ng-analyze/src/analyzer/imports.rs | 361 | /// Unlike ngtsc, references in *type* positions count. ngtsc runs after type checking and | COMMENT |
| LOW | …er-cli/preprocessor/ng-analyze/src/analyzer/imports.rs | 381 | /// `import type { X }` / `import { type X }`: the binding exists only in type position, so a | COMMENT |
| LOW | …er-cli/preprocessor/ng-analyze/src/analyzer/imports.rs | 621 | comment_text.to_ascii_lowercase().contains("@fileoverview") | COMMENT |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-workspace/mock_packages/@angular/core/types/core.d.ts | 8680 | state: 'placeholder' | 'loading' | 'complete' | 'error' | 'initial'; | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 7 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 7 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 15 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …peline/shared/marked/test/docs-callout/docs-callout.md | 15 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | …ts/top-level-banner/top-level-banner.component.spec.ts | 63 | const EXAMPLE_TEXT = 'Lorem ipsum dolor...'; | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 33 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 33 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare ligula nisi | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 56 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 56 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 60 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 60 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 64 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW⚡ | adev/src/content/kitchen-sink.md | 64 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit diam | CODE |
| LOW | adev/src/content/kitchen-sink.md | 241 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit dia | CODE |
| LOW | adev/src/content/kitchen-sink.md | 241 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus metus blandit semper faucibus. Sed blandit dia | CODE |
| LOW | …content/guide/forms/signals/dynamic-forms-with-json.md | 304 | {name: 'Alice', phone: '555-0001'}, | CODE |
| LOW | …content/guide/forms/signals/dynamic-forms-with-json.md | 305 | {name: 'Bob', phone: '555-0002'}, | CODE |
| LOW | …content/guide/forms/signals/dynamic-forms-with-json.md | 317 | console.log(aliceField().value().phone); // '555-0001' (Alice's number) | CODE |
| LOW | …content/guide/forms/signals/dynamic-forms-with-json.md | 318 | console.log(contactForm[0]().value().phone); // '555-0002' (Bob, now at index 0) | CODE |
| LOW | adev/src/content/guide/forms/signals/form-logic.md | 703 | metadata(path, PLACEHOLDER, () => 'user@example.com'); | CODE |
| LOW | adev/src/content/guide/templates/variables.md | 22 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit ' + | CODE |
| LOW | adev/src/content/guide/templates/variables.md | 22 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit ' + | CODE |
| LOW | …ng-to-signal-changes-with-effect/answer/src/app/app.ts | 93 | this.username.set('John Doe'); | CODE |
| LOW | …-reacting-to-signal-changes-with-effect/src/app/app.ts | 75 | this.username.set('John Doe'); | CODE |
| LOW | …backend/src/lib/directive-forest/utils/control-flow.ts | 140 | if (['placeholder', 'loading', 'error'].includes(deferBlock.state)) { | CODE |
| LOW | …backend/src/lib/directive-forest/utils/control-flow.ts | 141 | return deferBlock.state as 'placeholder' | 'loading' | 'error'; | CODE |
| LOW | devtools/projects/protocol/src/lib/messages.ts | 90 | state: 'placeholder' | 'loading' | 'complete' | 'error' | 'initial'; | CODE |
| LOW | devtools/projects/protocol/src/lib/messages.ts | 100 | export type RenderedDeferBlock = 'defer' | 'placeholder' | 'loading' | 'error'; | CODE |
| LOW | devtools/src/app/transfer-state.ts | 48 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' + | CODE |
| LOW | devtools/src/app/transfer-state.ts | 48 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' + | CODE |
| LOW | packages/compiler-cli/test/compliance/README.md | 128 | `__i18nMsg__('message string', [ ['placeholder', 'pair] ], { meta: 'properties'})`. | CODE |
| LOW | …_compiler_bindings/property_bindings/GOLDEN_PARTIAL.js | 173 | name = 'John Doe'; | CODE |
| LOW | …_bindings/property_bindings/interpolated_properties.js | 4 | name = "John Doe"; | CODE |
| LOW | …_bindings/property_bindings/interpolated_properties.ts | 20 | name = 'John Doe'; | CODE |
| LOW | …n_bindable_behavior/property_bindings_and_listeners.ts | 13 | name = 'John Doe'; | CODE |
| LOW | …er_bindings/non_bindable_behavior/local_ref_on_host.ts | 14 | name = 'John Doe'; | CODE |
| LOW | …er_bindings/non_bindable_behavior/no_child_elements.js | 4 | name = "John Doe"; | CODE |
| LOW | …piler_bindings/non_bindable_behavior/GOLDEN_PARTIAL.js | 7 | name = 'John Doe'; | CODE |
| LOW | …piler_bindings/non_bindable_behavior/GOLDEN_PARTIAL.js | 60 | name = 'John Doe'; | CODE |
| LOW | …piler_bindings/non_bindable_behavior/GOLDEN_PARTIAL.js | 111 | name = 'John Doe'; | CODE |
| LOW | …piler_bindings/non_bindable_behavior/GOLDEN_PARTIAL.js | 162 | name = 'John Doe'; | CODE |
| LOW | …_bindings/non_bindable_behavior/local_ref_on_nested.js | 4 | name = "John Doe"; | CODE |
| LOW | …er_bindings/non_bindable_behavior/local_ref_on_host.js | 4 | name = "John Doe"; | CODE |
| LOW | …n_bindable_behavior/property_bindings_and_listeners.js | 4 | name = "John Doe"; | CODE |
| LOW | …_bindings/non_bindable_behavior/local_ref_on_nested.ts | 13 | name = 'John Doe'; | CODE |
| LOW | …er_bindings/non_bindable_behavior/no_child_elements.ts | 11 | name = 'John Doe'; | CODE |
| LOW | …compiler_bindings/attribute_bindings/GOLDEN_PARTIAL.js | 307 | name = 'John Doe'; | CODE |
| LOW | …bindings/attribute_bindings/interpolated_attributes.js | 4 | name = "John Doe"; | CODE |
| LOW | …bindings/attribute_bindings/interpolated_attributes.ts | 20 | name = 'John Doe'; | CODE |
| LOW | …i/test/compliance/test_helpers/expected_file_macros.ts | 21 | // E.g. `__i18nMsg__('message string', [ ['placeholder', 'pair'] | COMMENT |
| LOW | …i/test/compliance/test_helpers/expected_file_macros.ts | 22 | // ], {original_code: {'placeholder': '{{ foo }}'}}, {meta: 'properties'})` | COMMENT |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .pullapprove.yml | 22 | # - This configuration works in conjunction with the protected branch settings that require all changes to be made via | COMMENT |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 455 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 490 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 504 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 543 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 578 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_testbed.json | 592 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 743 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 778 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 792 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 829 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 864 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 878 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4117 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4131 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4169 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4183 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4609 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4644 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4658 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4697 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4732 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 4746 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5800 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5835 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5849 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5889 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5924 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing.json | 5938 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarness | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 452 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 487 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 501 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 540 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 575 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | adev/src/content/cdk/cdk_testing_protractor.json | 589 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1625 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1660 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1674 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1713 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentH | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1748 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHar | CODE |
| MEDIUM | …ev/src/content/cdk/cdk_testing_selenium_webdriver.json | 1762 | "rawComment": "/**\n * Creates an asynchronous locator function that can be used to find a `ComponentHarne | CODE |
| MEDIUM | …er-cli/test/ngtsc/incremental_semantic_changes_spec.ts | 2029 | // template, forcing the compiler to utilize remote scoping for at least one of them. | COMMENT |
| MEDIUM | …er-cli/test/ngtsc/incremental_semantic_changes_spec.ts | 2102 | // their template, forcing the compiler to utilize remote scoping for MyCmpB (which is | COMMENT |
| MEDIUM | packages/compiler-cli/preprocessor/ng-analyze/src/fs.rs | 201 | // Sort by path length in descending order (longest first) for robust prefix matching. | COMMENT |
| MEDIUM | packages/compiler-cli/src/perform_compile.ts | 199 | // tooling like Tsurge, or schematics may leverage this helper, so we account | COMMENT |
| MEDIUM | packages/common/src/viewport_scroller.ts | 128 | // target. Rather than following the robust steps, simply attempt focus. | COMMENT |
| MEDIUM | packages/zone.js/test/node/fs.spec.ts | 91 | // of `realpath.native` in unit tests. Essentially, there's no original delegate | COMMENT |
| MEDIUM | packages/platform-browser/src/dom/dom_renderer.ts | 611 | // does not use the SharedStylesHost that other encapsulation modes leverage. Much like | COMMENT |
| MEDIUM | .github/workflows/perf.yml | 46 | # We utilize the google-github-actions/auth action to allow us to get an active credential using workflow | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | integration/standalone-bootstrap/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/defer/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/platform-server/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/cli-signal-inputs/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/cli-hello-world/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/legacy-animations/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/trusted-types/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/platform-server-zoneless/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/legacy-animations-async/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/ng-add-localize/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | integration/animations/README.md | 9 | ## Code scaffolding | COMMENT |
| MEDIUM | adev/src/content/guide/di/overview.md | 16 | ## How does dependency injection work in Angular? | COMMENT |
| MEDIUM | …/content/guide/di/hierarchical-dependency-injection.md | 1201 | ## More on dependency injection | COMMENT |
| MEDIUM | …c/content/guide/di/debugging-and-troubleshooting-di.md | 1 | # Debugging and troubleshooting dependency injection | COMMENT |
| MEDIUM | adev/src/content/guide/http/setup.md | 5 | ## Providing `HttpClient` through dependency injection | COMMENT |
| MEDIUM | adev/src/content/guide/routing/define-routes.md | 267 | ## Route-level providers for dependency injection | COMMENT |
| MEDIUM | adev/src/content/guide/routing/loading-strategies.md | 65 | The Router executes [`loadComponent`](/api/router/Route#loadComponent) and [`loadChildren`](/api/router/Route#loadChildr | CODE |
| MEDIUM | adev/src/content/guide/i18n/locale-id.md | 64 | ## Read the active locale outside dependency injection | COMMENT |
| MEDIUM⚡ | adev/src/content/ai/overview.md | 39 | - [Agentic Apps with Genkit and Angular starter-kit](https://github.com/angular/examples/tree/main/genkit-angular-starte | CODE |
| MEDIUM⚡ | adev/src/content/ai/overview.md | 43 | - [Dynamic Story Generator app](https://github.com/angular/examples/tree/main/genkit-angular-story-generator) — Learn to | CODE |
| MEDIUM⚡ | adev/src/content/ai/overview.md | 49 | - [Building Agentic apps with Firebase and Google Cloud (Barista Example)](https://developers.google.com/solutions/learn | CODE |
| MEDIUM | …rials/learn-angular/steps/20-inject-based-di/README.md | 1 | # Inject-based dependency injection | COMMENT |
| MEDIUM | adev/src/content/reference/configs/npm-packages.md | 33 | | [`@angular/core`](api#angular_core) | Critical runtime parts of the framework that are ne | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …es/compiler-cli/preprocessor/src/output_ast_printer.ts | 160 | print(expr: o.Expression): string { | CODE |
| HIGH | packages/core/primitives/event-dispatch/src/event.ts | 219 | * @return True, if a modifier key is activated. | COMMENT |
| HIGH | packages/core/primitives/event-dispatch/src/event.ts | 279 | * @return True, if the event emulates a DOM click. | COMMENT |
| HIGH | packages/core/primitives/event-dispatch/src/event.ts | 358 | /** @return True, if the Space key was pressed. */ | COMMENT |
| HIGH | packages/core/primitives/event-dispatch/src/event.ts | 386 | * @return True if the event is a mouseenter/mouseleave event. | COMMENT |
| HIGH | packages/core/src/sanitization/html_sanitizer.ts | 179 | * @return True if the element's contents should be traversed. | COMMENT |
| HIGH | packages/compiler/src/output/abstract_emitter.ts | 98 | print( | CODE |
| HIGH | packages/compiler/src/typecheck/ops/codegen.ts | 40 | print(ignoreComments = false): string { | CODE |
| HIGH | packages/platform-browser/src/dom/events/key_events.ts | 63 | * @return True if the named key event is supported. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | devtools/src/app/app.component.ts | 27 | // This component is just for demonstration purposes. | COMMENT |
| MEDIUM | devtools/src/app/app.component.ts | 43 | // This component is just for demonstration purposes. | COMMENT |
| MEDIUM | …ckages/compiler-cli/src/ngtsc/typecheck/src/ts_util.ts | 43 | * This should work for most cases. | COMMENT |
| MEDIUM | packages/core/primitives/event-dispatch/src/event.ts | 87 | // It's worth noting that some browser releases have been inconsistent on this, and unless | COMMENT |
| MEDIUM | packages/common/locales/ff-MR.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/ff-CM.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/ff-GN.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/extra/ff-MR.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/extra/ff-CM.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/extra/ff-GN.ts | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/global/ff-GN.js | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/global/ff-MR.js | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| MEDIUM | packages/common/locales/global/ff-CM.js | 13 | // potential breaking changes. It's worth noting that the locale data for such files is outdated | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/ci/publish-snapshot-build-artifacts.sh | 133 | # Create a temporary tree-ish that includes uncommitted changes. | COMMENT |
| MEDIUM | scripts/ci/create-package-archives.sh | 20 | # Create a compressed archive containing all packages. | COMMENT |
| MEDIUM | scripts/ci/create-package-archives.sh | 27 | # Create a compressed archive for each package. | COMMENT |
| MEDIUM | packages/forms/signals/src/api/types.ts | 791 | * ### Creating a reusable schema | COMMENT |
| MEDIUM | packages/forms/src/model/form_group.ts | 95 | * ### Create a form group with 2 controls | COMMENT |
| MEDIUM | packages/forms/src/model/form_group.ts | 127 | * ### Create a form group with a group-level validator | COMMENT |
| MEDIUM | packages/forms/src/model/form_array.ts | 68 | * ### Create an array of form controls | COMMENT |
| MEDIUM | packages/forms/src/model/form_array.ts | 80 | * ### Create a form array with array-level validators | COMMENT |
| MEDIUM | .agent/skills/pr_review/scripts/submit_pr_review.sh | 35 | # Create the payload | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …v/src/app/features/tutorial/tutorial.component.spec.ts | 168 | // TODO: Add tests in a future PR | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 448 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 449 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 1023 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 1024 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 1557 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 1558 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 2128 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 2129 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 2656 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 2657 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 3248 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 3249 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 3859 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 3860 | // TODO: Add tests for ViewChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 4617 | // TODO: Add tests for ContentChild | COMMENT |
| LOW | …ore/test/acceptance/inherit_definition_feature_spec.ts | 4618 | // TODO: Add tests for ViewChild | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/extended/checks/missing_structural_directive/index.ts | 76 | // The structural directive *foo desugars to [foo], so we need to check if any | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 73 | // Step 1: Ensure `$digest` is run on `onMicrotaskEmpty`. | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 79 | // Step 2: Cause the issue. | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 89 | // Step 3: Ensure that `$digest()` is still executed on `onMicrotaskEmpty`. | COMMENT |
| LOW | …tics/ng-generate/standalone-migration/to-standalone.ts | 336 | // in this migration. We need to check if it's standalone already, in order to correct | COMMENT |
| LOW | …rc/change_detection/differs/default_iterable_differ.ts | 310 | // But first we need to check if identity changed, so we can update in view if necessary. | COMMENT |
| LOW | …rc/change_detection/differs/default_iterable_differ.ts | 320 | // But first we need to check if identity changed, so we can update in view if necessary. | COMMENT |
| LOW | …rc/change_detection/differs/default_iterable_differ.ts | 354 | * Double check that we have not evicted a duplicate item. We need to check if the item type may | COMMENT |
| LOW | packages/core/src/render3/di.ts | 266 | // be pointing to a declared parent location). This variable stores number of declaration parents | COMMENT |
| LOW | packages/core/src/render3/styling/style_binding_list.ts | 223 | // We need to check if our key is present in the static so that we can mark it as duplicate. | COMMENT |
| LOW | packages/compiler/src/typecheck/ops/scope.ts | 278 | // Once everything is registered, we need to check if there are `@let` | COMMENT |
| LOW⚡ | packages/service-worker/worker/src/data.ts | 186 | // Step 1: remove the node from its position within the chain, if it is in the chain. | COMMENT |
| LOW⚡ | packages/service-worker/worker/src/data.ts | 191 | // Step 2: insert the node at the head of the chain. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/compiler-cli/src/ngtsc/typecheck/README.md | 622 | ### Step 2: template information | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 73 | // Step 1: Ensure `$digest` is run on `onMicrotaskEmpty`. | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 79 | // Step 2: Cause the issue. | COMMENT |
| LOW⚡ | …grade/static/test/integration/change_detection_spec.ts | 89 | // Step 3: Ensure that `$digest()` is still executed on `onMicrotaskEmpty`. | COMMENT |
| LOW⚡ | packages/service-worker/worker/src/data.ts | 186 | // Step 1: remove the node from its position within the chain, if it is in the chain. | COMMENT |
| LOW⚡ | packages/service-worker/worker/src/data.ts | 191 | // Step 2: insert the node at the head of the chain. | COMMENT |
| LOW | contributing-docs/triage-and-labelling.md | 45 | ### Step 1: Does the issue have enough information? | COMMENT |
| LOW | contributing-docs/triage-and-labelling.md | 52 | ### Step 2: Bug, feature, or discussion? | COMMENT |
| LOW | contributing-docs/triage-and-labelling.md | 65 | ### Step 3: Set a Priority | COMMENT |
| LOW | contributing-docs/triage-and-labelling.md | 80 | ### Step 4: Apply additional information labels | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ar/core/types/_chrome_dev_tools_performance-chunk.d.ts | 683 | * ### Usage example | COMMENT |
| LOW | …ck_packages/@angular/core/types/_debug_node-chunk.d.ts | 5421 | * ### Usage example | COMMENT |
| LOW | …ck_packages/@angular/core/types/_debug_node-chunk.d.ts | 5445 | * ### Usage example | COMMENT |
| LOW | …ar/core/types/_chrome_dev_tools_performance-chunk.d.ts | 683 | * ### Usage example | COMMENT |
| LOW | …ck_packages/@angular/core/types/_debug_node-chunk.d.ts | 5421 | * ### Usage example | COMMENT |
| LOW | …ck_packages/@angular/core/types/_debug_node-chunk.d.ts | 5445 | * ### Usage example | COMMENT |
| LOW | packages/core/src/di/injector.ts | 34 | * ### Usage example | COMMENT |
| LOW | packages/core/src/render3/dynamic_bindings.ts | 164 | * ### Usage example | COMMENT |
| LOW | packages/core/src/render3/dynamic_bindings.ts | 204 | * ### Usage example | COMMENT |
| LOW | packages/common/src/pipes/date_pipe.ts | 198 | * ### Usage example | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | adev/src/content/ai/design-patterns.md | 20 | // A resource that fetches three parts of an AI generated story | COMMENT |
| HIGH | adev/src/content/ai/design-patterns.md | 73 | - **Error Handling and Retries:** use the `resource` [**`reload()`**](guide/signals/resource#reloading) method as a simp | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agent/skills/pr_review/scripts/submit_pr_review.sh | 27 | # Check if there are staged comments | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/router/src/recognize.ts | 609 | function getData(route: Route): Data { | CODE |