FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
github/script/fetch-schema at master · atom/github · GitHub
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
atom
/
github
Public archive
Notifications
You must be signed in to change notification settings
Fork
408
Star
1.2k
Code
Issues
439
Pull requests
65
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
github
/
script
/
fetch-schema
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
118 lines (114 loc) · 2.43 KB
Breadcrumbs
github
/
script
/
fetch-schema
Copy path
File metadata and controls
executable file
·
118 lines (114 loc) · 2.43 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/usr/bin/env node
const
fs
=
require
(
'fs'
)
;
const
path
=
require
(
'path'
)
;
const
fetch
=
require
(
'node-fetch'
)
;
const
{
buildClientSchema
,
printSchema
}
=
require
(
'graphql/utilities'
)
;
const
schemaPath
=
path
.
resolve
(
__dirname
,
'..'
,
'graphql'
,
'schema'
)
;
const
introspectionQuery
=
`
query IntrospectionQuery {
__schema {
queryType { name }
mutationType { name }
subscriptionType { name }
types {
...FullType
}
directives {
name
description
locations
args {
...InputValue
}
}
}
}
fragment FullType on __Type {
kind
name
description
fields(includeDeprecated: false) {
name
description
args {
...InputValue
}
type {
...TypeRef
}
isDeprecated
deprecationReason
}
inputFields {
...InputValue
}
interfaces {
...TypeRef
}
enumValues(includeDeprecated: false) {
name
description
isDeprecated
deprecationReason
}
possibleTypes {
...TypeRef
}
}
fragment InputValue on __InputValue {
name
description
type { ...TypeRef }
defaultValue
}
fragment TypeRef on __Type {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
}
}
}
}
}
}
}
}
`
;
const
token
=
process
.
env
.
GITHUB_TOKEN
;
if
(
!
token
)
{
throw
new
Error
(
'You must specify a GitHub auth token in GITHUB_TOKEN'
)
;
}
const
SERVER
=
'https://api.github.com/graphql'
;
// Save JSON of full schema introspection for Babel Relay Plugin to use
fetch
(
`
${
SERVER
}
`
,
{
method
:
'POST'
,
headers
:
{
'Accept'
:
'application/vnd.github.antiope-preview+json'
,
'Content-Type'
:
'application/json'
,
'Authorization'
:
'bearer '
+
token
,
}
,
body
:
JSON
.
stringify
(
{
query
:
introspectionQuery
}
)
,
}
)
.
then
(
res
=>
res
.
json
(
)
)
.
then
(
schemaJSON
=>
{
const
graphQLSchema
=
buildClientSchema
(
schemaJSON
.
data
)
;
fs
.
writeFileSync
(
`
${
schemaPath
}
.graphql`
,
printSchema
(
graphQLSchema
)
)
;
}
)
.
catch
(
err
=>
console
.
error
(
err
)
)
;
// eslint-disable-line no-console
Back
|
FazBrowse Home
|
New Git URL