gatsby-plugin-image 2.19.0-next.2 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/babel-helpers.js +66 -66
  2. package/dist/babel-plugin-parse-static-images.js +80 -80
  3. package/dist/components/gatsby-image.browser.js +173 -173
  4. package/dist/components/gatsby-image.server.js +106 -106
  5. package/dist/components/hooks.js +250 -250
  6. package/dist/components/intersection-observer.js +53 -53
  7. package/dist/components/layout-wrapper.js +95 -95
  8. package/dist/components/lazy-hydrate.js +218 -218
  9. package/dist/components/main-image.js +28 -28
  10. package/dist/components/picture.js +103 -103
  11. package/dist/components/placeholder.js +78 -78
  12. package/dist/components/static-image.server.js +111 -111
  13. package/dist/gatsby-node.js +58 -58
  14. package/dist/global.js +2 -2
  15. package/dist/image-utils.js +442 -442
  16. package/dist/index.js +32 -32
  17. package/dist/node-apis/image-processing.js +276 -276
  18. package/dist/node-apis/node-utils.js +11 -11
  19. package/dist/node-apis/parser.js +98 -98
  20. package/dist/node-apis/preprocess-source.js +117 -117
  21. package/dist/node-apis/watcher.js +129 -129
  22. package/dist/resolver-utils.js +120 -120
  23. package/dist/src/babel-helpers.d.ts +6 -6
  24. package/dist/src/babel-plugin-parse-static-images.d.ts +10 -10
  25. package/dist/src/gatsby-node.d.ts +5 -5
  26. package/dist/src/node-apis/image-processing.d.ts +29 -29
  27. package/dist/src/node-apis/node-utils.d.ts +1 -1
  28. package/dist/src/node-apis/parser.d.ts +11 -11
  29. package/dist/src/node-apis/preprocess-source.d.ts +2 -2
  30. package/dist/src/node-apis/watcher.d.ts +12 -12
  31. package/dist/src/resolver-utils.d.ts +21 -21
  32. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -1,32 +1,32 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- exports.__esModule = true;
