-
Notifications
You must be signed in to change notification settings - Fork 10.3k
/
gatsby-config.js
98 lines (93 loc) · 2.13 KB
/
gatsby-config.js
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
require(`dotenv`).config({
path: `.env.test`,
})
console.log(`Sourcing data from ` + process.env.WPGRAPHQL_URL)
const requestConcurrency = 1
const mediaItemTypeSettings = {
localFile: {
requestConcurrency,
maxFileSizeBytes: 10485760,
},
}
// this is it's own conditional object so we can run
// an int test with all default plugin options
const wpPluginOptions = !process.env.DEFAULT_PLUGIN_OPTIONS
? {
excludeFieldNames: [`commentCount`],
debug: {
graphql: {
writeQueriesToDisk: true,
},
},
type: {
MediaItem: mediaItemTypeSettings,
TypeLimitTest: {
limit: 1,
},
TypeLimit0Test: {
limit: 0,
},
Comment: {
excludeFieldNames: [`databaseId`],
},
Page: {
excludeFieldNames: [`enclosure`],
},
DatabaseIdentifier: {
exclude: true,
},
User: {
excludeFieldNames: [
`extraCapabilities`,
`capKey`,
`email`,
`registeredDate`,
],
},
Commenter: {
excludeFieldNames: [`databaseId`],
},
Post: {
limit:
process.env.NODE_ENV === `development`
? // Lets just pull 50 posts in development to make it easy on ourselves.
50
: // and we don't actually need more than 1000 in production
1000,
},
},
}
: {
type: {
MediaItem: mediaItemTypeSettings,
},
}
module.exports = {
plugins: [
`gatsby-plugin-sharp`,
`gatsby-transformer-sharp`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/assets/images`,
},
},
{
resolve: `gatsby-source-wordpress`,
options: {
url: process.env.WPGRAPHQL_URL,
schema: {
requestConcurrency: 10,
},
production: {
hardCacheMediaFiles: true,
},
develop: {
hardCacheMediaFiles: true,
},
...wpPluginOptions,
},
},
],
}