Skip to content

Commit 3306017

Browse files
authored
[1.0] Small fixes for beta.4 (#1246)
* Always round contentful image fields * Convert default HTML component to class * Fix getting lastFetched status in source-drupal
1 parent 3b50c0f commit 3306017

File tree

7 files changed

+37
-31
lines changed

7 files changed

+37
-31
lines changed

examples/using-contentful/src/pages/image-api.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default props => {
88
<div>
99
<h1>Image API examples</h1>
1010
<p>
11-
Gatsby offers rich integration with{" "}
11+
Gatsby offers rich integration with{` `}
1212
<a href="https://www.contentful.com/developers/docs/references/images-api/">
1313
Contentful's Image API
1414
</a>
@@ -113,16 +113,16 @@ export default props => {
113113

114114
<h2>Resizing</h2>
115115
<p>
116-
On both resize and responsiveResolution you can also add a{" "}
117-
<code>height</code>{" "}
116+
On both resize and responsiveResolution you can also add a{` `}
117+
<code>height</code>{` `}
118118
argument to the GraphQL argument to crop the image to a certain size.
119119
</p>
120120
<p>
121-
You can also set the{" "}
121+
You can also set the{` `}
122122
<a href="https://www.contentful.com/developers/docs/references/images-api/#/reference/resizing-&-cropping/change-the-resizing-behavior">
123123
resizing behavior
124-
</a>{" "}
125-
and{" "}
124+
</a>{` `}
125+
and{` `}
126126
<a href="https://www.contentful.com/developers/docs/references/images-api/#/reference/resizing-&-cropping/specify-focus-area-for-resizing">
127127
resizing focus area
128128
</a>
@@ -180,8 +180,7 @@ export default props => {
180180
a <code>maxWidth</code>, the max width the container of the images
181181
reaches.
182182
</p>
183-
{assets.map(({ node: { title, responsiveSizes } }) => {
184-
return (
183+
{assets.map(({ node: { title, responsiveSizes } }) => (
185184
<img
186185
alt={title}
187186
src={responsiveSizes.src}
@@ -193,8 +192,7 @@ export default props => {
193192
border: `1px solid tomato`,
194193
}}
195194
/>
196-
)
197-
})}
195+
))}
198196
<h4>GraphQL query</h4>
199197
<pre style={{ background: `#efeded`, padding: rhythm(3 / 4) }}>
200198
<code

packages/gatsby-source-contentful/src/__tests__/__snapshots__/extend-node-type.js.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ exports[`contentful extend node type createUrl ignores options it doesn't unders
66

77
exports[`contentful extend node type resolveResize generates resized images 1`] = `
88
Object {
9-
"aspectRatio": 0.75,
9+
"aspectRatio": 0.7499625018749062,
1010
"base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAbABQDAREAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAABgIHAwQJ/8QALhAAAQMDAgIHCQAAAAAAAAAAAQIDBAAFEQYSEzEHFCEiQVFhFRYkMkJDcXKj/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQIAAwQF/8QAJREAAQQCAQEJAAAAAAAAAAAAAQACAxEEQSEiEhMxQlFhcYGh/9oADAMBAAIRAxEAPwDp4Zz3vV1Tf8OIXF2YHzb8Zzz5UNpL6qWixdparPY3lO5clSUIdVtHeSQo49OQoXwl7RoFJaZWo8tWNcqHh7Mz/U0u0nnRF2+O3DRmiJtilRJLDtyY4jzm4oLQDgXtx9WRjyrSGNhcWZAINfuvpcl078mCOXBc0guFk3VAkOqtqz6oXZQK7amhQ+lJy0rcUJy9PrlIRtOCgOqBOeXMVZ3TywzaHCwuyo2ZTccnqLSR8A+qPR2o9v0nYLbGQhhqM68oIbSAEYX4Afuazue6TlxspYo2RRNjjAAF+CtiI+JUVl4fcQFdnqKsW8cqKrfGXN62plJk8Is8Qjt2E52/jNH2QoXamIrIxhlsY5d0dlBMsgAAwBgeQqKL/9k=",
11-
"height": 533.3333333333334,
11+
"height": 533,
1212
"src": "//images.contentful.com/ubriaw6jfhm1/10TkaLheGeQG6qQGqWYqUI/5421d3108cbb699561acabd594fa2cb0/ryugj83mqwa1asojwtwb.jpg?w=400",
1313
"width": 400,
1414
}
@@ -26,7 +26,7 @@ Object {
2626

2727
exports[`contentful extend node type resolveResponsiveResolution generates responsive resolution data for images 1`] = `
2828
Object {
29-
"aspectRatio": 0.75,
29+
"aspectRatio": 0.7499625018749062,
3030
"base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAbABQDAREAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAABgIHAwQJ/8QALhAAAQMDAgIHCQAAAAAAAAAAAQIDBAAFEQYSEzEHFCEiQVFhFRYkMkJDcXKj/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQIAAwQF/8QAJREAAQQCAQEJAAAAAAAAAAAAAQACAxEEQSEiEhMxQlFhcYGh/9oADAMBAAIRAxEAPwDp4Zz3vV1Tf8OIXF2YHzb8Zzz5UNpL6qWixdparPY3lO5clSUIdVtHeSQo49OQoXwl7RoFJaZWo8tWNcqHh7Mz/U0u0nnRF2+O3DRmiJtilRJLDtyY4jzm4oLQDgXtx9WRjyrSGNhcWZAINfuvpcl078mCOXBc0guFk3VAkOqtqz6oXZQK7amhQ+lJy0rcUJy9PrlIRtOCgOqBOeXMVZ3TywzaHCwuyo2ZTccnqLSR8A+qPR2o9v0nYLbGQhhqM68oIbSAEYX4Afuazue6TlxspYo2RRNjjAAF+CtiI+JUVl4fcQFdnqKsW8cqKrfGXN62plJk8Is8Qjt2E52/jNH2QoXamIrIxhlsY5d0dlBMsgAAwBgeQqKL/9k=",
3131
"height": 533,
3232
"src": "//images.contentful.com/ubriaw6jfhm1/10TkaLheGeQG6qQGqWYqUI/5421d3108cbb699561acabd594fa2cb0/ryugj83mqwa1asojwtwb.jpg?w=400",
@@ -54,7 +54,7 @@ Object {
5454

5555
exports[`contentful extend node type resolveResponsiveSizes generates responsive size data for images 1`] = `
5656
Object {
57-
"aspectRatio": 0.75,
57+
"aspectRatio": 0.7499625018749062,
5858
"base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAbABQDAREAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAABgIHAwQJ/8QALhAAAQMDAgIHCQAAAAAAAAAAAQIDBAAFEQYSEzEHFCEiQVFhFRYkMkJDcXKj/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQIAAwQF/8QAJREAAQQCAQEJAAAAAAAAAAAAAQACAxEEQSEiEhMxQlFhcYGh/9oADAMBAAIRAxEAPwDp4Zz3vV1Tf8OIXF2YHzb8Zzz5UNpL6qWixdparPY3lO5clSUIdVtHeSQo49OQoXwl7RoFJaZWo8tWNcqHh7Mz/U0u0nnRF2+O3DRmiJtilRJLDtyY4jzm4oLQDgXtx9WRjyrSGNhcWZAINfuvpcl078mCOXBc0guFk3VAkOqtqz6oXZQK7amhQ+lJy0rcUJy9PrlIRtOCgOqBOeXMVZ3TywzaHCwuyo2ZTccnqLSR8A+qPR2o9v0nYLbGQhhqM68oIbSAEYX4Afuazue6TlxspYo2RRNjjAAF+CtiI+JUVl4fcQFdnqKsW8cqKrfGXN62plJk8Is8Qjt2E52/jNH2QoXamIrIxhlsY5d0dlBMsgAAwBgeQqKL/9k=",
5959
"sizes": "(max-width: 400px) 100vw, 400px",
6060
"src": "//images.contentful.com/ubriaw6jfhm1/10TkaLheGeQG6qQGqWYqUI/5421d3108cbb699561acabd594fa2cb0/ryugj83mqwa1asojwtwb.jpg?w=400",
@@ -70,7 +70,7 @@ Object {
7070

7171
exports[`contentful extend node type resolveResponsiveSizes generates responsive sizes data for images using all options 1`] = `
7272
Object {
73-
"aspectRatio": 0.75,
73+
"aspectRatio": 0.7499625018749062,
7474
"base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAbABQDAREAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAABgIHAwQJ/8QALhAAAQMDAgIHCQAAAAAAAAAAAQIDBAAFEQYSEzEHFCEiQVFhFRYkMkJDcXKj/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQIAAwQF/8QAJREAAQQCAQEJAAAAAAAAAAAAAQACAxEEQSEiEhMxQlFhcYGh/9oADAMBAAIRAxEAPwDp4Zz3vV1Tf8OIXF2YHzb8Zzz5UNpL6qWixdparPY3lO5clSUIdVtHeSQo49OQoXwl7RoFJaZWo8tWNcqHh7Mz/U0u0nnRF2+O3DRmiJtilRJLDtyY4jzm4oLQDgXtx9WRjyrSGNhcWZAINfuvpcl078mCOXBc0guFk3VAkOqtqz6oXZQK7amhQ+lJy0rcUJy9PrlIRtOCgOqBOeXMVZ3TywzaHCwuyo2ZTccnqLSR8A+qPR2o9v0nYLbGQhhqM68oIbSAEYX4Afuazue6TlxspYo2RRNjjAAF+CtiI+JUVl4fcQFdnqKsW8cqKrfGXN62plJk8Is8Qjt2E52/jNH2QoXamIrIxhlsY5d0dlBMsgAAwBgeQqKL/9k=",
7575
"sizes": "(max-width: 450px) 100vw, 450px",
7676
"src": "//images.contentful.com/ubriaw6jfhm1/10TkaLheGeQG6qQGqWYqUI/5421d3108cbb699561acabd594fa2cb0/ryugj83mqwa1asojwtwb.jpg?w=450&h=399&q=50",

packages/gatsby-source-contentful/src/__tests__/extend-node-type.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ describe(`contentful extend node type`, () => {
2828
size: 28435,
2929
image: {
3030
width: `4500`,
31-
height: `6000`,
31+
height: `6000.3`,
3232
},
3333
},
3434
},
@@ -63,6 +63,14 @@ describe(`contentful extend node type`, () => {
6363
expect(resp.width).toBe(450)
6464
expect(resp.height).toBe(399)
6565
})
66+
it(`Always outputs ints`, async () => {
67+
const resp = await resolveResponsiveResolution(image, {
68+
width: 450.1,
69+
height: 399.1,
70+
})
71+
expect(resp.width).toBe(450)
72+
expect(resp.height).toBe(399)
73+
})
6674
})
6775
describe(`resolveResponsiveSizes`, () => {
6876
it(`generates responsive size data for images`, async () => {

packages/gatsby-source-contentful/src/extend-node-type.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,14 +185,14 @@ const resolveResponsiveResolution = (image, options) => {
185185
if (options.height) {
186186
pickedHeight = options.height
187187
} else {
188-
pickedHeight = Math.round(options.width / desiredAspectRatio)
188+
pickedHeight = options.width / desiredAspectRatio
189189
}
190190

191191
return resolve({
192192
base64: base64Str,
193193
aspectRatio: aspectRatio,
194-
width: options.width,
195-
height: pickedHeight,
194+
width: Math.round(options.width),
195+
height: Math.round(pickedHeight),
196196
src: createUrl(image.file.url, {
197197
...options,
198198
width: options.width,
@@ -299,8 +299,8 @@ const resolveResize = (image, options) =>
299299
}
300300
resolve({
301301
src: createUrl(image.file.url, options),
302-
width: pickedWidth,
303-
height: pickedHeight,
302+
width: Math.round(pickedWidth),
303+
height: Math.round(pickedHeight),
304304
aspectRatio,
305305
base64: base64Str,
306306
})

packages/gatsby-source-drupal/src/gatsby-node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ exports.sourceNodes = async (
4444
store.getState().status.plugins &&
4545
store.getState().status.plugins[`gatsby-source-drupal`]
4646
) {
47-
lastFetched = store.getState().status.plugins[`gatsby-source-drupal`]
47+
lastFetched = store.getState().status.plugins[`gatsby-source-drupal`].status
4848
.lastFetched
4949
}
5050

packages/gatsby/src/cache-dir/default-html.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if (process.env.NODE_ENV === `production`) {
99
}
1010
}
1111

12-
module.exports = React.createClass({
12+
module.exports = class HTML extends React.Component {
1313
render() {
1414
let css
1515
if (process.env.NODE_ENV === `production`) {
@@ -36,12 +36,13 @@ module.exports = React.createClass({
3636
<body>
3737
{this.props.preBodyComponents}
3838
<div
39+
key={`body`}
3940
id="___gatsby"
4041
dangerouslySetInnerHTML={{ __html: this.props.body }}
4142
/>
4243
{this.props.postBodyComponents}
4344
</body>
4445
</html>
4546
)
46-
},
47-
})
47+
}
48+
}

packages/gatsby/src/utils/webpack.config.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ import Config from "webpack-configurator"
66
import ExtractTextPlugin from "extract-text-webpack-plugin"
77
import StaticSiteGeneratorPlugin from "static-site-generator-webpack-plugin"
88
import { StatsWriterPlugin } from "webpack-stats-plugin"
9-
import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'
9+
import FriendlyErrorsWebpackPlugin from "friendly-errors-webpack-plugin"
1010

1111
// This isn't working right it seems.
1212
// import WebpackStableModuleIdAndHash from 'webpack-stable-module-id-and-hash'
13-
1413
import webpackModifyValidate from "./webpack-modify-validate"
1514

1615
const { store } = require(`../redux`)
@@ -141,10 +140,10 @@ module.exports = async (
141140
compilationSuccessInfo: {
142141
messages: [
143142
`Your site is running at http://localhost:${program.port}`,
144-
`Your graphql debugger is running at http://localhost:${program.port}/___graphql`
145-
]
146-
}
147-
})
143+
`Your graphql debugger is running at http://localhost:${program.port}/___graphql`,
144+
],
145+
},
146+
}),
148147
]
149148
case `build-css`:
150149
return [

0 commit comments

Comments
 (0)