Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# https://github.com/DavidAnson/markdownlint

# Multiple headings with the same content.
MD024:
siblings_only: true
# Emphasis used instead of a heading.
MD036: false
20 changes: 8 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# GraphQL Composite Schema Spec

> **Stage 0: Preliminary**
>
> This spec is in the proposal stage of active development, and can change
> before reaching `Draft` stage. For more information, please see the
> [Roadmap](ROADMAP.md).

---

# GraphQL Composite Schema Spec

The GraphQL Composite Schema specification is edited in the markdown files found
in [`/spec`](./spec) the latest release of which is published at
https://graphql.github.io/composite-schemas-spec/.
<https://graphql.github.io/composite-schemas-spec/>.

### Contributing to this repo
## Contributing to this repo

See more in [CONTRIBUTING.md](CONTRIBUTING.md) about contributing spec changes.
If you want to start a general discussion or concern, please
Expand All @@ -27,10 +25,8 @@ separate

---

Copyright Joint Development Foundation Projects, LLC, GraphQL Series.<br>
[graphql.org](https://graphql.org) | [Spec](https://spec.graphql.org) |
[GitHub](https://github.com/graphql/composite-schemas-spec) |
[GraphQL Foundation](https://foundation.graphql.org) |
[Code of Conduct](https://code-of-conduct.graphql.org) |
[Discord](https://discord.com/channels/625400653321076807/863141924126588958) |
Copyright Joint Development Foundation Projects, LLC, GraphQL Series. \
[graphql.org](https://graphql.org) | [Spec](https://spec.graphql.org) | [GitHub](https://github.com/graphql/composite-schemas-spec)
| [GraphQL Foundation](https://foundation.graphql.org) | [Code of Conduct](https://code-of-conduct.graphql.org)
| [Discord](https://discord.com/channels/625400653321076807/863141924126588958) |
[Store](https://store.graphql.org)
13 changes: 12 additions & 1 deletion spec/Section 2 -- Source Schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,18 @@ type Product {
## @inaccessible

```graphql
directive @inaccessible on FIELD_DEFINITION | OBJECT | INTERFACE | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
# prettier-ignore
directive @inaccessible on
| FIELD_DEFINITION
| OBJECT
| INTERFACE
| UNION
| ARGUMENT_DEFINITION
| SCALAR
| ENUM
| ENUM_VALUE
| INPUT_OBJECT
| INPUT_FIELD_DEFINITION
```

The `@inaccessible` directive is used to prevent specific type system members
Expand Down
20 changes: 10 additions & 10 deletions spec/Section 4 -- Composition.md
Original file line number Diff line number Diff line change
Expand Up @@ -3637,7 +3637,7 @@ MergeTypes(types):
- If {kind} is `OBJECT`:
- Return the result of {MergeObjectTypes(types)}.

#### Merge Scalar Types
### Merge Scalar Types

**Formal Specification**

Expand Down Expand Up @@ -3693,7 +3693,7 @@ scalar Date
scalar Date
```

#### Merge Interface Types
### Merge Interface Types

**Formal Specification**

Expand Down Expand Up @@ -3812,7 +3812,7 @@ interface Product {
}
```

#### Merge Enum Types
### Merge Enum Types

**Formal Specification**

Expand Down Expand Up @@ -3930,7 +3930,7 @@ enum Status {
}
```

#### Merge Union Types
### Merge Union Types

**Formal Specification**

Expand Down Expand Up @@ -4027,7 +4027,7 @@ In this case, the `Product` type is marked with `@inaccessible` in the first
schema. As a result, the `Product` type is excluded from the composed
`SearchResult`

#### Merge Input Types
### Merge Input Types

**Formal Specification**

Expand Down Expand Up @@ -4160,7 +4160,7 @@ input OrderInput {
In this case, the description from the first schema is retained, while the
fields are merged from both schemas to create the final `OrderInput` type.

#### Merge Object Types
### Merge Object Types

**Formal Specification**

Expand Down Expand Up @@ -4317,7 +4317,7 @@ type Product {
}
```

#### Merge Output Fields
### Merge Output Fields

**Formal Specification**

Expand Down Expand Up @@ -4497,7 +4497,7 @@ type Product {
}
```

#### Merge Input Fields
### Merge Input Fields

**Formal Specification**

Expand Down Expand Up @@ -4594,7 +4594,7 @@ In the final schema, `minTotal` is defined using the most restrictive type
(`Int!`), has a default value of `0`, and includes the description from the
original field in `Schema A`.

#### Merge Argument Definitions
### Merge Argument Definitions

**Formal Specification**

Expand Down Expand Up @@ -4690,7 +4690,7 @@ In the merged schema, the `filter` argument is defined with the most restrictive
type (`ProductFilter!`), includes the description from the original field in
`Schema A`, and is marked as required.

#### Merge Arguments
### Merge Arguments

**Formal Specification**

Expand Down
8 changes: 6 additions & 2 deletions spec/Spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ecosystem.
The GraphQL Specification Project has evolved and may continue to evolve in
future editions of this specification. Previous editions of the GraphQL
specification can be found at permalinks that match their release tag. The
latest working draft release can be found at https://spec.graphql.org/draft.
latest working draft release can be found at <https://spec.graphql.org/draft>.

**Copyright notice**

Expand Down Expand Up @@ -82,9 +82,11 @@ explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this:

Note: This is an example of a non-normative note.

<!-- markdownlint-disable MD025 -->

# [Overview](Section%201%20--%20Overview.md)

# [Subgraph](Section%202%20--%20Source%20Schema.md)
# [Source Schema](Section%202%20--%20Source%20Schema.md)

# [Composition](Section%204%20--%20Composition.md)

Expand All @@ -93,3 +95,5 @@ Note: This is an example of a non-normative note.
# [Shared Types](Section%206%20--%20Shared%20Types.md)

# [Appendix A -- Field Selection](Appendix%20A%20--%20Field%20Selection.md)

<!-- markdownlint-enable MD025 -->