Skip to content

Commit 9f88d08

Browse files
committed
feat!: remove cache headers
1 parent 0a90c2d commit 9f88d08

File tree

7 files changed

+8
-419
lines changed

7 files changed

+8
-419
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ plugins: [
3131
allPageHeaders: [], // option to add headers for all pages. `Link` headers are transformed by the below criteria
3232
mergeSecurityHeaders: true, // boolean to turn off the default security headers
3333
mergeLinkHeaders: true, // boolean to turn off the default gatsby js headers
34-
mergeCachingHeaders: true, // boolean to turn off the default caching headers
3534
transformHeaders: (headers, path) => headers, // optional transform for manipulating headers under each path (e.g.sorting), etc.
3635
generateMatchPathRewrites: true, // boolean to turn off automatic creation of redirect rules for client only paths
3736
},

src/__tests__/__snapshots__/build-headers-program.js.snap

Lines changed: 0 additions & 252 deletions
Original file line numberDiff line numberDiff line change
@@ -1,169 +1,5 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`build-headers-program with caching headers 1`] = `
4-
"## Created with gatsby-plugin-netlify
5-
6-
/*
7-
X-Frame-Options: DENY
8-
X-XSS-Protection: 1; mode=block
9-
X-Content-Type-Options: nosniff
10-
Referrer-Policy: same-origin
11-
/component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js
12-
Cache-Control: public, max-age=31536000, immutable
13-
/0-0180cd94ef2497ac7db8.js
14-
Cache-Control: public, max-age=31536000, immutable
15-
/component---src-templates-blog-post-js-517987eae96e75cddbe7.js
16-
Cache-Control: public, max-age=31536000, immutable
17-
/component---src-pages-404-js-53e6c51a5a7e73090f50.js
18-
Cache-Control: public, max-age=31536000, immutable
19-
/component---src-pages-index-js-0bdd01c77ee09ef0224c.js
20-
Cache-Control: public, max-age=31536000, immutable
21-
/webpack-runtime-acaa8994f1f704475e21.js
22-
Cache-Control: public, max-age=31536000, immutable
23-
/styles.1025963f4f2ec7abbad4.css
24-
Cache-Control: public, max-age=31536000, immutable
25-
/styles-565f081c8374bbda155f.js
26-
Cache-Control: public, max-age=31536000, immutable
27-
/app-f33c13590352da20930f.js
28-
Cache-Control: public, max-age=31536000, immutable
29-
/static/*
30-
Cache-Control: public, max-age=31536000, immutable
31-
/sw.js
32-
Cache-Control: no-cache
33-
/offline-plugin-app-shell-fallback/
34-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
35-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
36-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
37-
Link: </component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js>; rel=preload; as=script
38-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
39-
Link: </page-data/offline-plugin-app-shell-fallback/page-data.json>; rel=preload; as=fetch; crossorigin
40-
/hi-folks/
41-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
42-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
43-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
44-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
45-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
46-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
47-
Link: </page-data/hi-folks/page-data.json>; rel=preload; as=fetch; crossorigin
48-
/my-second-post/
49-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
50-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
51-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
52-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
53-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
54-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
55-
Link: </page-data/my-second-post/page-data.json>; rel=preload; as=fetch; crossorigin
56-
/hello-world/
57-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
58-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
59-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
60-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
61-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
62-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
63-
Link: </page-data/hello-world/page-data.json>; rel=preload; as=fetch; crossorigin
64-
/404/
65-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
66-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
67-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
68-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
69-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
70-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
71-
Link: </page-data/404/page-data.json>; rel=preload; as=fetch; crossorigin
72-
/
73-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
74-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
75-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
76-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
77-
Link: </component---src-pages-index-js-0bdd01c77ee09ef0224c.js>; rel=preload; as=script
78-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
79-
Link: </page-data/index/page-data.json>; rel=preload; as=fetch; crossorigin
80-
/404.html
81-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
82-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
83-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
84-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
85-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
86-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
87-
Link: </page-data/404.html/page-data.json>; rel=preload; as=fetch; crossorigin
88-
"
89-
`;
90-
91-
exports[`build-headers-program with manifest['pages-manifest'] 1`] = `
92-
"## Created with gatsby-plugin-netlify
93-
94-
/*
95-
X-Frame-Options: DENY
96-
X-XSS-Protection: 1; mode=block
97-
X-Content-Type-Options: nosniff
98-
Referrer-Policy: same-origin
99-
/component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js
100-
Cache-Control: public, max-age=31536000, immutable
101-
/0-0180cd94ef2497ac7db8.js
102-
Cache-Control: public, max-age=31536000, immutable
103-
/component---src-templates-blog-post-js-517987eae96e75cddbe7.js
104-
Cache-Control: public, max-age=31536000, immutable
105-
/component---src-pages-404-js-53e6c51a5a7e73090f50.js
106-
Cache-Control: public, max-age=31536000, immutable
107-
/component---src-pages-index-js-0bdd01c77ee09ef0224c.js
108-
Cache-Control: public, max-age=31536000, immutable
109-
/pages-manifest-ab11f09e0ca7ecd3b43e.js
110-
Cache-Control: public, max-age=31536000, immutable
111-
/webpack-runtime-acaa8994f1f704475e21.js
112-
Cache-Control: public, max-age=31536000, immutable
113-
/styles.1025963f4f2ec7abbad4.css
114-
Cache-Control: public, max-age=31536000, immutable
115-
/styles-565f081c8374bbda155f.js
116-
Cache-Control: public, max-age=31536000, immutable
117-
/app-f33c13590352da20930f.js
118-
Cache-Control: public, max-age=31536000, immutable
119-
/static/*
120-
Cache-Control: public, max-age=31536000, immutable
121-
/sw.js
122-
Cache-Control: no-cache
123-
/offline-plugin-app-shell-fallback/
124-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
125-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
126-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
127-
Link: </component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js>; rel=preload; as=script
128-
/hi-folks/
129-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
130-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
131-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
132-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
133-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
134-
/my-second-post/
135-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
136-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
137-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
138-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
139-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
140-
/hello-world/
141-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
142-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
143-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
144-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
145-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
146-
/404/
147-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
148-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
149-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
150-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
151-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
152-
/
153-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
154-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
155-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
156-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
157-
Link: </component---src-pages-index-js-0bdd01c77ee09ef0224c.js>; rel=preload; as=script
158-
/404.html
159-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
160-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
161-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
162-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
163-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
164-
"
165-
`;
166-
1673
exports[`build-headers-program with security headers 1`] = `
1684
"## Created with gatsby-plugin-netlify
1695
@@ -175,94 +11,6 @@ exports[`build-headers-program with security headers 1`] = `
17511
Content-Security-Policy: frame-ancestors 'self' https://*.storyblok.com/
17612
/hello
17713
X-Frame-Options: SAMEORIGIN
178-
/component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js
179-
Cache-Control: public, max-age=31536000, immutable
180-
/0-0180cd94ef2497ac7db8.js
181-
Cache-Control: public, max-age=31536000, immutable
182-
/component---src-templates-blog-post-js-517987eae96e75cddbe7.js
183-
Cache-Control: public, max-age=31536000, immutable
184-
/component---src-pages-404-js-53e6c51a5a7e73090f50.js
185-
Cache-Control: public, max-age=31536000, immutable
186-
/component---src-pages-index-js-0bdd01c77ee09ef0224c.js
187-
Cache-Control: public, max-age=31536000, immutable
188-
/webpack-runtime-acaa8994f1f704475e21.js
189-
Cache-Control: public, max-age=31536000, immutable
190-
/styles.1025963f4f2ec7abbad4.css
191-
Cache-Control: public, max-age=31536000, immutable
192-
/styles-565f081c8374bbda155f.js
193-
Cache-Control: public, max-age=31536000, immutable
194-
/app-f33c13590352da20930f.js
195-
Cache-Control: public, max-age=31536000, immutable
196-
/static/*
197-
Cache-Control: public, max-age=31536000, immutable
198-
/sw.js
199-
Cache-Control: no-cache
200-
/offline-plugin-app-shell-fallback/
201-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
202-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
203-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
204-
Link: </component---node-modules-gatsby-plugin-offline-app-shell-js-78f9e4dea04737fa062d.js>; rel=preload; as=script
205-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
206-
Link: </page-data/offline-plugin-app-shell-fallback/page-data.json>; rel=preload; as=fetch; crossorigin
207-
/hi-folks/
208-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
209-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
210-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
211-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
212-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
213-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
214-
Link: </page-data/hi-folks/page-data.json>; rel=preload; as=fetch; crossorigin
215-
/my-second-post/
216-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
217-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
218-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
219-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
220-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
221-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
222-
Link: </page-data/my-second-post/page-data.json>; rel=preload; as=fetch; crossorigin
223-
/hello-world/
224-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
225-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
226-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
227-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
228-
Link: </component---src-templates-blog-post-js-517987eae96e75cddbe7.js>; rel=preload; as=script
229-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
230-
Link: </page-data/hello-world/page-data.json>; rel=preload; as=fetch; crossorigin
231-
/404/
232-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
233-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
234-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
235-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
236-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
237-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
238-
Link: </page-data/404/page-data.json>; rel=preload; as=fetch; crossorigin
239-
/
240-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
241-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
242-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
243-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
244-
Link: </component---src-pages-index-js-0bdd01c77ee09ef0224c.js>; rel=preload; as=script
245-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
246-
Link: </page-data/index/page-data.json>; rel=preload; as=fetch; crossorigin
247-
/404.html
248-
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
249-
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script
250-
Link: </app-f33c13590352da20930f.js>; rel=preload; as=script
251-
Link: </0-0180cd94ef2497ac7db8.js>; rel=preload; as=script
252-
Link: </component---src-pages-404-js-53e6c51a5a7e73090f50.js>; rel=preload; as=script
253-
Link: </page-data/app-data.json>; rel=preload; as=fetch; crossorigin
254-
Link: </page-data/404.html/page-data.json>; rel=preload; as=fetch; crossorigin
255-
"
256-
`;
257-
258-
exports[`build-headers-program without caching headers 1`] = `
259-
"## Created with gatsby-plugin-netlify
260-
261-
/*
262-
X-Frame-Options: DENY
263-
X-XSS-Protection: 1; mode=block
264-
X-Content-Type-Options: nosniff
265-
Referrer-Policy: same-origin
26614
/offline-plugin-app-shell-fallback/
26715
Link: </webpack-runtime-acaa8994f1f704475e21.js>; rel=preload; as=script
26816
Link: </styles-565f081c8374bbda155f.js>; rel=preload; as=script

src/__tests__/build-headers-program.js

Lines changed: 0 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -191,108 +191,6 @@ describe(`build-headers-program`, () => {
191191
}
192192
}
193193

194-
it(`with caching headers`, async () => {
195-
const pluginData = await createPluginData()
196-
197-
const pluginOptions = {
198-
...DEFAULT_OPTIONS,
199-
mergeCachingHeaders: true,
200-
}
201-
202-
await buildHeadersProgram(pluginData, pluginOptions, reporter)
203-
204-
expect(reporter.panic).not.toHaveBeenCalled()
205-
const output = await fs.readFile(
206-
pluginData.publicFolder(`_headers`),
207-
`utf8`
208-
)
209-
expect(output).toMatchSnapshot()
210-
expect(output).toMatch(/app-data\.json/)
211-
expect(output).toMatch(/page-data\.json/)
212-
// we should only check page-data & app-data once which leads to 2 times
213-
expect(fs.existsSync).toBeCalledTimes(2)
214-
})
215-
216-
it(`with manifest['pages-manifest']`, async () => {
217-
const pluginData = await createPluginData()
218-
219-
fs.existsSync.mockImplementation(path => {
220-
if (path.includes(`page-data.json`) || path.includes(`app-data.json`)) {
221-
return false
222-
}
223-
224-
return true
225-
})
226-
227-
// gatsby < 2.9 uses page-manifest
228-
pluginData.manifest[`pages-manifest`] = [
229-
`pages-manifest-ab11f09e0ca7ecd3b43e.js`,
230-
]
231-
232-
const pluginOptions = {
233-
...DEFAULT_OPTIONS,
234-
mergeCachingHeaders: true,
235-
}
236-
237-
await buildHeadersProgram(pluginData, pluginOptions, reporter)
238-
239-
expect(reporter.panic).not.toHaveBeenCalled()
240-
const output = await fs.readFile(
241-
pluginData.publicFolder(`_headers`),
242-
`utf8`
243-
)
244-
expect(output).toMatchSnapshot()
245-
expect(output).toMatch(/\/pages-manifest-ab11f09e0ca7ecd3b43e\.js/g)
246-
expect(output).not.toMatch(/\/app-data\.json/g)
247-
expect(output).not.toMatch(/\/page-data\.json/g)
248-
expect(output).not.toMatch(/\/undefined/g)
249-
})
250-
251-
it(`without app-data file`, async () => {
252-
const pluginData = await createPluginData()
253-
254-
// gatsby 2.17.0+ adds an app-data file
255-
delete pluginData.manifest[`pages-manifest`]
256-
257-
const pluginOptions = {
258-
...DEFAULT_OPTIONS,
259-
mergeCachingHeaders: true,
260-
}
261-
fs.existsSync.mockImplementation(path => {
262-
if (path.includes(`app-data.json`)) {
263-
return false
264-
}
265-
266-
return true
267-
})
268-
269-
await buildHeadersProgram(pluginData, pluginOptions, reporter)
270-
271-
expect(reporter.panic).not.toHaveBeenCalled()
272-
const output = await fs.readFile(
273-
pluginData.publicFolder(`_headers`),
274-
`utf8`
275-
)
276-
expect(output).not.toMatch(/app-data\.json/g)
277-
expect(output).not.toMatch(/\/undefined/g)
278-
})
279-
280-
it(`without caching headers`, async () => {
281-
const pluginData = await createPluginData()
282-
283-
const pluginOptions = {
284-
...DEFAULT_OPTIONS,
285-
mergeCachingHeaders: false,
286-
}
287-
288-
await buildHeadersProgram(pluginData, pluginOptions, reporter)
289-
290-
expect(reporter.panic).not.toHaveBeenCalled()
291-
expect(
292-
await fs.readFile(pluginData.publicFolder(`_headers`), `utf8`)
293-
).toMatchSnapshot()
294-
})
295-
296194
it(`with security headers`, async () => {
297195
const pluginData = await createPluginData()
298196

0 commit comments

Comments
 (0)