1
- The goal of this repo is to contain GraphQL custom scalar specifications.
1
+ # GraphQL Custom Scalars Specification Contribution Guide
2
2
3
- # THIS A WORK IN PROGRESS
3
+ Thanks for contributing to GraphQL Scalars.
4
4
5
- # Contributing to this repo
5
+ The goal of the GraphQL Scalars project is to provide a directory of GraphQL
6
+ Custom Scalar specifications, contributed by the community. Contributed
7
+ specifications will be hosted on a GraphQL Foundation owned domain
8
+ [ scalars.graphql.org] ( https://scalars.graphql.org ) , which can be referenced with
9
+ the built-in ` @specifiedBy ` GraphQL directive.
10
+
11
+ GraphQL Custom Scalar specifications are language agnostic and thus can be used
12
+ to document and standardize behavior across different languages.
13
+
14
+ We will confirm the domain details soon. We are currently setting this up.
15
+
16
+ Please ensure that you read the
17
+ [ Code of Conduct] ( https://graphql.org/codeofconduct/ ) before contributing to
18
+ this project.
19
+
20
+ ## How to contribute
21
+
22
+ 1 . Copy the ` template-string.md `
23
+ [ template] ( https://github.com/graphql/graphql-scalars/blob/main/scalars/template-string.md )
24
+ for Custom Scalars based on the built-in String Scalar, or otherwise use the
25
+ ` template.md `
26
+ [ template] ( https://github.com/graphql/graphql-scalars/blob/main/scalars/template.md )
27
+ for all other Custom Scalars. Templates are located in the
28
+ [ graphql-scalars GitHub repository] ( https://github.com/graphql/graphql-scalars/tree/main/scalars ) .
29
+
30
+ 2 . Modify your selected template, and save it in the correct place
31
+ ` scalars/contributed/<github-user-name>/<scalar-name>.md ` in the
32
+ [ graphql-scalars GitHub repository] ( https://github.com/graphql/graphql-scalars/tree/main/scalars/contributed ) .
33
+ The directory location is important, as this will form part of the reference
34
+ URL for your specification.
35
+
36
+ 3 . Install dependencies with ` npm install ` and the run ` npm run build ` to
37
+ locally build the resulting public specification files. Navigate to the
38
+ ` /public ` folder to view the built files.
39
+
40
+ 4 . [ Open a new pull request] ( https://github.com/graphql/graphql-scalars/pulls )
41
+ for each Custom Scalar specification you would like to add.
42
+
43
+ ### Review process
44
+
45
+ Your specification pull request will be reviewed by a maintainer of the
46
+ [ graphql-scalars repository] ( https://github.com/graphql/graphql-scalars ) . The
47
+ maintainers will verify that the template has been completed, but note that the
48
+ correctness of the specification is the responsibility of the original
49
+ contributor.
50
+
51
+ ### Immutable specifications
52
+
53
+ Specification semantics must not change, as specifications are publicly
54
+ available reference documents. We will permit small edits which do not change
55
+ specification semantics, such as typo fixes.
56
+
57
+ A new version of a Custom Scalar specification should have a new scalar name,
58
+ either with a number appended such as ` <scalar-name>2 ` , or a different name such
59
+ as ` OffsetDateTime ` to differentiate from ` DateTime ` .
60
+
61
+ ## Licensing
62
+
63
+ Specifications contributed to the GraphQL Scalars repository are part of the
64
+ GraphQL Specification Project and available by the
65
+ [ Joint Development Foundation] ( https://www.jointdevelopment.org/ ) . The current
66
+ [ GraphQL Working Group] ( https://github.com/graphql/graphql-wg ) charter, which
67
+ includes the IP policy governing all working group deliverables (including
68
+ specifications, source code, and datasets) may be found at
69
+ [ https://technical-charter.graphql.org ] ( https://technical-charter.graphql.org ) .
70
+
71
+ By contributing to this repository, you agree to license your work according to
72
+ the licenses governing GraphQL Specification Project deliverables, which are:
73
+
74
+ | Deliverable | License |
75
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
76
+ | Specifications | [ Open Web Foundation Agreement 1.0 (Patent and Copyright Grants)] ( https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owfa-1-0 ) |
77
+ | Source code | [ MIT License] ( https://opensource.org/licenses/MIT ) |
78
+ | Data sets | [ CC0 1.0] ( https://creativecommons.org/publicdomain/zero/1.0/ ) |
79
+
80
+ ### Contributor License Agreement
6
81
7
82
This repository is managed by EasyCLA. Project participants must sign the free
8
83
[ GraphQL Specification Membership agreement] ( https://preview-spec-membership.graphql.org )
@@ -20,18 +95,23 @@ You can find
20
95
If you have issues, please email
21
96
22
97
23
- ## Local development setup
24
-
25
- Install dependencies with
98
+ ### Copyright
26
99
27
- ``` shell
28
- npm install
29
- ```
100
+ Copyright © GraphQL contributors
30
101
31
- Then build with
102
+ THESE MATERIALS ARE PROVIDED “AS IS”. The parties expressly disclaim any
103
+ warranties (express, implied, or otherwise), including implied warranties of
104
+ merchantability, non-infringement, fitness for a particular purpose, or title,
105
+ related to the materials. The entire risk as to implementing or otherwise using
106
+ the materials is assumed by the implementer and user. IN NO EVENT WILL THE
107
+ PARTIES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT,
108
+ SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES
109
+ OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING
110
+ AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR
111
+ OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE
112
+ POSSIBILITY OF SUCH DAMAGE.
32
113
33
- ``` shell
34
- npm run build
35
- ```
114
+ ## Code of Conduct
36
115
37
- Navigate to the ` /public ` folder to view the built files.
116
+ This project abides by the GraphQL Foundation Code of Conduct at
117
+ https://graphql.org/codeofconduct/ .
0 commit comments