From b50b78bb6697a4827b234c4500f4c6615f4ce73c Mon Sep 17 00:00:00 2001 From: Andrey Lunyov Date: Tue, 29 Aug 2023 10:03:01 -0700 Subject: [PATCH] Update the name of the generated files for resolvers to include project name as prefix (#4418) Summary: We have two methods that generate files for resolvers. This diff is passing the `project_name` to these methods, and we're using it as a prefix for fragment/operation name. These fragment/operation names will be used to generate artifacts. With this prefix we will prevent possible collisions of generated artifacts for projects that have resolvers with the same name. Pull Request resolved: https://github.com/facebook/relay/pull/4418 Test Plan: - Updated Snapshot Tests - Run compiler in OSS - Run compiler on XPLAT + Adding new model resolver Also confirmed that there is no flow errors with this change on the Zenon refactoing: D48738810 Reviewed By: captbaritone Differential Revision: D48608429 Pulled By: alunyov fbshipit-source-id: bd59c426458e04ce41a8d416a576f497aeb443d3 --- compiler/crates/relay-bin/src/main.rs | 6 +- .../relay-codegen/tests/client_edges/mod.rs | 3 +- .../relay-compiler-playground/src/lib.rs | 2 +- .../build_project/build_resolvers_schema.rs | 2 +- .../src/build_project/build_schema.rs | 2 +- .../relay-compiler/src/build_project/mod.rs | 2 +- .../src/build_project/project_asts.rs | 2 +- .../relay-compiler/src/compiler_state.rs | 11 +- compiler/crates/relay-compiler/src/config.rs | 7 +- .../crates/relay-compiler/src/docblocks.rs | 7 +- compiler/crates/relay-compiler/src/errors.rs | 3 +- .../src/file_source/file_categorizer.rs | 22 +-- .../src/file_source/file_filter.rs | 6 +- .../src/file_source/file_group.rs | 3 +- .../crates/relay-compiler/src/graphql_asts.rs | 2 +- compiler/crates/relay-compiler/src/lib.rs | 1 + .../fixtures/relay-model-resolver.expected | 16 +- .../fixtures/relay-model-resolver.graphql | 4 +- .../relay-resolver-live-weak-object.expected | 6 +- ...relay-resolver-weak-object-plural.expected | 6 +- .../relay-resolver-weak-object.expected | 6 +- ...er-with-output-type-client-object.expected | 4 +- ...-with-root-fragment-on-model-type.expected | 10 +- ...r-with-root-fragment-on-model-type.graphql | 2 +- .../tests/compile_relay_artifacts/mod.rs | 3 +- .../mod.rs | 3 +- .../crates/relay-config/src/project_config.rs | 29 +++- .../crates/relay-docblock/src/docblock_ir.rs | 13 +- compiler/crates/relay-docblock/src/ir.rs | 146 ++++++++++-------- compiler/crates/relay-docblock/src/lib.rs | 3 + ...ver-strong-object-with-implements.expected | 2 +- .../relay-resolver-strong-object.expected | 2 +- .../crates/relay-docblock/tests/parse/mod.rs | 2 + ...olver-with-root-fragment-on-model.expected | 2 +- ...ver-strong-object-with-implements.expected | 2 +- ...g-object-with-multiple-implements.expected | 2 +- .../relay-resolver-strong-object.expected | 2 +- ...olver-with-root-fragment-on-model.expected | 2 +- .../relay-docblock/tests/to_schema/mod.rs | 11 +- .../crates/relay-lsp/src/graphql_tools/mod.rs | 9 +- .../crates/relay-lsp/src/server/lsp_state.rs | 14 +- .../src/server/lsp_state_resources.rs | 21 +-- compiler/crates/relay-lsp/src/utils.rs | 3 +- .../relay-transforms/src/apply_transforms.rs | 17 +- ...enerate_relay_resolvers_model_fragments.rs | 10 +- ...resolvers_operations_for_nested_objects.rs | 14 +- .../relay-transforms/src/relay_resolvers.rs | 18 ++- .../fixtures/output-type.expected | 2 +- .../tests/client_edges/mod.rs | 3 +- .../fixtures/output-type-client-type.expected | 2 +- ...output-type-with-client-interface.expected | 2 +- ...e-recursion-but-lying-client-type.expected | 2 +- ...t-type-with-relay-resolver-fields.expected | 2 +- .../mod.rs | 7 +- .../tests/relay_resolvers/mod.rs | 3 +- ...with-output-type-client-interface.expected | 24 +-- ...-output-type-client-object-plural.expected | 14 +- ...er-with-output-type-client-object.expected | 14 +- .../relay-typegen/tests/generate_flow/mod.rs | 3 +- .../tests/generate_flow_with_custom_id/mod.rs | 3 +- ...with-output-type-client-interface.expected | 20 +-- ...er-with-output-type-client-object.expected | 10 +- .../tests/generate_typescript/mod.rs | 3 +- .../ExampleWithOutputTypeTestQuery.graphql.js | 8 +- ...odelTestFieldWithArgumentsQuery.graphql.js | 22 +-- .../RelayResolverModelTestFragment.graphql.js | 26 ++-- ...olverModelTestInterfaceFragment.graphql.js | 38 ++--- ...odelTestNullWeakClientEdgeQuery.graphql.js | 22 +-- ...estSuspendedWeakClientEdgeQuery.graphql.js | 22 +-- ...lverModelTestWeakLiveFieldQuery.graphql.js | 18 +-- ...lverModelTestWithPluralFragment.graphql.js | 26 ++-- ...TypeTestExceptionalProjectQuery.graphql.js | 8 +- ...lversWithOutputTypeTestFragment.graphql.js | 8 +- ...utputTypeTestManyLiveTodosQuery.graphql.js | 8 +- ...ithOutputTypeTestManyTodosQuery.graphql.js | 8 +- ...versWithOutputTypeTestTodoQuery.graphql.js | 8 +- ...putTypeTestTodoWithBlockedQuery.graphql.js | 14 +- .../resolvers/ExampleClientObjectResolver.js | 2 +- .../__tests__/resolvers/QueryManyTodos.js | 2 +- .../store/__tests__/resolvers/QueryTodo.js | 2 +- .../store/__tests__/resolvers/QueryTodos.js | 2 +- .../resolvers/TodoBlockedByResolver.js | 2 +- .../__tests__/resolvers/TodoDescription.js | 8 +- .../__tests__/resolvers/TodoTextResolver.js | 2 +- ...le_client_object$normalization.graphql.js} | 6 +- ...todo_description$normalization.graphql.js} | 6 +- ..._many_live_todos$normalization.graphql.js} | 6 +- ...uery__many_todos$normalization.graphql.js} | 6 +- ...ests_Query__todo$normalization.graphql.js} | 6 +- ...sts_Query__todos$normalization.graphql.js} | 6 +- ...iption____relay_model_instance.graphql.js} | 20 +-- ...e_with_interface$normalization.graphql.js} | 6 +- ...__some_interface$normalization.graphql.js} | 6 +- ...oModel____relay_model_instance.graphql.js} | 28 ++-- ...ancy_description$normalization.graphql.js} | 6 +- ...description_null$normalization.graphql.js} | 6 +- ...ription_suspends$normalization.graphql.js} | 6 +- ...phql.js => tests_TodoModel__id.graphql.js} | 20 +-- ...ncy_descriptions$normalization.graphql.js} | 6 +- ...Todo__blocked_by$normalization.graphql.js} | 6 +- ...tests_Todo__text$normalization.graphql.js} | 6 +- 101 files changed, 555 insertions(+), 432 deletions(-) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__example_client_object$normalization.graphql.js => tests_Query__example_client_object$normalization.graphql.js} (80%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel__many_fancy_descriptions$normalization.graphql.js => tests_Query__live_todo_description$normalization.graphql.js} (82%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__many_todos$normalization.graphql.js => tests_Query__many_live_todos$normalization.graphql.js} (81%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__many_live_todos$normalization.graphql.js => tests_Query__many_todos$normalization.graphql.js} (82%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Todo__blocked_by$normalization.graphql.js => tests_Query__todo$normalization.graphql.js} (83%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__todos$normalization.graphql.js => tests_Query__todos$normalization.graphql.js} (95%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoDescription____relay_model_instance.graphql.js => tests_TodoDescription____relay_model_instance.graphql.js} (59%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoDescription__some_client_type_with_interface$normalization.graphql.js => tests_TodoDescription__some_client_type_with_interface$normalization.graphql.js} (89%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoDescription__some_interface$normalization.graphql.js => tests_TodoDescription__some_interface$normalization.graphql.js} (87%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel____relay_model_instance.graphql.js => tests_TodoModel____relay_model_instance.graphql.js} (62%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel__fancy_description$normalization.graphql.js => tests_TodoModel__fancy_description$normalization.graphql.js} (82%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__live_todo_description$normalization.graphql.js => tests_TodoModel__fancy_description_null$normalization.graphql.js} (81%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel__fancy_description_suspends$normalization.graphql.js => tests_TodoModel__fancy_description_suspends$normalization.graphql.js} (80%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel__id.graphql.js => tests_TodoModel__id.graphql.js} (66%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{TodoModel__fancy_description_null$normalization.graphql.js => tests_TodoModel__many_fancy_descriptions$normalization.graphql.js} (81%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Query__todo$normalization.graphql.js => tests_Todo__blocked_by$normalization.graphql.js} (82%) rename packages/relay-runtime/store/__tests__/resolvers/__generated__/{Todo__text$normalization.graphql.js => tests_Todo__text$normalization.graphql.js} (92%) diff --git a/compiler/crates/relay-bin/src/main.rs b/compiler/crates/relay-bin/src/main.rs index 7539110c76876..8ed2e730c007a 100644 --- a/compiler/crates/relay-bin/src/main.rs +++ b/compiler/crates/relay-bin/src/main.rs @@ -15,7 +15,6 @@ use clap::ArgEnum; use clap::Parser; use common::ConsoleLogger; use intern::string_key::Intern; -use intern::Lookup; use log::error; use log::info; use relay_compiler::build_project::artifact_writer::ArtifactValidationWriter; @@ -26,6 +25,7 @@ use relay_compiler::FileSourceKind; use relay_compiler::LocalPersister; use relay_compiler::OperationPersister; use relay_compiler::PersistConfig; +use relay_compiler::ProjectName; use relay_compiler::RemotePersister; use relay_lsp::start_language_server; use relay_lsp::DummyExtraDataProvider; @@ -217,7 +217,7 @@ fn set_project_flag(config: &mut Config, projects: Vec) -> Result<(), Er project_config.enabled = false; } for selected_project in projects { - let selected_project = selected_project.intern(); + let selected_project = ProjectName::from(selected_project.intern()); if let Some(project_config) = config.projects.get_mut(&selected_project) { project_config.enabled = true; @@ -229,7 +229,7 @@ fn set_project_flag(config: &mut Config, projects: Vec) -> Result<(), Er config .projects .keys() - .map(|name| name.lookup()) + .map(|name| name.to_string()) .collect::>() .join(", ") ), diff --git a/compiler/crates/relay-codegen/tests/client_edges/mod.rs b/compiler/crates/relay-codegen/tests/client_edges/mod.rs index a0b59b30f0dda..8167f8bd00ed9 100644 --- a/compiler/crates/relay-codegen/tests/client_edges/mod.rs +++ b/compiler/crates/relay-codegen/tests/client_edges/mod.rs @@ -16,6 +16,7 @@ use relay_codegen::print_fragment; use relay_codegen::print_operation; use relay_codegen::JsModuleFormat; use relay_config::ProjectConfig; +use relay_config::ProjectName; use relay_test_schema::get_test_schema_with_extensions; use relay_transforms::client_edges; use relay_transforms::relay_resolvers; @@ -30,7 +31,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { let program = Program::from_definitions(Arc::clone(&schema), ir); let next_program = sort_selections( &client_edges(&program, &Default::default()) - .and_then(|program| relay_resolvers(&program, true)) + .and_then(|program| relay_resolvers(ProjectName::default(), &program, true)) .unwrap(), ); let mut result = next_program diff --git a/compiler/crates/relay-compiler-playground/src/lib.rs b/compiler/crates/relay-compiler-playground/src/lib.rs index f1fe17adbac2b..9653b7003b5bf 100644 --- a/compiler/crates/relay-compiler-playground/src/lib.rs +++ b/compiler/crates/relay-compiler-playground/src/lib.rs @@ -314,7 +314,7 @@ fn get_project_config( ) -> Result { let feature_flags: FeatureFlags = serde_json::from_str(feature_flags_json) .map_err(|err| PlaygroundError::ConfigError(format!("{}", err)))?; - let project_name = "test_project".intern(); + let project_name = "test_project".intern().into(); let typegen_config: TypegenConfig = typegen_config_json .map(|str| { serde_json::from_str(str) diff --git a/compiler/crates/relay-compiler/src/build_project/build_resolvers_schema.rs b/compiler/crates/relay-compiler/src/build_project/build_resolvers_schema.rs index a4eb48e294ca1..5b9640a592d85 100644 --- a/compiler/crates/relay-compiler/src/build_project/build_resolvers_schema.rs +++ b/compiler/crates/relay-compiler/src/build_project/build_resolvers_schema.rs @@ -10,11 +10,11 @@ use docblock_syntax::DocblockAST; use errors::try_all; use fnv::FnvHashMap; use graphql_syntax::ExecutableDefinition; +use relay_config::ProjectName; use relay_docblock::extend_schema_with_resolver_type_system_definition; use schema::SDLSchema; use crate::compiler_state::CompilerState; -use crate::compiler_state::ProjectName; use crate::config::ProjectConfig; use crate::docblocks::build_schema_documents_from_docblocks; use crate::docblocks::parse_docblock_asts_from_sources; diff --git a/compiler/crates/relay-compiler/src/build_project/build_schema.rs b/compiler/crates/relay-compiler/src/build_project/build_schema.rs index 89d9f52a9a0f7..3523fcd18381e 100644 --- a/compiler/crates/relay-compiler/src/build_project/build_schema.rs +++ b/compiler/crates/relay-compiler/src/build_project/build_schema.rs @@ -9,11 +9,11 @@ use std::sync::Arc; use common::DiagnosticsResult; use fnv::FnvHashMap; +use relay_config::ProjectName; use schema::SDLSchema; use super::build_resolvers_schema::extend_schema_with_resolvers; use crate::compiler_state::CompilerState; -use crate::compiler_state::ProjectName; use crate::config::ProjectConfig; use crate::GraphQLAsts; diff --git a/compiler/crates/relay-compiler/src/build_project/mod.rs b/compiler/crates/relay-compiler/src/build_project/mod.rs index 4d63e0dcb3469..bf0ab2410ca00 100644 --- a/compiler/crates/relay-compiler/src/build_project/mod.rs +++ b/compiler/crates/relay-compiler/src/build_project/mod.rs @@ -50,6 +50,7 @@ use log::warn; use rayon::iter::IntoParallelRefIterator; use rayon::slice::ParallelSlice; use relay_codegen::Printer; +use relay_config::ProjectName; use relay_transforms::apply_transforms; use relay_transforms::CustomTransformsConfig; use relay_transforms::Programs; @@ -70,7 +71,6 @@ use crate::artifact_map::ArtifactMap; use crate::artifact_map::ArtifactSourceKey; use crate::compiler_state::ArtifactMapKind; use crate::compiler_state::CompilerState; -use crate::compiler_state::ProjectName; use crate::config::Config; use crate::config::ProjectConfig; use crate::errors::BuildProjectError; diff --git a/compiler/crates/relay-compiler/src/build_project/project_asts.rs b/compiler/crates/relay-compiler/src/build_project/project_asts.rs index 19eb12265e0d4..b7522fd200a65 100644 --- a/compiler/crates/relay-compiler/src/build_project/project_asts.rs +++ b/compiler/crates/relay-compiler/src/build_project/project_asts.rs @@ -15,11 +15,11 @@ use graphql_ir::FragmentDefinitionNameSet; use graphql_ir::OperationDefinitionName; use graphql_syntax::ExecutableDefinition; use relay_config::ProjectConfig; +use relay_config::ProjectName; use relay_transforms::get_resolver_fragment_dependency_name; use schema::SDLSchema; use schema::Schema; -use crate::compiler_state::ProjectName; use crate::errors::BuildProjectError; use crate::GraphQLAsts; diff --git a/compiler/crates/relay-compiler/src/compiler_state.rs b/compiler/crates/relay-compiler/src/compiler_state.rs index b77563951ff4c..45ca71a29522b 100644 --- a/compiler/crates/relay-compiler/src/compiler_state.rs +++ b/compiler/crates/relay-compiler/src/compiler_state.rs @@ -26,8 +26,8 @@ use dashmap::DashSet; use fnv::FnvBuildHasher; use fnv::FnvHashMap; use fnv::FnvHashSet; -use intern::string_key::StringKey; use rayon::prelude::*; +use relay_config::ProjectName; use relay_config::SchemaConfig; use schema::SDLSchema; use schema_diff::definitions::SchemaChange; @@ -54,9 +54,6 @@ use crate::file_source::LocatedGraphQLSource; use crate::file_source::LocatedJavascriptSourceFeatures; use crate::file_source::SourceControlUpdateStatus; -/// Name of a compiler project. -pub type ProjectName = StringKey; - /// Set of project names. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)] #[serde(from = "DeserializableProjectSet")] @@ -79,7 +76,7 @@ impl ProjectSet { existing_names.push(project_name); } - pub fn iter(&self) -> slice::Iter<'_, StringKey> { + pub fn iter(&self) -> slice::Iter<'_, ProjectName> { self.0.iter() } @@ -94,7 +91,7 @@ impl ProjectSet { impl IntoIterator for ProjectSet { type Item = ProjectName; - type IntoIter = vec::IntoIter; + type IntoIter = vec::IntoIter; fn into_iter(self) -> Self::IntoIter { self.0.into_iter() @@ -439,7 +436,7 @@ impl CompilerState { /// This method is looking at the pending schema changes to see if they may be breaking (removed types, renamed field, etc) pub fn has_breaking_schema_change( &self, - project_name: StringKey, + project_name: ProjectName, schema_config: &SchemaConfig, ) -> bool { if let Some(extension) = self.extensions.get(&project_name) { diff --git a/compiler/crates/relay-compiler/src/config.rs b/compiler/crates/relay-compiler/src/config.rs index 01f900b5366fa..fed7d8a7cb4ce 100644 --- a/compiler/crates/relay-compiler/src/config.rs +++ b/compiler/crates/relay-compiler/src/config.rs @@ -23,7 +23,6 @@ use fnv::FnvHashSet; use graphql_ir::OperationDefinition; use graphql_ir::Program; use indexmap::IndexMap; -use intern::string_key::Intern; use intern::string_key::StringKey; use js_config_loader::LoaderSource; use log::warn; @@ -38,6 +37,7 @@ pub use relay_config::LocalPersistConfig; use relay_config::ModuleImportConfig; pub use relay_config::PersistConfig; pub use relay_config::ProjectConfig; +use relay_config::ProjectName; pub use relay_config::RemotePersistConfig; use relay_config::SchemaConfig; pub use relay_config::SchemaLocation; @@ -59,7 +59,6 @@ use crate::build_project::generate_extra_artifacts::GenerateExtraArtifactsFn; use crate::build_project::get_artifacts_file_hash_map::GetArtifactsFileHashMapFn; use crate::build_project::AdditionalValidations; use crate::compiler_state::CompilerState; -use crate::compiler_state::ProjectName; use crate::compiler_state::ProjectSet; use crate::errors::ConfigValidationError; use crate::errors::Error; @@ -662,7 +661,7 @@ struct MultiProjectConfigFile { #[serde(deny_unknown_fields, rename_all = "camelCase", default)] pub struct SingleProjectConfigFile { #[serde(skip)] - pub project_name: StringKey, + pub project_name: ProjectName, /// Path to schema.graphql pub schema: PathBuf, @@ -740,7 +739,7 @@ pub struct SingleProjectConfigFile { impl Default for SingleProjectConfigFile { fn default() -> Self { Self { - project_name: "default".intern(), + project_name: ProjectName::default(), schema: Default::default(), src: Default::default(), artifact_directory: Default::default(), diff --git a/compiler/crates/relay-compiler/src/docblocks.rs b/compiler/crates/relay-compiler/src/docblocks.rs index 2a4127629c22f..a3970830c8898 100644 --- a/compiler/crates/relay-compiler/src/docblocks.rs +++ b/compiler/crates/relay-compiler/src/docblocks.rs @@ -72,7 +72,8 @@ fn parse_source( definitions: Option<&Vec>, ) -> DiagnosticsResult> { let maybe_ir = parse_docblock_ast( - &ast, + project_config.name, + ast, definitions, ParseOptions { enable_output_type: &project_config @@ -81,6 +82,8 @@ fn parse_source( }, )?; maybe_ir - .map(|ir| ir.to_graphql_schema_ast(schema, &project_config.schema_config)) + .map(|ir| { + ir.to_graphql_schema_ast(project_config.name, schema, &project_config.schema_config) + }) .transpose() } diff --git a/compiler/crates/relay-compiler/src/errors.rs b/compiler/crates/relay-compiler/src/errors.rs index 658e19ae0ff89..80695149ab378 100644 --- a/compiler/crates/relay-compiler/src/errors.rs +++ b/compiler/crates/relay-compiler/src/errors.rs @@ -11,10 +11,9 @@ use std::path::PathBuf; use common::Diagnostic; use glob::PatternError; use persist_query::PersistError; +use relay_config::ProjectName; use thiserror::Error; -use crate::compiler_state::ProjectName; - pub type Result = std::result::Result; #[derive(Debug, Error)] diff --git a/compiler/crates/relay-compiler/src/file_source/file_categorizer.rs b/compiler/crates/relay-compiler/src/file_source/file_categorizer.rs index a920232c62d4e..2d8cb4d2d6f48 100644 --- a/compiler/crates/relay-compiler/src/file_source/file_categorizer.rs +++ b/compiler/crates/relay-compiler/src/file_source/file_categorizer.rs @@ -18,12 +18,12 @@ use common::sync::ParallelIterator; use fnv::FnvHashSet; use log::warn; use rayon::iter::IntoParallelRefIterator; +use relay_config::ProjectName; use relay_typegen::TypegenLanguage; use super::file_filter::FileFilter; use super::File; use super::FileGroup; -use crate::compiler_state::ProjectName; use crate::compiler_state::ProjectSet; use crate::config::Config; use crate::config::SchemaLocation; @@ -418,7 +418,7 @@ mod tests { .categorize(&PathBuf::from("src/js/a.js")) .unwrap(), FileGroup::Source { - project_set: ProjectSet::of("public".intern()), + project_set: ProjectSet::of("public".intern().into()), }, ); assert_eq!( @@ -426,7 +426,7 @@ mod tests { .categorize(&PathBuf::from("src/js/nested/b.js")) .unwrap(), FileGroup::Source { - project_set: ProjectSet::of("public".intern()), + project_set: ProjectSet::of("public".intern().into()), }, ); assert_eq!( @@ -434,7 +434,7 @@ mod tests { .categorize(&PathBuf::from("src/js/internal/nested/c.js")) .unwrap(), FileGroup::Source { - project_set: ProjectSet::of("internal".intern()), + project_set: ProjectSet::of("internal".intern().into()), }, ); assert_eq!( @@ -446,7 +446,7 @@ mod tests { .categorize(&PathBuf::from("src/custom/custom-generated/c.js")) .unwrap(), FileGroup::Source { - project_set: ProjectSet::of("with_custom_generated_dir".intern()), + project_set: ProjectSet::of("with_custom_generated_dir".intern().into()), }, ); assert_eq!( @@ -454,7 +454,7 @@ mod tests { .categorize(&PathBuf::from("src/js/internal/nested/__generated__/c.js")) .unwrap(), FileGroup::Generated { - project_name: "internal".intern() + project_name: "internal".intern().into() }, ); assert_eq!( @@ -462,7 +462,7 @@ mod tests { .categorize(&PathBuf::from("graphql/custom-generated/c.js")) .unwrap(), FileGroup::Generated { - project_name: "with_custom_generated_dir".intern() + project_name: "with_custom_generated_dir".intern().into() }, ); assert_eq!( @@ -470,7 +470,7 @@ mod tests { .categorize(&PathBuf::from("graphql/public.graphql")) .unwrap(), FileGroup::Schema { - project_set: ProjectSet::of("public".intern()) + project_set: ProjectSet::of("public".intern().into()) }, ); assert_eq!( @@ -478,7 +478,7 @@ mod tests { .categorize(&PathBuf::from("graphql/__generated__/internal.graphql")) .unwrap(), FileGroup::Schema { - project_set: ProjectSet::of("internal".intern()) + project_set: ProjectSet::of("internal".intern().into()) }, ); assert_eq!( @@ -486,7 +486,7 @@ mod tests { .categorize(&PathBuf::from("src/typescript/a.ts")) .unwrap(), FileGroup::Source { - project_set: ProjectSet::of("typescript".intern()), + project_set: ProjectSet::of("typescript".intern().into()), }, ); } @@ -540,7 +540,7 @@ mod tests { assert_eq!( categorizer.categorize(&PathBuf::from("src/custom_overlapping/__generated__/c.js")), Err(Cow::Borrowed( - "Overlapping input sources are incompatible with relative generated directories. Got file in a relative generated directory with source set ProjectSet([\"with_custom_generated_dir\", \"overlapping_generated_dir\"])." + "Overlapping input sources are incompatible with relative generated directories. Got file in a relative generated directory with source set ProjectSet([ProjectName(\"with_custom_generated_dir\"), ProjectName(\"overlapping_generated_dir\")])." )), ); } diff --git a/compiler/crates/relay-compiler/src/file_source/file_filter.rs b/compiler/crates/relay-compiler/src/file_source/file_filter.rs index da791645df3be..e2b4b32c41b32 100644 --- a/compiler/crates/relay-compiler/src/file_source/file_filter.rs +++ b/compiler/crates/relay-compiler/src/file_source/file_filter.rs @@ -10,7 +10,7 @@ use std::path::PathBuf; use fnv::FnvHashSet; use glob::Pattern; -use intern::string_key::StringKey; +use relay_config::ProjectName; use crate::config::Config; use crate::config::SchemaLocation; @@ -58,7 +58,7 @@ impl FileFilter { } // Get roots for extensions, schemas and output dirs -fn get_extra_roots(config: &Config, enabled_projects: &FnvHashSet) -> Vec { +fn get_extra_roots(config: &Config, enabled_projects: &FnvHashSet) -> Vec { let mut roots = vec![]; for project_config in config.projects.values() { if !enabled_projects.contains(&project_config.name) { @@ -78,7 +78,7 @@ fn get_extra_roots(config: &Config, enabled_projects: &FnvHashSet) -> unify_roots(roots) } -fn get_sources_root(config: &Config, enabled_projects: &FnvHashSet) -> Vec { +fn get_sources_root(config: &Config, enabled_projects: &FnvHashSet) -> Vec { unify_roots( config .sources diff --git a/compiler/crates/relay-compiler/src/file_source/file_group.rs b/compiler/crates/relay-compiler/src/file_source/file_group.rs index 1d194d8ef16b5..14c135062d570 100644 --- a/compiler/crates/relay-compiler/src/file_source/file_group.rs +++ b/compiler/crates/relay-compiler/src/file_source/file_group.rs @@ -5,7 +5,8 @@ * LICENSE file in the root directory of this source tree. */ -use crate::compiler_state::ProjectName; +use relay_config::ProjectName; + use crate::compiler_state::ProjectSet; #[derive(Debug, PartialEq, Eq, Hash)] diff --git a/compiler/crates/relay-compiler/src/graphql_asts.rs b/compiler/crates/relay-compiler/src/graphql_asts.rs index 0c2c83fb64bc4..07997dab9bc33 100644 --- a/compiler/crates/relay-compiler/src/graphql_asts.rs +++ b/compiler/crates/relay-compiler/src/graphql_asts.rs @@ -18,10 +18,10 @@ use graphql_ir::ExecutableDefinitionName; use graphql_ir::FragmentDefinitionName; use graphql_ir::OperationDefinitionName; use graphql_syntax::ExecutableDefinition; +use relay_config::ProjectName; use crate::artifact_map::ArtifactSourceKey; use crate::compiler_state::GraphQLSources; -use crate::compiler_state::ProjectName; use crate::errors::Error; use crate::errors::Result; use crate::file_source::LocatedGraphQLSource; diff --git a/compiler/crates/relay-compiler/src/lib.rs b/compiler/crates/relay-compiler/src/lib.rs index d6817d0e76d43..a113bb4b80114 100644 --- a/compiler/crates/relay-compiler/src/lib.rs +++ b/compiler/crates/relay-compiler/src/lib.rs @@ -71,3 +71,4 @@ pub use file_source::SourceReader; pub use graphql_asts::GraphQLAsts; pub use operation_persister::LocalPersister; pub use operation_persister::RemotePersister; +pub use relay_config::ProjectName; diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.expected index df0fd0740ae27..1b8a334541709 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.expected @@ -11,7 +11,7 @@ type ClientUser @__RelayResolverModel { id: ID! __relay_model_instance: RelayResolverValue @relay_resolver( - fragment_name: "ClientUser__id" + fragment_name: "default_ClientUser__id" import_path: "./path/to/UserModelResolver.js" inject_fragment_data: "id" ) @@ -20,7 +20,7 @@ type ClientUser @__RelayResolverModel { extend type ClientUser { name: RelayResolverValue @relay_resolver( - fragment_name: "ClientUser____relay_model_instance" + fragment_name: "default_ClientUser____relay_model_instance" import_path: "./path/to/UserNameResolver.js" inject_fragment_data: "__relay_model_instance" ) @@ -54,11 +54,11 @@ extend type Query { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "ClientUser____relay_model_instance" + "name": "default_ClientUser____relay_model_instance" }, "kind": "RelayResolver", "name": "name", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('ClientUser____relay_model_instance.graphql'), require('UserNameResolver'), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('default_ClientUser____relay_model_instance.graphql'), require('UserNameResolver'), '__relay_model_instance', false), "path": "client_user.name" } ], @@ -154,7 +154,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "ClientUser____relay_model_instance", + "name": "default_ClientUser____relay_model_instance", "selections": [ { "alias": null, @@ -162,11 +162,11 @@ Query Text is Empty. "fragment": { "args": null, "kind": "FragmentSpread", - "name": "ClientUser__id" + "name": "default_ClientUser__id" }, "kind": "RelayResolver", "name": "__relay_model_instance", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('ClientUser__id.graphql'), require('UserModelResolver'), 'id', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('default_ClientUser__id.graphql'), require('UserModelResolver'), 'id', true), "path": "__relay_model_instance" } ], @@ -178,7 +178,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "ClientUser__id", + "name": "default_ClientUser__id", "selections": [ { "kind": "ClientExtension", diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.graphql b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.graphql index f09394173dc28..6cf7b76fcccc4 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.graphql +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-model-resolver.graphql @@ -10,7 +10,7 @@ type ClientUser @__RelayResolverModel { id: ID! __relay_model_instance: RelayResolverValue @relay_resolver( - fragment_name: "ClientUser__id" + fragment_name: "default_ClientUser__id" import_path: "./path/to/UserModelResolver.js" inject_fragment_data: "id" ) @@ -19,7 +19,7 @@ type ClientUser @__RelayResolverModel { extend type ClientUser { name: RelayResolverValue @relay_resolver( - fragment_name: "ClientUser____relay_model_instance" + fragment_name: "default_ClientUser____relay_model_instance" import_path: "./path/to/UserNameResolver.js" inject_fragment_data: "__relay_model_instance" ) diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-live-weak-object.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-live-weak-object.expected index 393146f2fa571..307b74eae5f76 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-live-weak-object.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-live-weak-object.expected @@ -24,7 +24,7 @@ extend type Query { { "kind": "SplitOperation", "metadata": {}, - "name": "Query__client_types$normalization", + "name": "default_Query__client_types$normalization", "selections": [ { "kind": "ClientExtension", @@ -64,7 +64,7 @@ extend type Query { "normalizationInfo": { "concreteType": "MyClientType", "plural": false, - "normalizationNode": require('Query__client_types$normalization.graphql') + "normalizationNode": require('default_Query__client_types$normalization.graphql') } }, "linkedField": { @@ -145,7 +145,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "MyClientType____relay_model_instance", + "name": "default_MyClientType____relay_model_instance", "selections": [ { "kind": "ClientExtension", diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object-plural.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object-plural.expected index 3f1bd3caf3563..62a7f69664bd8 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object-plural.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object-plural.expected @@ -23,7 +23,7 @@ extend type Query { { "kind": "SplitOperation", "metadata": {}, - "name": "Query__client_types$normalization", + "name": "default_Query__client_types$normalization", "selections": [ { "kind": "ClientExtension", @@ -63,7 +63,7 @@ extend type Query { "normalizationInfo": { "concreteType": "MyClientType", "plural": true, - "normalizationNode": require('Query__client_types$normalization.graphql') + "normalizationNode": require('default_Query__client_types$normalization.graphql') } }, "linkedField": { @@ -144,7 +144,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "MyClientType____relay_model_instance", + "name": "default_MyClientType____relay_model_instance", "selections": [ { "kind": "ClientExtension", diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object.expected index b98eaadfd8cca..c0394dd987198 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-weak-object.expected @@ -23,7 +23,7 @@ extend type Query { { "kind": "SplitOperation", "metadata": {}, - "name": "Query__client_type$normalization", + "name": "default_Query__client_type$normalization", "selections": [ { "kind": "ClientExtension", @@ -63,7 +63,7 @@ extend type Query { "normalizationInfo": { "concreteType": "MyClientType", "plural": false, - "normalizationNode": require('Query__client_type$normalization.graphql') + "normalizationNode": require('default_Query__client_type$normalization.graphql') } }, "linkedField": { @@ -144,7 +144,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "MyClientType____relay_model_instance", + "name": "default_MyClientType____relay_model_instance", "selections": [ { "kind": "ClientExtension", diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-with-output-type-client-object.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-with-output-type-client-object.expected index 9e73ca70c54de..512009fd27d42 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-with-output-type-client-object.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/relay-resolver-with-output-type-client-object.expected @@ -28,7 +28,7 @@ extend type User { { "kind": "SplitOperation", "metadata": {}, - "name": "User__pop_star_name$normalization", + "name": "default_User__pop_star_name$normalization", "selections": [ { "kind": "ClientExtension", @@ -125,7 +125,7 @@ extend type User { "normalizationInfo": { "concreteType": "ClientUser", "plural": false, - "normalizationNode": require('User__pop_star_name$normalization.graphql') + "normalizationNode": require('default_User__pop_star_name$normalization.graphql') } }, "linkedField": { diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.expected b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.expected index f4c2a4f38c0ce..b8a4d8cca1aff 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.expected +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.expected @@ -16,7 +16,7 @@ type MyType @__RelayResolverModel { __relay_model_instance: Int @relay_resolver( import_path: "/path/to/test/fixture/terse-relay-resolver-with-root-fragment-on-model.js" - fragment_name: "MyType__id" + fragment_name: "default_MyType__id" inject_fragment_data: "id" import_name: "MyType" ) @@ -149,7 +149,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "MyType____relay_model_instance", + "name": "default_MyType____relay_model_instance", "selections": [ { "alias": null, @@ -157,11 +157,11 @@ Query Text is Empty. "fragment": { "args": null, "kind": "FragmentSpread", - "name": "MyType__id" + "name": "default_MyType__id" }, "kind": "RelayResolver", "name": "__relay_model_instance", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('MyType__id.graphql'), require('terse-relay-resolver-with-root-fragment-on-model').MyType, 'id', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('default_MyType__id.graphql'), require('terse-relay-resolver-with-root-fragment-on-model').MyType, 'id', true), "path": "__relay_model_instance" } ], @@ -173,7 +173,7 @@ Query Text is Empty. "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "MyType__id", + "name": "default_MyType__id", "selections": [ { "kind": "ClientExtension", diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.graphql b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.graphql index cc8b26e22c84e..7dbd3e0d2603c 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.graphql +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/fixtures/resolver-with-root-fragment-on-model-type.graphql @@ -15,7 +15,7 @@ type MyType @__RelayResolverModel { __relay_model_instance: Int @relay_resolver( import_path: "/path/to/test/fixture/terse-relay-resolver-with-root-fragment-on-model.js" - fragment_name: "MyType__id" + fragment_name: "default_MyType__id" inject_fragment_data: "id" import_name: "MyType" ) diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/mod.rs b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/mod.rs index 0c117e3bfb909..41e1ea6a1c9f7 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts/mod.rs +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts/mod.rs @@ -37,6 +37,7 @@ use relay_compiler::validate; use relay_compiler::ConfigFileProject; use relay_compiler::ProjectConfig; use relay_config::NonNodeIdFieldsConfig; +use relay_config::ProjectName; use relay_config::SchemaConfig; use relay_test_schema::get_test_schema; use relay_test_schema::get_test_schema_with_extensions; @@ -116,7 +117,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { }; let default_project_config = ProjectConfig { - name: "test".intern(), + name: ProjectName::default(), feature_flags: Arc::new(feature_flags), js_module_format: JsModuleFormat::Haste, schema_config: SchemaConfig { diff --git a/compiler/crates/relay-compiler/tests/compile_relay_artifacts_with_custom_id/mod.rs b/compiler/crates/relay-compiler/tests/compile_relay_artifacts_with_custom_id/mod.rs index 3e6f50698885b..7a2021a6d839e 100644 --- a/compiler/crates/relay-compiler/tests/compile_relay_artifacts_with_custom_id/mod.rs +++ b/compiler/crates/relay-compiler/tests/compile_relay_artifacts_with_custom_id/mod.rs @@ -33,6 +33,7 @@ use relay_codegen::print_request; use relay_codegen::JsModuleFormat; use relay_compiler::validate; use relay_compiler::ProjectConfig; +use relay_config::ProjectName; use relay_config::SchemaConfig; use relay_test_schema::get_test_schema_with_custom_id; use relay_test_schema::get_test_schema_with_custom_id_with_extensions; @@ -98,7 +99,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { let default_schema_config = SchemaConfig::default(); let project_config = ProjectConfig { - name: "test".intern(), + name: ProjectName::default(), feature_flags: Arc::new(feature_flags), schema_config: SchemaConfig { node_interface_id_field: "global_id".intern(), diff --git a/compiler/crates/relay-config/src/project_config.rs b/compiler/crates/relay-config/src/project_config.rs index ddd057e70d68f..d442ad0a0e12b 100644 --- a/compiler/crates/relay-config/src/project_config.rs +++ b/compiler/crates/relay-config/src/project_config.rs @@ -40,7 +40,32 @@ use crate::TypegenLanguage; type FnvIndexMap = IndexMap; -pub type ProjectName = StringKey; +#[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)] +pub struct ProjectName(StringKey); + +impl Default for ProjectName { + fn default() -> Self { + Self("default".intern()) + } +} + +impl fmt::Display for ProjectName { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl From for ProjectName { + fn from(key: StringKey) -> Self { + Self(key) + } +} + +impl From for StringKey { + fn from(project_name: ProjectName) -> Self { + project_name.0 + } +} #[derive(Clone, Debug, Serialize, Deserialize)] #[serde(deny_unknown_fields, rename_all = "camelCase")] @@ -236,7 +261,7 @@ pub struct ProjectConfig { impl Default for ProjectConfig { fn default() -> Self { Self { - name: "default".intern(), + name: ProjectName::default(), feature_flags: Default::default(), base: None, output: None, diff --git a/compiler/crates/relay-docblock/src/docblock_ir.rs b/compiler/crates/relay-docblock/src/docblock_ir.rs index 9be5bf0d28d66..bea5cd9dee328 100644 --- a/compiler/crates/relay-docblock/src/docblock_ir.rs +++ b/compiler/crates/relay-docblock/src/docblock_ir.rs @@ -18,6 +18,7 @@ use docblock_shared::ResolverSourceHash; use docblock_shared::ARGUMENT_DEFINITIONS; use docblock_shared::ARGUMENT_TYPE; use docblock_shared::DEFAULT_VALUE; +use docblock_shared::KEY_RESOLVER_ID_FIELD; use docblock_shared::PROVIDER_ARG_NAME; use graphql_ir::reexport::Intern; use graphql_ir::reexport::StringKey; @@ -38,6 +39,7 @@ use graphql_syntax::Token; use graphql_syntax::TokenKind; use graphql_syntax::TypeAnnotation; use intern::Lookup; +use relay_config::ProjectName; use crate::errors::ErrorMessagesWithData; use crate::errors::IrParsingErrorMessages; @@ -57,6 +59,7 @@ use crate::ParseOptions; use crate::RelayResolverIr; pub(crate) fn parse_docblock_ir( + project_name: ProjectName, untyped_representation: UntypedDocblockRepresentation, definitions_in_file: Option<&Vec>, parse_options: &ParseOptions<'_>, @@ -129,6 +132,7 @@ pub(crate) fn parse_docblock_ir( source_hash, )?), None => DocblockIr::StrongObjectResolver(parse_strong_object_ir( + project_name, &mut fields, description, docblock_location, @@ -225,6 +229,7 @@ fn parse_relay_resolver_ir( } fn parse_strong_object_ir( + project_name: ProjectName, fields: &mut HashMap, description: Option>, location: Location, @@ -238,7 +243,13 @@ fn parse_strong_object_ir( type_str.location.span().start, )?; - let fragment_name = FragmentDefinitionName(format!("{}__id", identifier.value).intern()); + let fragment_name = FragmentDefinitionName( + format!( + "{}_{}__{}", + project_name, identifier.value, *KEY_RESOLVER_ID_FIELD + ) + .intern(), + ); Ok(StrongObjectIr { type_name: identifier, diff --git a/compiler/crates/relay-docblock/src/ir.rs b/compiler/crates/relay-docblock/src/ir.rs index 81747d63815cf..2391e0202fe0a 100644 --- a/compiler/crates/relay-docblock/src/ir.rs +++ b/compiler/crates/relay-docblock/src/ir.rs @@ -58,6 +58,7 @@ use graphql_syntax::TypeSystemDefinition; use intern::string_key::Intern; use intern::string_key::StringKey; use lazy_static::lazy_static; +use relay_config::ProjectName; use relay_config::SchemaConfig; use relay_schema::CUSTOM_SCALAR_DIRECTIVE_NAME; use relay_schema::EXPORT_NAME_CUSTOM_SCALAR_ARGUMENT_NAME; @@ -107,19 +108,21 @@ impl DocblockIr { /// Wrapper over all schema-related values #[derive(Copy, Clone, Debug)] -struct SchemaInfo<'a, 'b> { +struct ResolverProjectConfig<'a, 'b> { + project_name: ProjectName, schema: &'a SDLSchema, - config: &'b SchemaConfig, + schema_config: &'b SchemaConfig, } impl DocblockIr { pub fn to_sdl_string( self, + project_name: ProjectName, schema: &SDLSchema, schema_config: &SchemaConfig, ) -> DiagnosticsResult { Ok(self - .to_graphql_schema_ast(schema, schema_config)? + .to_graphql_schema_ast(project_name, schema, schema_config)? .definitions .iter() .map(|definition| format!("{}", definition)) @@ -129,26 +132,28 @@ impl DocblockIr { pub fn to_graphql_schema_ast( self, + project_name: ProjectName, schema: &SDLSchema, schema_config: &SchemaConfig, ) -> DiagnosticsResult { - let schema_info = SchemaInfo { + let project_config = ResolverProjectConfig { + project_name, schema, - config: schema_config, + schema_config, }; match self { DocblockIr::RelayResolver(relay_resolver) => { - relay_resolver.to_graphql_schema_ast(schema_info) + relay_resolver.to_graphql_schema_ast(project_config) } DocblockIr::TerseRelayResolver(relay_resolver) => { - relay_resolver.to_graphql_schema_ast(schema_info) + relay_resolver.to_graphql_schema_ast(project_config) } DocblockIr::StrongObjectResolver(strong_object) => { - strong_object.to_graphql_schema_ast(schema_info) + strong_object.to_graphql_schema_ast(project_config) } DocblockIr::WeakObjectType(weak_object) => { - weak_object.to_graphql_schema_ast(schema_info) + weak_object.to_graphql_schema_ast(project_config) } } } @@ -275,13 +280,13 @@ trait ResolverIr: Sized { /// that need to be added to the schema. fn definitions( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult>; fn location(&self) -> Location; fn root_fragment( &self, object: Option<&Object>, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Option; fn output_type(&self) -> Option; fn deprecated(&self) -> Option; @@ -291,23 +296,23 @@ trait ResolverIr: Sized { fn to_graphql_schema_ast( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult { Ok(SchemaDocument { location: self.location(), - definitions: self.definitions(schema_info)?, + definitions: self.definitions(project_config)?, }) } fn directives( &self, object: Option<&Object>, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Vec { let location = self.location(); let span = location.span(); let mut directives: Vec = vec![ - self.directive(object, schema_info), + self.directive(object, project_config), resolver_source_hash_directive(self.source_hash()), ]; @@ -331,7 +336,7 @@ trait ResolverIr: Sized { fn directive( &self, object: Option<&Object>, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> ConstantDirective { let location = self.location(); let span = location.span(); @@ -341,7 +346,7 @@ trait ResolverIr: Sized { WithLocation::new(self.location(), import_path), )]; - if let Some(root_fragment) = self.root_fragment(object, schema_info) { + if let Some(root_fragment) = self.root_fragment(object, project_config) { arguments.push(string_argument( FRAGMENT_KEY_ARGUMENT_NAME.0, root_fragment.fragment.map(|x| x.0), @@ -370,7 +375,7 @@ trait ResolverIr: Sized { arguments.push(true_argument(LIVE_ARGUMENT_NAME.0, live_field.key_location)) } - let schema = schema_info.schema; + let schema = project_config.schema; if let Some(output_type) = self.output_type() { match output_type { @@ -390,7 +395,7 @@ trait ResolverIr: Sized { let is_edge_to = fields.map_or(false, |fields| { fields.iter().any(|id| { schema.field(*id).name.item - == schema_info.config.node_interface_id_field + == project_config.schema_config.node_interface_id_field }) }); @@ -438,12 +443,12 @@ trait ResolverTypeDefinitionIr: ResolverIr { &self, interface_name: WithLocation, interface_id: InterfaceID, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Vec { self.interface_definitions_impl( interface_name, interface_id, - schema_info, + project_config, &mut HashSet::default(), &mut HashSet::default(), ) @@ -453,12 +458,12 @@ trait ResolverTypeDefinitionIr: ResolverIr { &self, interface_name: WithLocation, interface_id: InterfaceID, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, seen_objects: &mut HashSet, seen_interfaces: &mut HashSet, ) -> Vec { - let fields = self.fields(None, schema_info); - let schema = schema_info.schema; + let fields = self.fields(None, project_config); + let schema = project_config.schema; // First we extend the interface itself... let mut definitions = vec![TypeSystemDefinition::InterfaceTypeExtension( @@ -474,7 +479,8 @@ trait ResolverTypeDefinitionIr: ResolverIr { for object_id in &schema.interface(interface_id).implementing_objects { if !seen_objects.contains(object_id) { seen_objects.insert(*object_id); - definitions.extend(self.object_definitions(schema.object(*object_id), schema_info)); + definitions + .extend(self.object_definitions(schema.object(*object_id), project_config)); } } @@ -502,7 +508,7 @@ trait ResolverTypeDefinitionIr: ResolverIr { .unwrap() .get_interface_id() .unwrap(), - schema_info, + project_config, seen_objects, seen_interfaces, ), @@ -521,10 +527,10 @@ trait ResolverTypeDefinitionIr: ResolverIr { // Until we decide to support that behavior we'll make it a compiler error. fn validate_singular_implementation( &self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, interfaces: &[InterfaceID], ) -> DiagnosticsResult<()> { - let schema = schema_info.schema; + let schema = project_config.schema; for interface_id in interfaces { let interface = schema.interface(*interface_id); @@ -547,14 +553,14 @@ trait ResolverTypeDefinitionIr: ResolverIr { fn object_definitions( &self, object: &Object, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Vec { vec![TypeSystemDefinition::ObjectTypeExtension( ObjectTypeExtension { name: obj_as_identifier(object.name), interfaces: vec![], directives: vec![], - fields: Some(self.fields(Some(object), schema_info)), + fields: Some(self.fields(Some(object), project_config)), }, )] } @@ -562,7 +568,7 @@ trait ResolverTypeDefinitionIr: ResolverIr { fn fields( &self, object: Option<&Object>, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> List { let edge_to = self.output_type().as_ref().map_or_else( || { @@ -593,7 +599,7 @@ trait ResolverTypeDefinitionIr: ResolverIr { name: self.field_name().clone(), type_: edge_to, arguments: args, - directives: self.directives(object, schema_info), + directives: self.directives(object, project_config), description: self.description(), hack_source: self.hack_source(), }]) @@ -630,14 +636,14 @@ pub struct TerseRelayResolverIr { impl ResolverIr for TerseRelayResolverIr { fn definitions( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult> { - let schema = schema_info.schema; + let schema = project_config.schema; let name = self .field_name() .name_with_location(self.location.source_location()); - if name.item == schema_info.config.node_interface_id_field { + if name.item == project_config.schema_config.node_interface_id_field { return Err(vec![Diagnostic::error( SchemaValidationErrorMessages::ResolversCantImplementId { id_field_name: name.item, @@ -650,14 +656,14 @@ impl ResolverIr for TerseRelayResolverIr { match type_ { Type::Object(object_id) => { let object = schema.object(object_id); - return Ok(self.object_definitions(object, schema_info)); + return Ok(self.object_definitions(object, project_config)); } Type::Interface(interface_id) => { let interface = schema.interface(interface_id); return Ok(self.interface_definitions( interface.name, interface_id, - schema_info, + project_config, )); } _ => panic!("Terser syntax is only supported on non-input objects or interfaces."), @@ -681,7 +687,7 @@ impl ResolverIr for TerseRelayResolverIr { fn root_fragment( &self, object: Option<&Object>, - _: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Option { self.root_fragment .map(|fragment| RootFragment { @@ -689,7 +695,7 @@ impl ResolverIr for TerseRelayResolverIr { generated: false, inject_fragment_data: None, }) - .or_else(|| get_root_fragment_for_object(object)) + .or_else(|| get_root_fragment_for_object(project_config.project_name, object)) } fn output_type(&self) -> Option { @@ -756,14 +762,14 @@ pub struct RelayResolverIr { impl ResolverIr for RelayResolverIr { fn definitions( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult> { - let schema = schema_info.schema; + let schema = project_config.schema; let name = self .field_name() .name_with_location(self.location.source_location()); - if name.item == schema_info.config.node_interface_id_field { + if name.item == project_config.schema_config.node_interface_id_field { return Err(vec![Diagnostic::error( SchemaValidationErrorMessages::ResolversCantImplementId { id_field_name: name.item, @@ -794,8 +800,11 @@ impl ResolverIr for RelayResolverIr { match type_ { Type::Object(object_id) => { let object = schema.object(object_id); - self.validate_singular_implementation(schema_info, &object.interfaces)?; - return Ok(self.object_definitions(object, schema_info)); + self.validate_singular_implementation( + project_config, + &object.interfaces, + )?; + return Ok(self.object_definitions(object, project_config)); } Type::Interface(_) => { return Err(vec![Diagnostic::error_with_data( @@ -822,13 +831,13 @@ impl ResolverIr for RelayResolverIr { if let Some(_type) = schema.get_type(value.item) { if let Some(interface_type) = _type.get_interface_id() { self.validate_singular_implementation( - schema_info, + project_config, &schema.interface(interface_type).interfaces, )?; return Ok(self.interface_definitions( value.map(InterfaceName), interface_type, - schema_info, + project_config, )); } else if _type.is_object() { return Err(vec![Diagnostic::error_with_data( @@ -856,7 +865,7 @@ impl ResolverIr for RelayResolverIr { fn root_fragment( &self, object: Option<&Object>, - _: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Option { self.root_fragment .map(|fragment| RootFragment { @@ -864,7 +873,7 @@ impl ResolverIr for RelayResolverIr { generated: false, inject_fragment_data: None, }) - .or_else(|| get_root_fragment_for_object(object)) + .or_else(|| get_root_fragment_for_object(project_config.project_name, object)) } fn output_type(&self) -> Option { @@ -1057,15 +1066,17 @@ impl StrongObjectIr { impl ResolverIr for StrongObjectIr { fn definitions( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult> { let span = Span::empty(); - self.validate_implements_interfaces_against_schema(schema_info.schema)?; + self.validate_implements_interfaces_against_schema(project_config.schema)?; let fields = vec![ FieldDefinition { - name: string_key_as_identifier(schema_info.config.node_interface_id_field), + name: string_key_as_identifier( + project_config.schema_config.node_interface_id_field, + ), type_: TypeAnnotation::NonNull(Box::new(NonNullTypeAnnotation { span, type_: TypeAnnotation::Named(NamedTypeAnnotation { @@ -1079,11 +1090,11 @@ impl ResolverIr for StrongObjectIr { hack_source: None, }, generate_model_instance_field( - schema_info, + project_config, RESOLVER_VALUE_SCALAR_NAME.0, None, None, - self.directives(None, schema_info), + self.directives(None, project_config), self.location(), ), ]; @@ -1110,13 +1121,13 @@ impl ResolverIr for StrongObjectIr { fn root_fragment( &self, _: Option<&Object>, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> Option { Some(RootFragment { fragment: self.root_fragment, generated: true, inject_fragment_data: Some(FragmentDataInjectionMode::Field( - schema_info.config.node_interface_id_field, + project_config.schema_config.node_interface_id_field, )), }) } @@ -1159,7 +1170,10 @@ pub struct WeakObjectIr { impl WeakObjectIr { // Generate the named GraphQL type (with an __relay_model_instance field). - fn type_definition(&self, schema_info: SchemaInfo<'_, '_>) -> TypeSystemDefinition { + fn type_definition( + &self, + project_config: ResolverProjectConfig<'_, '_>, + ) -> TypeSystemDefinition { let span = self.rhs_location.span(); let mut directives = vec![ @@ -1200,7 +1214,7 @@ impl WeakObjectIr { interfaces: vec![], directives, fields: Some(List::generated(vec![generate_model_instance_field( - schema_info, + project_config, self.model_type_name(), self.description.map(as_string_node), self.hack_source.map(as_string_node), @@ -1266,11 +1280,11 @@ impl WeakObjectIr { impl ResolverIr for WeakObjectIr { fn definitions( self, - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, ) -> DiagnosticsResult> { Ok(vec![ self.instance_scalar_type_definition(), - self.type_definition(schema_info), + self.type_definition(project_config), ]) } @@ -1281,7 +1295,7 @@ impl ResolverIr for WeakObjectIr { fn root_fragment( &self, _: Option<&Object>, - _schema_info: SchemaInfo<'_, '_>, + _project_config: ResolverProjectConfig<'_, '_>, ) -> Option { None } @@ -1373,7 +1387,10 @@ fn dummy_token(span: Span) -> Token { } } -fn get_root_fragment_for_object(object: Option<&Object>) -> Option { +fn get_root_fragment_for_object( + project_name: ProjectName, + object: Option<&Object>, +) -> Option { if object? .directives .named(*RELAY_RESOLVER_MODEL_DIRECTIVE_NAME) @@ -1382,7 +1399,8 @@ fn get_root_fragment_for_object(object: Option<&Object>) -> Option Some(RootFragment { fragment: WithLocation::generated(FragmentDefinitionName( format!( - "{}__{}", + "{}_{}__{}", + project_name, object.unwrap().name.item, *RESOLVER_MODEL_INSTANCE_FIELD_NAME ) @@ -1400,7 +1418,7 @@ fn get_root_fragment_for_object(object: Option<&Object>) -> Option /// Generate the internal field for weak and strong model types fn generate_model_instance_field( - schema_info: SchemaInfo<'_, '_>, + project_config: ResolverProjectConfig<'_, '_>, type_name: StringKey, description: Option, hack_source: Option, @@ -1411,7 +1429,7 @@ fn generate_model_instance_field( directives.push(ConstantDirective { span, at: dummy_token(span), - name: string_key_as_identifier(schema_info.config.unselectable_directive_name.0), + name: string_key_as_identifier(project_config.schema_config.unselectable_directive_name.0), arguments: Some(List::generated(vec![string_argument( DEPRECATED_REASON_ARGUMENT_NAME.0, WithLocation::new( diff --git a/compiler/crates/relay-docblock/src/lib.rs b/compiler/crates/relay-docblock/src/lib.rs index 97b59239c7196..db7651e68f539 100644 --- a/compiler/crates/relay-docblock/src/lib.rs +++ b/compiler/crates/relay-docblock/src/lib.rs @@ -33,6 +33,7 @@ use intern::Lookup; pub use ir::DocblockIr; pub use ir::On; use ir::RelayResolverIr; +use relay_config::ProjectName; use schema::SDLSchema; use untyped_representation::parse_untyped_docblock_representation; @@ -41,12 +42,14 @@ pub struct ParseOptions<'a> { } pub fn parse_docblock_ast( + project_name: ProjectName, ast: &DocblockAST, definitions: Option<&Vec>, parse_options: ParseOptions<'_>, ) -> DiagnosticsResult> { let untyped_representation = parse_untyped_docblock_representation(ast)?; parse_docblock_ir( + project_name, untyped_representation, definitions, &parse_options, diff --git a/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object-with-implements.expected b/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object-with-implements.expected index a26893113d67d..1f4477fd37668 100644 --- a/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object-with-implements.expected +++ b/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object-with-implements.expected @@ -24,7 +24,7 @@ StrongObjectResolver( root_fragment: WithLocation { location: :0:0, item: FragmentDefinitionName( - "ClientUser__id", + "default_ClientUser__id", ), }, description: None, diff --git a/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object.expected b/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object.expected index c1446279afaaa..d32d0b824e512 100644 --- a/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object.expected +++ b/compiler/crates/relay-docblock/tests/parse/fixtures/relay-resolver-strong-object.expected @@ -24,7 +24,7 @@ StrongObjectResolver( root_fragment: WithLocation { location: :0:0, item: FragmentDefinitionName( - "ClientUser__id", + "default_ClientUser__id", ), }, description: None, diff --git a/compiler/crates/relay-docblock/tests/parse/mod.rs b/compiler/crates/relay-docblock/tests/parse/mod.rs index 78da7e895e191..065144da58ae0 100644 --- a/compiler/crates/relay-docblock/tests/parse/mod.rs +++ b/compiler/crates/relay-docblock/tests/parse/mod.rs @@ -15,6 +15,7 @@ use graphql_cli::DiagnosticPrinter; use graphql_syntax::parse_executable; use graphql_syntax::ExecutableDefinition; use intern::string_key::Intern; +use relay_config::ProjectName; use relay_docblock::parse_docblock_ast; use relay_docblock::ParseOptions; @@ -58,6 +59,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { ) .and_then(|ast| { parse_docblock_ast( + ProjectName::default(), &ast, Some(&executable_documents), ParseOptions { diff --git a/compiler/crates/relay-docblock/tests/to_schema/fixtures/legacy-relay-resolver-with-root-fragment-on-model.expected b/compiler/crates/relay-docblock/tests/to_schema/fixtures/legacy-relay-resolver-with-root-fragment-on-model.expected index 310a6b05cfc9d..e15a0857323e1 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/fixtures/legacy-relay-resolver-with-root-fragment-on-model.expected +++ b/compiler/crates/relay-docblock/tests/to_schema/fixtures/legacy-relay-resolver-with-root-fragment-on-model.expected @@ -25,7 +25,7 @@ graphql` ==================================== OUTPUT =================================== type MyType @__RelayResolverModel { id: ID! - __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/legacy-relay-resolver-with-root-fragment-on-model.js", fragment_name: "MyType__id", generated_fragment: true, inject_fragment_data: "id", import_name: "MyType") @resolver_source_hash(value: "b81f253a757aaba36955be6d8e224c2a") @unselectable(reason: "This field is intended only for Relay's internal use") + __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/legacy-relay-resolver-with-root-fragment-on-model.js", fragment_name: "default_MyType__id", generated_fragment: true, inject_fragment_data: "id", import_name: "MyType") @resolver_source_hash(value: "b81f253a757aaba36955be6d8e224c2a") @unselectable(reason: "This field is intended only for Relay's internal use") } diff --git a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-implements.expected b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-implements.expected index 7fee08c02694a..c86038410cd00 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-implements.expected +++ b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-implements.expected @@ -21,5 +21,5 @@ interface IFoo { ==================================== OUTPUT =================================== type ClientUser implements IFoo @__RelayResolverModel { id: ID! - __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object-with-implements.js", fragment_name: "ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "76be3b85f11135352a0d3a5726418956") @unselectable(reason: "This field is intended only for Relay's internal use") + __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object-with-implements.js", fragment_name: "default_ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "76be3b85f11135352a0d3a5726418956") @unselectable(reason: "This field is intended only for Relay's internal use") } diff --git a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-multiple-implements.expected b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-multiple-implements.expected index 9f84f327614b1..f25e7a743879c 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-multiple-implements.expected +++ b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object-with-multiple-implements.expected @@ -27,5 +27,5 @@ interface IBar { ==================================== OUTPUT =================================== type ClientUser implements IFoo & IBar @__RelayResolverModel { id: ID! - __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object-with-multiple-implements.js", fragment_name: "ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "1b7346b6155a43514be2946721ff59fb") @unselectable(reason: "This field is intended only for Relay's internal use") + __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object-with-multiple-implements.js", fragment_name: "default_ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "1b7346b6155a43514be2946721ff59fb") @unselectable(reason: "This field is intended only for Relay's internal use") } diff --git a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object.expected b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object.expected index cf9e7d59aa132..52734292b8dd8 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object.expected +++ b/compiler/crates/relay-docblock/tests/to_schema/fixtures/relay-resolver-strong-object.expected @@ -12,5 +12,5 @@ ==================================== OUTPUT =================================== type ClientUser @__RelayResolverModel { id: ID! - __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object.js", fragment_name: "ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "b1c8ae1937aed7425f5a87a4762ad83d") @unselectable(reason: "This field is intended only for Relay's internal use") + __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/relay-resolver-strong-object.js", fragment_name: "default_ClientUser__id", generated_fragment: true, inject_fragment_data: "id", import_name: "ClientUser") @resolver_source_hash(value: "b1c8ae1937aed7425f5a87a4762ad83d") @unselectable(reason: "This field is intended only for Relay's internal use") } diff --git a/compiler/crates/relay-docblock/tests/to_schema/fixtures/terse-relay-resolver-with-root-fragment-on-model.expected b/compiler/crates/relay-docblock/tests/to_schema/fixtures/terse-relay-resolver-with-root-fragment-on-model.expected index 70c689e43a1b1..e19ba82f83a2c 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/fixtures/terse-relay-resolver-with-root-fragment-on-model.expected +++ b/compiler/crates/relay-docblock/tests/to_schema/fixtures/terse-relay-resolver-with-root-fragment-on-model.expected @@ -23,7 +23,7 @@ graphql` ==================================== OUTPUT =================================== type MyType @__RelayResolverModel { id: ID! - __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/terse-relay-resolver-with-root-fragment-on-model.js", fragment_name: "MyType__id", generated_fragment: true, inject_fragment_data: "id", import_name: "MyType") @resolver_source_hash(value: "b81f253a757aaba36955be6d8e224c2a") @unselectable(reason: "This field is intended only for Relay's internal use") + __relay_model_instance: RelayResolverValue! @relay_resolver(import_path: "/path/to/test/fixture/terse-relay-resolver-with-root-fragment-on-model.js", fragment_name: "default_MyType__id", generated_fragment: true, inject_fragment_data: "id", import_name: "MyType") @resolver_source_hash(value: "b81f253a757aaba36955be6d8e224c2a") @unselectable(reason: "This field is intended only for Relay's internal use") } diff --git a/compiler/crates/relay-docblock/tests/to_schema/mod.rs b/compiler/crates/relay-docblock/tests/to_schema/mod.rs index a88d4a33c8574..e812598af5515 100644 --- a/compiler/crates/relay-docblock/tests/to_schema/mod.rs +++ b/compiler/crates/relay-docblock/tests/to_schema/mod.rs @@ -18,6 +18,7 @@ use graphql_syntax::parse_executable; use graphql_syntax::ExecutableDefinition; use graphql_test_helpers::diagnostics_to_sorted_string; use intern::string_key::Intern; +use relay_config::ProjectName; use relay_docblock::extend_schema_with_resolver_type_system_definition; use relay_docblock::parse_docblock_ast; use relay_docblock::ParseOptions; @@ -33,6 +34,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { }; let js_features = extract_graphql::extract(base); + let project_name = ProjectName::default(); let executable_documents = js_features .iter() @@ -62,6 +64,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { }, )?; let ir = parse_docblock_ast( + project_name, &ast, Some(&executable_documents), ParseOptions { @@ -77,9 +80,9 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { // In non-tests, this function (correctly) consumes TypeSystemDefinition when modifying the // schema. // In tests, we need to clone, because we **also** want to print the schema changes. - let schema_document = ir - .clone() - .to_graphql_schema_ast(&schema, &Default::default())?; + let schema_document = + ir.clone() + .to_graphql_schema_ast(project_name, &schema, &Default::default())?; for definition in &schema_document.definitions { extend_schema_with_resolver_type_system_definition( definition.clone(), @@ -89,7 +92,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { )?; } - ir.to_sdl_string(&schema, &Default::default()) + ir.to_sdl_string(project_name, &schema, &Default::default()) }; let schema_strings = js_features diff --git a/compiler/crates/relay-lsp/src/graphql_tools/mod.rs b/compiler/crates/relay-lsp/src/graphql_tools/mod.rs index 978c5517754c9..89c1725ced023 100644 --- a/compiler/crates/relay-lsp/src/graphql_tools/mod.rs +++ b/compiler/crates/relay-lsp/src/graphql_tools/mod.rs @@ -27,6 +27,7 @@ use intern::string_key::StringKey; use lsp_types::request::Request; use lsp_types::Url; use relay_compiler::config::ProjectConfig; +use relay_compiler::ProjectName; use relay_transforms::apply_transforms; use relay_transforms::CustomTransformsConfig; use relay_transforms::Programs; @@ -212,14 +213,14 @@ pub(crate) fn get_query_text< >( state: &LSPState, original_text: String, - project_name: &StringKey, + project_name: ProjectName, ) -> LSPRuntimeResult { - let schema = state.get_schema(project_name)?; + let schema = state.get_schema(&project_name.into())?; let project_config = state .config .enabled_projects() - .find(|project_config| &project_config.name == project_name) + .find(|project_config| project_config.name == project_name) .ok_or_else(|| { LSPRuntimeError::UnexpectedError(format!( "Unable to get project config for project {}.", @@ -244,7 +245,7 @@ pub(crate) fn get_query_text< .map_err(LSPRuntimeError::UnexpectedError)?; let operation_name = operation.name.item.0; - let program = state.get_program(project_name)?; + let program = state.get_program(&project_name.into())?; let query_text = if let Some(program) = get_operation_only_program(operation, fragments, &program) { diff --git a/compiler/crates/relay-lsp/src/server/lsp_state.rs b/compiler/crates/relay-lsp/src/server/lsp_state.rs index bacc67fa43728..972c07960da69 100644 --- a/compiler/crates/relay-lsp/src/server/lsp_state.rs +++ b/compiler/crates/relay-lsp/src/server/lsp_state.rs @@ -36,6 +36,7 @@ use lsp_types::TextDocumentPositionParams; use lsp_types::Url; use relay_compiler::config::Config; use relay_compiler::FileCategorizer; +use relay_compiler::ProjectName; use relay_docblock::parse_docblock_ast; use relay_docblock::ParseOptions; use relay_transforms::deprecated_fields_for_executable_definition; @@ -280,13 +281,18 @@ impl LSPRuntimeResult<(Feature, Span)> { - let project_name = self.extract_project_name_from_url(&position.text_document.uri)?; + let project_name: ProjectName = self + .extract_project_name_from_url(&position.text_document.uri)? + .into(); let project_config = self.config.projects.get(&project_name).unwrap(); extract_feature_from_text( @@ -490,7 +498,7 @@ impl LSPRuntimeResult { - get_query_text(self, query_text, project_name) + get_query_text(self, query_text, (*project_name).into()) } fn document_opened(&self, uri: &Url, text: &str) -> LSPRuntimeResult<()> { diff --git a/compiler/crates/relay-lsp/src/server/lsp_state_resources.rs b/compiler/crates/relay-lsp/src/server/lsp_state_resources.rs index f8abcf01ae1c5..8d0af71ceaf61 100644 --- a/compiler/crates/relay-lsp/src/server/lsp_state_resources.rs +++ b/compiler/crates/relay-lsp/src/server/lsp_state_resources.rs @@ -14,7 +14,6 @@ use dashmap::mapref::entry::Entry; use fnv::FnvHashMap; use graphql_ir::FragmentDefinitionNameSet; use graphql_watchman::WatchmanFileSourceSubscriptionNextChange; -use intern::string_key::StringKey; use log::debug; use rayon::iter::ParallelIterator; use relay_compiler::build_project::get_project_asts; @@ -23,7 +22,6 @@ use relay_compiler::build_project::ProjectAsts; use relay_compiler::build_raw_program; use relay_compiler::build_schema; use relay_compiler::compiler_state::CompilerState; -use relay_compiler::compiler_state::ProjectName; use relay_compiler::config::ProjectConfig; use relay_compiler::errors::BuildProjectError; use relay_compiler::errors::Error; @@ -36,6 +34,7 @@ use relay_compiler::FileSourceResult; use relay_compiler::FileSourceSubscription; use relay_compiler::FileSourceSubscriptionNextChange; use relay_compiler::GraphQLAsts; +use relay_compiler::ProjectName; use relay_compiler::SourceControlUpdateStatus; use schema::SDLSchema; use schema_documentation::SchemaDocumentation; @@ -259,7 +258,7 @@ impl, - ) -> Result { + ) -> Result { self.lsp_state .project_status - .insert(project_config.name, ProjectStatus::Completed); + .insert(project_config.name.into(), ProjectStatus::Completed); let log_event = self.lsp_state.perf_logger.create_event("build_lsp_project"); let project_name = project_config.name; let build_time = log_event.start("build_lsp_project_time"); @@ -345,7 +344,7 @@ impl, ) -> Result, BuildProjectFailure> { - match self.lsp_state.schemas.entry(project_config.name) { + match self.lsp_state.schemas.entry(project_config.name.into()) { Entry::Vacant(e) => { let schema = build_schema(compiler_state, project_config, graphql_asts_map) .map_err(|errors| { @@ -389,7 +388,7 @@ impl { e.insert(base_program.clone()); } diff --git a/compiler/crates/relay-lsp/src/utils.rs b/compiler/crates/relay-lsp/src/utils.rs index dac43e77cc4bc..1e9ead37e0a32 100644 --- a/compiler/crates/relay-lsp/src/utils.rs +++ b/compiler/crates/relay-lsp/src/utils.rs @@ -105,7 +105,7 @@ pub fn extract_project_name_from_url( file_path ))); }; - Ok(project_name) + Ok(project_name.into()) } /// Return a parsed executable document, or parsed Docblock IR for this LSP @@ -171,6 +171,7 @@ pub fn extract_feature_from_text( let docblock_ir = parse_docblock(text, source_location_key) .and_then(|ast| { parse_docblock_ast( + project_config.name, &ast, Some(&executable_definitions_in_file), ParseOptions { diff --git a/compiler/crates/relay-transforms/src/apply_transforms.rs b/compiler/crates/relay-transforms/src/apply_transforms.rs index 6b649d6a0aa84..f9e0226a31754 100644 --- a/compiler/crates/relay-transforms/src/apply_transforms.rs +++ b/compiler/crates/relay-transforms/src/apply_transforms.rs @@ -189,13 +189,18 @@ fn apply_common_transforms( })?; program = log_event.time("generate_relay_resolvers_model_fragments", || { - generate_relay_resolvers_model_fragments(&program, &project_config.schema_config) + generate_relay_resolvers_model_fragments( + project_config.name, + &program, + &project_config.schema_config, + ) }); program = log_event.time( "generate_relay_resolvers_operations_for_nested_objects", || { generate_relay_resolvers_operations_for_nested_objects( + project_config.name, &program, &project_config.schema_config, ) @@ -252,6 +257,7 @@ fn apply_reader_transforms( program = log_event.time("relay_resolvers", || { relay_resolvers( + project_config.name, &program, project_config.feature_flags.enable_relay_resolver_transform, ) @@ -329,6 +335,7 @@ fn apply_operation_transforms( })?; program = log_event.time("relay_resolvers", || { relay_resolvers( + project_config.name, &program, project_config.feature_flags.enable_relay_resolver_transform, ) @@ -618,12 +625,17 @@ fn apply_typegen_transforms( })?; program = log_event.time("required_directive", || required_directive(&program))?; program = log_event.time("generate_relay_resolvers_model_fragments", || { - generate_relay_resolvers_model_fragments(&program, &project_config.schema_config) + generate_relay_resolvers_model_fragments( + project_config.name, + &program, + &project_config.schema_config, + ) }); program = log_event.time( "generate_relay_resolvers_operations_for_nested_objects", || { generate_relay_resolvers_operations_for_nested_objects( + project_config.name, &program, &project_config.schema_config, ) @@ -648,6 +660,7 @@ fn apply_typegen_transforms( program = log_event.time("relay_resolvers", || { relay_resolvers( + project_config.name, &program, project_config.feature_flags.enable_relay_resolver_transform, ) diff --git a/compiler/crates/relay-transforms/src/generate_relay_resolvers_model_fragments.rs b/compiler/crates/relay-transforms/src/generate_relay_resolvers_model_fragments.rs index 01018af15650c..012f95e18a6a6 100644 --- a/compiler/crates/relay-transforms/src/generate_relay_resolvers_model_fragments.rs +++ b/compiler/crates/relay-transforms/src/generate_relay_resolvers_model_fragments.rs @@ -23,6 +23,7 @@ use graphql_ir::Selection; use intern::string_key::Intern; use intern::string_key::StringKey; use lazy_static::lazy_static; +use relay_config::ProjectName; use relay_config::SchemaConfig; use schema::Schema; @@ -42,6 +43,7 @@ pub struct ArtifactSourceKeyData(pub ResolverSourceHash); associated_data_impl!(ArtifactSourceKeyData); pub fn generate_relay_resolvers_model_fragments( + project_name: ProjectName, program: &Program, schema_config: &SchemaConfig, ) -> Program { @@ -70,8 +72,8 @@ pub fn generate_relay_resolvers_model_fragments( let model_fragment_name = FragmentDefinitionName( format!( - "{}__{}", - object.name.item.0, *RESOLVER_MODEL_INSTANCE_FIELD_NAME + "{}_{}__{}", + project_name, object.name.item.0, *RESOLVER_MODEL_INSTANCE_FIELD_NAME ) .intern(), ); @@ -103,8 +105,8 @@ pub fn generate_relay_resolvers_model_fragments( { let id_fragment_name = FragmentDefinitionName( format!( - "{}__{}", - object.name.item.0, schema_config.node_interface_id_field + "{}_{}__{}", + project_name, object.name.item.0, schema_config.node_interface_id_field ) .intern(), ); diff --git a/compiler/crates/relay-transforms/src/generate_relay_resolvers_operations_for_nested_objects.rs b/compiler/crates/relay-transforms/src/generate_relay_resolvers_operations_for_nested_objects.rs index 46531129021df..5001bf06f4fc4 100644 --- a/compiler/crates/relay-transforms/src/generate_relay_resolvers_operations_for_nested_objects.rs +++ b/compiler/crates/relay-transforms/src/generate_relay_resolvers_operations_for_nested_objects.rs @@ -24,6 +24,7 @@ use graphql_ir::ScalarField; use graphql_ir::Selection; use graphql_syntax::OperationKind; use intern::string_key::Intern; +use relay_config::ProjectName; use relay_config::SchemaConfig; use schema::Field; use schema::FieldID; @@ -440,6 +441,7 @@ fn generate_selections_from_interface_fields( } pub(crate) fn generate_name_for_nested_object_operation( + project_name: ProjectName, schema: &SDLSchema, field: &Field, ) -> WithLocation { @@ -448,7 +450,13 @@ pub(crate) fn generate_name_for_nested_object_operation( .unwrap_or_else(|| panic!("Expected parent type for field {:?}.", field)); let normalization_name = get_normalization_operation_name( - format!("{}__{}", schema.get_type_name(parent_type), field.name.item).intern(), + format!( + "{}_{}__{}", + project_name, + schema.get_type_name(parent_type), + field.name.item + ) + .intern(), ) .intern(); @@ -458,6 +466,7 @@ pub(crate) fn generate_name_for_nested_object_operation( } pub fn generate_relay_resolvers_operations_for_nested_objects( + project_name: ProjectName, program: &Program, schema_config: &SchemaConfig, ) -> DiagnosticsResult { @@ -497,7 +506,8 @@ pub fn generate_relay_resolvers_operations_for_nested_objects( continue; } - let operation_name = generate_name_for_nested_object_operation(&program.schema, field); + let operation_name = + generate_name_for_nested_object_operation(project_name, &program.schema, field); let mut directives = directives_with_artifact_source(field); directives.push( diff --git a/compiler/crates/relay-transforms/src/relay_resolvers.rs b/compiler/crates/relay-transforms/src/relay_resolvers.rs index 745f144065b2d..2170cc10a8d44 100644 --- a/compiler/crates/relay-transforms/src/relay_resolvers.rs +++ b/compiler/crates/relay-transforms/src/relay_resolvers.rs @@ -42,6 +42,7 @@ use graphql_syntax::ConstantValue; use intern::string_key::Intern; use intern::string_key::StringKey; use intern::Lookup; +use relay_config::ProjectName; use schema::ArgumentValue; use schema::Field; use schema::FieldID; @@ -67,8 +68,13 @@ use crate::REQUIRED_DIRECTIVE_NAME; /// /// See the docblock for `relay_resolvers_spread_transform` for more details /// about the resulting format. -pub fn relay_resolvers(program: &Program, enabled: bool) -> DiagnosticsResult { - let transformed_fields_program = relay_resolvers_fields_transform(program, enabled)?; +pub fn relay_resolvers( + project_name: ProjectName, + program: &Program, + enabled: bool, +) -> DiagnosticsResult { + let transformed_fields_program = + relay_resolvers_fields_transform(project_name, program, enabled)?; relay_resolvers_spread_transform(&transformed_fields_program) } @@ -344,10 +350,11 @@ impl<'program> Transformer for RelayResolverSpreadTransform<'program> { /// root fragment dependencies are. They should simply be able to check for the /// presence of the `RelayResolverFieldMetadata` IR directive on the field. fn relay_resolvers_fields_transform( + project_name: ProjectName, program: &Program, enabled: bool, ) -> DiagnosticsResult { - let mut transform = RelayResolverFieldTransform::new(program, enabled); + let mut transform = RelayResolverFieldTransform::new(project_name, program, enabled); let next_program = transform .transform_program(program) .replace_or_else(|| program.clone()); @@ -360,6 +367,7 @@ fn relay_resolvers_fields_transform( } struct RelayResolverFieldTransform<'program> { + project_name: ProjectName, enabled: bool, program: &'program Program, errors: Vec, @@ -367,12 +375,13 @@ struct RelayResolverFieldTransform<'program> { } impl<'program> RelayResolverFieldTransform<'program> { - fn new(program: &'program Program, enabled: bool) -> Self { + fn new(project_name: ProjectName, program: &'program Program, enabled: bool) -> Self { Self { program, enabled, errors: Default::default(), path: Vec::new(), + project_name, } } @@ -452,6 +461,7 @@ impl<'program> RelayResolverFieldTransform<'program> { let output_type_info = if has_output_type { if inner_type.is_composite_type() { let normalization_operation = generate_name_for_nested_object_operation( + self.project_name, &self.program.schema, self.program.schema.field(field.definition().item), ); diff --git a/compiler/crates/relay-transforms/tests/client_edges/fixtures/output-type.expected b/compiler/crates/relay-transforms/tests/client_edges/fixtures/output-type.expected index 3fe8752b46517..caddf0c313a68 100644 --- a/compiler/crates/relay-transforms/tests/client_edges/fixtures/output-type.expected +++ b/compiler/crates/relay-transforms/tests/client_edges/fixtures/output-type.expected @@ -50,7 +50,7 @@ fragment Foo_user on User { # normalization_operation: WithLocation { # location: :59:70, # item: OperationDefinitionName( - # "User__best_friend$normalization", + # "default_User__best_friend$normalization", # ), # }, # weak_object_instance_field: None, diff --git a/compiler/crates/relay-transforms/tests/client_edges/mod.rs b/compiler/crates/relay-transforms/tests/client_edges/mod.rs index f0e561a29f7fb..a531f22dd9f41 100644 --- a/compiler/crates/relay-transforms/tests/client_edges/mod.rs +++ b/compiler/crates/relay-transforms/tests/client_edges/mod.rs @@ -16,6 +16,7 @@ use graphql_test_helpers::diagnostics_to_sorted_string; use graphql_text_printer::print_fragment; use graphql_text_printer::print_operation; use graphql_text_printer::PrinterOptions; +use relay_config::ProjectName; use relay_test_schema::get_test_schema_with_extensions; use relay_transforms::client_edges; use relay_transforms::relay_resolvers; @@ -32,7 +33,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { let mut next_program = client_edges(&program, &Default::default()) .map_err(|diagnostics| diagnostics_to_sorted_string(fixture.content, &diagnostics))?; - next_program = relay_resolvers(&next_program, true) + next_program = relay_resolvers(ProjectName::default(), &next_program, true) .map_err(|diagnostics| diagnostics_to_sorted_string(fixture.content, &diagnostics))?; let printer_options = PrinterOptions { diff --git a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-client-type.expected b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-client-type.expected index 91bc14c7263b8..ecb191e61a2a7 100644 --- a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-client-type.expected +++ b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-client-type.expected @@ -26,7 +26,7 @@ extend type User { pop_star_name: PopStarName @relay_resolver(fragment_name: "PopStarNameResolverFragment_name", import_path: "PopStarNameResolver", has_output_type: true) } ==================================== OUTPUT =================================== -query User__pop_star_name$normalization @__SplitOperationMetadata +query default_User__pop_star_name$normalization @__SplitOperationMetadata # SplitOperationMetadata { # derived_from: None, # location: output-type-client-type.graphql:81:94, diff --git a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-client-interface.expected b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-client-interface.expected index 7b2a45485c51f..9afc8265dccf9 100644 --- a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-client-interface.expected +++ b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-client-interface.expected @@ -33,7 +33,7 @@ extend type User { pop_star_name: PopStarName @relay_resolver(fragment_name: "PopStarNameResolverFragment_name", import_path: "PopStarNameResolver", has_output_type: true) } ==================================== OUTPUT =================================== -query User__pop_star_name$normalization @__SplitOperationMetadata +query default_User__pop_star_name$normalization @__SplitOperationMetadata # SplitOperationMetadata { # derived_from: None, # location: output-type-with-client-interface.graphql:195:208, diff --git a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-interface-recursion-but-lying-client-type.expected b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-interface-recursion-but-lying-client-type.expected index b091b7e66b201..5e35da5f9ea5a 100644 --- a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-interface-recursion-but-lying-client-type.expected +++ b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-interface-recursion-but-lying-client-type.expected @@ -39,7 +39,7 @@ extend type User { pop_star_name: PopStarName @relay_resolver(fragment_name: "PopStarNameResolverFragment_name", import_path: "PopStarNameResolver", has_output_type: true) } ==================================== OUTPUT =================================== -query User__pop_star_name$normalization @__SplitOperationMetadata +query default_User__pop_star_name$normalization @__SplitOperationMetadata # SplitOperationMetadata { # derived_from: None, # location: output-type-with-interface-recursion-but-lying-client-type.graphql:547:560, diff --git a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-relay-resolver-fields.expected b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-relay-resolver-fields.expected index 512132c9c86c4..43be21fe9e39c 100644 --- a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-relay-resolver-fields.expected +++ b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/fixtures/output-type-with-relay-resolver-fields.expected @@ -36,7 +36,7 @@ extend type User { ) } ==================================== OUTPUT =================================== -query User__pop_star_name$normalization @__SplitOperationMetadata +query default_User__pop_star_name$normalization @__SplitOperationMetadata # SplitOperationMetadata { # derived_from: None, # location: output-type-with-relay-resolver-fields.graphql:204:217, diff --git a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/mod.rs b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/mod.rs index 249d0c5cdff58..31e54a029edcf 100644 --- a/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/mod.rs +++ b/compiler/crates/relay-transforms/tests/generate_relay_resolvers_operations_for_nested_objects/mod.rs @@ -7,11 +7,16 @@ use fixture_tests::Fixture; use graphql_test_helpers::apply_transform_for_test; +use relay_config::ProjectName; use relay_config::SchemaConfig; use relay_transforms::generate_relay_resolvers_operations_for_nested_objects; pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { apply_transform_for_test(fixture, |program| { - generate_relay_resolvers_operations_for_nested_objects(program, &SchemaConfig::default()) + generate_relay_resolvers_operations_for_nested_objects( + ProjectName::default(), + program, + &SchemaConfig::default(), + ) }) } diff --git a/compiler/crates/relay-transforms/tests/relay_resolvers/mod.rs b/compiler/crates/relay-transforms/tests/relay_resolvers/mod.rs index ca33b4aa9d9c6..3df977eb43d2a 100644 --- a/compiler/crates/relay-transforms/tests/relay_resolvers/mod.rs +++ b/compiler/crates/relay-transforms/tests/relay_resolvers/mod.rs @@ -19,6 +19,7 @@ use graphql_syntax::parse_executable; use graphql_text_printer::print_fragment; use graphql_text_printer::print_operation; use graphql_text_printer::PrinterOptions; +use relay_config::ProjectName; use relay_test_schema::get_test_schema_with_located_extensions; use relay_transforms::fragment_alias_directive; use relay_transforms::relay_resolvers; @@ -41,7 +42,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { // Run `fragment_alias_directive` first because we want to ensure we // correctly generate paths for named inline fragment spreads. let next_program = fragment_alias_directive(&program, &FeatureFlag::Enabled) - .and_then(|program| relay_resolvers(&program, true)) + .and_then(|program| relay_resolvers(ProjectName::default(), &program, true)) .map_err(|diagnostics| diagnostics_to_sorted_string(base, extensions, &diagnostics))?; let printer_options = PrinterOptions { diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-interface.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-interface.expected index ecf652835730d..169ddf72ff73c 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-interface.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-interface.expected @@ -46,8 +46,8 @@ extend type User { ) } ==================================== OUTPUT =================================== -export type User__pop_star_game$normalization$variables = {||}; -export type User__pop_star_game$normalization$data = {| +export type default_User__pop_star_game$normalization$variables = {||}; +export type default_User__pop_star_game$normalization$data = {| +client_interface: {| +__typename: "ClientType", +name: ?string, @@ -57,13 +57,13 @@ export type User__pop_star_game$normalization$data = {| +__typename: "%other", |}, |}; -export type User__pop_star_game$normalization = {| - response: User__pop_star_game$normalization$data, - variables: User__pop_star_game$normalization$variables, +export type default_User__pop_star_game$normalization = {| + response: default_User__pop_star_game$normalization$data, + variables: default_User__pop_star_game$normalization$variables, |}; ------------------------------------------------------------------------------- -export type User__pop_star_name$normalization$variables = {||}; -export type User__pop_star_name$normalization$data = {| +export type default_User__pop_star_name$normalization$variables = {||}; +export type default_User__pop_star_name$normalization$data = {| +__typename: "ClientType", +name: ?string, |} | {| @@ -71,20 +71,20 @@ export type User__pop_star_name$normalization$data = {| // value in case none of the concrete values match. +__typename: "%other", |}; -export type User__pop_star_name$normalization = {| - response: User__pop_star_name$normalization$data, - variables: User__pop_star_name$normalization$variables, +export type default_User__pop_star_name$normalization = {| + response: default_User__pop_star_name$normalization$data, + variables: default_User__pop_star_name$normalization$variables, |}; ------------------------------------------------------------------------------- import type { PopStarNameResolverFragment_name$key } from "PopStarNameResolverFragment_name.graphql"; -import type { User__pop_star_name$normalization } from "User__pop_star_name$normalization.graphql"; +import type { default_User__pop_star_name$normalization } from "default_User__pop_star_name$normalization.graphql"; import type { FragmentType } from "relay-runtime"; import userPopStarNameResolverType from "PopStarNameResolver"; // Type assertion validating that `userPopStarNameResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (userPopStarNameResolverType: ( rootKey: PopStarNameResolverFragment_name$key, -) => ?User__pop_star_name$normalization); +) => ?default_User__pop_star_name$normalization); declare export opaque type Foo_user$fragmentType: FragmentType; export type Foo_user$data = {| +poppy: ?{| diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-object-plural.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-object-plural.expected index 0a3c8df2fd92b..5145c523af4de 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-object-plural.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/relay-resolver-with-output-type-client-object-plural.expected @@ -30,24 +30,24 @@ extend type User { ) } ==================================== OUTPUT =================================== -export type User__pop_star_name$normalization$variables = {||}; -export type User__pop_star_name$normalization$data = {| +export type default_User__pop_star_name$normalization$variables = {||}; +export type default_User__pop_star_name$normalization$data = {| +name: ?string, |}; -export type User__pop_star_name$normalization = {| - response: User__pop_star_name$normalization$data, - variables: User__pop_star_name$normalization$variables, +export type default_User__pop_star_name$normalization = {| + response: default_User__pop_star_name$normalization$data, + variables: default_User__pop_star_name$normalization$variables, |}; ------------------------------------------------------------------------------- import type { PopStarNameResolverFragment_name$key } from "PopStarNameResolverFragment_name.graphql"; -import type { User__pop_star_name$normalization } from "User__pop_star_name$normalization.graphql"; +import type { default_User__pop_star_name$normalization } from "default_User__pop_star_name$normalization.graphql"; import type { FragmentType } from "relay-runtime"; import userPopStarNameResolverType from "PopStarNameResolver"; // Type assertion validating that `userPopStarNameResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (userPopStarNameResolverType: ( rootKey: PopStarNameResolverFragment_name$key, -) => ?$ReadOnlyArray); +) => ?$ReadOnlyArray); declare export opaque type Foo_user$fragmentType: FragmentType; export type Foo_user$data = {| +poppy: ?$ReadOnlyArray ?User__pop_star_name$normalization); +) => ?default_User__pop_star_name$normalization); declare export opaque type Foo_user$fragmentType: FragmentType; export type Foo_user$data = {| +poppy: ?{| diff --git a/compiler/crates/relay-typegen/tests/generate_flow/mod.rs b/compiler/crates/relay-typegen/tests/generate_flow/mod.rs index 1fa6ab11d730c..05ac82f184aae 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/mod.rs +++ b/compiler/crates/relay-typegen/tests/generate_flow/mod.rs @@ -26,6 +26,7 @@ use relay_codegen::JsModuleFormat; use relay_config::CustomScalarType; use relay_config::CustomScalarTypeImport; use relay_config::ProjectConfig; +use relay_config::ProjectName; use relay_test_schema::get_test_schema; use relay_test_schema::get_test_schema_with_extensions; use relay_transforms::apply_transforms; @@ -84,7 +85,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { }), ); let project_config = ProjectConfig { - name: "test".intern(), + name: ProjectName::default(), js_module_format: JsModuleFormat::Haste, feature_flags: Arc::new(feature_flags), typegen_config: TypegenConfig { diff --git a/compiler/crates/relay-typegen/tests/generate_flow_with_custom_id/mod.rs b/compiler/crates/relay-typegen/tests/generate_flow_with_custom_id/mod.rs index c3e91622f650d..c6e0fbe3d4183 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow_with_custom_id/mod.rs +++ b/compiler/crates/relay-typegen/tests/generate_flow_with_custom_id/mod.rs @@ -23,6 +23,7 @@ use indexmap::IndexMap; use intern::string_key::Intern; use relay_codegen::JsModuleFormat; use relay_config::ProjectConfig; +use relay_config::ProjectName; use relay_config::SchemaConfig; use relay_test_schema::get_test_schema_with_custom_id; use relay_test_schema::get_test_schema_with_custom_id_with_extensions; @@ -68,7 +69,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { relay_config::CustomScalarType::Name("CustomBoolean".intern()), ); let project_config = ProjectConfig { - name: "test".intern(), + name: ProjectName::default(), js_module_format: JsModuleFormat::Haste, feature_flags: Arc::new(feature_flags), schema_config: SchemaConfig { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-interface.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-interface.expected index 18d7d97b6e360..32d3761d3d738 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-interface.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-interface.expected @@ -36,8 +36,8 @@ extend type User { pop_star_game: ClientTypeWithNestedInterface @relay_resolver(fragment_name: "PopStarNameResolverFragment_name", import_path: "PopStarNameResolver", has_output_type: true) } ==================================== OUTPUT =================================== -export type User__pop_star_game$normalization$variables = {}; -export type User__pop_star_game$normalization$data = { +export type default_User__pop_star_game$normalization$variables = {}; +export type default_User__pop_star_game$normalization$data = { readonly client_interface: { readonly __typename: "ClientType"; readonly name: string | null; @@ -47,13 +47,13 @@ export type User__pop_star_game$normalization$data = { readonly __typename: "%other"; } | null; }; -export type User__pop_star_game$normalization = { - response: User__pop_star_game$normalization$data; - variables: User__pop_star_game$normalization$variables; +export type default_User__pop_star_game$normalization = { + response: default_User__pop_star_game$normalization$data; + variables: default_User__pop_star_game$normalization$variables; }; ------------------------------------------------------------------------------- -export type User__pop_star_name$normalization$variables = {}; -export type User__pop_star_name$normalization$data = { +export type default_User__pop_star_name$normalization$variables = {}; +export type default_User__pop_star_name$normalization$data = { readonly __typename: "ClientType"; readonly name: string | null; } | { @@ -61,9 +61,9 @@ export type User__pop_star_name$normalization$data = { // value in case none of the concrete values match. readonly __typename: "%other"; }; -export type User__pop_star_name$normalization = { - response: User__pop_star_name$normalization$data; - variables: User__pop_star_name$normalization$variables; +export type default_User__pop_star_name$normalization = { + response: default_User__pop_star_name$normalization$data; + variables: default_User__pop_star_name$normalization$variables; }; ------------------------------------------------------------------------------- import type { FragmentRefs } from "relay-runtime"; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-object.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-object.expected index 273def7834516..297ac552a29a7 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-object.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/relay-resolver-with-output-type-client-object.expected @@ -27,13 +27,13 @@ extend type User { pop_star_name: ClientUser @relay_resolver(fragment_name: "PopStarNameResolverFragment_name", import_path: "PopStarNameResolver", has_output_type: true) } ==================================== OUTPUT =================================== -export type User__pop_star_name$normalization$variables = {}; -export type User__pop_star_name$normalization$data = { +export type default_User__pop_star_name$normalization$variables = {}; +export type default_User__pop_star_name$normalization$data = { readonly name: string | null; }; -export type User__pop_star_name$normalization = { - response: User__pop_star_name$normalization$data; - variables: User__pop_star_name$normalization$variables; +export type default_User__pop_star_name$normalization = { + response: default_User__pop_star_name$normalization$data; + variables: default_User__pop_star_name$normalization$variables; }; ------------------------------------------------------------------------------- import type { FragmentRefs } from "relay-runtime"; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/mod.rs b/compiler/crates/relay-typegen/tests/generate_typescript/mod.rs index eebed60a31d19..6ceee34793dfe 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/mod.rs +++ b/compiler/crates/relay-typegen/tests/generate_typescript/mod.rs @@ -24,6 +24,7 @@ use relay_codegen::JsModuleFormat; use relay_config::CustomScalarType; use relay_config::CustomScalarTypeImport; use relay_config::ProjectConfig; +use relay_config::ProjectName; use relay_test_schema::get_test_schema; use relay_test_schema::get_test_schema_with_extensions; use relay_transforms::apply_transforms; @@ -61,7 +62,7 @@ pub fn transform_fixture(fixture: &Fixture<'_>) -> Result { }), ); let project_config = ProjectConfig { - name: "test".intern(), + name: ProjectName::default(), js_module_format: JsModuleFormat::Haste, typegen_config: TypegenConfig { language: TypegenLanguage::TypeScript, diff --git a/packages/react-relay/__tests__/__generated__/ExampleWithOutputTypeTestQuery.graphql.js b/packages/react-relay/__tests__/__generated__/ExampleWithOutputTypeTestQuery.graphql.js index 087ace1e92d97..c954f7453fb55 100644 --- a/packages/react-relay/__tests__/__generated__/ExampleWithOutputTypeTestQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/ExampleWithOutputTypeTestQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<03326d860aa33d678191fbe7962934db>> + * @generated SignedSource<<172ac0294c475d2444a5e3f1b318ec6d>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,8 +21,8 @@ import type { ClientRequest, ClientQuery } from 'relay-runtime'; import {example_client_object as queryExampleClientObjectResolverType} from "../../../relay-runtime/store/__tests__/resolvers/ExampleClientObjectResolver.js"; // Type assertion validating that `queryExampleClientObjectResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. -(queryExampleClientObjectResolverType: () => ?Query__example_client_object$normalization); -import type { Query__example_client_object$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__example_client_object$normalization.graphql"; +(queryExampleClientObjectResolverType: () => ?tests_Query__example_client_object$normalization); +import type { tests_Query__example_client_object$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__example_client_object$normalization.graphql"; export type ExampleWithOutputTypeTestQuery$variables = {||}; export type ExampleWithOutputTypeTestQuery$data = {| +example_client_object: ?{| @@ -77,7 +77,7 @@ return { "normalizationInfo": { "concreteType": "ClientObject", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__example_client_object$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__example_client_object$normalization.graphql') } }, "linkedField": (v0/*: any*/) diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFieldWithArgumentsQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFieldWithArgumentsQuery.graphql.js index 4795f541a589d..230262e1085d6 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFieldWithArgumentsQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFieldWithArgumentsQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<3ba29e794907367320bd8bd95271595d>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,8 +19,8 @@ /*:: import type { ClientRequest, ClientQuery } from 'relay-runtime'; import type { DataID } from "relay-runtime"; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; import {todo_model as queryTodoModelResolverType} from "../../../relay-runtime/store/__tests__/resolvers/QueryTodoModel.js"; // Type assertion validating that `queryTodoModelResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. @@ -35,7 +35,7 @@ import {text_with_prefix as todoDescriptionTextWithPrefixResolverType} from "../ // Type assertion validating that `todoDescriptionTextWithPrefixResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextWithPrefixResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], args: {| prefix: string, |}, @@ -44,9 +44,9 @@ import {fancy_description as todoModelFancyDescriptionResolverType} from "../../ // Type assertion validating that `todoModelFancyDescriptionResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelFancyDescriptionResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => ?TodoDescription); -import type { TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql"; +import type { tests_TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; export type RelayResolverModelTestFieldWithArgumentsQuery$variables = {| id: string, @@ -131,16 +131,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayResolver", "name": "fancy_description", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), "path": "todo_model.fancy_description", "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql') } }, "linkedField": { @@ -157,11 +157,11 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }, "kind": "RelayResolver", "name": "text_with_prefix", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), "path": "todo_model.fancy_description.text_with_prefix" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFragment.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFragment.graphql.js index 5de61b71d3bc7..48b07202b2827 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFragment.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<738708508d4694b90cdd6075d74708f6>> * @flow * @lightSyntaxTransform * @nogrep @@ -18,28 +18,28 @@ /*:: import type { Fragment, ReaderFragment } from 'relay-runtime'; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; -import type { TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; +import type { tests_TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; import type { FragmentType } from "relay-runtime"; import {color as todoDescriptionColorResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionColorResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionColorResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?mixed); import {text as todoDescriptionTextResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionTextResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?string); import {fancy_description as todoModelFancyDescriptionResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoModel.js"; // Type assertion validating that `todoModelFancyDescriptionResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelFancyDescriptionResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => ?TodoDescription); declare export opaque type RelayResolverModelTestFragment$fragmentType: FragmentType; export type RelayResolverModelTestFragment$data = {| @@ -61,7 +61,7 @@ var node/*: ReaderFragment*/ = (function(){ var v0 = { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }; return { "argumentDefinitions": [], @@ -80,16 +80,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayResolver", "name": "fancy_description", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), "path": "fancy_description", "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql') } }, "linkedField": { @@ -106,7 +106,7 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "text", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), "path": "fancy_description.text" }, { @@ -115,7 +115,7 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "color", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), "path": "fancy_description.color" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestInterfaceFragment.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestInterfaceFragment.graphql.js index 093c494786282..76683eb08ea1d 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestInterfaceFragment.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestInterfaceFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<601c203cc431f4e2111fc34d8f5b5739>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -18,30 +18,30 @@ /*:: import type { Fragment, ReaderFragment } from 'relay-runtime'; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; -import type { TodoDescription__some_client_type_with_interface$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql"; -import type { TodoDescription__some_interface$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_interface$normalization.graphql"; -import type { TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; +import type { tests_TodoDescription__some_client_type_with_interface$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql"; +import type { tests_TodoDescription__some_interface$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_interface$normalization.graphql"; +import type { tests_TodoModel__fancy_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; import type { FragmentType } from "relay-runtime"; import {some_client_type_with_interface as todoDescriptionSomeClientTypeWithInterfaceResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionSomeClientTypeWithInterfaceResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionSomeClientTypeWithInterfaceResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], -) => ?TodoDescription__some_client_type_with_interface$normalization); + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], +) => ?tests_TodoDescription__some_client_type_with_interface$normalization); import {some_interface as todoDescriptionSomeInterfaceResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionSomeInterfaceResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionSomeInterfaceResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], -) => ?TodoDescription__some_interface$normalization); + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], +) => ?tests_TodoDescription__some_interface$normalization); import {fancy_description as todoModelFancyDescriptionResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoModel.js"; // Type assertion validating that `todoModelFancyDescriptionResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelFancyDescriptionResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => ?TodoDescription); declare export opaque type RelayResolverModelTestInterfaceFragment$fragmentType: FragmentType; export type RelayResolverModelTestInterfaceFragment$data = {| @@ -70,7 +70,7 @@ var node/*: ReaderFragment*/ = (function(){ var v0 = { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }, v1 = [ { @@ -105,16 +105,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayResolver", "name": "fancy_description", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description, '__relay_model_instance', true), '__relay_model_instance', false), "path": "fancy_description", "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql') } }, "linkedField": { @@ -134,12 +134,12 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "some_interface", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').some_interface, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').some_interface, '__relay_model_instance', true), "path": "fancy_description.some_interface", "normalizationInfo": { "concreteType": null, "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_interface$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_interface$normalization.graphql') } }, "linkedField": { @@ -162,12 +162,12 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "some_client_type_with_interface", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').some_client_type_with_interface, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').some_client_type_with_interface, '__relay_model_instance', true), "path": "fancy_description.some_client_type_with_interface", "normalizationInfo": { "concreteType": "ClientTypeWithNestedClientInterface", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql') } }, "linkedField": { diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestNullWeakClientEdgeQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestNullWeakClientEdgeQuery.graphql.js index 132720d5587f6..fdc75b5266ba1 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestNullWeakClientEdgeQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestNullWeakClientEdgeQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<0f97e67cee57a33fce04782b0fe119c0>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,8 +19,8 @@ /*:: import type { ClientRequest, ClientQuery } from 'relay-runtime'; import type { DataID } from "relay-runtime"; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; import {todo_model as queryTodoModelResolverType} from "../../../relay-runtime/store/__tests__/resolvers/QueryTodoModel.js"; // Type assertion validating that `queryTodoModelResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. @@ -35,7 +35,7 @@ import {text_with_prefix as todoDescriptionTextWithPrefixResolverType} from "../ // Type assertion validating that `todoDescriptionTextWithPrefixResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextWithPrefixResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], args: {| prefix: string, |}, @@ -44,9 +44,9 @@ import {fancy_description_null as todoModelFancyDescriptionNullResolverType} fro // Type assertion validating that `todoModelFancyDescriptionNullResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelFancyDescriptionNullResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => ?TodoDescription); -import type { TodoModel__fancy_description_null$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_null$normalization.graphql"; +import type { tests_TodoModel__fancy_description_null$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_null$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; export type RelayResolverModelTestNullWeakClientEdgeQuery$variables = {| id: string, @@ -131,16 +131,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayResolver", "name": "fancy_description_null", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description_null, '__relay_model_instance', true), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description_null, '__relay_model_instance', true), '__relay_model_instance', false), "path": "todo_model.fancy_description_null", "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_null$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_null$normalization.graphql') } }, "linkedField": { @@ -157,11 +157,11 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }, "kind": "RelayResolver", "name": "text_with_prefix", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), "path": "todo_model.fancy_description_null.text_with_prefix" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestSuspendedWeakClientEdgeQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestSuspendedWeakClientEdgeQuery.graphql.js index e09b193252912..fbbb2de3d4393 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestSuspendedWeakClientEdgeQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestSuspendedWeakClientEdgeQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,8 +20,8 @@ import type { ClientRequest, ClientQuery } from 'relay-runtime'; import type { LiveState } from "relay-runtime/store/experimental-live-resolvers/LiveResolverStore"; import type { DataID } from "relay-runtime"; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; import {todo_model as queryTodoModelResolverType} from "../../../relay-runtime/store/__tests__/resolvers/QueryTodoModel.js"; // Type assertion validating that `queryTodoModelResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. @@ -36,7 +36,7 @@ import {text_with_prefix as todoDescriptionTextWithPrefixResolverType} from "../ // Type assertion validating that `todoDescriptionTextWithPrefixResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextWithPrefixResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], args: {| prefix: string, |}, @@ -45,9 +45,9 @@ import {fancy_description_suspends as todoModelFancyDescriptionSuspendsResolverT // Type assertion validating that `todoModelFancyDescriptionSuspendsResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelFancyDescriptionSuspendsResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => LiveState); -import type { TodoModel__fancy_description_suspends$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_suspends$normalization.graphql"; +import type { tests_TodoModel__fancy_description_suspends$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_suspends$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; export type RelayResolverModelTestSuspendedWeakClientEdgeQuery$variables = {| id: string, @@ -132,16 +132,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayLiveResolver", "name": "fancy_description_suspends", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapperLive(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description_suspends, '__relay_model_instance', true), '__relay_model_instance', false), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapperLive(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').fancy_description_suspends, '__relay_model_instance', true), '__relay_model_instance', false), "path": "todo_model.fancy_description_suspends", "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_suspends$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_suspends$normalization.graphql') } }, "linkedField": { @@ -158,11 +158,11 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }, "kind": "RelayResolver", "name": "text_with_prefix", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text_with_prefix, '__relay_model_instance', true), "path": "todo_model.fancy_description_suspends.text_with_prefix" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWeakLiveFieldQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWeakLiveFieldQuery.graphql.js index d38ec507c5e48..e1ae0ce5b725c 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWeakLiveFieldQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWeakLiveFieldQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<0b68cc974da497e1539c5b4fee8671ce>> + * @generated SignedSource<<486ea4bb762eb187cfb07d90e6c38539>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { ClientRequest, ClientQuery } from 'relay-runtime'; import type { LiveState } from "relay-runtime/store/experimental-live-resolvers/LiveResolverStore"; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; import {live_todo_description as queryLiveTodoDescriptionResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoModel.js"; // Type assertion validating that `queryLiveTodoDescriptionResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. @@ -32,15 +32,15 @@ import {color as todoDescriptionColorResolverType} from "../../../relay-runtime/ // Type assertion validating that `todoDescriptionColorResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionColorResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?mixed); import {text as todoDescriptionTextResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionTextResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?string); -import type { Query__live_todo_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__live_todo_description$normalization.graphql"; +import type { tests_Query__live_todo_description$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__live_todo_description$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; export type RelayResolverModelTestWeakLiveFieldQuery$variables = {| id: string, @@ -75,7 +75,7 @@ v1 = [ v2 = { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }, v3 = { "kind": "InlineFragment", @@ -114,7 +114,7 @@ return { "normalizationInfo": { "concreteType": "TodoDescription", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__live_todo_description$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__live_todo_description$normalization.graphql') } }, "linkedField": { @@ -131,7 +131,7 @@ return { "fragment": (v2/*: any*/), "kind": "RelayResolver", "name": "text", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), "path": "live_todo_description.text" }, { @@ -140,7 +140,7 @@ return { "fragment": (v2/*: any*/), "kind": "RelayResolver", "name": "color", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), "path": "live_todo_description.color" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWithPluralFragment.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWithPluralFragment.graphql.js index 7ae1e0e060ea9..8e283c3039884 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWithPluralFragment.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolverModelTestWithPluralFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<88e360f200dfca608dfabcccc4a35d39>> + * @generated SignedSource<<6cad0e38f48835a4795855f1594b68ce>> * @flow * @lightSyntaxTransform * @nogrep @@ -18,28 +18,28 @@ /*:: import type { Fragment, ReaderFragment } from 'relay-runtime'; -import type { TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql"; -import type { TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql"; -import type { TodoModel__many_fancy_descriptions$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__many_fancy_descriptions$normalization.graphql"; +import type { tests_TodoDescription____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql"; +import type { tests_TodoModel____relay_model_instance$data } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql"; +import type { tests_TodoModel__many_fancy_descriptions$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__many_fancy_descriptions$normalization.graphql"; import type { TodoDescription } from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; import type { FragmentType } from "relay-runtime"; import {color as todoDescriptionColorResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionColorResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionColorResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?mixed); import {text as todoDescriptionTextResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoDescription.js"; // Type assertion validating that `todoDescriptionTextResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoDescriptionTextResolverType: ( - __relay_model_instance: TodoDescription____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoDescription____relay_model_instance$data['__relay_model_instance'], ) => ?string); import {many_fancy_descriptions as todoModelManyFancyDescriptionsResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoModel.js"; // Type assertion validating that `todoModelManyFancyDescriptionsResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelManyFancyDescriptionsResolverType: ( - __relay_model_instance: TodoModel____relay_model_instance$data['__relay_model_instance'], + __relay_model_instance: tests_TodoModel____relay_model_instance$data['__relay_model_instance'], ) => ?$ReadOnlyArray); declare export opaque type RelayResolverModelTestWithPluralFragment$fragmentType: FragmentType; export type RelayResolverModelTestWithPluralFragment$data = {| @@ -60,7 +60,7 @@ var node/*: ReaderFragment*/ = (function(){ var v0 = { "args": null, "kind": "FragmentSpread", - "name": "TodoDescription____relay_model_instance" + "name": "tests_TodoDescription____relay_model_instance" }; return { "argumentDefinitions": [], @@ -79,16 +79,16 @@ return { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel____relay_model_instance" + "name": "tests_TodoModel____relay_model_instance" }, "kind": "RelayResolver", "name": "many_fancy_descriptions", - "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').many_fancy_descriptions, '__relay_model_instance', true), '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').weakObjectWrapper(require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoModel').many_fancy_descriptions, '__relay_model_instance', true), '__relay_model_instance', true), "path": "many_fancy_descriptions", "normalizationInfo": { "concreteType": "TodoDescription", "plural": true, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__many_fancy_descriptions$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__many_fancy_descriptions$normalization.graphql') } }, "linkedField": { @@ -105,7 +105,7 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "text", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').text, '__relay_model_instance', true), "path": "many_fancy_descriptions.text" }, { @@ -114,7 +114,7 @@ return { "fragment": (v0/*: any*/), "kind": "RelayResolver", "name": "color", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription____relay_model_instance.graphql'), require('./../../../relay-runtime/store/__tests__/resolvers/TodoDescription').color, '__relay_model_instance', true), "path": "many_fancy_descriptions.color" } ], diff --git a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestExceptionalProjectQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestExceptionalProjectQuery.graphql.js index 4eadbff76d568..6611b072f37d8 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestExceptionalProjectQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestExceptionalProjectQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<598f77dd24e474c6c081a30079ac6877>> * @flow * @lightSyntaxTransform * @nogrep @@ -28,8 +28,8 @@ import {todos as queryTodosResolverType} from "../../../relay-runtime/store/__te first: ?number, last: ?number, |}, -) => LiveState); -import type { Query__todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todos$normalization.graphql"; +) => LiveState); +import type { tests_Query__todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todos$normalization.graphql"; export type RelayResolversWithOutputTypeTestExceptionalProjectQuery$variables = {||}; export type RelayResolversWithOutputTypeTestExceptionalProjectQuery$data = {| +todos: ?{| @@ -105,7 +105,7 @@ return { "normalizationInfo": { "concreteType": "TodoConnection", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todos$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todos$normalization.graphql') } }, "linkedField": { diff --git a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestFragment.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestFragment.graphql.js index 2f50e477ef065..a38d85f4ee5d5 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestFragment.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<3667cd860cf304ea0aa637b1d9d43854>> + * @generated SignedSource<<696f776efa976337e6f2f5b123f925d3>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,14 +21,14 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { RelayResolversWithOutputTypeTestTextStyleComponentFragment$fragmentType } from "./RelayResolversWithOutputTypeTestTextStyleComponentFragment.graphql"; import type { RelayResolversWithOutputTypeTestTodoCompleteFragment$fragmentType } from "./RelayResolversWithOutputTypeTestTodoCompleteFragment.graphql"; import type { TodoTextResolverFragment$key } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/TodoTextResolverFragment.graphql"; -import type { Todo__text$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Todo__text$normalization.graphql"; +import type { tests_Todo__text$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__text$normalization.graphql"; import type { FragmentType } from "relay-runtime"; import {text as todoTextResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoTextResolver.js"; // Type assertion validating that `todoTextResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoTextResolverType: ( rootKey: TodoTextResolverFragment$key, -) => ?Todo__text$normalization); +) => ?tests_Todo__text$normalization); declare export opaque type RelayResolversWithOutputTypeTestFragment$fragmentType: FragmentType; export type RelayResolversWithOutputTypeTestFragment$data = {| +text: ?{| @@ -73,7 +73,7 @@ var node/*: ReaderFragment*/ = { "normalizationInfo": { "concreteType": "TodoText", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Todo__text$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__text$normalization.graphql') } }, "linkedField": { diff --git a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestManyLiveTodosQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestManyLiveTodosQuery.graphql.js index ab84ade25bcb5..a2e3d5381a177 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestManyLiveTodosQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestManyLiveTodosQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<0b40dd160bcd96708cef6246a5556bbd>> + * @generated SignedSource<<6b166adf54254a138e3d0989a898e5e5>> * @flow * @lightSyntaxTransform * @nogrep @@ -23,8 +23,8 @@ import type { RelayResolversWithOutputTypeTestFragment$fragmentType } from "./Re import {many_live_todos as queryManyLiveTodosResolverType} from "../../../relay-runtime/store/__tests__/resolvers/QueryManyLiveTodos.js"; // Type assertion validating that `queryManyLiveTodosResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. -(queryManyLiveTodosResolverType: () => LiveState>); -import type { Query__many_live_todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__many_live_todos$normalization.graphql"; +(queryManyLiveTodosResolverType: () => LiveState>); +import type { tests_Query__many_live_todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_live_todos$normalization.graphql"; export type RelayResolversWithOutputTypeTestManyLiveTodosQuery$variables = {||}; export type RelayResolversWithOutputTypeTestManyLiveTodosQuery$data = {| +many_live_todos: ?$ReadOnlyArray> + * @generated SignedSource<<52fe84e3a29d802377e42af6bfc991a0>> * @flow * @lightSyntaxTransform * @nogrep @@ -26,8 +26,8 @@ import {many_todos as queryManyTodosResolverType} from "../../../relay-runtime/s args: {| todo_ids: $ReadOnlyArray, |}, -) => ?$ReadOnlyArray); -import type { Query__many_todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__many_todos$normalization.graphql"; +) => ?$ReadOnlyArray); +import type { tests_Query__many_todos$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_todos$normalization.graphql"; export type RelayResolversWithOutputTypeTestManyTodosQuery$variables = {| todos: $ReadOnlyArray, |}; @@ -108,7 +108,7 @@ return { "normalizationInfo": { "concreteType": "Todo", "plural": true, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__many_todos$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_todos$normalization.graphql') } }, "linkedField": { diff --git a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoQuery.graphql.js index 2191099a97370..d79737139c496 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<4574da14e49da2cd2c7a51dfe63919b2>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -27,8 +27,8 @@ import {todo as queryTodoResolverType} from "../../../relay-runtime/store/__test args: {| todoID: string, |}, -) => LiveState); -import type { Query__todo$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql"; +) => LiveState); +import type { tests_Query__todo$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql"; export type RelayResolversWithOutputTypeTestTodoQuery$variables = {| id: string, |}; @@ -109,7 +109,7 @@ return { "normalizationInfo": { "concreteType": "Todo", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql') } }, "linkedField": { diff --git a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoWithBlockedQuery.graphql.js b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoWithBlockedQuery.graphql.js index f7343fb348b00..1ea4d19458263 100644 --- a/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoWithBlockedQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/RelayResolversWithOutputTypeTestTodoWithBlockedQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<718500b4e94b3942a8dda7d57826579e>> + * @generated SignedSource<<185d3f4055e7b899e5b3f5a490e3d668>> * @flow * @lightSyntaxTransform * @nogrep @@ -28,15 +28,15 @@ import {todo as queryTodoResolverType} from "../../../relay-runtime/store/__test args: {| todoID: string, |}, -) => LiveState); +) => LiveState); import {blocked_by as todoBlockedByResolverType} from "../../../relay-runtime/store/__tests__/resolvers/TodoBlockedByResolver.js"; // Type assertion validating that `todoBlockedByResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoBlockedByResolverType: ( rootKey: TodoBlockedByResolverFragment$key, -) => ?$ReadOnlyArray); -import type { Query__todo$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql"; -import type { Todo__blocked_by$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/Todo__blocked_by$normalization.graphql"; +) => ?$ReadOnlyArray); +import type { tests_Query__todo$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql"; +import type { tests_Todo__blocked_by$normalization } from "./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__blocked_by$normalization.graphql"; export type RelayResolversWithOutputTypeTestTodoWithBlockedQuery$variables = {| id: string, |}; @@ -119,7 +119,7 @@ return { "normalizationInfo": { "concreteType": "Todo", "plural": false, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql') } }, "linkedField": { @@ -148,7 +148,7 @@ return { "normalizationInfo": { "concreteType": "Todo", "plural": true, - "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/Todo__blocked_by$normalization.graphql') + "normalizationNode": require('./../../../relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__blocked_by$normalization.graphql') } }, "linkedField": { diff --git a/packages/relay-runtime/store/__tests__/resolvers/ExampleClientObjectResolver.js b/packages/relay-runtime/store/__tests__/resolvers/ExampleClientObjectResolver.js index 8c31abb4bc3de..03696fbc2f9c0 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/ExampleClientObjectResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/ExampleClientObjectResolver.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Query__example_client_object$normalization as ReturnType} from './__generated__/Query__example_client_object$normalization.graphql'; +import type {tests_Query__example_client_object$normalization as ReturnType} from './__generated__/tests_Query__example_client_object$normalization.graphql'; /** * @RelayResolver diff --git a/packages/relay-runtime/store/__tests__/resolvers/QueryManyTodos.js b/packages/relay-runtime/store/__tests__/resolvers/QueryManyTodos.js index 34fcfefc41efe..b2a7e8563b3da 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/QueryManyTodos.js +++ b/packages/relay-runtime/store/__tests__/resolvers/QueryManyTodos.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Query__many_todos$normalization as ReturnType} from './__generated__/Query__many_todos$normalization.graphql'; +import type {tests_Query__many_todos$normalization as ReturnType} from './__generated__/tests_Query__many_todos$normalization.graphql'; /** * @RelayResolver diff --git a/packages/relay-runtime/store/__tests__/resolvers/QueryTodo.js b/packages/relay-runtime/store/__tests__/resolvers/QueryTodo.js index a74f2aa6e5d12..36fd51ff6f4cf 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/QueryTodo.js +++ b/packages/relay-runtime/store/__tests__/resolvers/QueryTodo.js @@ -12,7 +12,7 @@ 'use strict'; import type {LiveState} from '../../experimental-live-resolvers/LiveResolverStore'; -import type {Query__todo$normalization as ReturnType} from './__generated__/Query__todo$normalization.graphql'; +import type {tests_Query__todo$normalization as ReturnType} from './__generated__/tests_Query__todo$normalization.graphql'; const { Selectors, diff --git a/packages/relay-runtime/store/__tests__/resolvers/QueryTodos.js b/packages/relay-runtime/store/__tests__/resolvers/QueryTodos.js index eeb41393141fb..fd48dc2f2969e 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/QueryTodos.js +++ b/packages/relay-runtime/store/__tests__/resolvers/QueryTodos.js @@ -12,7 +12,7 @@ 'use strict'; import type {LiveState} from '../../experimental-live-resolvers/LiveResolverStore'; -import type {Query__todos$normalization as ReturnType} from './__generated__/Query__todos$normalization.graphql'; +import type {tests_Query__todos$normalization as ReturnType} from './__generated__/tests_Query__todos$normalization.graphql'; const { Selectors, diff --git a/packages/relay-runtime/store/__tests__/resolvers/TodoBlockedByResolver.js b/packages/relay-runtime/store/__tests__/resolvers/TodoBlockedByResolver.js index ef205d94c3084..bc0f9092c2ec6 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/TodoBlockedByResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/TodoBlockedByResolver.js @@ -12,7 +12,7 @@ 'use strict'; // TODO: typegen for plural output type -import type {Todo__blocked_by$normalization as ReturnType} from './__generated__/Todo__blocked_by$normalization.graphql'; +import type {tests_Todo__blocked_by$normalization as ReturnType} from './__generated__/tests_Todo__blocked_by$normalization.graphql'; import type {TodoBlockedByResolverFragment$key} from './__generated__/TodoBlockedByResolverFragment.graphql'; const {graphql} = require('relay-runtime'); diff --git a/packages/relay-runtime/store/__tests__/resolvers/TodoDescription.js b/packages/relay-runtime/store/__tests__/resolvers/TodoDescription.js index e5cfc192acc99..fe25100caac8d 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/TodoDescription.js +++ b/packages/relay-runtime/store/__tests__/resolvers/TodoDescription.js @@ -9,8 +9,8 @@ * @oncall relay */ -import type {TodoDescription__some_client_type_with_interface$normalization} from './__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql'; -import type {TodoDescription__some_interface$normalization} from './__generated__/TodoDescription__some_interface$normalization.graphql'; +import type {tests_TodoDescription__some_client_type_with_interface$normalization} from './__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql'; +import type {tests_TodoDescription__some_interface$normalization} from './__generated__/tests_TodoDescription__some_interface$normalization.graphql'; /** * @RelayResolver TodoDescription @@ -63,7 +63,7 @@ function color(instance: TodoDescription): string { */ function some_interface( instance: TodoDescription, -): TodoDescription__some_interface$normalization { +): tests_TodoDescription__some_interface$normalization { return { __typename: 'ClientTypeImplementingClientInterface', description: 'It was a magical place', @@ -75,7 +75,7 @@ function some_interface( */ function some_client_type_with_interface( instance: TodoDescription, -): TodoDescription__some_client_type_with_interface$normalization { +): tests_TodoDescription__some_client_type_with_interface$normalization { return { client_interface: { __typename: 'ClientTypeImplementingClientInterface', diff --git a/packages/relay-runtime/store/__tests__/resolvers/TodoTextResolver.js b/packages/relay-runtime/store/__tests__/resolvers/TodoTextResolver.js index 2c7643e0e8f5f..af716bf877c28 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/TodoTextResolver.js +++ b/packages/relay-runtime/store/__tests__/resolvers/TodoTextResolver.js @@ -11,7 +11,7 @@ 'use strict'; -import type {Todo__text$normalization as ReturnType} from './__generated__/Todo__text$normalization.graphql.js'; +import type {tests_Todo__text$normalization as ReturnType} from './__generated__/tests_Todo__text$normalization.graphql.js'; import type {TodoTextResolverFragment$key} from './__generated__/TodoTextResolverFragment.graphql'; const {graphql} = require('relay-runtime'); diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__example_client_object$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__example_client_object$normalization.graphql.js similarity index 80% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__example_client_object$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__example_client_object$normalization.graphql.js index 194f685e440cc..23a8d47dcdc5c 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__example_client_object$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__example_client_object$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<746b3efa38c7116e55aadb704cfbae23>> + * @generated SignedSource<<57d3ae3f1bd8f6d1abba6b1a3478ec68>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Query__example_client_object$normalization = {| +export type tests_Query__example_client_object$normalization = {| +description: ?string, |}; @@ -28,7 +28,7 @@ export type Query__example_client_object$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Query__example_client_object$normalization", + "name": "tests_Query__example_client_object$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__many_fancy_descriptions$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__live_todo_description$normalization.graphql.js similarity index 82% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__many_fancy_descriptions$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__live_todo_description$normalization.graphql.js index c80452a71575b..915657d17c8d4 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__many_fancy_descriptions$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__live_todo_description$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<32abe7f9314c562aadfa59c51d279330>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,7 +20,7 @@ import type { NormalizationSplitOperation } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; -export type TodoModel__many_fancy_descriptions$normalization = {| +export type tests_Query__live_todo_description$normalization = {| +__relay_model_instance: TodoDescription, |}; @@ -29,7 +29,7 @@ export type TodoModel__many_fancy_descriptions$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "TodoModel__many_fancy_descriptions$normalization", + "name": "tests_Query__live_todo_description$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_todos$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_live_todos$normalization.graphql.js similarity index 81% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_todos$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_live_todos$normalization.graphql.js index 74dc22a777fb6..f065f81c16790 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_todos$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_live_todos$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<88827e5bd58882fba0a9712494132748>> + * @generated SignedSource<<13f5564ded476316da45d699b5e38785>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Query__many_todos$normalization = {| +export type tests_Query__many_live_todos$normalization = {| +todo_id: string, |}; @@ -28,7 +28,7 @@ export type Query__many_todos$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Query__many_todos$normalization", + "name": "tests_Query__many_live_todos$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_live_todos$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_todos$normalization.graphql.js similarity index 82% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_live_todos$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_todos$normalization.graphql.js index 42b692cb0eec8..7066ac571b259 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__many_live_todos$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__many_todos$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<74fd0ae7e5c35857bcd216ec356d5ceb>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Query__many_live_todos$normalization = {| +export type tests_Query__many_todos$normalization = {| +todo_id: string, |}; @@ -28,7 +28,7 @@ export type Query__many_live_todos$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Query__many_live_todos$normalization", + "name": "tests_Query__many_todos$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__blocked_by$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql.js similarity index 83% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__blocked_by$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql.js index 0a6dc88dcc11f..af3d978de6240 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__blocked_by$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todo$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<114fa9d209b9e20d6259932ff31851ad>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Todo__blocked_by$normalization = {| +export type tests_Query__todo$normalization = {| +todo_id: string, |}; @@ -28,7 +28,7 @@ export type Todo__blocked_by$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Todo__blocked_by$normalization", + "name": "tests_Query__todo$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todos$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todos$normalization.graphql.js similarity index 95% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todos$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todos$normalization.graphql.js index 8ba8f2278ff0c..d57dfe2817a55 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todos$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Query__todos$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<3ebf05fdcdcdd09bffcbe7cba234e98e>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Query__todos$normalization = {| +export type tests_Query__todos$normalization = {| +count: number, +edges: ?$ReadOnlyArray> + * @generated SignedSource<<4a997196caa00ab4c98a5513071ceedc>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,14 +20,14 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; import type { FragmentType } from "relay-runtime"; -declare export opaque type TodoDescription____relay_model_instance$fragmentType: FragmentType; -export type TodoDescription____relay_model_instance$data = {| +declare export opaque type tests_TodoDescription____relay_model_instance$fragmentType: FragmentType; +export type tests_TodoDescription____relay_model_instance$data = {| +__relay_model_instance: TodoDescription, - +$fragmentType: TodoDescription____relay_model_instance$fragmentType, + +$fragmentType: tests_TodoDescription____relay_model_instance$fragmentType, |}; -export type TodoDescription____relay_model_instance$key = { - +$data?: TodoDescription____relay_model_instance$data, - +$fragmentSpreads: TodoDescription____relay_model_instance$fragmentType, +export type tests_TodoDescription____relay_model_instance$key = { + +$data?: tests_TodoDescription____relay_model_instance$data, + +$fragmentSpreads: tests_TodoDescription____relay_model_instance$fragmentType, ... }; */ @@ -36,7 +36,7 @@ var node/*: ReaderFragment*/ = { "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "TodoDescription____relay_model_instance", + "name": "tests_TodoDescription____relay_model_instance", "selections": [ { "kind": "ClientExtension", @@ -56,6 +56,6 @@ var node/*: ReaderFragment*/ = { }; module.exports = ((node/*: any*/)/*: Fragment< - TodoDescription____relay_model_instance$fragmentType, - TodoDescription____relay_model_instance$data, + tests_TodoDescription____relay_model_instance$fragmentType, + tests_TodoDescription____relay_model_instance$data, >*/); diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql.js similarity index 89% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql.js index caae896d83075..3a97b1d987169 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_client_type_with_interface$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_client_type_with_interface$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<86c0dfdcb38df9033344f5db0904eb5e>> + * @generated SignedSource<<36da3b39114ed651f96df8a70743e44f>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type TodoDescription__some_client_type_with_interface$normalization = {| +export type tests_TodoDescription__some_client_type_with_interface$normalization = {| +client_interface: {| +__typename: "ClientTypeImplementingClientInterface", +description: ?string, @@ -46,7 +46,7 @@ var v0 = [ return { "kind": "SplitOperation", "metadata": {}, - "name": "TodoDescription__some_client_type_with_interface$normalization", + "name": "tests_TodoDescription__some_client_type_with_interface$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_interface$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_interface$normalization.graphql.js similarity index 87% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_interface$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_interface$normalization.graphql.js index 06a131b906540..bcd8ba2dfe2a7 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoDescription__some_interface$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoDescription__some_interface$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<1d89dbb07a7ec7fa8d47e32a4b1d5072>> + * @generated SignedSource<<04a7e96a12e051f0dde60a9ee322b8c2>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type TodoDescription__some_interface$normalization = {| +export type tests_TodoDescription__some_interface$normalization = {| +__typename: "ClientTypeImplementingClientInterface", +description: ?string, |} | {| @@ -49,7 +49,7 @@ var v0 = [ return { "kind": "SplitOperation", "metadata": {}, - "name": "TodoDescription__some_interface$normalization", + "name": "tests_TodoDescription__some_interface$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql.js similarity index 62% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql.js index 97edac5aca3c3..189d1a68aecc5 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel____relay_model_instance.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel____relay_model_instance.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<28a23ef096d5f2762e47fb7ff97c65e6>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -18,23 +18,23 @@ /*:: import type { Fragment, ReaderFragment } from 'relay-runtime'; -import type { TodoModel__id$data } from "./TodoModel__id.graphql"; +import type { tests_TodoModel__id$data } from "./tests_TodoModel__id.graphql"; import type { LiveState } from "relay-runtime/store/experimental-live-resolvers/LiveResolverStore"; import type { FragmentType } from "relay-runtime"; import {TodoModel as todoModelRelayModelInstanceResolverType} from "../TodoModel.js"; // Type assertion validating that `todoModelRelayModelInstanceResolverType` resolver is correctly implemented. // A type error here indicates that the type signature of the resolver module is incorrect. (todoModelRelayModelInstanceResolverType: ( - id: TodoModel__id$data['id'], + id: tests_TodoModel__id$data['id'], ) => LiveState); -declare export opaque type TodoModel____relay_model_instance$fragmentType: FragmentType; -export type TodoModel____relay_model_instance$data = {| +declare export opaque type tests_TodoModel____relay_model_instance$fragmentType: FragmentType; +export type tests_TodoModel____relay_model_instance$data = {| +__relay_model_instance: ?ReturnType["read"]>, - +$fragmentType: TodoModel____relay_model_instance$fragmentType, + +$fragmentType: tests_TodoModel____relay_model_instance$fragmentType, |}; -export type TodoModel____relay_model_instance$key = { - +$data?: TodoModel____relay_model_instance$data, - +$fragmentSpreads: TodoModel____relay_model_instance$fragmentType, +export type tests_TodoModel____relay_model_instance$key = { + +$data?: tests_TodoModel____relay_model_instance$data, + +$fragmentSpreads: tests_TodoModel____relay_model_instance$fragmentType, ... }; */ @@ -43,7 +43,7 @@ var node/*: ReaderFragment*/ = { "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "TodoModel____relay_model_instance", + "name": "tests_TodoModel____relay_model_instance", "selections": [ { "alias": null, @@ -51,11 +51,11 @@ var node/*: ReaderFragment*/ = { "fragment": { "args": null, "kind": "FragmentSpread", - "name": "TodoModel__id" + "name": "tests_TodoModel__id" }, "kind": "RelayLiveResolver", "name": "__relay_model_instance", - "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./TodoModel__id.graphql'), require('./../TodoModel').TodoModel, 'id', true), + "resolverModule": require('relay-runtime/experimental').resolverDataInjector(require('./tests_TodoModel__id.graphql'), require('./../TodoModel').TodoModel, 'id', true), "path": "__relay_model_instance" } ], @@ -64,6 +64,6 @@ var node/*: ReaderFragment*/ = { }; module.exports = ((node/*: any*/)/*: Fragment< - TodoModel____relay_model_instance$fragmentType, - TodoModel____relay_model_instance$data, + tests_TodoModel____relay_model_instance$fragmentType, + tests_TodoModel____relay_model_instance$data, >*/); diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql.js similarity index 82% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql.js index ffbf2ab8e91b9..212eb5ffaa531 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<8e1de7ae39b6087b0f81e1c9310c9a2b>> + * @generated SignedSource<<07e93b55b2ec4a112e7015fdae8f03c8>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,7 +20,7 @@ import type { NormalizationSplitOperation } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; -export type TodoModel__fancy_description$normalization = {| +export type tests_TodoModel__fancy_description$normalization = {| +__relay_model_instance: TodoDescription, |}; @@ -29,7 +29,7 @@ export type TodoModel__fancy_description$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "TodoModel__fancy_description$normalization", + "name": "tests_TodoModel__fancy_description$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__live_todo_description$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_null$normalization.graphql.js similarity index 81% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__live_todo_description$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_null$normalization.graphql.js index 55ca527bd6af3..2a37797caf35b 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__live_todo_description$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_null$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,7 +20,7 @@ import type { NormalizationSplitOperation } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; -export type Query__live_todo_description$normalization = {| +export type tests_TodoModel__fancy_description_null$normalization = {| +__relay_model_instance: TodoDescription, |}; @@ -29,7 +29,7 @@ export type Query__live_todo_description$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Query__live_todo_description$normalization", + "name": "tests_TodoModel__fancy_description_null$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_suspends$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_suspends$normalization.graphql.js similarity index 80% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_suspends$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_suspends$normalization.graphql.js index c9ab7b5a502a1..1b906a48e85a8 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_suspends$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__fancy_description_suspends$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<698609024b482e988cf14f93e9f2b150>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,7 +20,7 @@ import type { NormalizationSplitOperation } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; -export type TodoModel__fancy_description_suspends$normalization = {| +export type tests_TodoModel__fancy_description_suspends$normalization = {| +__relay_model_instance: TodoDescription, |}; @@ -29,7 +29,7 @@ export type TodoModel__fancy_description_suspends$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "TodoModel__fancy_description_suspends$normalization", + "name": "tests_TodoModel__fancy_description_suspends$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__id.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__id.graphql.js similarity index 66% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__id.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__id.graphql.js index da5998050bfd2..9162bf303bf5c 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__id.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__id.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<7d9f3bc4473c46e16ae85d22bc971bf8>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -19,14 +19,14 @@ /*:: import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; -declare export opaque type TodoModel__id$fragmentType: FragmentType; -export type TodoModel__id$data = {| +declare export opaque type tests_TodoModel__id$fragmentType: FragmentType; +export type tests_TodoModel__id$data = {| +id: string, - +$fragmentType: TodoModel__id$fragmentType, + +$fragmentType: tests_TodoModel__id$fragmentType, |}; -export type TodoModel__id$key = { - +$data?: TodoModel__id$data, - +$fragmentSpreads: TodoModel__id$fragmentType, +export type tests_TodoModel__id$key = { + +$data?: tests_TodoModel__id$data, + +$fragmentSpreads: tests_TodoModel__id$fragmentType, ... }; */ @@ -35,7 +35,7 @@ var node/*: ReaderFragment*/ = { "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "TodoModel__id", + "name": "tests_TodoModel__id", "selections": [ { "kind": "ClientExtension", @@ -55,6 +55,6 @@ var node/*: ReaderFragment*/ = { }; module.exports = ((node/*: any*/)/*: Fragment< - TodoModel__id$fragmentType, - TodoModel__id$data, + tests_TodoModel__id$fragmentType, + tests_TodoModel__id$data, >*/); diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_null$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__many_fancy_descriptions$normalization.graphql.js similarity index 81% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_null$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__many_fancy_descriptions$normalization.graphql.js index 6de41e04fca25..87dac0d7f532a 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/TodoModel__fancy_description_null$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_TodoModel__many_fancy_descriptions$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<8a09277ddc3f7ad739707b988f4a0fc5>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,7 +20,7 @@ import type { NormalizationSplitOperation } from 'relay-runtime'; import type { TodoDescription } from "../TodoDescription.js"; -export type TodoModel__fancy_description_null$normalization = {| +export type tests_TodoModel__many_fancy_descriptions$normalization = {| +__relay_model_instance: TodoDescription, |}; @@ -29,7 +29,7 @@ export type TodoModel__fancy_description_null$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "TodoModel__fancy_description_null$normalization", + "name": "tests_TodoModel__many_fancy_descriptions$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__blocked_by$normalization.graphql.js similarity index 82% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__blocked_by$normalization.graphql.js index e8b6e60d4d39a..38acb8bab7e1a 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Query__todo$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__blocked_by$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<807bb363251eb0c4d8377a744eb8fab7>> + * @generated SignedSource<<17f8abed5f77c1f7968b271802746637>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Query__todo$normalization = {| +export type tests_Todo__blocked_by$normalization = {| +todo_id: string, |}; @@ -28,7 +28,7 @@ export type Query__todo$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Query__todo$normalization", + "name": "tests_Todo__blocked_by$normalization", "selections": [ { "kind": "ClientExtension", diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__text$normalization.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__text$normalization.graphql.js similarity index 92% rename from packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__text$normalization.graphql.js rename to packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__text$normalization.graphql.js index 4f4f8d8c45c41..074ceeaf3dfba 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/Todo__text$normalization.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/tests_Todo__text$normalization.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<876fa946ac30f1958668c819363c2bb7>> * @flow * @lightSyntaxTransform * @nogrep @@ -19,7 +19,7 @@ /*:: import type { NormalizationSplitOperation } from 'relay-runtime'; -export type Todo__text$normalization = {| +export type tests_Todo__text$normalization = {| +content: string, +style: ?{| +color: ?{| @@ -34,7 +34,7 @@ export type Todo__text$normalization = {| var node/*: NormalizationSplitOperation*/ = { "kind": "SplitOperation", "metadata": {}, - "name": "Todo__text$normalization", + "name": "tests_Todo__text$normalization", "selections": [ { "kind": "ClientExtension",