14
- exports.getLowResolutionImageURL = exports.generateImageData = exports.withArtDirection = exports.getImageData = exports.getSrcSet = exports.getSrc = exports.getImage = exports.StaticImage = exports.MainImage = exports.Placeholder = exports.GatsbyImage = void 0;
15
- require("./global");
16
- var gatsby_image_server_1 = require("./components/gatsby-image.server");
17
- __createBinding(exports, gatsby_image_server_1, "GatsbyImage");
18
- var placeholder_1 = require("./components/placeholder");
19
- __createBinding(exports, placeholder_1, "Placeholder");
20
- var main_image_1 = require("./components/main-image");
21
- __createBinding(exports, main_image_1, "MainImage");
22
- var static_image_server_1 = require("./components/static-image.server");
23
- __createBinding(exports, static_image_server_1, "StaticImage");
24
- var hooks_1 = require("./components/hooks");
25
- __createBinding(exports, hooks_1, "getImage");
26
- __createBinding(exports, hooks_1, "getSrc");
27
- __createBinding(exports, hooks_1, "getSrcSet");
28
- __createBinding(exports, hooks_1, "getImageData");
29
- __createBinding(exports, hooks_1, "withArtDirection");
30
- var image_utils_1 = require("./image-utils");
31
- __createBinding(exports, image_utils_1, "generateImageData");
32
- __createBinding(exports, image_utils_1, "getLowResolutionImageURL");
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ exports.__esModule = true;
14
+ exports.getLowResolutionImageURL = exports.generateImageData = exports.withArtDirection = exports.getImageData = exports.getSrcSet = exports.getSrc = exports.getImage = exports.StaticImage = exports.MainImage = exports.Placeholder = exports.GatsbyImage = void 0;
15
+ require("./global");
16
+ var gatsby_image_server_1 = require("./components/gatsby-image.server");
17
+ __createBinding(exports, gatsby_image_server_1, "GatsbyImage");
18
+ var placeholder_1 = require("./components/placeholder");
19
+ __createBinding(exports, placeholder_1, "Placeholder");
20
+ var main_image_1 = require("./components/main-image");
21
+ __createBinding(exports, main_image_1, "MainImage");
22
+ var static_image_server_1 = require("./components/static-image.server");
23
+ __createBinding(exports, static_image_server_1, "StaticImage");
24
+ var hooks_1 = require("./components/hooks");
25
+ __createBinding(exports, hooks_1, "getImage");
26
+ __createBinding(exports, hooks_1, "getSrc");
27
+ __createBinding(exports, hooks_1, "getSrcSet");
28
+ __createBinding(exports, hooks_1, "getImageData");
29
+ __createBinding(exports, hooks_1, "withArtDirection");
30
+ var image_utils_1 = require("./image-utils");
31
+ __createBinding(exports, image_utils_1, "generateImageData");
32
+ __createBinding(exports, image_utils_1, "getLowResolutionImageURL");
@@ -1,276 +1,276 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __rest = (this && this.__rest) || function (s, e) {
39
- var t = {};
40
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
41
- t[p] = s[p];
42
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
43
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
44
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
45
- t[p[i]] = s[p[i]];
46
- }
47
- return t;
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
- if (ar || !(i in from)) {
68
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
- ar[i] = from[i];
70
- }
71
- }
72
- return to.concat(ar || Array.prototype.slice.call(from));
73
- };
74
- var __importDefault = (this && this.__importDefault) || function (mod) {
75
- return (mod && mod.__esModule) ? mod : { "default": mod };
76
- };
77
- exports.__esModule = true;
78
- exports.writeImage = exports.writeImages = exports.isRemoteURL = exports.createImageNode = void 0;
79
- var fs_extra_1 = __importDefault(require("fs-extra"));
80
- var path_1 = __importDefault(require("path"));
81
- var watcher_1 = require("./watcher");
82
- var supportedTypes = new Set(["image/png", "image/jpeg", "image/webp"]);
83
- function createImageNode(_a) {
84
- var fullPath = _a.fullPath, createNodeId = _a.createNodeId, createNode = _a.createNode, reporter = _a.reporter;
85
- return __awaiter(this, void 0, void 0, function () {
86
- var file, createFileNode, e_1;
87
- return __generator(this, function (_b) {
88
- switch (_b.label) {
89
- case 0:
90
- if (!fs_extra_1["default"].existsSync(fullPath)) {
91
- return [2 /*return*/, undefined];
92
- }
93
- _b.label = 1;
94
- case 1:
95
- _b.trys.push([1, 3, , 4]);
96
- createFileNode = require("gatsby-source-filesystem/create-file-node").createFileNode;
97
- return [4 /*yield*/, createFileNode(fullPath, createNodeId, {})];
98
- case 2:
99
- file = _b.sent();
100
- return [3 /*break*/, 4];
101
- case 3:
102
- e_1 = _b.sent();
103
- reporter.panic("Please install gatsby-source-filesystem");
104
- return [2 /*return*/, undefined];
105
- case 4:
106
- if (!file) {
107
- return [2 /*return*/, undefined];
108
- }
109
- file.internal.type = "StaticImage";
110
- createNode(file);
111
- return [2 /*return*/, file];
112
- }
113
- });
114
- });
115
- }
116
- exports.createImageNode = createImageNode;
117
- var isRemoteURL = function (url) {
118
- return url.startsWith("http://") || url.startsWith("https://");
119
- };
120
- exports.isRemoteURL = isRemoteURL;
121
- function writeImages(_a) {
122
- var images = _a.images, pathPrefix = _a.pathPrefix, cacheDir = _a.cacheDir, reporter = _a.reporter, cache = _a.cache, sourceDir = _a.sourceDir, createNodeId = _a.createNodeId, createNode = _a.createNode, filename = _a.filename;
123
- return __awaiter(this, void 0, void 0, function () {
124
- var promises;
125
- var _this = this;
126
- return __generator(this, function (_b) {
127
- promises = __spreadArray([], __read(images.entries()), false).map(function (_a) { var _b, hash, _c, src, args; return __awaiter(_this, void 0, void 0, function () {
128
- var file, fullPath, createRemoteFileNode, err_1, createFileNode, e_2, cacheKey, imageRefs, cacheFilename;
129
- var _d, _e;
130
- return __generator(this, function (_f) {
131
- switch (_f.label) {
132
- case 0:
133
- _d = _a, _e = __read(_d, 2), hash = _e[0], _c = _e[1], src = _c.src, args = __rest(_c, ["src"]);
134
- if (!src) {
135
- reporter.warn("Missing StaticImage \"src\" in ".concat(filename, "."));
136
- return [2 /*return*/];
137
- }
138
- if (!(0, exports.isRemoteURL)(src)) return [3 /*break*/, 5];
139
- createRemoteFileNode = void 0;
140
- try {
141
- createRemoteFileNode =
142
- require("gatsby-source-filesystem").createRemoteFileNode;
143
- }
144
- catch (e) {
145
- reporter.panic("Please install gatsby-source-filesystem");
146
- }
147
- _f.label = 1;
148
- case 1:
149
- _f.trys.push([1, 3, , 4]);
150
- return [4 /*yield*/, createRemoteFileNode({
151
- url: src,
152
- cache: cache,
153
- createNode: createNode,
154
- createNodeId: createNodeId
155
- })];
156
- case 2:
157
- file = _f.sent();
158
- return [3 /*break*/, 4];
159
- case 3:
160
- err_1 = _f.sent();
161
- reporter.error("Error loading image ".concat(src), err_1);
162
- return [2 /*return*/];
163
- case 4:
164
- if (!(file === null || file === void 0 ? void 0 : file.internal.mediaType) ||
165
- !supportedTypes.has(file.internal.mediaType)) {
166
- reporter.error("The file loaded from ".concat(src, " is not a valid image type. Found \"").concat((file === null || file === void 0 ? void 0 : file.internal.mediaType) || "unknown", "\""));
167
- return [2 /*return*/];
168
- }
169
- return [3 /*break*/, 9];
170
- case 5:
171
- fullPath = path_1["default"].resolve(sourceDir, src);
172
- if (!fs_extra_1["default"].existsSync(fullPath)) {
173
- reporter.warn("Could not find image \"".concat(src, "\" in \"").concat(filename, "\". Looked for ").concat(fullPath, "."));
174
- return [2 /*return*/];
175
- }
176
- _f.label = 6;
177
- case 6:
178
- _f.trys.push([6, 8, , 9]);
179
- createFileNode = require("gatsby-source-filesystem/create-file-node").createFileNode;
180
- return [4 /*yield*/, createFileNode(fullPath, createNodeId, {})];
181
- case 7:
182
- file = _f.sent();
183
- return [3 /*break*/, 9];
184
- case 8:
185
- e_2 = _f.sent();
186
- reporter.panic("Please install gatsby-source-filesystem");
187
- return [3 /*break*/, 9];
188
- case 9:
189
- if (!file) {
190
- reporter.warn("Could not create node for image ".concat(src));
191
- return [2 /*return*/];
192
- }
193
- // We need our own type, because `File` belongs to the filesystem plugin
194
- file.internal.type = "StaticImage";
195
- delete file.internal.owner;
196
- createNode(file);
197
- cacheKey = "ref-".concat(file.id);
198
- return [4 /*yield*/, cache.get(cacheKey)];
199
- case 10:
200
- imageRefs = (_f.sent()) || {};
201
- cacheFilename = path_1["default"].join(cacheDir, "".concat(hash, ".json"));
202
- imageRefs[hash] = {
203
- contentDigest: (_b = file.internal) === null || _b === void 0 ? void 0 : _b.contentDigest,
204
- args: args,
205
- cacheFilename: cacheFilename
206
- };
207
- return [4 /*yield*/, cache.set(cacheKey, imageRefs)];
208
- case 11:
209
- _f.sent();
210
- return [4 /*yield*/, writeImage(file, args, pathPrefix, reporter, cache, cacheFilename)];
211
- case 12:
212
- _f.sent();
213
- if (fullPath && process.env.NODE_ENV === "development") {
214
- // Watch the source image for changes
215
- (0, watcher_1.watchImage)({
216
- createNode: createNode,
217
- createNodeId: createNodeId,
218
- fullPath: fullPath,
219
- pathPrefix: pathPrefix,
220
- cache: cache,
221
- reporter: reporter
222
- });
223
- }
224
- return [2 /*return*/];
225
- }
226
- });
227
- }); });
228
- return [2 /*return*/, Promise.all(promises).then(function () { })];
229
- });
230
- });
231
- }
232
- exports.writeImages = writeImages;
233
- function writeImage(file, args, pathPrefix, reporter, cache, filename) {
234
- return __awaiter(this, void 0, void 0, function () {
235
- var generateImageData, options, sharpData, e_3;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- try {
240
- generateImageData = require("gatsby-plugin-sharp").generateImageData;
241
- }
242
- catch (e) {
243
- reporter.panic("Please install gatsby-plugin-sharp");
244
- }
245
- _a.label = 1;
246
- case 1:
247
- _a.trys.push([1, 6, , 7]);
248
- options = { file: file, args: args, pathPrefix: pathPrefix, reporter: reporter, cache: cache };
249
- if (!generateImageData) {
250
- reporter.warn("Please upgrade gatsby-plugin-sharp");
251
- return [2 /*return*/];
252
- }
253
- return [4 /*yield*/, generateImageData(options)];
254
- case 2:
255
- sharpData = _a.sent();
256
- if (!sharpData) return [3 /*break*/, 4];
257
- // Write the image properties to the cache
258
- return [4 /*yield*/, fs_extra_1["default"].writeJSON(filename, sharpData)];
259
- case 3:
260
- // Write the image properties to the cache
261
- _a.sent();
262
- return [3 /*break*/, 5];
263
- case 4:
264
- reporter.warn("Could not process image ".concat(file.relativePath));
265
- _a.label = 5;
266
- case 5: return [3 /*break*/, 7];
267
- case 6:
268
- e_3 = _a.sent();
269
- reporter.warn("Error processing image ".concat(file.relativePath, ". \n").concat(e_3.message));
270
- return [3 /*break*/, 7];
271
- case 7: return [2 /*return*/];
272
- }
273
- });
274
- });
275
- }
276
- exports.writeImage = writeImage;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __rest = (this && this.__rest) || function (s, e) {
39
+ var t = {};
40
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
41
+ t[p] = s[p];
42
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
43
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
44
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
45
+ t[p[i]] = s[p[i]];
46
+ }
47
+ return t;
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ var __importDefault = (this && this.__importDefault) || function (mod) {
75
+ return (mod && mod.__esModule) ? mod : { "default": mod };
76
+ };
77
+ exports.__esModule = true;
78
+ exports.writeImage = exports.writeImages = exports.isRemoteURL = exports.createImageNode = void 0;
79
+ var fs_extra_1 = __importDefault(require("fs-extra"));
80
+ var path_1 = __importDefault(require("path"));
81
+ var watcher_1 = require("./watcher");
82
+ var supportedTypes = new Set(["image/png", "image/jpeg", "image/webp"]);
83
+ function createImageNode(_a) {
84
+ var fullPath = _a.fullPath, createNodeId = _a.createNodeId, createNode = _a.createNode, reporter = _a.reporter;
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var file, createFileNode, e_1;
87
+ return __generator(this, function (_b) {
88
+ switch (_b.label) {
89
+ case 0:
90
+ if (!fs_extra_1["default"].existsSync(fullPath)) {
91
+ return [2 /*return*/, undefined];
92
+ }
93
+ _b.label = 1;
94
+ case 1:
95
+ _b.trys.push([1, 3, , 4]);
96
+ createFileNode = require("gatsby-source-filesystem/create-file-node").createFileNode;
97
+ return [4 /*yield*/, createFileNode(fullPath, createNodeId, {})];
98
+ case 2:
99
+ file = _b.sent();
100
+ return [3 /*break*/, 4];
101
+ case 3:
102
+ e_1 = _b.sent();
103
+ reporter.panic("Please install gatsby-source-filesystem");
104
+ return [2 /*return*/, undefined];
105
+ case 4:
106
+ if (!file) {
107
+ return [2 /*return*/, undefined];
108
+ }
109
+ file.internal.type = "StaticImage";
110
+ createNode(file);
111
+ return [2 /*return*/, file];
112
+ }
113
+ });
114
+ });
115
+ }
116
+ exports.createImageNode = createImageNode;
117
+ var isRemoteURL = function (url) {
118
+ return url.startsWith("http://") || url.startsWith("https://");
119
+ };
120
+ exports.isRemoteURL = isRemoteURL;
121
+ function writeImages(_a) {
122
+ var images = _a.images, pathPrefix = _a.pathPrefix, cacheDir = _a.cacheDir, reporter = _a.reporter, cache = _a.cache, sourceDir = _a.sourceDir, createNodeId = _a.createNodeId, createNode = _a.createNode, filename = _a.filename;
123
+ return __awaiter(this, void 0, void 0, function () {
124
+ var promises;
125
+ var _this = this;
126
+ return __generator(this, function (_b) {
127
+ promises = __spreadArray([], __read(images.entries()), false).map(function (_a) { var _b, hash, _c, src, args; return __awaiter(_this, void 0, void 0, function () {
128
+ var file, fullPath, createRemoteFileNode, err_1, createFileNode, e_2, cacheKey, imageRefs, cacheFilename;
129
+ var _d, _e;
130
+ return __generator(this, function (_f) {
131
+ switch (_f.label) {
132
+ case 0:
133
+ _d = _a, _e = __read(_d, 2), hash = _e[0], _c = _e[1], src = _c.src, args = __rest(_c, ["src"]);
134
+ if (!src) {
135
+ reporter.warn("Missing StaticImage \"src\" in ".concat(filename, "."));
136
+ return [2 /*return*/];
137
+ }
138
+ if (!(0, exports.isRemoteURL)(src)) return [3 /*break*/, 5];
139
+ createRemoteFileNode = void 0;
140
+ try {
141
+ createRemoteFileNode =
142
+ require("gatsby-source-filesystem").createRemoteFileNode;
143
+ }
144
+ catch (e) {
145
+ reporter.panic("Please install gatsby-source-filesystem");
146
+ }
147
+ _f.label = 1;
148
+ case 1:
149
+ _f.trys.push([1, 3, , 4]);
150
+ return [4 /*yield*/, createRemoteFileNode({
151
+ url: src,
152
+ cache: cache,
153
+ createNode: createNode,
154
+ createNodeId: createNodeId
155
+ })];
156
+ case 2:
157
+ file = _f.sent();
158
+ return [3 /*break*/, 4];
159
+ case 3:
160
+ err_1 = _f.sent();
161
+ reporter.error("Error loading image ".concat(src), err_1);
162
+ return [2 /*return*/];
163
+ case 4:
164
+ if (!(file === null || file === void 0 ? void 0 : file.internal.mediaType) ||
165
+ !supportedTypes.has(file.internal.mediaType)) {
166
+ reporter.error("The file loaded from ".concat(src, " is not a valid image type. Found \"").concat((file === null || file === void 0 ? void 0 : file.internal.mediaType) || "unknown", "\""));
167
+ return [2 /*return*/];
168
+ }
169
+ return [3 /*break*/, 9];
170
+ case 5:
171
+ fullPath = path_1["default"].resolve(sourceDir, src);
172
+ if (!fs_extra_1["default"].existsSync(fullPath)) {
173
+ reporter.warn("Could not find image \"".concat(src, "\" in \"").concat(filename, "\". Looked for ").concat(fullPath, "."));
174
+ return [2 /*return*/];
175
+ }
176
+ _f.label = 6;
177
+ case 6:
178
+ _f.trys.push([6, 8, , 9]);
179
+ createFileNode = require("gatsby-source-filesystem/create-file-node").createFileNode;
180
+ return [4 /*yield*/, createFileNode(fullPath, createNodeId, {})];
181
+ case 7:
182
+ file = _f.sent();
183
+ return [3 /*break*/, 9];
184
+ case 8:
185
+ e_2 = _f.sent();
186
+ reporter.panic("Please install gatsby-source-filesystem");
187
+ return [3 /*break*/, 9];
188
+ case 9:
189
+ if (!file) {
190
+ reporter.warn("Could not create node for image ".concat(src));
191
+ return [2 /*return*/];
192
+ }
193
+ // We need our own type, because `File` belongs to the filesystem plugin
194
+ file.internal.type = "StaticImage";
195
+ delete file.internal.owner;
196
+ createNode(file);
197
+ cacheKey = "ref-".concat(file.id);
198
+ return [4 /*yield*/, cache.get(cacheKey)];
199
+ case 10:
200
+ imageRefs = (_f.sent()) || {};
201
+ cacheFilename = path_1["default"].join(cacheDir, "".concat(hash, ".json"));
202
+ imageRefs[hash] = {
203
+ contentDigest: (_b = file.internal) === null || _b === void 0 ? void 0 : _b.contentDigest,
204
+ args: args,
205
+ cacheFilename: cacheFilename
206
+ };
207
+ return [4 /*yield*/, cache.set(cacheKey, imageRefs)];
208
+ case 11:
209
+ _f.sent();
210
+ return [4 /*yield*/, writeImage(file, args, pathPrefix, reporter, cache, cacheFilename)];
211
+ case 12:
212
+ _f.sent();
213
+ if (fullPath && process.env.NODE_ENV === "development") {
214
+ // Watch the source image for changes
215
+ (0, watcher_1.watchImage)({
216
+ createNode: createNode,
217
+ createNodeId: createNodeId,
218
+ fullPath: fullPath,
219
+ pathPrefix: pathPrefix,
220
+ cache: cache,
221
+ reporter: reporter
222
+ });
223
+ }
224
+ return [2 /*return*/];
225
+ }
226
+ });
227
+ }); });
228
+ return [2 /*return*/, Promise.all(promises).then(function () { })];
229
+ });
230
+ });
231
+ }
232
+ exports.writeImages = writeImages;
233
+ function writeImage(file, args, pathPrefix, reporter, cache, filename) {
234
+ return __awaiter(this, void 0, void 0, function () {
235
+ var generateImageData, options, sharpData, e_3;
236
+ return __generator(this, function (_a) {
237
+ switch (_a.label) {
238
+ case 0:
239
+ try {
240
+ generateImageData = require("gatsby-plugin-sharp").generateImageData;
241
+ }
242
+ catch (e) {
243
+ reporter.panic("Please install gatsby-plugin-sharp");
244
+ }
245
+ _a.label = 1;
246
+ case 1:
247
+ _a.trys.push([1, 6, , 7]);
248
+ options = { file: file, args: args, pathPrefix: pathPrefix, reporter: reporter, cache: cache };
249
+ if (!generateImageData) {
250
+ reporter.warn("Please upgrade gatsby-plugin-sharp");
251
+ return [2 /*return*/];
252
+ }
253
+ return [4 /*yield*/, generateImageData(options)];
254
+ case 2:
255
+ sharpData = _a.sent();
256
+ if (!sharpData) return [3 /*break*/, 4];
257
+ // Write the image properties to the cache
258
+ return [4 /*yield*/, fs_extra_1["default"].writeJSON(filename, sharpData)];
259
+ case 3:
260
+ // Write the image properties to the cache
261
+ _a.sent();
262
+ return [3 /*break*/, 5];
263
+ case 4:
264
+ reporter.warn("Could not process image ".concat(file.relativePath));
265
+ _a.label = 5;
266
+ case 5: return [3 /*break*/, 7];
267
+ case 6:
268
+ e_3 = _a.sent();
269
+ reporter.warn("Error processing image ".concat(file.relativePath, ". \n").concat(e_3.message));
270
+ return [3 /*break*/, 7];
271
+ case 7: return [2 /*return*/];
272
+ }
273
+ });
274
+ });
275
+ }
276
+ exports.writeImage = writeImage;