Repository Analysis

facebook/relay

Relay is a JavaScript framework for building data-driven React applications.

0.8 Likely human-written View on GitHub
0.8
Adjusted Score
0.8
Raw Score
100%
Time Factor
2026-05-30
Last Push
18,945
Stars
Rust
Language
573,843
Lines of Code
2696
Files
387
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 1HIGH 0MEDIUM 38LOW 348

Pattern Findings

387 matches across 8 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers213 hits · 213 pts
SeverityFileLineSnippet
LOW…v13.0.0/guided-tour/updating-data/graphql-mutations.md100function commitFeedbackLikeMutation(
LOW…v13.0.0/guided-tour/updating-data/graphql-mutations.md158function commitCommentCreateMutation(
LOW…v13.0.0/guided-tour/updating-data/graphql-mutations.md243function commitFeedbackLikeMutation(
LOW…v13.0.0/guided-tour/updating-data/graphql-mutations.md295function commitFeedbackLikeMutation(
LOW…v13.0.0/guided-tour/updating-data/graphql-mutations.md378function commitCommentCreateMutation(
LOW…13.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v13.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v14.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v14.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v14.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v14.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…14.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v14.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v15.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v15.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v15.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v15.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…15.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v15.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v20.1.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v20.1.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v20.1.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v20.1.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…20.1.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v20.1.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v17.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v17.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v17.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v17.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…17.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v17.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v16.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v16.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v16.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v16.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…16.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v16.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…/version-experimental/RelayHooks-AGuidedTourOfRelay.md2897function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v18.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v18.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v18.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v18.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
LOW…ating-data/imperatively-modifying-store-data-legacy.md68function commitCommentCreateMutation(
LOW…our/updating-data/imperatively-modifying-store-data.md86function commitCreateFeedbackMutation(
LOW…18.0.0/guided-tour/updating-data/local-data-updates.md28function commitCommentCreateLocally(
LOW…n-v18.0.0/guided-tour/list-data/advanced-pagination.md35function CombinedFriendsListComponent(props: Props) {
LOW…e/versioned_docs/version-v19.0.0/tutorial/queries-2.md167export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v19.0.0/tutorial/queries-2.md262export default function PosterDetailsHovercardContents({
LOW…e/versioned_docs/version-v19.0.0/tutorial/queries-2.md284export default function PosterDetailsHovercardContents({
LOW…cs/version-v19.0.0/tutorial/interfaces-polymorphism.md123function PosterDetailsHovercardContentsBody({ poster }: Props): React.ReactElement {
153 more matches not shown…
Over-Commented Block121 hits · 120 pts
SeverityFileLineSnippet
LOWscripts/dev-compiler.sh1#!/usr/bin/env bash
LOW…relay-runtime/store/RelayModernFragmentSpecResolver.js261 if (this._subscription) {
LOWpackages/relay-runtime/store/RelayStoreSubscriptions.js81
LOWpackages/relay-runtime/store/RelayReader.js161
LOWpackages/relay-runtime/store/RelayReader.js1521 // * null: The type condition did not match
LOW…s/relay-runtime/store/__tests__/readInlineData-test.js321
LOW…tore/__tests__/RelayModernEnvironment-NoInline-test.js61 loadFragment: (operationReference: unknown) => ?NormalizationRootNode,
LOW…y-runtime/store/__tests__/resolvers/ResolverGC-test.js981 afterFreedGC: (recordIdsInStore: Array<DataID>) => void,
LOW…react-relay/relay-hooks/useQueryLoader_EXPERIMENTAL.js201 const cleanupTimerRef = useRef<?TimeoutID>(null);
LOWpackages/react-relay/relay-hooks/useQueryLoader.js241 return () => {
LOWpackages/react-relay/relay-hooks/useQueryLoader.js281 // query references that don't end up committing.
LOWpackages/react-relay/relay-hooks/useEntryPointLoader.js161 // hidden (by Offscreen API), or fast refresh occurred;
LOW…-relay/relay-hooks/useFragmentInternal_EXPERIMENTAL.js621 }
LOW…-relay/relay-hooks/useFragmentInternal_EXPERIMENTAL.js681 const [didMissUpdates, updatedState] = updates;
LOWpackages/react-relay/relay-hooks/loadQuery.js141 // `source` observable is returned.
LOWpackages/react-relay/relay-hooks/loadQuery.js201 operation: OperationDescriptor,
LOW…_flowtests__/useBlockingPaginationFragment-flowtest.js81// $FlowFixMe[react-rule-hook]
LOW…s/__tests__/useFragment-WithDeferAndLiveUpdate-test.js61const DEFER_LABEL =
LOW.vscode/settings.json21 // compiler first.
LOWcompiler/crates/graphql-ir/src/build.rs101 /// The semantic of defining variables on a fragment definition.
LOW…er/crates/relay-transforms/src/refetchable_fragment.rs61/// This transform synthesizes "refetch" queries for fragments that
LOWcompiler/crates/relay-transforms/src/flatten.rs41type SeenLinkedFields = DashMap<PointerAddress, TransformedValue<Arc<LinkedField>>>;
LOW…s/relay-transforms/src/validate_operation_variables.rs21 pub remove_unused_variables: bool,
LOWcompiler/crates/relay-transforms/src/client_edges.rs121 pub backing_field: &'a Selection,
LOW…rates/relay-transforms/src/apply_fragment_arguments.rs61use crate::match_::SplitOperationMetadata;
LOWcompiler/crates/relay-transforms/src/root_variables.rs121 /// fragment. Note that RootArgumentDefinitions in the fragment's
LOW…relay-transforms/src/apply_fragment_arguments/scope.rs181 //
LOW…ler/crates/relay-transforms/src/relay_resolvers/mod.rs41///
LOW…rm_assignable_fragment_spreads_in_updatable_queries.rs41}
LOW…form_assignable_fragment_spreads_in_regular_queries.rs181 /// - If the fragment spread's type is abstract, we want to return an additional
LOW…_fragment_spread/validate_updatable_fragment_spread.rs61 /// Validate many conditions for spreads of updatable fragments:
LOW…elay-transforms/src/match_/split_operation_metadata.rs21 pub static ref DIRECTIVE_SPLIT_OPERATION: DirectiveName =
LOW…elay-transforms/src/match_/split_operation_metadata.rs41/// }
LOWcompiler/crates/relay-typegen/src/lib.rs81/// The $data type of a fragment definition with the `@relay(mask: false)` directive
LOWcompiler/crates/relay-typegen/src/visit.rs1181 && let Some(concrete_type) = enclosing_linked_field_concrete_type
LOWcompiler/crates/relay-typegen/src/visit.rs2501/// ```
LOWcompiler/crates/relay-typegen/src/write.rs861/// a sentinel value or something which is necessarily valid for assignment.
LOWcompiler/crates/relay-codegen/src/printer.rs421 }
LOWcompiler/crates/graphql-ir-diff/src/lib.rs301// { ...on User {id} } == { id on {FBUser, IGUser, ...} }
LOWcompiler/crates/graphql-ir-diff/src/lib.rs541}
LOWcompiler/crates/graphql-ir-diff/src/lib.rs561 // } # possible types popped
LOW…rates/relay-compiler/tests/subschema_extraction/mod.rs21/// //- src/query.js
LOW…rates/relay-compiler/tests/subschema_extraction/mod.rs41///
LOWcompiler/crates/relay-compiler/src/config.rs121
LOWcompiler/crates/relay-compiler/src/config.rs221 External(PathBuf),
LOWcompiler/crates/relay-compiler/src/config.rs921}
LOWcompiler/crates/relay-compiler/src/config.rs941 #[serde(default)]
LOWcompiler/crates/relay-compiler/src/config.rs1181 ..Default::default()
LOWcompiler/crates/relay-compiler/src/config.rs1241 /// referenced, but won't produce output artifacts.
LOWcompiler/crates/relay-compiler/src/config.rs1281
LOWcompiler/crates/relay-compiler/src/config.rs1321 /// Whether to treat all JS module names as relative to './' (true) or not.
LOWcompiler/crates/relay-compiler/src/config.rs1361pub trait OperationPersister {
LOWcompiler/crates/relay-compiler/src/status_reporter.rs61pub enum BuildResult {
LOWcompiler/crates/relay-compiler/src/status_reporter.rs81}
LOWcompiler/crates/relay-compiler/src/status_reporter.rs101 base_reporter: Box<dyn StatusReporter + Send + Sync>,
LOWcompiler/crates/relay-compiler/src/status_reporter.rs121///
LOW…es/relay-compiler/src/build_project/artifact_writer.rs41 /// after a source control update (rebase) to discard stale cached
LOWcompiler/crates/graphql-syntax/src/parser.rs2341 self.advance_constant_value()?; // value
LOW…ler/crates/graphql-test-helpers/src/project_fixture.rs21
LOW…ler/crates/graphql-test-helpers/src/project_fixture.rs41/// //-++ foo.js
61 more matches not shown…
Decorative Section Separators36 hits · 90 pts
SeverityFileLineSnippet
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs819 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs821 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs847 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs849 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs907 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs909 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs969 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs971 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1062 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1064 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1087 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1089 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1144 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1146 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1170 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1172 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1202 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1204 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1226 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1228 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1264 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1266 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1359 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1361 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1392 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1394 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1420 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1422 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1461 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1463 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1535 // ───────────────────────────────────────────────────────────────
MEDIUM…mpiler/crates/schema-set/src/find_subset_violations.rs1537 // ───────────────────────────────────────────────────────────────
MEDIUMcompiler/crates/schema-coordinates/src/lib.rs387 // ── parse_schema_coordinate (strict) ────────────────────────────
MEDIUMcompiler/crates/schema-coordinates/src/lib.rs568 // ── parse_schema_coordinate_best_effort ─────────────────────────
MEDIUMcompiler/crates/schema-coordinates/src/lib.rs739 // ── Display ─────────────────────────────────────────────────────
MEDIUMcompiler/crates/schema-coordinates/src/lib.rs817 // ── Ord ───────────────────────────────────────────────────────────
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippet
CRITICAL…docs/version-classic/Classic-APIReference-Container.md375 {this.props.viewer.feed.edges.map(
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippet
LOW…ocs/version-v13.0.0/guides/testing-relay-components.md96 return "Lorem Ipsum"
LOW…ocs/version-v14.0.0/guides/testing-relay-components.md96 return "Lorem Ipsum"
LOW…ocs/version-v15.0.0/guides/testing-relay-components.md96 return "Lorem Ipsum"
LOW…ocs/version-v20.1.0/guides/testing-relay-components.md104 return "Lorem Ipsum"
LOW…ocs/version-v17.0.0/guides/testing-relay-components.md104 return "Lorem Ipsum"
LOW…ocs/version-v16.0.0/guides/testing-relay-components.md96 return "Lorem Ipsum"
LOW…ocs/version-v18.0.0/guides/testing-relay-components.md104 return "Lorem Ipsum"
LOW…ocs/version-v19.0.0/guides/testing-relay-components.md104 return "Lorem Ipsum"
LOW…ocs/version-v20.0.0/guides/testing-relay-components.md104 return "Lorem Ipsum"
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMcompiler/crates/graphql-syntax/src/node/type_system.rs220/// to type method usages that utilize this trait and call into_definition().
MEDIUMcompiler/crates/schema-set/src/set_merges.rs509 // The lowest-common-denominator of a nullable and nonnull output is a nullable output, as the consumer must be
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippet
LOWcompiler/crates/schema/src/in_memory.rs799 // Step 1: build the type_map from type names to type keys
LOWcompiler/crates/schema/src/in_memory.rs893 // Step 2: define operation types, directives, and types
LOWcompiler/crates/relay-lsp/src/goto_definition.rs311 // Step 1: does extra_data_provider know anything about this field?
LOWcompiler/crates/relay-lsp/src/goto_definition.rs329 // Step 2: is field a standalone graphql file?
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWscripts/release-notes.js83function getData() {