GitShow/facebook/relay
facebook

relay

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

by facebook
Star on GitHubForkWebsite

Rust

19.0k stars1.9k forks1.1k contributorsActive · 8h agoSince 2015v21.0.1MIT

Meet the team

See all 1059 on GitHub →
kassens
kassens1.7k contributions
alunyov
alunyov993 contributions
captbaritone
captbaritone892 contributions
tyao1
tyao1745 contributions
josephsavona
josephsavona556 contributions
rbalicki2
rbalicki2446 contributions
yungsters
yungsters261 contributions
SamChou19815
SamChou19815260 contributions

Languages

View on GitHub →
Rust52.9%
JavaScript31.2%
MDX14.5%
HTML0.8%
CSS0.3%
TypeScript0.3%

Commit activity

Last 12 weeks · 255 commits

Full graph →

Community health

5 of 6 standards met

Community profile →
75
✓README✓License✓Contributing✓Code of Conduct✓Issue Template○PR Template

Recent fixes

View closed PRs →
GregoryCollett
Create the local persisted queries file when it is missingMergedPR

Problem When uses the local file mode, the compiler refuses to start if the configured file does not exist: But this file is a compiler output — the docs describe the feature as "you can generate a local JSON file which contains a map of ". Because it's a build artifact it is typically gitignored, so the compiler only starts on machines where a previous run happens to have left the file behind. On a fresh checkout — i.e. every CI run — it errors out until you either commit a stub map or wrap every compiler invocation in a script that pre-creates the file. (It's the single-file analogue of committing a to satisfy the check.) The check also lives inside , so it performs filesystem I/O during config parsing and resolves the path against the process cwd rather than the config file's location. Changes 1. deserialization no longer requires the local file to exist (and no longer touches the filesystem). 2. treats a missing file as an empty query map (the first-run state). Other read errors still panic, but the message now includes the underlying io error instead of claiming the file must exist. 3. creates missing parent directories before writing, matching what the artifact writer does for artifacts. 4. Doc comment on updated accordingly and regenerated. Behaviour notes Existing setups are unaffected: when the file exists, its entries are still loaded and merged exactly as before. This is pinned by the fixture, whose snapshot is byte-identical with and without the code change. A typo'd path now results in the map being written at the typo'd path instead of a startup error — i.e. ordinary build-output () semantics. Unchanged, but worth stating: operations whose generated artifacts are already up to date are not re-persisted (their ids are extracted from the artifacts), so deleting only the map file while keeping artifacts yields a map without those entries. already exists to force a full re-persist. That outcome is identical to today's stub-file workaround; this PR just removes the need for the workaround. Tests Three new integration fixtures: — the main repro. Before the fix this snapshotted the startup error; now the compiler runs and the snapshot shows being created alongside the artifact. — pins the pre-existing merge behaviour (snapshot unchanged by the fix). — with no directory in the fixture. for the workspace passes locally apart from , which on my machine fails under the parallel lib test run and passes in isolation, both with and without this change (pre-existing, unrelated). Also verified end-to-end against our application's single-project with the persist file absent: previously failed at startup, now compiles and writes the populated map.

GregoryCollett · 10h ago
sjwilczynski
fix(relay-test-utils): fix plural enum field generationMergedPR

Summary Fixed to return all enum values for plural enum fields instead of just the first value Added test to validate default enum array generation behavior with Before: Plural enum fields like would return (mock array, not matching the enum type) After: Plural enum fields return all enum values: Test plan [x] Added new test that validates plural enum fields return all enum values by default [x] Other tests still pass

sjwilczynski · 10h ago
PHILLIPS71
fix: add extensions field to PayloadError per GraphQL specMergedPR

The GraphQL spec (https://spec.graphql.org/September2025/#sec-Errors) states that errors may include an extensions entry whose value must be a map with no additional restrictions on its contents. PayloadError was missing this field. This also propagates extensions through to so the field is preserved during normalization and available to consumers. As a side effect, stale inline type annotations in that manually duplicated the error shape have been replaced with directly, and a mutation of a ReadonlyArray path via unshift has been replaced with an immutable spread.

PHILLIPS71 · 11h ago
Structured data for AI agents

Repository: facebook/relay. Description: Relay is a JavaScript framework for building data-driven React applications. Stars: 18955, Forks: 1894. Primary language: Rust. Languages: Rust (52.9%), JavaScript (31.2%), MDX (14.5%), HTML (0.8%), CSS (0.3%). License: MIT. Homepage: https://relay.dev Latest release: v21.0.1 (2mo ago). Open PRs: 100, open issues: 762. Last activity: 8h ago. Community health: 75%. Top contributors: kassens, alunyov, captbaritone, tyao1, josephsavona, rbalicki2, yungsters, SamChou19815, wincent, leebyron and others.

·@ofershap

Replace github.com with gitshow.dev