@depup/gatsby 5.16.1-depup.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 (1361) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +142 -0
  3. package/adapters.js +31 -0
  4. package/apis.json +73 -0
  5. package/cache-dir/.eslintrc.json +10 -0
  6. package/cache-dir/api-runner-browser-plugins.js +14 -0
  7. package/cache-dir/api-runner-browser.js +52 -0
  8. package/cache-dir/api-runner-ssr.js +88 -0
  9. package/cache-dir/api-ssr-docs.js +207 -0
  10. package/cache-dir/app.js +249 -0
  11. package/cache-dir/blank.css +0 -0
  12. package/cache-dir/commonjs/api-runner-browser-plugins.js +17 -0
  13. package/cache-dir/commonjs/api-runner-browser-plugins.js.map +1 -0
  14. package/cache-dir/commonjs/api-runner-browser.js +49 -0
  15. package/cache-dir/commonjs/api-runner-browser.js.map +1 -0
  16. package/cache-dir/commonjs/api-runner-ssr.js +88 -0
  17. package/cache-dir/commonjs/api-runner-ssr.js.map +1 -0
  18. package/cache-dir/commonjs/api-ssr-docs.js +210 -0
  19. package/cache-dir/commonjs/api-ssr-docs.js.map +1 -0
  20. package/cache-dir/commonjs/app.js +197 -0
  21. package/cache-dir/commonjs/app.js.map +1 -0
  22. package/cache-dir/commonjs/context-utils.js +25 -0
  23. package/cache-dir/commonjs/context-utils.js.map +1 -0
  24. package/cache-dir/commonjs/create-content-digest-browser-shim.js +4 -0
  25. package/cache-dir/commonjs/create-content-digest-browser-shim.js.map +1 -0
  26. package/cache-dir/commonjs/css-to-object.js +21 -0
  27. package/cache-dir/commonjs/css-to-object.js.map +1 -0
  28. package/cache-dir/commonjs/debug-log.js +11 -0
  29. package/cache-dir/commonjs/debug-log.js.map +1 -0
  30. package/cache-dir/commonjs/default-html.js +33 -0
  31. package/cache-dir/commonjs/default-html.js.map +1 -0
  32. package/cache-dir/commonjs/dev-loader.js +247 -0
  33. package/cache-dir/commonjs/dev-loader.js.map +1 -0
  34. package/cache-dir/commonjs/develop-static-entry.js +129 -0
  35. package/cache-dir/commonjs/develop-static-entry.js.map +1 -0
  36. package/cache-dir/commonjs/dummy.js +8 -0
  37. package/cache-dir/commonjs/dummy.js.map +1 -0
  38. package/cache-dir/commonjs/emitter.js +10 -0
  39. package/cache-dir/commonjs/emitter.js.map +1 -0
  40. package/cache-dir/commonjs/ensure-resources.js +107 -0
  41. package/cache-dir/commonjs/ensure-resources.js.map +1 -0
  42. package/cache-dir/commonjs/error-overlay-handler.js +35 -0
  43. package/cache-dir/commonjs/error-overlay-handler.js.map +1 -0
  44. package/cache-dir/commonjs/fast-refresh-overlay/components/accordion.js +80 -0
  45. package/cache-dir/commonjs/fast-refresh-overlay/components/accordion.js.map +1 -0
  46. package/cache-dir/commonjs/fast-refresh-overlay/components/build-error.js +44 -0
  47. package/cache-dir/commonjs/fast-refresh-overlay/components/build-error.js.map +1 -0
  48. package/cache-dir/commonjs/fast-refresh-overlay/components/code-frame.js +38 -0
  49. package/cache-dir/commonjs/fast-refresh-overlay/components/code-frame.js.map +1 -0
  50. package/cache-dir/commonjs/fast-refresh-overlay/components/dev-ssr-error.js +52 -0
  51. package/cache-dir/commonjs/fast-refresh-overlay/components/dev-ssr-error.js.map +1 -0
  52. package/cache-dir/commonjs/fast-refresh-overlay/components/error-boundary.js +31 -0
  53. package/cache-dir/commonjs/fast-refresh-overlay/components/error-boundary.js.map +1 -0
  54. package/cache-dir/commonjs/fast-refresh-overlay/components/getserverdata-error.js +47 -0
  55. package/cache-dir/commonjs/fast-refresh-overlay/components/getserverdata-error.js.map +1 -0
  56. package/cache-dir/commonjs/fast-refresh-overlay/components/graphql-errors.js +77 -0
  57. package/cache-dir/commonjs/fast-refresh-overlay/components/graphql-errors.js.map +1 -0
  58. package/cache-dir/commonjs/fast-refresh-overlay/components/hooks.js +93 -0
  59. package/cache-dir/commonjs/fast-refresh-overlay/components/hooks.js.map +1 -0
  60. package/cache-dir/commonjs/fast-refresh-overlay/components/overlay.js +147 -0
  61. package/cache-dir/commonjs/fast-refresh-overlay/components/overlay.js.map +1 -0
  62. package/cache-dir/commonjs/fast-refresh-overlay/components/runtime-errors.js +110 -0
  63. package/cache-dir/commonjs/fast-refresh-overlay/components/runtime-errors.js.map +1 -0
  64. package/cache-dir/commonjs/fast-refresh-overlay/components/use-id.js +50 -0
  65. package/cache-dir/commonjs/fast-refresh-overlay/components/use-id.js.map +1 -0
  66. package/cache-dir/commonjs/fast-refresh-overlay/helpers/focus-trap.js +2879 -0
  67. package/cache-dir/commonjs/fast-refresh-overlay/helpers/focus-trap.js.map +1 -0
  68. package/cache-dir/commonjs/fast-refresh-overlay/helpers/keys.js +84 -0
  69. package/cache-dir/commonjs/fast-refresh-overlay/helpers/keys.js.map +1 -0
  70. package/cache-dir/commonjs/fast-refresh-overlay/helpers/lock-body.js +48 -0
  71. package/cache-dir/commonjs/fast-refresh-overlay/helpers/lock-body.js.map +1 -0
  72. package/cache-dir/commonjs/fast-refresh-overlay/helpers/match.js +44 -0
  73. package/cache-dir/commonjs/fast-refresh-overlay/helpers/match.js.map +1 -0
  74. package/cache-dir/commonjs/fast-refresh-overlay/index.js +182 -0
  75. package/cache-dir/commonjs/fast-refresh-overlay/index.js.map +1 -0
  76. package/cache-dir/commonjs/fast-refresh-overlay/style.js +418 -0
  77. package/cache-dir/commonjs/fast-refresh-overlay/style.js.map +1 -0
  78. package/cache-dir/commonjs/fast-refresh-overlay/utils.js +75 -0
  79. package/cache-dir/commonjs/fast-refresh-overlay/utils.js.map +1 -0
  80. package/cache-dir/commonjs/find-path.js +145 -0
  81. package/cache-dir/commonjs/find-path.js.map +1 -0
  82. package/cache-dir/commonjs/gatsby-browser-entry.js +52 -0
  83. package/cache-dir/commonjs/gatsby-browser-entry.js.map +1 -0
  84. package/cache-dir/commonjs/head/components/fire-callback-in-effect.js +18 -0
  85. package/cache-dir/commonjs/head/components/fire-callback-in-effect.js.map +1 -0
  86. package/cache-dir/commonjs/head/components/head-components.js +72 -0
  87. package/cache-dir/commonjs/head/components/head-components.js.map +1 -0
  88. package/cache-dir/commonjs/head/constants.js +13 -0
  89. package/cache-dir/commonjs/head/constants.js.map +1 -0
  90. package/cache-dir/commonjs/head/head-export-handler-for-browser.js +144 -0
  91. package/cache-dir/commonjs/head/head-export-handler-for-browser.js.map +1 -0
  92. package/cache-dir/commonjs/head/head-export-handler-for-ssr.js +225 -0
  93. package/cache-dir/commonjs/head/head-export-handler-for-ssr.js.map +1 -0
  94. package/cache-dir/commonjs/head/utils.js +264 -0
  95. package/cache-dir/commonjs/head/utils.js.map +1 -0
  96. package/cache-dir/commonjs/loader.js +861 -0
  97. package/cache-dir/commonjs/loader.js.map +1 -0
  98. package/cache-dir/commonjs/loading-indicator/index.js +25 -0
  99. package/cache-dir/commonjs/loading-indicator/index.js.map +1 -0
  100. package/cache-dir/commonjs/loading-indicator/indicator.js +63 -0
  101. package/cache-dir/commonjs/loading-indicator/indicator.js.map +1 -0
  102. package/cache-dir/commonjs/loading-indicator/style.js +103 -0
  103. package/cache-dir/commonjs/loading-indicator/style.js.map +1 -0
  104. package/cache-dir/commonjs/navigation.js +260 -0
  105. package/cache-dir/commonjs/navigation.js.map +1 -0
  106. package/cache-dir/commonjs/normalize-page-path.js +22 -0
  107. package/cache-dir/commonjs/normalize-page-path.js.map +1 -0
  108. package/cache-dir/commonjs/page-renderer.js +59 -0
  109. package/cache-dir/commonjs/page-renderer.js.map +1 -0
  110. package/cache-dir/commonjs/pages.json +1 -0
  111. package/cache-dir/commonjs/polyfill-entry.js +7 -0
  112. package/cache-dir/commonjs/polyfill-entry.js.map +1 -0
  113. package/cache-dir/commonjs/prefetch.js +67 -0
  114. package/cache-dir/commonjs/prefetch.js.map +1 -0
  115. package/cache-dir/commonjs/production-app.js +256 -0
  116. package/cache-dir/commonjs/production-app.js.map +1 -0
  117. package/cache-dir/commonjs/public-page-renderer-dev.js +26 -0
  118. package/cache-dir/commonjs/public-page-renderer-dev.js.map +1 -0
  119. package/cache-dir/commonjs/public-page-renderer-prod.js +30 -0
  120. package/cache-dir/commonjs/public-page-renderer-prod.js.map +1 -0
  121. package/cache-dir/commonjs/public-page-renderer.js +11 -0
  122. package/cache-dir/commonjs/public-page-renderer.js.map +1 -0
  123. package/cache-dir/commonjs/query-result-store.js +160 -0
  124. package/cache-dir/commonjs/query-result-store.js.map +1 -0
  125. package/cache-dir/commonjs/react-dom-utils.js +34 -0
  126. package/cache-dir/commonjs/react-dom-utils.js.map +1 -0
  127. package/cache-dir/commonjs/react-lifecycles-compat.js +4 -0
  128. package/cache-dir/commonjs/react-lifecycles-compat.js.map +1 -0
  129. package/cache-dir/commonjs/redirect-utils.js +25 -0
  130. package/cache-dir/commonjs/redirect-utils.js.map +1 -0
  131. package/cache-dir/commonjs/redirects.json +1 -0
  132. package/cache-dir/commonjs/register-service-worker.js +66 -0
  133. package/cache-dir/commonjs/register-service-worker.js.map +1 -0
  134. package/cache-dir/commonjs/root.js +105 -0
  135. package/cache-dir/commonjs/root.js.map +1 -0
  136. package/cache-dir/commonjs/route-announcer-props.js +24 -0
  137. package/cache-dir/commonjs/route-announcer-props.js.map +1 -0
  138. package/cache-dir/commonjs/server-utils/writable-as-promise.js +42 -0
  139. package/cache-dir/commonjs/server-utils/writable-as-promise.js.map +1 -0
  140. package/cache-dir/commonjs/shadow-portal.js +36 -0
  141. package/cache-dir/commonjs/shadow-portal.js.map +1 -0
  142. package/cache-dir/commonjs/slice/context.js +15 -0
  143. package/cache-dir/commonjs/slice/context.js.map +1 -0
  144. package/cache-dir/commonjs/slice/inline-slice.js +34 -0
  145. package/cache-dir/commonjs/slice/inline-slice.js.map +1 -0
  146. package/cache-dir/commonjs/slice/server-slice-renderer.js +29 -0
  147. package/cache-dir/commonjs/slice/server-slice-renderer.js.map +1 -0
  148. package/cache-dir/commonjs/slice/server-slice.js +54 -0
  149. package/cache-dir/commonjs/slice/server-slice.js.map +1 -0
  150. package/cache-dir/commonjs/slice.js +124 -0
  151. package/cache-dir/commonjs/slice.js.map +1 -0
  152. package/cache-dir/commonjs/socketIo.js +62 -0
  153. package/cache-dir/commonjs/socketIo.js.map +1 -0
  154. package/cache-dir/commonjs/ssr-builtin-trackers/child_process.js +8 -0
  155. package/cache-dir/commonjs/ssr-builtin-trackers/child_process.js.map +1 -0
  156. package/cache-dir/commonjs/ssr-builtin-trackers/fs.js +7 -0
  157. package/cache-dir/commonjs/ssr-builtin-trackers/fs.js.map +1 -0
  158. package/cache-dir/commonjs/ssr-builtin-trackers/http.js +9 -0
  159. package/cache-dir/commonjs/ssr-builtin-trackers/http.js.map +1 -0
  160. package/cache-dir/commonjs/ssr-builtin-trackers/http2.js +7 -0
  161. package/cache-dir/commonjs/ssr-builtin-trackers/http2.js.map +1 -0
  162. package/cache-dir/commonjs/ssr-builtin-trackers/https.js +9 -0
  163. package/cache-dir/commonjs/ssr-builtin-trackers/https.js.map +1 -0
  164. package/cache-dir/commonjs/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js +55 -0
  165. package/cache-dir/commonjs/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js.map +1 -0
  166. package/cache-dir/commonjs/ssr-develop-static-entry.js +366 -0
  167. package/cache-dir/commonjs/ssr-develop-static-entry.js.map +1 -0
  168. package/cache-dir/commonjs/static-entry.js +544 -0
  169. package/cache-dir/commonjs/static-entry.js.map +1 -0
  170. package/cache-dir/commonjs/static-query.js +74 -0
  171. package/cache-dir/commonjs/static-query.js.map +1 -0
  172. package/cache-dir/commonjs/strip-prefix.js +22 -0
  173. package/cache-dir/commonjs/strip-prefix.js.map +1 -0
  174. package/cache-dir/context-utils.js +29 -0
  175. package/cache-dir/create-content-digest-browser-shim.js +1 -0
  176. package/cache-dir/css-to-object.js +19 -0
  177. package/cache-dir/debug-log.js +13 -0
  178. package/cache-dir/default-html.js +36 -0
  179. package/cache-dir/dev-loader.js +280 -0
  180. package/cache-dir/develop-static-entry.js +129 -0
  181. package/cache-dir/dummy.js +2 -0
  182. package/cache-dir/emitter.js +4 -0
  183. package/cache-dir/ensure-resources.js +119 -0
  184. package/cache-dir/error-overlay-handler.js +36 -0
  185. package/cache-dir/fast-refresh-overlay/components/accordion.js +83 -0
  186. package/cache-dir/fast-refresh-overlay/components/build-error.js +46 -0
  187. package/cache-dir/fast-refresh-overlay/components/code-frame.js +38 -0
  188. package/cache-dir/fast-refresh-overlay/components/dev-ssr-error.js +66 -0
  189. package/cache-dir/fast-refresh-overlay/components/error-boundary.js +28 -0
  190. package/cache-dir/fast-refresh-overlay/components/getserverdata-error.js +53 -0
  191. package/cache-dir/fast-refresh-overlay/components/graphql-errors.js +100 -0
  192. package/cache-dir/fast-refresh-overlay/components/hooks.js +102 -0
  193. package/cache-dir/fast-refresh-overlay/components/overlay.js +143 -0
  194. package/cache-dir/fast-refresh-overlay/components/runtime-errors.js +139 -0
  195. package/cache-dir/fast-refresh-overlay/components/use-id.js +56 -0
  196. package/cache-dir/fast-refresh-overlay/helpers/focus-trap.js +3561 -0
  197. package/cache-dir/fast-refresh-overlay/helpers/keys.js +80 -0
  198. package/cache-dir/fast-refresh-overlay/helpers/lock-body.js +52 -0
  199. package/cache-dir/fast-refresh-overlay/helpers/match.js +42 -0
  200. package/cache-dir/fast-refresh-overlay/index.js +147 -0
  201. package/cache-dir/fast-refresh-overlay/style.js +413 -0
  202. package/cache-dir/fast-refresh-overlay/utils.js +81 -0
  203. package/cache-dir/find-path.js +160 -0
  204. package/cache-dir/gatsby-browser-entry.js +27 -0
  205. package/cache-dir/head/components/fire-callback-in-effect.js +12 -0
  206. package/cache-dir/head/components/head-components.js +86 -0
  207. package/cache-dir/head/constants.js +15 -0
  208. package/cache-dir/head/head-export-handler-for-browser.js +170 -0
  209. package/cache-dir/head/head-export-handler-for-ssr.js +237 -0
  210. package/cache-dir/head/utils.js +287 -0
  211. package/cache-dir/loader.js +977 -0
  212. package/cache-dir/loading-indicator/index.js +19 -0
  213. package/cache-dir/loading-indicator/indicator.js +65 -0
  214. package/cache-dir/loading-indicator/style.js +99 -0
  215. package/cache-dir/navigation.js +257 -0
  216. package/cache-dir/normalize-page-path.js +17 -0
  217. package/cache-dir/page-renderer.js +59 -0
  218. package/cache-dir/page-ssr/index.d.ts +76 -0
  219. package/cache-dir/pages.json +1 -0
  220. package/cache-dir/polyfill-entry.js +5 -0
  221. package/cache-dir/prefetch.js +80 -0
  222. package/cache-dir/production-app.js +340 -0
  223. package/cache-dir/public-page-renderer-dev.js +21 -0
  224. package/cache-dir/public-page-renderer-prod.js +25 -0
  225. package/cache-dir/public-page-renderer.js +9 -0
  226. package/cache-dir/query-engine/index.d.ts +31 -0
  227. package/cache-dir/query-result-store.js +197 -0
  228. package/cache-dir/react-dom-utils.js +38 -0
  229. package/cache-dir/react-lifecycles-compat.js +1 -0
  230. package/cache-dir/redirect-utils.js +22 -0
  231. package/cache-dir/redirects.json +1 -0
  232. package/cache-dir/register-service-worker.js +64 -0
  233. package/cache-dir/root.js +147 -0
  234. package/cache-dir/route-announcer-props.js +18 -0
  235. package/cache-dir/server-utils/writable-as-promise.js +41 -0
  236. package/cache-dir/shadow-portal.js +28 -0
  237. package/cache-dir/slice/context.js +13 -0
  238. package/cache-dir/slice/inline-slice.js +34 -0
  239. package/cache-dir/slice/server-slice-renderer.js +28 -0
  240. package/cache-dir/slice/server-slice.js +52 -0
  241. package/cache-dir/slice.js +158 -0
  242. package/cache-dir/socketIo.js +58 -0
  243. package/cache-dir/ssr-builtin-trackers/child_process.js +4 -0
  244. package/cache-dir/ssr-builtin-trackers/fs.js +3 -0
  245. package/cache-dir/ssr-builtin-trackers/http.js +3 -0
  246. package/cache-dir/ssr-builtin-trackers/http2.js +3 -0
  247. package/cache-dir/ssr-builtin-trackers/https.js +3 -0
  248. package/cache-dir/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js +64 -0
  249. package/cache-dir/ssr-develop-static-entry.js +428 -0
  250. package/cache-dir/static-entry.js +594 -0
  251. package/cache-dir/static-query.js +91 -0
  252. package/cache-dir/strip-prefix.js +20 -0
  253. package/changes.json +454 -0
  254. package/cli.js +3 -0
  255. package/dist/bin/gatsby.js +5 -0
  256. package/dist/bin/gatsby.js.map +1 -0
  257. package/dist/bootstrap/__mocks__/get-config/ts/gatsby-config.d.ts +3 -0
  258. package/dist/bootstrap/__mocks__/resolve-module-exports.d.ts +1 -0
  259. package/dist/bootstrap/create-graphql-runner.d.ts +10 -0
  260. package/dist/bootstrap/create-graphql-runner.js +71 -0
  261. package/dist/bootstrap/create-graphql-runner.js.map +1 -0
  262. package/dist/bootstrap/get-config-file.d.ts +4 -0
  263. package/dist/bootstrap/get-config-file.js +152 -0
  264. package/dist/bootstrap/get-config-file.js.map +1 -0
  265. package/dist/bootstrap/index.d.ts +12 -0
  266. package/dist/bootstrap/index.js +56 -0
  267. package/dist/bootstrap/index.js.map +1 -0
  268. package/dist/bootstrap/load-config/index.d.ts +7 -0
  269. package/dist/bootstrap/load-config/index.js +73 -0
  270. package/dist/bootstrap/load-config/index.js.map +1 -0
  271. package/dist/bootstrap/load-plugins/index.d.ts +3 -0
  272. package/dist/bootstrap/load-plugins/index.js +79 -0
  273. package/dist/bootstrap/load-plugins/index.js.map +1 -0
  274. package/dist/bootstrap/load-plugins/load-internal-plugins.d.ts +2 -0
  275. package/dist/bootstrap/load-plugins/load-internal-plugins.js +105 -0
  276. package/dist/bootstrap/load-plugins/load-internal-plugins.js.map +1 -0
  277. package/dist/bootstrap/load-plugins/process-plugin.d.ts +2 -0
  278. package/dist/bootstrap/load-plugins/process-plugin.js +81 -0
  279. package/dist/bootstrap/load-plugins/process-plugin.js.map +1 -0
  280. package/dist/bootstrap/load-plugins/resolve-plugin.d.ts +13 -0
  281. package/dist/bootstrap/load-plugins/resolve-plugin.js +75 -0
  282. package/dist/bootstrap/load-plugins/resolve-plugin.js.map +1 -0
  283. package/dist/bootstrap/load-plugins/types.d.ts +48 -0
  284. package/dist/bootstrap/load-plugins/types.js +4 -0
  285. package/dist/bootstrap/load-plugins/types.js.map +1 -0
  286. package/dist/bootstrap/load-plugins/utils/check-local-plugin.d.ts +8 -0
  287. package/dist/bootstrap/load-plugins/utils/check-local-plugin.js +38 -0
  288. package/dist/bootstrap/load-plugins/utils/check-local-plugin.js.map +1 -0
  289. package/dist/bootstrap/load-plugins/utils/create-hash.d.ts +1 -0
  290. package/dist/bootstrap/load-plugins/utils/create-hash.js +20 -0
  291. package/dist/bootstrap/load-plugins/utils/create-hash.js.map +1 -0
  292. package/dist/bootstrap/load-plugins/utils/create-id.d.ts +10 -0
  293. package/dist/bootstrap/load-plugins/utils/create-id.js +16 -0
  294. package/dist/bootstrap/load-plugins/utils/create-id.js.map +1 -0
  295. package/dist/bootstrap/load-plugins/utils/flatten-plugins.d.ts +2 -0
  296. package/dist/bootstrap/load-plugins/utils/flatten-plugins.js +41 -0
  297. package/dist/bootstrap/load-plugins/utils/flatten-plugins.js.map +1 -0
  298. package/dist/bootstrap/load-plugins/utils/get-api.d.ts +12 -0
  299. package/dist/bootstrap/load-plugins/utils/get-api.js +12 -0
  300. package/dist/bootstrap/load-plugins/utils/get-api.js.map +1 -0
  301. package/dist/bootstrap/load-plugins/utils/normalize.d.ts +5 -0
  302. package/dist/bootstrap/load-plugins/utils/normalize.js +33 -0
  303. package/dist/bootstrap/load-plugins/utils/normalize.js.map +1 -0
  304. package/dist/bootstrap/load-plugins/validate.d.ts +41 -0
  305. package/dist/bootstrap/load-plugins/validate.js +369 -0
  306. package/dist/bootstrap/load-plugins/validate.js.map +1 -0
  307. package/dist/bootstrap/load-themes/index.d.ts +17 -0
  308. package/dist/bootstrap/load-themes/index.js +186 -0
  309. package/dist/bootstrap/load-themes/index.js.map +1 -0
  310. package/dist/bootstrap/log-line-function.d.ts +0 -0
  311. package/dist/bootstrap/log-line-function.js +19 -0
  312. package/dist/bootstrap/log-line-function.js.map +1 -0
  313. package/dist/bootstrap/prefer-default.d.ts +1 -0
  314. package/dist/bootstrap/prefer-default.js +7 -0
  315. package/dist/bootstrap/prefer-default.js.map +1 -0
  316. package/dist/bootstrap/redirects-writer.d.ts +2 -0
  317. package/dist/bootstrap/redirects-writer.js +59 -0
  318. package/dist/bootstrap/redirects-writer.js.map +1 -0
  319. package/dist/bootstrap/remove-stale-jobs.d.ts +2 -0
  320. package/dist/bootstrap/remove-stale-jobs.js +31 -0
  321. package/dist/bootstrap/remove-stale-jobs.js.map +1 -0
  322. package/dist/bootstrap/requires-writer.d.ts +11 -0
  323. package/dist/bootstrap/requires-writer.js +260 -0
  324. package/dist/bootstrap/requires-writer.js.map +1 -0
  325. package/dist/bootstrap/resolve-js-file-path.d.ts +14 -0
  326. package/dist/bootstrap/resolve-js-file-path.js +58 -0
  327. package/dist/bootstrap/resolve-js-file-path.js.map +1 -0
  328. package/dist/bootstrap/resolve-module-exports.d.ts +20 -0
  329. package/dist/bootstrap/resolve-module-exports.js +188 -0
  330. package/dist/bootstrap/resolve-module-exports.js.map +1 -0
  331. package/dist/bootstrap/schema-hot-reloader.d.ts +3 -0
  332. package/dist/bootstrap/schema-hot-reloader.js +60 -0
  333. package/dist/bootstrap/schema-hot-reloader.js.map +1 -0
  334. package/dist/cache/cache-fs.d.ts +1 -0
  335. package/dist/cache/cache-fs.js +270 -0
  336. package/dist/cache/cache-fs.js.map +1 -0
  337. package/dist/cache/json-file-store.d.ts +8 -0
  338. package/dist/cache/json-file-store.js +144 -0
  339. package/dist/cache/json-file-store.js.map +1 -0
  340. package/dist/cache/wrap-callback.d.ts +0 -0
  341. package/dist/cache/wrap-callback.js +49 -0
  342. package/dist/cache/wrap-callback.js.map +1 -0
  343. package/dist/commands/build-html.d.ts +69 -0
  344. package/dist/commands/build-html.js +652 -0
  345. package/dist/commands/build-html.js.map +1 -0
  346. package/dist/commands/build-javascript.d.ts +4 -0
  347. package/dist/commands/build-javascript.js +18 -0
  348. package/dist/commands/build-javascript.js.map +1 -0
  349. package/dist/commands/build-utils.d.ts +8 -0
  350. package/dist/commands/build-utils.js +186 -0
  351. package/dist/commands/build-utils.js.map +1 -0
  352. package/dist/commands/build.d.ts +1 -0
  353. package/dist/commands/build.js +505 -0
  354. package/dist/commands/build.js.map +1 -0
  355. package/dist/commands/clean.d.ts +1 -0
  356. package/dist/commands/clean.js +29 -0
  357. package/dist/commands/clean.js.map +1 -0
  358. package/dist/commands/develop-process.d.ts +1 -0
  359. package/dist/commands/develop-process.js +120 -0
  360. package/dist/commands/develop-process.js.map +1 -0
  361. package/dist/commands/develop-static.d.ts +3 -0
  362. package/dist/commands/develop-static.js +22 -0
  363. package/dist/commands/develop-static.js.map +1 -0
  364. package/dist/commands/develop.d.ts +2 -0
  365. package/dist/commands/develop.js +273 -0
  366. package/dist/commands/develop.js.map +1 -0
  367. package/dist/commands/feedback.d.ts +1 -0
  368. package/dist/commands/feedback.js +17 -0
  369. package/dist/commands/feedback.js.map +1 -0
  370. package/dist/commands/repl.d.ts +1 -0
  371. package/dist/commands/repl.js +58 -0
  372. package/dist/commands/repl.js.map +1 -0
  373. package/dist/commands/serve.d.ts +1 -0
  374. package/dist/commands/serve.js +282 -0
  375. package/dist/commands/serve.js.map +1 -0
  376. package/dist/commands/types.d.ts +54 -0
  377. package/dist/commands/types.js +23 -0
  378. package/dist/commands/types.js.map +1 -0
  379. package/dist/constants.d.ts +1 -0
  380. package/dist/constants.js +7 -0
  381. package/dist/constants.js.map +1 -0
  382. package/dist/datastore/common/iterable.d.ts +51 -0
  383. package/dist/datastore/common/iterable.js +217 -0
  384. package/dist/datastore/common/iterable.js.map +1 -0
  385. package/dist/datastore/common/query.d.ts +69 -0
  386. package/dist/datastore/common/query.js +219 -0
  387. package/dist/datastore/common/query.js.map +1 -0
  388. package/dist/datastore/datastore.d.ts +2 -0
  389. package/dist/datastore/datastore.js +23 -0
  390. package/dist/datastore/datastore.js.map +1 -0
  391. package/dist/datastore/in-memory/in-memory-datastore.d.ts +2 -0
  392. package/dist/datastore/in-memory/in-memory-datastore.js +75 -0
  393. package/dist/datastore/in-memory/in-memory-datastore.js.map +1 -0
  394. package/dist/datastore/in-memory/indexing.d.ts +80 -0
  395. package/dist/datastore/in-memory/indexing.js +994 -0
  396. package/dist/datastore/in-memory/indexing.js.map +1 -0
  397. package/dist/datastore/in-memory/run-fast-filters.d.ts +27 -0
  398. package/dist/datastore/in-memory/run-fast-filters.js +276 -0
  399. package/dist/datastore/in-memory/run-fast-filters.js.map +1 -0
  400. package/dist/datastore/index.d.ts +20 -0
  401. package/dist/datastore/index.js +34 -0
  402. package/dist/datastore/index.js.map +1 -0
  403. package/dist/datastore/lmdb/lmdb-datastore.d.ts +14 -0
  404. package/dist/datastore/lmdb/lmdb-datastore.js +261 -0
  405. package/dist/datastore/lmdb/lmdb-datastore.js.map +1 -0
  406. package/dist/datastore/lmdb/query/common.d.ts +23 -0
  407. package/dist/datastore/lmdb/query/common.js +127 -0
  408. package/dist/datastore/lmdb/query/common.js.map +1 -0
  409. package/dist/datastore/lmdb/query/create-index.d.ts +25 -0
  410. package/dist/datastore/lmdb/query/create-index.js +239 -0
  411. package/dist/datastore/lmdb/query/create-index.js.map +1 -0
  412. package/dist/datastore/lmdb/query/filter-using-index.d.ts +43 -0
  413. package/dist/datastore/lmdb/query/filter-using-index.js +577 -0
  414. package/dist/datastore/lmdb/query/filter-using-index.js.map +1 -0
  415. package/dist/datastore/lmdb/query/run-query.d.ts +9 -0
  416. package/dist/datastore/lmdb/query/run-query.js +285 -0
  417. package/dist/datastore/lmdb/query/run-query.js.map +1 -0
  418. package/dist/datastore/lmdb/query/suggest-index.d.ts +15 -0
  419. package/dist/datastore/lmdb/query/suggest-index.js +93 -0
  420. package/dist/datastore/lmdb/query/suggest-index.js.map +1 -0
  421. package/dist/datastore/lmdb/updates/nodes-by-type.d.ts +3 -0
  422. package/dist/datastore/lmdb/updates/nodes-by-type.js +21 -0
  423. package/dist/datastore/lmdb/updates/nodes-by-type.js.map +1 -0
  424. package/dist/datastore/lmdb/updates/nodes.d.ts +5 -0
  425. package/dist/datastore/lmdb/updates/nodes.js +33 -0
  426. package/dist/datastore/lmdb/updates/nodes.js.map +1 -0
  427. package/dist/datastore/types.d.ts +47 -0
  428. package/dist/datastore/types.js +4 -0
  429. package/dist/datastore/types.js.map +1 -0
  430. package/dist/internal-plugins/bundle-optimisations/gatsby-node.js +42 -0
  431. package/dist/internal-plugins/bundle-optimisations/gatsby-node.js.map +1 -0
  432. package/dist/internal-plugins/bundle-optimisations/index.js +3 -0
  433. package/dist/internal-plugins/bundle-optimisations/index.js.map +1 -0
  434. package/dist/internal-plugins/bundle-optimisations/package.json +10 -0
  435. package/dist/internal-plugins/bundle-optimisations/polyfills/fetch.js +4 -0
  436. package/dist/internal-plugins/bundle-optimisations/polyfills/fetch.js.map +1 -0
  437. package/dist/internal-plugins/bundle-optimisations/polyfills/no-op.js +3 -0
  438. package/dist/internal-plugins/bundle-optimisations/polyfills/no-op.js.map +1 -0
  439. package/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js +4 -0
  440. package/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js.map +1 -0
  441. package/dist/internal-plugins/bundle-optimisations/polyfills/whatwg-fetch.js +6 -0
  442. package/dist/internal-plugins/bundle-optimisations/polyfills/whatwg-fetch.js.map +1 -0
  443. package/dist/internal-plugins/dev-404-page/gatsby-node.js +30 -0
  444. package/dist/internal-plugins/dev-404-page/gatsby-node.js.map +1 -0
  445. package/dist/internal-plugins/dev-404-page/index.js +3 -0
  446. package/dist/internal-plugins/dev-404-page/index.js.map +1 -0
  447. package/dist/internal-plugins/dev-404-page/package.json +11 -0
  448. package/dist/internal-plugins/dev-404-page/raw_dev-404-page.js +262 -0
  449. package/dist/internal-plugins/functions/api-function-webpack-loader.d.ts +3 -0
  450. package/dist/internal-plugins/functions/api-function-webpack-loader.js +74 -0
  451. package/dist/internal-plugins/functions/api-function-webpack-loader.js.map +1 -0
  452. package/dist/internal-plugins/functions/config.d.ts +20 -0
  453. package/dist/internal-plugins/functions/config.js +96 -0
  454. package/dist/internal-plugins/functions/config.js.map +1 -0
  455. package/dist/internal-plugins/functions/gatsby-node.d.ts +3 -0
  456. package/dist/internal-plugins/functions/gatsby-node.js +452 -0
  457. package/dist/internal-plugins/functions/gatsby-node.js.map +1 -0
  458. package/dist/internal-plugins/functions/index.js +3 -0
  459. package/dist/internal-plugins/functions/index.js.map +1 -0
  460. package/dist/internal-plugins/functions/middleware.d.ts +11 -0
  461. package/dist/internal-plugins/functions/middleware.js +160 -0
  462. package/dist/internal-plugins/functions/middleware.js.map +1 -0
  463. package/dist/internal-plugins/functions/package.json +11 -0
  464. package/dist/internal-plugins/internal-data-bridge/gatsby-node.js +191 -0
  465. package/dist/internal-plugins/internal-data-bridge/gatsby-node.js.map +1 -0
  466. package/dist/internal-plugins/internal-data-bridge/index.js +3 -0
  467. package/dist/internal-plugins/internal-data-bridge/index.js.map +1 -0
  468. package/dist/internal-plugins/internal-data-bridge/package.json +11 -0
  469. package/dist/internal-plugins/load-babel-config/gatsby-node.js +37 -0
  470. package/dist/internal-plugins/load-babel-config/gatsby-node.js.map +1 -0
  471. package/dist/internal-plugins/load-babel-config/index.js +3 -0
  472. package/dist/internal-plugins/load-babel-config/index.js.map +1 -0
  473. package/dist/internal-plugins/load-babel-config/package.json +11 -0
  474. package/dist/internal-plugins/partytown/gatsby-browser.js +23 -0
  475. package/dist/internal-plugins/partytown/gatsby-browser.js.map +1 -0
  476. package/dist/internal-plugins/partytown/gatsby-node.d.ts +2 -0
  477. package/dist/internal-plugins/partytown/gatsby-node.js +60 -0
  478. package/dist/internal-plugins/partytown/gatsby-node.js.map +1 -0
  479. package/dist/internal-plugins/partytown/gatsby-ssr.js +39 -0
  480. package/dist/internal-plugins/partytown/gatsby-ssr.js.map +1 -0
  481. package/dist/internal-plugins/partytown/index.js +3 -0
  482. package/dist/internal-plugins/partytown/index.js.map +1 -0
  483. package/dist/internal-plugins/partytown/package.json +12 -0
  484. package/dist/internal-plugins/partytown/proxy.d.ts +3 -0
  485. package/dist/internal-plugins/partytown/proxy.js +26 -0
  486. package/dist/internal-plugins/partytown/proxy.js.map +1 -0
  487. package/dist/internal-plugins/partytown/utils/get-forwards.d.ts +2 -0
  488. package/dist/internal-plugins/partytown/utils/get-forwards.js +8 -0
  489. package/dist/internal-plugins/partytown/utils/get-forwards.js.map +1 -0
  490. package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.d.ts +2 -0
  491. package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js +28 -0
  492. package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js.map +1 -0
  493. package/dist/internal-plugins/prod-404-500/gatsby-node.js +50 -0
  494. package/dist/internal-plugins/prod-404-500/gatsby-node.js.map +1 -0
  495. package/dist/internal-plugins/prod-404-500/index.js +3 -0
  496. package/dist/internal-plugins/prod-404-500/index.js.map +1 -0
  497. package/dist/internal-plugins/prod-404-500/package.json +11 -0
  498. package/dist/internal-plugins/webpack-theme-component-shadowing/create-page.js +31 -0
  499. package/dist/internal-plugins/webpack-theme-component-shadowing/create-page.js.map +1 -0
  500. package/dist/internal-plugins/webpack-theme-component-shadowing/gatsby-node.js +31 -0
  501. package/dist/internal-plugins/webpack-theme-component-shadowing/gatsby-node.js.map +1 -0
  502. package/dist/internal-plugins/webpack-theme-component-shadowing/index.js +273 -0
  503. package/dist/internal-plugins/webpack-theme-component-shadowing/index.js.map +1 -0
  504. package/dist/internal-plugins/webpack-theme-component-shadowing/package.json +11 -0
  505. package/dist/internal.d.ts +5 -0
  506. package/dist/internal.js +34 -0
  507. package/dist/internal.js.map +1 -0
  508. package/dist/joi-schemas/joi.d.ts +5 -0
  509. package/dist/joi-schemas/joi.js +122 -0
  510. package/dist/joi-schemas/joi.js.map +1 -0
  511. package/dist/query/error-parser.d.ts +19 -0
  512. package/dist/query/error-parser.js +163 -0
  513. package/dist/query/error-parser.js.map +1 -0
  514. package/dist/query/file-parser.js +584 -0
  515. package/dist/query/file-parser.js.map +1 -0
  516. package/dist/query/graphql-errors-codeframe.d.ts +1 -0
  517. package/dist/query/graphql-errors-codeframe.js +20 -0
  518. package/dist/query/graphql-errors-codeframe.js.map +1 -0
  519. package/dist/query/graphql-errors.js +278 -0
  520. package/dist/query/graphql-errors.js.map +1 -0
  521. package/dist/query/graphql-runner.d.ts +39 -0
  522. package/dist/query/graphql-runner.js +221 -0
  523. package/dist/query/graphql-runner.js.map +1 -0
  524. package/dist/query/graphql-span-tracer.d.ts +19 -0
  525. package/dist/query/graphql-span-tracer.js +63 -0
  526. package/dist/query/graphql-span-tracer.js.map +1 -0
  527. package/dist/query/index.d.ts +32 -0
  528. package/dist/query/index.js +301 -0
  529. package/dist/query/index.js.map +1 -0
  530. package/dist/query/query-compiler.js +433 -0
  531. package/dist/query/query-compiler.js.map +1 -0
  532. package/dist/query/query-runner.d.ts +13 -0
  533. package/dist/query/query-runner.js +176 -0
  534. package/dist/query/query-runner.js.map +1 -0
  535. package/dist/query/query-watcher.d.ts +17 -0
  536. package/dist/query/query-watcher.js +250 -0
  537. package/dist/query/query-watcher.js.map +1 -0
  538. package/dist/query/transform-document.d.ts +6 -0
  539. package/dist/query/transform-document.js +131 -0
  540. package/dist/query/transform-document.js.map +1 -0
  541. package/dist/query/types.d.ts +35 -0
  542. package/dist/query/types.js +4 -0
  543. package/dist/query/types.js.map +1 -0
  544. package/dist/query/utils.d.ts +4 -0
  545. package/dist/query/utils.js +20 -0
  546. package/dist/query/utils.js.map +1 -0
  547. package/dist/redux/actions/add-page-dependency.d.ts +7 -0
  548. package/dist/redux/actions/add-page-dependency.js +52 -0
  549. package/dist/redux/actions/add-page-dependency.js.map +1 -0
  550. package/dist/redux/actions/index.d.ts +16 -0
  551. package/dist/redux/actions/index.js +21 -0
  552. package/dist/redux/actions/index.js.map +1 -0
  553. package/dist/redux/actions/internal.d.ts +124 -0
  554. package/dist/redux/actions/internal.js +394 -0
  555. package/dist/redux/actions/internal.js.map +1 -0
  556. package/dist/redux/actions/public.js +1354 -0
  557. package/dist/redux/actions/public.js.map +1 -0
  558. package/dist/redux/actions/restricted.d.ts +332 -0
  559. package/dist/redux/actions/restricted.js +521 -0
  560. package/dist/redux/actions/restricted.js.map +1 -0
  561. package/dist/redux/index.d.ts +20 -0
  562. package/dist/redux/index.js +125 -0
  563. package/dist/redux/index.js.map +1 -0
  564. package/dist/redux/persist.d.ts +5 -0
  565. package/dist/redux/persist.js +191 -0
  566. package/dist/redux/persist.js.map +1 -0
  567. package/dist/redux/plugin-runner.d.ts +1 -0
  568. package/dist/redux/plugin-runner.js +45 -0
  569. package/dist/redux/plugin-runner.js.map +1 -0
  570. package/dist/redux/reducers/adapter.d.ts +6 -0
  571. package/dist/redux/reducers/adapter.js +22 -0
  572. package/dist/redux/reducers/adapter.js.map +1 -0
  573. package/dist/redux/reducers/babelrc.d.ts +9 -0
  574. package/dist/redux/reducers/babelrc.js +104 -0
  575. package/dist/redux/reducers/babelrc.js.map +1 -0
  576. package/dist/redux/reducers/components-using-slices.d.ts +2 -0
  577. package/dist/redux/reducers/components-using-slices.js +15 -0
  578. package/dist/redux/reducers/components-using-slices.js.map +1 -0
  579. package/dist/redux/reducers/components.d.ts +2 -0
  580. package/dist/redux/reducers/components.js +104 -0
  581. package/dist/redux/reducers/components.js.map +1 -0
  582. package/dist/redux/reducers/config.d.ts +2 -0
  583. package/dist/redux/reducers/config.js +16 -0
  584. package/dist/redux/reducers/config.js.map +1 -0
  585. package/dist/redux/reducers/definitions.d.ts +2 -0
  586. package/dist/redux/reducers/definitions.js +14 -0
  587. package/dist/redux/reducers/definitions.js.map +1 -0
  588. package/dist/redux/reducers/flattened-plugins.d.ts +17 -0
  589. package/dist/redux/reducers/flattened-plugins.js +14 -0
  590. package/dist/redux/reducers/flattened-plugins.js.map +1 -0
  591. package/dist/redux/reducers/functions.d.ts +2 -0
  592. package/dist/redux/reducers/functions.js +14 -0
  593. package/dist/redux/reducers/functions.js.map +1 -0
  594. package/dist/redux/reducers/html.d.ts +25 -0
  595. package/dist/redux/reducers/html.js +384 -0
  596. package/dist/redux/reducers/html.js.map +1 -0
  597. package/dist/redux/reducers/index.d.ts +45 -0
  598. package/dist/redux/reducers/index.js +86 -0
  599. package/dist/redux/reducers/index.js.map +1 -0
  600. package/dist/redux/reducers/inference-metadata.d.ts +7 -0
  601. package/dist/redux/reducers/inference-metadata.js +174 -0
  602. package/dist/redux/reducers/inference-metadata.js.map +1 -0
  603. package/dist/redux/reducers/jobs.d.ts +5 -0
  604. package/dist/redux/reducers/jobs.js +65 -0
  605. package/dist/redux/reducers/jobs.js.map +1 -0
  606. package/dist/redux/reducers/jobsv2.d.ts +6 -0
  607. package/dist/redux/reducers/jobsv2.js +88 -0
  608. package/dist/redux/reducers/jobsv2.js.map +1 -0
  609. package/dist/redux/reducers/last-action.d.ts +2 -0
  610. package/dist/redux/reducers/last-action.js +7 -0
  611. package/dist/redux/reducers/last-action.js.map +1 -0
  612. package/dist/redux/reducers/node-manifest.d.ts +2 -0
  613. package/dist/redux/reducers/node-manifest.js +58 -0
  614. package/dist/redux/reducers/node-manifest.js.map +1 -0
  615. package/dist/redux/reducers/nodes-by-type.d.ts +2 -0
  616. package/dist/redux/reducers/nodes-by-type.js +53 -0
  617. package/dist/redux/reducers/nodes-by-type.js.map +1 -0
  618. package/dist/redux/reducers/nodes-touched.d.ts +3 -0
  619. package/dist/redux/reducers/nodes-touched.js +18 -0
  620. package/dist/redux/reducers/nodes-touched.js.map +1 -0
  621. package/dist/redux/reducers/nodes.d.ts +2 -0
  622. package/dist/redux/reducers/nodes.js +30 -0
  623. package/dist/redux/reducers/nodes.js.map +1 -0
  624. package/dist/redux/reducers/page-data-stats.d.ts +2 -0
  625. package/dist/redux/reducers/page-data-stats.js +15 -0
  626. package/dist/redux/reducers/page-data-stats.js.map +1 -0
  627. package/dist/redux/reducers/pages.d.ts +2 -0
  628. package/dist/redux/reducers/pages.js +43 -0
  629. package/dist/redux/reducers/pages.js.map +1 -0
  630. package/dist/redux/reducers/pending-page-data-writes.d.ts +5 -0
  631. package/dist/redux/reducers/pending-page-data-writes.js +66 -0
  632. package/dist/redux/reducers/pending-page-data-writes.js.map +1 -0
  633. package/dist/redux/reducers/program.d.ts +2 -0
  634. package/dist/redux/reducers/program.js +62 -0
  635. package/dist/redux/reducers/program.js.map +1 -0
  636. package/dist/redux/reducers/queries.d.ts +26 -0
  637. package/dist/redux/reducers/queries.js +403 -0
  638. package/dist/redux/reducers/queries.js.map +1 -0
  639. package/dist/redux/reducers/redirects.d.ts +2 -0
  640. package/dist/redux/reducers/redirects.js +39 -0
  641. package/dist/redux/reducers/redirects.js.map +1 -0
  642. package/dist/redux/reducers/remote-file-allowed-urls.d.ts +2 -0
  643. package/dist/redux/reducers/remote-file-allowed-urls.js +19 -0
  644. package/dist/redux/reducers/remote-file-allowed-urls.js.map +1 -0
  645. package/dist/redux/reducers/resolved-nodes.d.ts +2 -0
  646. package/dist/redux/reducers/resolved-nodes.js +45 -0
  647. package/dist/redux/reducers/resolved-nodes.js.map +1 -0
  648. package/dist/redux/reducers/schema-customization.d.ts +23 -0
  649. package/dist/redux/reducers/schema-customization.js +103 -0
  650. package/dist/redux/reducers/schema-customization.js.map +1 -0
  651. package/dist/redux/reducers/schema.d.ts +3 -0
  652. package/dist/redux/reducers/schema.js +17 -0
  653. package/dist/redux/reducers/schema.js.map +1 -0
  654. package/dist/redux/reducers/set-request-headers.d.ts +7 -0
  655. package/dist/redux/reducers/set-request-headers.js +24 -0
  656. package/dist/redux/reducers/set-request-headers.js.map +1 -0
  657. package/dist/redux/reducers/slices-by-template.d.ts +2 -0
  658. package/dist/redux/reducers/slices-by-template.js +16 -0
  659. package/dist/redux/reducers/slices-by-template.js.map +1 -0
  660. package/dist/redux/reducers/slices.d.ts +2 -0
  661. package/dist/redux/reducers/slices.js +22 -0
  662. package/dist/redux/reducers/slices.js.map +1 -0
  663. package/dist/redux/reducers/stateful-source-plugins.d.ts +5 -0
  664. package/dist/redux/reducers/stateful-source-plugins.js +20 -0
  665. package/dist/redux/reducers/stateful-source-plugins.js.map +1 -0
  666. package/dist/redux/reducers/static-queries-by-template.d.ts +2 -0
  667. package/dist/redux/reducers/static-queries-by-template.js +19 -0
  668. package/dist/redux/reducers/static-queries-by-template.js.map +1 -0
  669. package/dist/redux/reducers/static-query-components.d.ts +2 -0
  670. package/dist/redux/reducers/static-query-components.js +18 -0
  671. package/dist/redux/reducers/static-query-components.js.map +1 -0
  672. package/dist/redux/reducers/status.d.ts +7 -0
  673. package/dist/redux/reducers/status.js +57 -0
  674. package/dist/redux/reducers/status.js.map +1 -0
  675. package/dist/redux/reducers/telemetry.d.ts +2 -0
  676. package/dist/redux/reducers/telemetry.js +46 -0
  677. package/dist/redux/reducers/telemetry.js.map +1 -0
  678. package/dist/redux/reducers/type-owners.d.ts +5 -0
  679. package/dist/redux/reducers/type-owners.js +102 -0
  680. package/dist/redux/reducers/type-owners.js.map +1 -0
  681. package/dist/redux/reducers/visited-page.d.ts +2 -0
  682. package/dist/redux/reducers/visited-page.js +31 -0
  683. package/dist/redux/reducers/visited-page.js.map +1 -0
  684. package/dist/redux/reducers/webpack-compilation-hash.d.ts +2 -0
  685. package/dist/redux/reducers/webpack-compilation-hash.js +14 -0
  686. package/dist/redux/reducers/webpack-compilation-hash.js.map +1 -0
  687. package/dist/redux/reducers/webpack.d.ts +2 -0
  688. package/dist/redux/reducers/webpack.js +27 -0
  689. package/dist/redux/reducers/webpack.js.map +1 -0
  690. package/dist/redux/save-state.js +19 -0
  691. package/dist/redux/save-state.js.map +1 -0
  692. package/dist/redux/types.d.ts +1337 -0
  693. package/dist/redux/types.js +326 -0
  694. package/dist/redux/types.js.map +1 -0
  695. package/dist/schema/context.d.ts +14 -0
  696. package/dist/schema/context.js +38 -0
  697. package/dist/schema/context.js.map +1 -0
  698. package/dist/schema/extensions/index.js +205 -0
  699. package/dist/schema/extensions/index.js.map +1 -0
  700. package/dist/schema/graphql-engine/bootstrap.d.ts +2 -0
  701. package/dist/schema/graphql-engine/bootstrap.js +12 -0
  702. package/dist/schema/graphql-engine/bootstrap.js.map +1 -0
  703. package/dist/schema/graphql-engine/bundle-webpack.d.ts +5 -0
  704. package/dist/schema/graphql-engine/bundle-webpack.js +446 -0
  705. package/dist/schema/graphql-engine/bundle-webpack.js.map +1 -0
  706. package/dist/schema/graphql-engine/entry.d.ts +23 -0
  707. package/dist/schema/graphql-engine/entry.js +204 -0
  708. package/dist/schema/graphql-engine/entry.js.map +1 -0
  709. package/dist/schema/graphql-engine/lmdb-bundling-patch.d.ts +1 -0
  710. package/dist/schema/graphql-engine/lmdb-bundling-patch.js +72 -0
  711. package/dist/schema/graphql-engine/lmdb-bundling-patch.js.map +1 -0
  712. package/dist/schema/graphql-engine/platform-and-arch-check.d.ts +0 -0
  713. package/dist/schema/graphql-engine/platform-and-arch-check.js +6 -0
  714. package/dist/schema/graphql-engine/platform-and-arch-check.js.map +1 -0
  715. package/dist/schema/graphql-engine/print-plugins.d.ts +2 -0
  716. package/dist/schema/graphql-engine/print-plugins.js +145 -0
  717. package/dist/schema/graphql-engine/print-plugins.js.map +1 -0
  718. package/dist/schema/graphql-engine/sharp-bundling-patch.d.ts +1 -0
  719. package/dist/schema/graphql-engine/sharp-bundling-patch.js +8 -0
  720. package/dist/schema/graphql-engine/sharp-bundling-patch.js.map +1 -0
  721. package/dist/schema/graphql-engine/shims/gatsby-sharp.js +10 -0
  722. package/dist/schema/graphql-engine/shims/gatsby-sharp.js.map +1 -0
  723. package/dist/schema/graphql-engine/shims/no-op-module.js +3 -0
  724. package/dist/schema/graphql-engine/shims/no-op-module.js.map +1 -0
  725. package/dist/schema/graphql-engine/shims/ts-node.js +17 -0
  726. package/dist/schema/graphql-engine/shims/ts-node.js.map +1 -0
  727. package/dist/schema/graphql-engine/standalone-regenerate.d.ts +2 -0
  728. package/dist/schema/graphql-engine/standalone-regenerate.js +73 -0
  729. package/dist/schema/graphql-engine/standalone-regenerate.js.map +1 -0
  730. package/dist/schema/index.js +189 -0
  731. package/dist/schema/index.js.map +1 -0
  732. package/dist/schema/infer/add-inferred-fields.js +413 -0
  733. package/dist/schema/infer/add-inferred-fields.js.map +1 -0
  734. package/dist/schema/infer/build-example-data.d.ts +5 -0
  735. package/dist/schema/infer/build-example-data.js +199 -0
  736. package/dist/schema/infer/build-example-data.js.map +1 -0
  737. package/dist/schema/infer/index.js +121 -0
  738. package/dist/schema/infer/index.js.map +1 -0
  739. package/dist/schema/infer/inference-metadata.d.ts +72 -0
  740. package/dist/schema/infer/inference-metadata.js +280 -0
  741. package/dist/schema/infer/inference-metadata.js.map +1 -0
  742. package/dist/schema/infer/is-file.d.ts +1 -0
  743. package/dist/schema/infer/is-file.js +65 -0
  744. package/dist/schema/infer/is-file.js.map +1 -0
  745. package/dist/schema/infer/type-conflict-reporter.d.ts +28 -0
  746. package/dist/schema/infer/type-conflict-reporter.js +104 -0
  747. package/dist/schema/infer/type-conflict-reporter.js.map +1 -0
  748. package/dist/schema/node-model.js +784 -0
  749. package/dist/schema/node-model.js.map +1 -0
  750. package/dist/schema/print.d.ts +20 -0
  751. package/dist/schema/print.js +279 -0
  752. package/dist/schema/print.js.map +1 -0
  753. package/dist/schema/resolvers.d.ts +40 -0
  754. package/dist/schema/resolvers.js +569 -0
  755. package/dist/schema/resolvers.js.map +1 -0
  756. package/dist/schema/schema-composer.d.ts +3 -0
  757. package/dist/schema/schema-composer.js +31 -0
  758. package/dist/schema/schema-composer.js.map +1 -0
  759. package/dist/schema/schema.js +1295 -0
  760. package/dist/schema/schema.js.map +1 -0
  761. package/dist/schema/type-definitions.d.ts +47 -0
  762. package/dist/schema/type-definitions.js +4 -0
  763. package/dist/schema/type-definitions.js.map +1 -0
  764. package/dist/schema/types/built-in-types.d.ts +5 -0
  765. package/dist/schema/types/built-in-types.js +139 -0
  766. package/dist/schema/types/built-in-types.js.map +1 -0
  767. package/dist/schema/types/date.d.ts +37 -0
  768. package/dist/schema/types/date.js +225 -0
  769. package/dist/schema/types/date.js.map +1 -0
  770. package/dist/schema/types/derived-types.d.ts +45 -0
  771. package/dist/schema/types/derived-types.js +108 -0
  772. package/dist/schema/types/derived-types.js.map +1 -0
  773. package/dist/schema/types/filter.d.ts +12 -0
  774. package/dist/schema/types/filter.js +105 -0
  775. package/dist/schema/types/filter.js.map +1 -0
  776. package/dist/schema/types/media.d.ts +2 -0
  777. package/dist/schema/types/media.js +10 -0
  778. package/dist/schema/types/media.js.map +1 -0
  779. package/dist/schema/types/node-interface.d.ts +14 -0
  780. package/dist/schema/types/node-interface.js +103 -0
  781. package/dist/schema/types/node-interface.js.map +1 -0
  782. package/dist/schema/types/pagination.d.ts +16 -0
  783. package/dist/schema/types/pagination.js +198 -0
  784. package/dist/schema/types/pagination.js.map +1 -0
  785. package/dist/schema/types/remote-file-interface.d.ts +3 -0
  786. package/dist/schema/types/remote-file-interface.js +34 -0
  787. package/dist/schema/types/remote-file-interface.js.map +1 -0
  788. package/dist/schema/types/sort.d.ts +24 -0
  789. package/dist/schema/types/sort.js +178 -0
  790. package/dist/schema/types/sort.js.map +1 -0
  791. package/dist/schema/types/type-builders.d.ts +36 -0
  792. package/dist/schema/types/type-builders.js +61 -0
  793. package/dist/schema/types/type-builders.js.map +1 -0
  794. package/dist/schema/types/type-defs.js +86 -0
  795. package/dist/schema/types/type-defs.js.map +1 -0
  796. package/dist/schema/types/utils.d.ts +33 -0
  797. package/dist/schema/types/utils.js +153 -0
  798. package/dist/schema/types/utils.js.map +1 -0
  799. package/dist/schema/utils.d.ts +28 -0
  800. package/dist/schema/utils.js +149 -0
  801. package/dist/schema/utils.js.map +1 -0
  802. package/dist/services/build-schema.d.ts +2 -0
  803. package/dist/services/build-schema.js +24 -0
  804. package/dist/services/build-schema.js.map +1 -0
  805. package/dist/services/calculate-dirty-queries.d.ts +5 -0
  806. package/dist/services/calculate-dirty-queries.js +44 -0
  807. package/dist/services/calculate-dirty-queries.js.map +1 -0
  808. package/dist/services/create-pages.d.ts +5 -0
  809. package/dist/services/create-pages.js +108 -0
  810. package/dist/services/create-pages.js.map +1 -0
  811. package/dist/services/customize-schema.d.ts +2 -0
  812. package/dist/services/customize-schema.js +26 -0
  813. package/dist/services/customize-schema.js.map +1 -0
  814. package/dist/services/extract-queries.d.ts +2 -0
  815. package/dist/services/extract-queries.js +24 -0
  816. package/dist/services/extract-queries.js.map +1 -0
  817. package/dist/services/graphql-typegen.d.ts +2 -0
  818. package/dist/services/graphql-typegen.js +46 -0
  819. package/dist/services/graphql-typegen.js.map +1 -0
  820. package/dist/services/index.d.ts +19 -0
  821. package/dist/services/index.js +68 -0
  822. package/dist/services/index.js.map +1 -0
  823. package/dist/services/initialize.d.ts +14 -0
  824. package/dist/services/initialize.js +519 -0
  825. package/dist/services/initialize.js.map +1 -0
  826. package/dist/services/listen-for-mutations.d.ts +2 -0
  827. package/dist/services/listen-for-mutations.js +59 -0
  828. package/dist/services/listen-for-mutations.js.map +1 -0
  829. package/dist/services/listen-to-webpack.d.ts +3 -0
  830. package/dist/services/listen-to-webpack.js +17 -0
  831. package/dist/services/listen-to-webpack.js.map +1 -0
  832. package/dist/services/post-bootstrap.d.ts +2 -0
  833. package/dist/services/post-bootstrap.js +29 -0
  834. package/dist/services/post-bootstrap.js.map +1 -0
  835. package/dist/services/recompile.d.ts +3 -0
  836. package/dist/services/recompile.js +67 -0
  837. package/dist/services/recompile.js.map +1 -0
  838. package/dist/services/run-mutation-batch.d.ts +2 -0
  839. package/dist/services/run-mutation-batch.js +12 -0
  840. package/dist/services/run-mutation-batch.js.map +1 -0
  841. package/dist/services/run-page-queries.d.ts +2 -0
  842. package/dist/services/run-page-queries.js +38 -0
  843. package/dist/services/run-page-queries.js.map +1 -0
  844. package/dist/services/run-slice-queries.d.ts +2 -0
  845. package/dist/services/run-slice-queries.js +40 -0
  846. package/dist/services/run-slice-queries.js.map +1 -0
  847. package/dist/services/run-static-queries.d.ts +2 -0
  848. package/dist/services/run-static-queries.js +38 -0
  849. package/dist/services/run-static-queries.js.map +1 -0
  850. package/dist/services/source-nodes.d.ts +5 -0
  851. package/dist/services/source-nodes.js +47 -0
  852. package/dist/services/source-nodes.js.map +1 -0
  853. package/dist/services/start-webpack-server.d.ts +9 -0
  854. package/dist/services/start-webpack-server.js +103 -0
  855. package/dist/services/start-webpack-server.js.map +1 -0
  856. package/dist/services/types.d.ts +53 -0
  857. package/dist/services/types.js +4 -0
  858. package/dist/services/types.js.map +1 -0
  859. package/dist/services/write-out-redirects.d.ts +2 -0
  860. package/dist/services/write-out-redirects.js +20 -0
  861. package/dist/services/write-out-redirects.js.map +1 -0
  862. package/dist/services/write-out-requires.d.ts +2 -0
  863. package/dist/services/write-out-requires.js +27 -0
  864. package/dist/services/write-out-requires.js.map +1 -0
  865. package/dist/state-machines/data-layer/actions.d.ts +11 -0
  866. package/dist/state-machines/data-layer/actions.js +38 -0
  867. package/dist/state-machines/data-layer/actions.js.map +1 -0
  868. package/dist/state-machines/data-layer/index.d.ts +24 -0
  869. package/dist/state-machines/data-layer/index.js +152 -0
  870. package/dist/state-machines/data-layer/index.js.map +1 -0
  871. package/dist/state-machines/data-layer/services.d.ts +3 -0
  872. package/dist/state-machines/data-layer/services.js +14 -0
  873. package/dist/state-machines/data-layer/services.js.map +1 -0
  874. package/dist/state-machines/data-layer/types.d.ts +27 -0
  875. package/dist/state-machines/data-layer/types.js +4 -0
  876. package/dist/state-machines/data-layer/types.js.map +1 -0
  877. package/dist/state-machines/develop/actions.d.ts +68 -0
  878. package/dist/state-machines/develop/actions.js +259 -0
  879. package/dist/state-machines/develop/actions.js.map +1 -0
  880. package/dist/state-machines/develop/index.d.ts +5 -0
  881. package/dist/state-machines/develop/index.js +372 -0
  882. package/dist/state-machines/develop/index.js.map +1 -0
  883. package/dist/state-machines/develop/services.d.ts +3 -0
  884. package/dist/state-machines/develop/services.js +22 -0
  885. package/dist/state-machines/develop/services.js.map +1 -0
  886. package/dist/state-machines/index.d.ts +7 -0
  887. package/dist/state-machines/index.js +21 -0
  888. package/dist/state-machines/index.js.map +1 -0
  889. package/dist/state-machines/query-running/actions.d.ts +9 -0
  890. package/dist/state-machines/query-running/actions.js +55 -0
  891. package/dist/state-machines/query-running/actions.js.map +1 -0
  892. package/dist/state-machines/query-running/index.d.ts +7 -0
  893. package/dist/state-machines/query-running/index.js +142 -0
  894. package/dist/state-machines/query-running/index.js.map +1 -0
  895. package/dist/state-machines/query-running/services.d.ts +3 -0
  896. package/dist/state-machines/query-running/services.js +17 -0
  897. package/dist/state-machines/query-running/services.js.map +1 -0
  898. package/dist/state-machines/query-running/types.d.ts +26 -0
  899. package/dist/state-machines/query-running/types.js +4 -0
  900. package/dist/state-machines/query-running/types.js.map +1 -0
  901. package/dist/state-machines/waiting/actions.d.ts +11 -0
  902. package/dist/state-machines/waiting/actions.js +36 -0
  903. package/dist/state-machines/waiting/actions.js.map +1 -0
  904. package/dist/state-machines/waiting/index.d.ts +12 -0
  905. package/dist/state-machines/waiting/index.js +145 -0
  906. package/dist/state-machines/waiting/index.js.map +1 -0
  907. package/dist/state-machines/waiting/services.d.ts +3 -0
  908. package/dist/state-machines/waiting/services.js +10 -0
  909. package/dist/state-machines/waiting/services.js.map +1 -0
  910. package/dist/state-machines/waiting/types.d.ts +12 -0
  911. package/dist/state-machines/waiting/types.js +4 -0
  912. package/dist/state-machines/waiting/types.js.map +1 -0
  913. package/dist/types.d.ts +9 -0
  914. package/dist/types.js +4 -0
  915. package/dist/types.js.map +1 -0
  916. package/dist/utils/adapter/constants.d.ts +5 -0
  917. package/dist/utils/adapter/constants.js +31 -0
  918. package/dist/utils/adapter/constants.js.map +1 -0
  919. package/dist/utils/adapter/create-headers.d.ts +10 -0
  920. package/dist/utils/adapter/create-headers.js +94 -0
  921. package/dist/utils/adapter/create-headers.js.map +1 -0
  922. package/dist/utils/adapter/get-route-path.d.ts +3 -0
  923. package/dist/utils/adapter/get-route-path.js +22 -0
  924. package/dist/utils/adapter/get-route-path.js.map +1 -0
  925. package/dist/utils/adapter/init.d.ts +3 -0
  926. package/dist/utils/adapter/init.js +183 -0
  927. package/dist/utils/adapter/init.js.map +1 -0
  928. package/dist/utils/adapter/manager.d.ts +9 -0
  929. package/dist/utils/adapter/manager.js +554 -0
  930. package/dist/utils/adapter/manager.js.map +1 -0
  931. package/dist/utils/adapter/no-op-manager.d.ts +2 -0
  932. package/dist/utils/adapter/no-op-manager.js +18 -0
  933. package/dist/utils/adapter/no-op-manager.js.map +1 -0
  934. package/dist/utils/adapter/types.d.ts +282 -0
  935. package/dist/utils/adapter/types.js +4 -0
  936. package/dist/utils/adapter/types.js.map +1 -0
  937. package/dist/utils/api-browser-docs.d.ts +272 -0
  938. package/dist/utils/api-browser-docs.js +318 -0
  939. package/dist/utils/api-browser-docs.js.map +1 -0
  940. package/dist/utils/api-node-docs.d.ts +470 -0
  941. package/dist/utils/api-node-docs.js +519 -0
  942. package/dist/utils/api-node-docs.js.map +1 -0
  943. package/dist/utils/api-node-helpers-docs.js +322 -0
  944. package/dist/utils/api-node-helpers-docs.js.map +1 -0
  945. package/dist/utils/api-runner-error-parser.d.ts +5 -0
  946. package/dist/utils/api-runner-error-parser.js +63 -0
  947. package/dist/utils/api-runner-error-parser.js.map +1 -0
  948. package/dist/utils/api-runner-node.js +663 -0
  949. package/dist/utils/api-runner-node.js.map +1 -0
  950. package/dist/utils/app-data.d.ts +2 -0
  951. package/dist/utils/app-data.js +15 -0
  952. package/dist/utils/app-data.js.map +1 -0
  953. package/dist/utils/assert-store.d.ts +2 -0
  954. package/dist/utils/assert-store.js +12 -0
  955. package/dist/utils/assert-store.js.map +1 -0
  956. package/dist/utils/babel/babel-module-exports-helpers.d.ts +22 -0
  957. package/dist/utils/babel/babel-module-exports-helpers.js +48 -0
  958. package/dist/utils/babel/babel-module-exports-helpers.js.map +1 -0
  959. package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.d.ts +10 -0
  960. package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.js +48 -0
  961. package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.js.map +1 -0
  962. package/dist/utils/babel/babel-plugin-remove-api.d.ts +5 -0
  963. package/dist/utils/babel/babel-plugin-remove-api.js +148 -0
  964. package/dist/utils/babel/babel-plugin-remove-api.js.map +1 -0
  965. package/dist/utils/babel/find-slices.d.ts +8 -0
  966. package/dist/utils/babel/find-slices.js +68 -0
  967. package/dist/utils/babel/find-slices.js.map +1 -0
  968. package/dist/utils/babel-loader-helpers.d.ts +19 -0
  969. package/dist/utils/babel-loader-helpers.js +158 -0
  970. package/dist/utils/babel-loader-helpers.js.map +1 -0
  971. package/dist/utils/babel-loader.d.ts +8 -0
  972. package/dist/utils/babel-loader.js +158 -0
  973. package/dist/utils/babel-loader.js.map +1 -0
  974. package/dist/utils/babel-parse-to-ast.d.ts +4 -0
  975. package/dist/utils/babel-parse-to-ast.js +34 -0
  976. package/dist/utils/babel-parse-to-ast.js.map +1 -0
  977. package/dist/utils/batcher.d.ts +15 -0
  978. package/dist/utils/batcher.js +46 -0
  979. package/dist/utils/batcher.js.map +1 -0
  980. package/dist/utils/browserslist.d.ts +2 -0
  981. package/dist/utils/browserslist.js +38 -0
  982. package/dist/utils/browserslist.js.map +1 -0
  983. package/dist/utils/cache-lmdb.d.ts +19 -0
  984. package/dist/utils/cache-lmdb.js +88 -0
  985. package/dist/utils/cache-lmdb.js.map +1 -0
  986. package/dist/utils/cache.d.ts +17 -0
  987. package/dist/utils/cache.js +77 -0
  988. package/dist/utils/cache.js.map +1 -0
  989. package/dist/utils/call-deferred-api.d.ts +8 -0
  990. package/dist/utils/call-deferred-api.js +35 -0
  991. package/dist/utils/call-deferred-api.js.map +1 -0
  992. package/dist/utils/changed-pages.d.ts +6 -0
  993. package/dist/utils/changed-pages.js +45 -0
  994. package/dist/utils/changed-pages.js.map +1 -0
  995. package/dist/utils/clear-require-cache.d.ts +1 -0
  996. package/dist/utils/clear-require-cache.js +24 -0
  997. package/dist/utils/clear-require-cache.js.map +1 -0
  998. package/dist/utils/client-assets-for-template.d.ts +9 -0
  999. package/dist/utils/client-assets-for-template.js +141 -0
  1000. package/dist/utils/client-assets-for-template.js.map +1 -0
  1001. package/dist/utils/create-node-id.d.ts +24 -0
  1002. package/dist/utils/create-node-id.js +67 -0
  1003. package/dist/utils/create-node-id.js.map +1 -0
  1004. package/dist/utils/create-schema-customization.d.ts +6 -0
  1005. package/dist/utils/create-schema-customization.js +25 -0
  1006. package/dist/utils/create-schema-customization.js.map +1 -0
  1007. package/dist/utils/detect-node-mutations.d.ts +4 -0
  1008. package/dist/utils/detect-node-mutations.js +134 -0
  1009. package/dist/utils/detect-node-mutations.js.map +1 -0
  1010. package/dist/utils/detect-port-in-use-and-prompt.d.ts +1 -0
  1011. package/dist/utils/detect-port-in-use-and-prompt.js +31 -0
  1012. package/dist/utils/detect-port-in-use-and-prompt.js.map +1 -0
  1013. package/dist/utils/dev-ssr/parse-error.d.ts +22 -0
  1014. package/dist/utils/dev-ssr/parse-error.js +119 -0
  1015. package/dist/utils/dev-ssr/parse-error.js.map +1 -0
  1016. package/dist/utils/dev-ssr/render-dev-html-child.d.ts +13 -0
  1017. package/dist/utils/dev-ssr/render-dev-html-child.js +47 -0
  1018. package/dist/utils/dev-ssr/render-dev-html-child.js.map +1 -0
  1019. package/dist/utils/dev-ssr/render-dev-html.d.ts +23 -0
  1020. package/dist/utils/dev-ssr/render-dev-html.js +227 -0
  1021. package/dist/utils/dev-ssr/render-dev-html.js.map +1 -0
  1022. package/dist/utils/develop-preload-headers.d.ts +7 -0
  1023. package/dist/utils/develop-preload-headers.js +64 -0
  1024. package/dist/utils/develop-preload-headers.js.map +1 -0
  1025. package/dist/utils/did-you-mean.d.ts +3 -0
  1026. package/dist/utils/did-you-mean.js +21 -0
  1027. package/dist/utils/did-you-mean.js.map +1 -0
  1028. package/dist/utils/engine-context.d.ts +5 -0
  1029. package/dist/utils/engine-context.js +19 -0
  1030. package/dist/utils/engine-context.js.map +1 -0
  1031. package/dist/utils/engines-fs-provider.d.ts +9 -0
  1032. package/dist/utils/engines-fs-provider.js +24 -0
  1033. package/dist/utils/engines-fs-provider.js.map +1 -0
  1034. package/dist/utils/engines-helpers.d.ts +10 -0
  1035. package/dist/utils/engines-helpers.js +48 -0
  1036. package/dist/utils/engines-helpers.js.map +1 -0
  1037. package/dist/utils/ensure-file-content.d.ts +1 -0
  1038. package/dist/utils/ensure-file-content.js +19 -0
  1039. package/dist/utils/ensure-file-content.js.map +1 -0
  1040. package/dist/utils/eslint/required.js +10 -0
  1041. package/dist/utils/eslint/required.js.map +1 -0
  1042. package/dist/utils/eslint-config.d.ts +3 -0
  1043. package/dist/utils/eslint-config.js +136 -0
  1044. package/dist/utils/eslint-config.js.map +1 -0
  1045. package/dist/utils/eslint-rules/limited-exports-page-templates.d.ts +1 -0
  1046. package/dist/utils/eslint-rules/limited-exports-page-templates.js +183 -0
  1047. package/dist/utils/eslint-rules/limited-exports-page-templates.js.map +1 -0
  1048. package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.d.ts +1 -0
  1049. package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.js +75 -0
  1050. package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.js.map +1 -0
  1051. package/dist/utils/eslint-rules-helpers.d.ts +4 -0
  1052. package/dist/utils/eslint-rules-helpers.js +22 -0
  1053. package/dist/utils/eslint-rules-helpers.js.map +1 -0
  1054. package/dist/utils/express-middlewares.d.ts +4 -0
  1055. package/dist/utils/express-middlewares.js +57 -0
  1056. package/dist/utils/express-middlewares.js.map +1 -0
  1057. package/dist/utils/extract-undefined-global.d.ts +4 -0
  1058. package/dist/utils/extract-undefined-global.js +15 -0
  1059. package/dist/utils/extract-undefined-global.js.map +1 -0
  1060. package/dist/utils/fast-refresh-module.d.ts +22 -0
  1061. package/dist/utils/fast-refresh-module.js +53 -0
  1062. package/dist/utils/fast-refresh-module.js.map +1 -0
  1063. package/dist/utils/feedback.d.ts +5 -0
  1064. package/dist/utils/feedback.js +159 -0
  1065. package/dist/utils/feedback.js.map +1 -0
  1066. package/dist/utils/find-page-by-path.d.ts +2 -0
  1067. package/dist/utils/find-page-by-path.js +96 -0
  1068. package/dist/utils/find-page-by-path.js.map +1 -0
  1069. package/dist/utils/flags.d.ts +41 -0
  1070. package/dist/utils/flags.js +92 -0
  1071. package/dist/utils/flags.js.map +1 -0
  1072. package/dist/utils/gatsby-cloud-config.d.ts +4 -0
  1073. package/dist/utils/gatsby-cloud-config.js +15 -0
  1074. package/dist/utils/gatsby-cloud-config.js.map +1 -0
  1075. package/dist/utils/gatsby-dependents.d.ts +8 -0
  1076. package/dist/utils/gatsby-dependents.js +51 -0
  1077. package/dist/utils/gatsby-dependents.js.map +1 -0
  1078. package/dist/utils/gatsby-webpack-stats-extractor.d.ts +7 -0
  1079. package/dist/utils/gatsby-webpack-stats-extractor.js +136 -0
  1080. package/dist/utils/gatsby-webpack-stats-extractor.js.map +1 -0
  1081. package/dist/utils/gatsby-webpack-virtual-modules.d.ts +6 -0
  1082. package/dist/utils/gatsby-webpack-virtual-modules.js +45 -0
  1083. package/dist/utils/gatsby-webpack-virtual-modules.js.map +1 -0
  1084. package/dist/utils/get-cache.d.ts +2 -0
  1085. package/dist/utils/get-cache.js +18 -0
  1086. package/dist/utils/get-cache.js.map +1 -0
  1087. package/dist/utils/get-latest-gatsby-files.d.ts +8 -0
  1088. package/dist/utils/get-latest-gatsby-files.js +93 -0
  1089. package/dist/utils/get-latest-gatsby-files.js.map +1 -0
  1090. package/dist/utils/get-page-data.d.ts +3 -0
  1091. package/dist/utils/get-page-data.js +88 -0
  1092. package/dist/utils/get-page-data.js.map +1 -0
  1093. package/dist/utils/get-public-path.d.ts +5 -0
  1094. package/dist/utils/get-public-path.js +19 -0
  1095. package/dist/utils/get-public-path.js.map +1 -0
  1096. package/dist/utils/get-server-data.d.ts +19 -0
  1097. package/dist/utils/get-server-data.js +29 -0
  1098. package/dist/utils/get-server-data.js.map +1 -0
  1099. package/dist/utils/get-ssl-cert.d.ts +9 -0
  1100. package/dist/utils/get-ssl-cert.js +95 -0
  1101. package/dist/utils/get-ssl-cert.js.map +1 -0
  1102. package/dist/utils/get-static-dir.d.ts +12 -0
  1103. package/dist/utils/get-static-dir.js +60 -0
  1104. package/dist/utils/get-static-dir.js.map +1 -0
  1105. package/dist/utils/get-value-at.d.ts +1 -0
  1106. package/dist/utils/get-value-at.js +22 -0
  1107. package/dist/utils/get-value-at.js.map +1 -0
  1108. package/dist/utils/graphql-typegen/file-writes.d.ts +5 -0
  1109. package/dist/utils/graphql-typegen/file-writes.js +63 -0
  1110. package/dist/utils/graphql-typegen/file-writes.js.map +1 -0
  1111. package/dist/utils/graphql-typegen/ts-codegen.d.ts +5 -0
  1112. package/dist/utils/graphql-typegen/ts-codegen.js +136 -0
  1113. package/dist/utils/graphql-typegen/ts-codegen.js.map +1 -0
  1114. package/dist/utils/graphql-typegen/utils.d.ts +11 -0
  1115. package/dist/utils/graphql-typegen/utils.js +70 -0
  1116. package/dist/utils/graphql-typegen/utils.js.map +1 -0
  1117. package/dist/utils/handle-flags.d.ts +8 -0
  1118. package/dist/utils/handle-flags.js +212 -0
  1119. package/dist/utils/handle-flags.js.map +1 -0
  1120. package/dist/utils/import-gatsby-plugin.d.ts +11 -0
  1121. package/dist/utils/import-gatsby-plugin.js +40 -0
  1122. package/dist/utils/import-gatsby-plugin.js.map +1 -0
  1123. package/dist/utils/is-32-bit-integer.d.ts +1 -0
  1124. package/dist/utils/is-32-bit-integer.js +8 -0
  1125. package/dist/utils/is-32-bit-integer.js.map +1 -0
  1126. package/dist/utils/is-near-match.d.ts +1 -0
  1127. package/dist/utils/is-near-match.js +10 -0
  1128. package/dist/utils/is-near-match.js.map +1 -0
  1129. package/dist/utils/jobs/manager.d.ts +34 -0
  1130. package/dist/utils/jobs/manager.js +313 -0
  1131. package/dist/utils/jobs/manager.js.map +1 -0
  1132. package/dist/utils/jobs/types.d.ts +63 -0
  1133. package/dist/utils/jobs/types.js +32 -0
  1134. package/dist/utils/jobs/types.js.map +1 -0
  1135. package/dist/utils/jobs/worker-messaging.d.ts +10 -0
  1136. package/dist/utils/jobs/worker-messaging.js +114 -0
  1137. package/dist/utils/jobs/worker-messaging.js.map +1 -0
  1138. package/dist/utils/js-chunk-names.d.ts +1 -0
  1139. package/dist/utils/js-chunk-names.js +72 -0
  1140. package/dist/utils/js-chunk-names.js.map +1 -0
  1141. package/dist/utils/loading-indicator.d.ts +3 -0
  1142. package/dist/utils/loading-indicator.js +44 -0
  1143. package/dist/utils/loading-indicator.js.map +1 -0
  1144. package/dist/utils/local-eslint-config-finder.d.ts +1 -0
  1145. package/dist/utils/local-eslint-config-finder.js +31 -0
  1146. package/dist/utils/local-eslint-config-finder.js.map +1 -0
  1147. package/dist/utils/merge-gatsby-config.d.ts +28 -0
  1148. package/dist/utils/merge-gatsby-config.js +43 -0
  1149. package/dist/utils/merge-gatsby-config.js.map +1 -0
  1150. package/dist/utils/mett.d.ts +10 -0
  1151. package/dist/utils/mett.js +42 -0
  1152. package/dist/utils/mett.js.map +1 -0
  1153. package/dist/utils/module-resolver.d.ts +2 -0
  1154. package/dist/utils/module-resolver.js +24 -0
  1155. package/dist/utils/module-resolver.js.map +1 -0
  1156. package/dist/utils/node-manifest.d.ts +46 -0
  1157. package/dist/utils/node-manifest.js +367 -0
  1158. package/dist/utils/node-manifest.js.map +1 -0
  1159. package/dist/utils/nodes.d.ts +13 -0
  1160. package/dist/utils/nodes.js +62 -0
  1161. package/dist/utils/nodes.js.map +1 -0
  1162. package/dist/utils/normalize-path.d.ts +2 -0
  1163. package/dist/utils/normalize-path.js +11 -0
  1164. package/dist/utils/normalize-path.js.map +1 -0
  1165. package/dist/utils/page-data-helpers.d.ts +23 -0
  1166. package/dist/utils/page-data-helpers.js +76 -0
  1167. package/dist/utils/page-data-helpers.js.map +1 -0
  1168. package/dist/utils/page-data.d.ts +39 -0
  1169. package/dist/utils/page-data.js +366 -0
  1170. package/dist/utils/page-data.js.map +1 -0
  1171. package/dist/utils/page-mode.d.ts +18 -0
  1172. package/dist/utils/page-mode.js +124 -0
  1173. package/dist/utils/page-mode.js.map +1 -0
  1174. package/dist/utils/page-ssr-module/bundle-webpack.d.ts +18 -0
  1175. package/dist/utils/page-ssr-module/bundle-webpack.js +209 -0
  1176. package/dist/utils/page-ssr-module/bundle-webpack.js.map +1 -0
  1177. package/dist/utils/page-ssr-module/entry.d.ts +61 -0
  1178. package/dist/utils/page-ssr-module/entry.js +344 -0
  1179. package/dist/utils/page-ssr-module/entry.js.map +1 -0
  1180. package/dist/utils/page-ssr-module/lambda.d.ts +3 -0
  1181. package/dist/utils/page-ssr-module/lambda.js +401 -0
  1182. package/dist/utils/page-ssr-module/lambda.js.map +1 -0
  1183. package/dist/utils/parcel/compile-gatsby-files.d.ts +26 -0
  1184. package/dist/utils/parcel/compile-gatsby-files.js +271 -0
  1185. package/dist/utils/parcel/compile-gatsby-files.js.map +1 -0
  1186. package/dist/utils/path.d.ts +5 -0
  1187. package/dist/utils/path.js +55 -0
  1188. package/dist/utils/path.js.map +1 -0
  1189. package/dist/utils/prepare-regex.d.ts +1 -0
  1190. package/dist/utils/prepare-regex.js +13 -0
  1191. package/dist/utils/prepare-regex.js.map +1 -0
  1192. package/dist/utils/prepare-urls.d.ts +7 -0
  1193. package/dist/utils/prepare-urls.js +58 -0
  1194. package/dist/utils/prepare-urls.js.map +1 -0
  1195. package/dist/utils/print-instructions.d.ts +2 -0
  1196. package/dist/utils/print-instructions.js +42 -0
  1197. package/dist/utils/print-instructions.js.map +1 -0
  1198. package/dist/utils/rank-route.d.ts +1 -0
  1199. package/dist/utils/rank-route.js +26 -0
  1200. package/dist/utils/rank-route.js.map +1 -0
  1201. package/dist/utils/reach-router-add-basecontext-export-loader.d.ts +1 -0
  1202. package/dist/utils/reach-router-add-basecontext-export-loader.js +23 -0
  1203. package/dist/utils/reach-router-add-basecontext-export-loader.js.map +1 -0
  1204. package/dist/utils/report-once.d.ts +1 -0
  1205. package/dist/utils/report-once.js +17 -0
  1206. package/dist/utils/report-once.js.map +1 -0
  1207. package/dist/utils/sanitize-node.d.ts +12 -0
  1208. package/dist/utils/sanitize-node.js +87 -0
  1209. package/dist/utils/sanitize-node.js.map +1 -0
  1210. package/dist/utils/show-experiment-notice.d.ts +6 -0
  1211. package/dist/utils/show-experiment-notice.js +51 -0
  1212. package/dist/utils/show-experiment-notice.js.map +1 -0
  1213. package/dist/utils/slices/stitching.d.ts +4 -0
  1214. package/dist/utils/slices/stitching.js +92 -0
  1215. package/dist/utils/slices/stitching.js.map +1 -0
  1216. package/dist/utils/slices.d.ts +2 -0
  1217. package/dist/utils/slices.js +9 -0
  1218. package/dist/utils/slices.js.map +1 -0
  1219. package/dist/utils/source-nodes-api-runner.d.ts +8 -0
  1220. package/dist/utils/source-nodes-api-runner.js +23 -0
  1221. package/dist/utils/source-nodes-api-runner.js.map +1 -0
  1222. package/dist/utils/source-nodes.d.ts +11 -0
  1223. package/dist/utils/source-nodes.js +150 -0
  1224. package/dist/utils/source-nodes.js.map +1 -0
  1225. package/dist/utils/stack-trace-utils.d.ts +24 -0
  1226. package/dist/utils/stack-trace-utils.js +113 -0
  1227. package/dist/utils/stack-trace-utils.js.map +1 -0
  1228. package/dist/utils/start-server.d.ts +22 -0
  1229. package/dist/utils/start-server.js +722 -0
  1230. package/dist/utils/start-server.js.map +1 -0
  1231. package/dist/utils/state-machine-logging.d.ts +4 -0
  1232. package/dist/utils/state-machine-logging.js +47 -0
  1233. package/dist/utils/state-machine-logging.js.map +1 -0
  1234. package/dist/utils/static-query-utils.d.ts +13 -0
  1235. package/dist/utils/static-query-utils.js +57 -0
  1236. package/dist/utils/static-query-utils.js.map +1 -0
  1237. package/dist/utils/test-import-error.d.ts +1 -0
  1238. package/dist/utils/test-import-error.js +18 -0
  1239. package/dist/utils/test-import-error.js.map +1 -0
  1240. package/dist/utils/tracer/index.d.ts +12 -0
  1241. package/dist/utils/tracer/index.js +42 -0
  1242. package/dist/utils/tracer/index.js.map +1 -0
  1243. package/dist/utils/tracer/jaeger-local.d.ts +4 -0
  1244. package/dist/utils/tracer/jaeger-local.js +32 -0
  1245. package/dist/utils/tracer/jaeger-local.js.map +1 -0
  1246. package/dist/utils/tracer/zipkin-local.d.ts +11 -0
  1247. package/dist/utils/tracer/zipkin-local.js +87 -0
  1248. package/dist/utils/tracer/zipkin-local.js.map +1 -0
  1249. package/dist/utils/tracer/zipkin-types.d.js +14 -0
  1250. package/dist/utils/tracer/zipkin-types.d.js.map +1 -0
  1251. package/dist/utils/validate-component.d.ts +23 -0
  1252. package/dist/utils/validate-component.js +99 -0
  1253. package/dist/utils/validate-component.js.map +1 -0
  1254. package/dist/utils/validate-engines/child.d.ts +1 -0
  1255. package/dist/utils/validate-engines/child.js +74 -0
  1256. package/dist/utils/validate-engines/child.js.map +1 -0
  1257. package/dist/utils/validate-engines/index.d.ts +2 -0
  1258. package/dist/utils/validate-engines/index.js +48 -0
  1259. package/dist/utils/validate-engines/index.js.map +1 -0
  1260. package/dist/utils/wait-until-jobs-complete.d.ts +2 -0
  1261. package/dist/utils/wait-until-jobs-complete.js +30 -0
  1262. package/dist/utils/wait-until-jobs-complete.js.map +1 -0
  1263. package/dist/utils/webpack/bundle.d.ts +9 -0
  1264. package/dist/utils/webpack/bundle.js +41 -0
  1265. package/dist/utils/webpack/bundle.js.map +1 -0
  1266. package/dist/utils/webpack/get-ssr-chunk-hashes.d.ts +9 -0
  1267. package/dist/utils/webpack/get-ssr-chunk-hashes.js +55 -0
  1268. package/dist/utils/webpack/get-ssr-chunk-hashes.js.map +1 -0
  1269. package/dist/utils/webpack/loaders/client-components-requires-writer-loader.d.ts +1 -0
  1270. package/dist/utils/webpack/loaders/client-components-requires-writer-loader.js +22 -0
  1271. package/dist/utils/webpack/loaders/client-components-requires-writer-loader.js.map +1 -0
  1272. package/dist/utils/webpack/loaders/partial-hydration-reference-loader.d.ts +1 -0
  1273. package/dist/utils/webpack/loaders/partial-hydration-reference-loader.js +127 -0
  1274. package/dist/utils/webpack/loaders/partial-hydration-reference-loader.js.map +1 -0
  1275. package/dist/utils/webpack/loaders/webpack-remove-exports-loader.d.ts +1 -0
  1276. package/dist/utils/webpack/loaders/webpack-remove-exports-loader.js +40 -0
  1277. package/dist/utils/webpack/loaders/webpack-remove-exports-loader.js.map +1 -0
  1278. package/dist/utils/webpack/plugins/cache-folder-resolver.d.ts +25 -0
  1279. package/dist/utils/webpack/plugins/cache-folder-resolver.js +111 -0
  1280. package/dist/utils/webpack/plugins/cache-folder-resolver.js.map +1 -0
  1281. package/dist/utils/webpack/plugins/corejs-resolver.d.ts +12 -0
  1282. package/dist/utils/webpack/plugins/corejs-resolver.js +66 -0
  1283. package/dist/utils/webpack/plugins/corejs-resolver.js.map +1 -0
  1284. package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.d.ts +22 -0
  1285. package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.js +88 -0
  1286. package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.js.map +1 -0
  1287. package/dist/utils/webpack/plugins/partial-hydration.d.ts +26 -0
  1288. package/dist/utils/webpack/plugins/partial-hydration.js +362 -0
  1289. package/dist/utils/webpack/plugins/partial-hydration.js.map +1 -0
  1290. package/dist/utils/webpack/plugins/static-query-mapper.d.ts +13 -0
  1291. package/dist/utils/webpack/plugins/static-query-mapper.js +235 -0
  1292. package/dist/utils/webpack/plugins/static-query-mapper.js.map +1 -0
  1293. package/dist/utils/webpack/plugins/webpack-logging.d.ts +12 -0
  1294. package/dist/utils/webpack/plugins/webpack-logging.js +51 -0
  1295. package/dist/utils/webpack/plugins/webpack-logging.js.map +1 -0
  1296. package/dist/utils/webpack/utils/create-normalized-module-key.d.ts +12 -0
  1297. package/dist/utils/webpack/utils/create-normalized-module-key.js +25 -0
  1298. package/dist/utils/webpack/utils/create-normalized-module-key.js.map +1 -0
  1299. package/dist/utils/webpack/utils/is-file-inside-compilations.d.ts +7 -0
  1300. package/dist/utils/webpack/utils/is-file-inside-compilations.js +37 -0
  1301. package/dist/utils/webpack/utils/is-file-inside-compilations.js.map +1 -0
  1302. package/dist/utils/webpack-error-utils.d.ts +24 -0
  1303. package/dist/utils/webpack-error-utils.js +112 -0
  1304. package/dist/utils/webpack-error-utils.js.map +1 -0
  1305. package/dist/utils/webpack-plugins.d.ts +46 -0
  1306. package/dist/utils/webpack-plugins.js +61 -0
  1307. package/dist/utils/webpack-plugins.js.map +1 -0
  1308. package/dist/utils/webpack-status.d.ts +3 -0
  1309. package/dist/utils/webpack-status.js +21 -0
  1310. package/dist/utils/webpack-status.js.map +1 -0
  1311. package/dist/utils/webpack-utils.d.ts +121 -0
  1312. package/dist/utils/webpack-utils.js +574 -0
  1313. package/dist/utils/webpack-utils.js.map +1 -0
  1314. package/dist/utils/webpack.config.js +804 -0
  1315. package/dist/utils/webpack.config.js.map +1 -0
  1316. package/dist/utils/websocket-manager.d.ts +39 -0
  1317. package/dist/utils/websocket-manager.js +183 -0
  1318. package/dist/utils/websocket-manager.js.map +1 -0
  1319. package/dist/utils/worker/child/index.d.ts +5 -0
  1320. package/dist/utils/worker/child/index.js +35 -0
  1321. package/dist/utils/worker/child/index.js.map +1 -0
  1322. package/dist/utils/worker/child/load-config-and-plugins.d.ts +2 -0
  1323. package/dist/utils/worker/child/load-config-and-plugins.js +28 -0
  1324. package/dist/utils/worker/child/load-config-and-plugins.js.map +1 -0
  1325. package/dist/utils/worker/child/queries.d.ts +7 -0
  1326. package/dist/utils/worker/child/queries.js +84 -0
  1327. package/dist/utils/worker/child/queries.js.map +1 -0
  1328. package/dist/utils/worker/child/render-html.d.ts +49 -0
  1329. package/dist/utils/worker/child/render-html.js +562 -0
  1330. package/dist/utils/worker/child/render-html.js.map +1 -0
  1331. package/dist/utils/worker/child/schema.d.ts +2 -0
  1332. package/dist/utils/worker/child/schema.js +41 -0
  1333. package/dist/utils/worker/child/schema.js.map +1 -0
  1334. package/dist/utils/worker/child/state.d.ts +2 -0
  1335. package/dist/utils/worker/child/state.js +13 -0
  1336. package/dist/utils/worker/child/state.js.map +1 -0
  1337. package/dist/utils/worker/messaging.d.ts +16 -0
  1338. package/dist/utils/worker/messaging.js +9 -0
  1339. package/dist/utils/worker/messaging.js.map +1 -0
  1340. package/dist/utils/worker/pool.d.ts +10 -0
  1341. package/dist/utils/worker/pool.js +122 -0
  1342. package/dist/utils/worker/pool.js.map +1 -0
  1343. package/dist/utils/worker/reporter.d.ts +3 -0
  1344. package/dist/utils/worker/reporter.js +26 -0
  1345. package/dist/utils/worker/reporter.js.map +1 -0
  1346. package/dist/utils/worker/types.d.ts +3 -0
  1347. package/dist/utils/worker/types.js +4 -0
  1348. package/dist/utils/worker/types.js.map +1 -0
  1349. package/graphql.d.ts +2 -0
  1350. package/graphql.js +6 -0
  1351. package/index.d.ts +1906 -0
  1352. package/internal.d.ts +4 -0
  1353. package/internal.js +5 -0
  1354. package/ipc.json +3 -0
  1355. package/package.json +744 -0
  1356. package/reporter.d.ts +4 -0
  1357. package/reporter.js +3 -0
  1358. package/scripts/postinstall.js +7 -0
  1359. package/utils.js +1 -0
  1360. package/webpack.d.ts +3 -0
  1361. package/webpack.js +3 -0
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.compareByKeySuffix = compareByKeySuffix;
5
+ exports.doRunQuery = doRunQuery;
6
+ var _iterable = require("../../common/iterable");
7
+ var _query = require("../../common/query");
8
+ var _createIndex = require("./create-index");
9
+ var _filterUsingIndex = require("./filter-using-index");
10
+ var _redux = require("../../../redux");
11
+ var _common = require("./common");
12
+ var _suggestIndex = require("./suggest-index");
13
+ async function doRunQuery(args) {
14
+ // Note: Keeping doRunQuery method the only async method in chain for perf
15
+ const context = createQueryContext(args);
16
+ const totalCount = async () => runCountOnce({
17
+ ...context,
18
+ limit: undefined,
19
+ skip: 0
20
+ });
21
+ if (canUseIndex(context)) {
22
+ await Promise.all(context.nodeTypeNames.map(typeName => (0, _createIndex.createIndex)(context, typeName, context.suggestedIndexFields)));
23
+ return {
24
+ entries: performIndexScan(context),
25
+ totalCount
26
+ };
27
+ }
28
+ return {
29
+ entries: performFullTableScan(context),
30
+ totalCount
31
+ };
32
+ }
33
+ function performIndexScan(context) {
34
+ const {
35
+ suggestedIndexFields,
36
+ sortFields
37
+ } = context;
38
+ const filterContext = context.nodeTypeNames.length === 1 ? context : {
39
+ ...context,
40
+ skip: 0,
41
+ limit: typeof context.limit === `undefined` ? undefined : context.skip + context.limit
42
+ };
43
+ let result = new _iterable.GatsbyIterable([]);
44
+ let resultOffset = filterContext.skip;
45
+ for (const typeName of context.nodeTypeNames) {
46
+ const indexMetadata = (0, _createIndex.getIndexMetadata)(context, typeName, suggestedIndexFields);
47
+ if (!needsSorting(context)) {
48
+ const {
49
+ nodes,
50
+ usedSkip
51
+ } = filterNodes(filterContext, indexMetadata);
52
+ result = result.concat(nodes);
53
+ resultOffset = usedSkip;
54
+ continue;
55
+ }
56
+ if (canUseIndexForSorting(indexMetadata, sortFields)) {
57
+ const {
58
+ nodes,
59
+ usedSkip
60
+ } = filterNodes(filterContext, indexMetadata);
61
+ // Interleave nodes of different types (not expensive for already sorted chunks)
62
+ result = result.mergeSorted(nodes, createNodeSortComparator(sortFields));
63
+ resultOffset = usedSkip;
64
+ continue;
65
+ }
66
+ // The sad part - unlimited filter + in-memory sort
67
+ const unlimited = {
68
+ ...context,
69
+ skip: 0,
70
+ limit: undefined
71
+ };
72
+ const {
73
+ nodes,
74
+ usedSkip
75
+ } = filterNodes(unlimited, indexMetadata);
76
+ const sortedNodes = sortNodesInMemory(context, nodes);
77
+ resultOffset = usedSkip;
78
+ result = result.mergeSorted(sortedNodes, createNodeSortComparator(sortFields));
79
+ }
80
+ const {
81
+ limit,
82
+ skip = 0
83
+ } = context;
84
+ const actualSkip = skip - resultOffset;
85
+ if (limit || actualSkip) {
86
+ result = result.slice(actualSkip, limit ? actualSkip + limit : undefined);
87
+ }
88
+ return result;
89
+ }
90
+ function runCountOnce(context) {
91
+ if (typeof context.totalCount === `undefined`) {
92
+ context.totalCount = runCount(context);
93
+ }
94
+ return context.totalCount;
95
+ }
96
+ function runCount(context) {
97
+ let count = 0;
98
+ if (!needsFiltering(context)) {
99
+ for (const typeName of context.nodeTypeNames) {
100
+ count += context.datastore.countNodes(typeName);
101
+ }
102
+ return count;
103
+ }
104
+ if (!canUseIndex(context)) {
105
+ for (const typeName of context.nodeTypeNames) {
106
+ const nodes = completeFiltering(context, new _iterable.GatsbyIterable(context.datastore.iterateNodesByType(typeName)));
107
+ for (const _ of nodes) count++;
108
+ }
109
+ return count;
110
+ }
111
+ for (const typeName of context.nodeTypeNames) {
112
+ const indexMetadata = (0, _createIndex.getIndexMetadata)(context, typeName, context.suggestedIndexFields);
113
+ try {
114
+ count += (0, _filterUsingIndex.countUsingIndexOnly)({
115
+ ...context,
116
+ indexMetadata
117
+ });
118
+ } catch (e) {
119
+ // We cannot reliably count using index - fallback to full iteration :/
120
+ for (const _ of filterNodes(context, indexMetadata).nodes) count++;
121
+ }
122
+ }
123
+ return count;
124
+ }
125
+ function performFullTableScan(context) {
126
+ // console.warn(`Fallback to full table scan :/`)
127
+
128
+ const {
129
+ datastore,
130
+ nodeTypeNames
131
+ } = context;
132
+ let result = new _iterable.GatsbyIterable([]);
133
+ for (const typeName of nodeTypeNames) {
134
+ let nodes = new _iterable.GatsbyIterable(datastore.iterateNodesByType(typeName));
135
+ nodes = completeFiltering(context, nodes);
136
+ if (needsSorting(context)) {
137
+ nodes = sortNodesInMemory(context, nodes);
138
+ result = result.mergeSorted(nodes, createNodeSortComparator(context.sortFields));
139
+ } else {
140
+ result = result.concat(nodes);
141
+ }
142
+ }
143
+ const {
144
+ limit,
145
+ skip = 0
146
+ } = context;
147
+ if (limit || skip) {
148
+ result = result.slice(skip, limit ? skip + limit : undefined);
149
+ }
150
+ return result;
151
+ }
152
+ function filterNodes(context, indexMetadata) {
153
+ const {
154
+ entries,
155
+ usedQueries,
156
+ usedSkip
157
+ } = (0, _filterUsingIndex.filterUsingIndex)({
158
+ ...context,
159
+ indexMetadata,
160
+ reverse: Array.from(context.sortFields.values())[0] === -1
161
+ });
162
+ const nodes = entries.map(({
163
+ value
164
+ }) => context.datastore.getNode(value)).filter(Boolean);
165
+ return {
166
+ nodes: completeFiltering(context, nodes, usedQueries),
167
+ usedSkip
168
+ };
169
+ }
170
+
171
+ /**
172
+ * Takes intermediate result and applies any remaining filterQueries.
173
+ *
174
+ * If result is already fully filtered - simply returns.
175
+ */
176
+ function completeFiltering(context, intermediateResult, usedQueries = new Set()) {
177
+ const {
178
+ dbQueries
179
+ } = context;
180
+ if (isFullyFiltered(dbQueries, usedQueries)) {
181
+ return intermediateResult;
182
+ }
183
+ // Apply remaining filter operations directly (last resort: slow)
184
+ const resolvedNodes = _redux.store.getState().resolvedNodesCache;
185
+ const filtersToApply = dbQueries.filter(q => !usedQueries.has(q)).map(q => [(0, _query.dbQueryToDottedField)(q), (0, _query.getFilterStatement)(q)]);
186
+ return intermediateResult.filter(node => {
187
+ var _resolvedNodes$get;
188
+ const resolvedFields = resolvedNodes === null || resolvedNodes === void 0 ? void 0 : (_resolvedNodes$get = resolvedNodes.get(node.internal.type)) === null || _resolvedNodes$get === void 0 ? void 0 : _resolvedNodes$get.get(node.id);
189
+ for (const [dottedField, filter] of filtersToApply) {
190
+ const tmp = (0, _common.resolveFieldValue)(dottedField, node, resolvedFields);
191
+ const value = Array.isArray(tmp) ? tmp : [tmp];
192
+ if (value.some(v => !(0, _common.matchesFilter)(filter, v))) {
193
+ // Mimic AND semantics
194
+ return false;
195
+ }
196
+ }
197
+ return true;
198
+ });
199
+ }
200
+ function sortNodesInMemory(context, nodes) {
201
+ // TODO: Sort using index data whenever possible (maybe store data needed for sorting in index values)
202
+ // TODO: Nodes can be partially sorted by index prefix - we can (and should) exploit this
203
+ return new _iterable.GatsbyIterable(() => {
204
+ const arr = Array.from(nodes);
205
+ arr.sort(createNodeSortComparator(context.sortFields));
206
+ return arr;
207
+ });
208
+ }
209
+ function createQueryContext(args) {
210
+ const {
211
+ queryArgs: {
212
+ filter,
213
+ sort,
214
+ limit,
215
+ skip = 0
216
+ } = {},
217
+ firstOnly
218
+ } = args;
219
+ return {
220
+ datastore: args.datastore,
221
+ databases: args.databases,
222
+ nodeTypeNames: args.nodeTypeNames,
223
+ dbQueries: (0, _query.createDbQueriesFromObject)((0, _query.prepareQueryArgs)(filter)),
224
+ sortFields: new Map(sort === null || sort === void 0 ? void 0 : sort.fields.map((field, i) => [field, (0, _common.isDesc)(sort === null || sort === void 0 ? void 0 : sort.order[i]) ? -1 : 1])),
225
+ suggestedIndexFields: new Map((0, _suggestIndex.suggestIndex)({
226
+ filter,
227
+ sort
228
+ })),
229
+ limit: firstOnly ? 1 : limit,
230
+ skip
231
+ };
232
+ }
233
+ function canUseIndex(context) {
234
+ return context.suggestedIndexFields.size > 0;
235
+ }
236
+ function needsFiltering(context) {
237
+ return context.dbQueries.length > 0;
238
+ }
239
+ function needsSorting(context) {
240
+ return context.sortFields.size > 0;
241
+ }
242
+
243
+ /**
244
+ * Based on assumption that if all sort fields exist in index
245
+ * then any result received from this index is fully sorted
246
+ */
247
+ function canUseIndexForSorting(index, sortFields) {
248
+ const indexKeyFields = new Map(index.keyFields);
249
+ for (const [field, sortOrder] of sortFields) {
250
+ if (indexKeyFields.get(field) !== sortOrder) {
251
+ return false;
252
+ }
253
+ }
254
+ return true;
255
+ }
256
+ function isFullyFiltered(dbQueries, usedQueries) {
257
+ return dbQueries.length === usedQueries.size;
258
+ }
259
+ function createNodeSortComparator(sortFields) {
260
+ const resolvedNodesCache = _redux.store.getState().resolvedNodesCache;
261
+ return function nodeComparator(a, b) {
262
+ var _resolvedNodesCache$g, _resolvedNodesCache$g2;
263
+ const resolvedAFields = resolvedNodesCache === null || resolvedNodesCache === void 0 ? void 0 : (_resolvedNodesCache$g = resolvedNodesCache.get(a.internal.type)) === null || _resolvedNodesCache$g === void 0 ? void 0 : _resolvedNodesCache$g.get(a.id);
264
+ const resolvedBFields = resolvedNodesCache === null || resolvedNodesCache === void 0 ? void 0 : (_resolvedNodesCache$g2 = resolvedNodesCache.get(b.internal.type)) === null || _resolvedNodesCache$g2 === void 0 ? void 0 : _resolvedNodesCache$g2.get(b.id);
265
+ for (const [field, direction] of sortFields) {
266
+ const valueA = (0, _common.resolveFieldValue)(field, a, resolvedAFields);
267
+ const valueB = (0, _common.resolveFieldValue)(field, b, resolvedBFields);
268
+ if (valueA > valueB) {
269
+ return direction === 1 ? 1 : -1;
270
+ } else if (valueA < valueB) {
271
+ return direction === 1 ? -1 : 1;
272
+ }
273
+ }
274
+ return 0;
275
+ };
276
+ }
277
+ function compareByKeySuffix(prefixLength) {
278
+ return function (a, b) {
279
+ const aSuffix = a.key.slice(prefixLength);
280
+ const bSuffix = b.key.slice(prefixLength);
281
+ // @ts-ignore
282
+ return (0, _common.compareKey)(aSuffix, bSuffix);
283
+ };
284
+ }
285
+ //# sourceMappingURL=run-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-query.js","names":["doRunQuery","args","context","createQueryContext","totalCount","runCountOnce","limit","undefined","skip","canUseIndex","Promise","all","nodeTypeNames","map","typeName","createIndex","suggestedIndexFields","entries","performIndexScan","performFullTableScan","sortFields","filterContext","length","result","GatsbyIterable","resultOffset","indexMetadata","getIndexMetadata","needsSorting","nodes","usedSkip","filterNodes","concat","canUseIndexForSorting","mergeSorted","createNodeSortComparator","unlimited","sortedNodes","sortNodesInMemory","actualSkip","slice","runCount","count","needsFiltering","datastore","countNodes","completeFiltering","iterateNodesByType","_","countUsingIndexOnly","e","usedQueries","filterUsingIndex","reverse","Array","from","values","value","getNode","filter","Boolean","intermediateResult","Set","dbQueries","isFullyFiltered","resolvedNodes","store","getState","resolvedNodesCache","filtersToApply","q","has","dbQueryToDottedField","getFilterStatement","node","resolvedFields","get","internal","type","id","dottedField","tmp","resolveFieldValue","isArray","some","v","matchesFilter","arr","sort","queryArgs","firstOnly","databases","createDbQueriesFromObject","prepareQueryArgs","Map","fields","field","i","isDesc","order","suggestIndex","size","index","indexKeyFields","keyFields","sortOrder","nodeComparator","a","b","resolvedAFields","resolvedBFields","direction","valueA","valueB","compareByKeySuffix","prefixLength","aSuffix","key","bSuffix","compareKey"],"sources":["../../../../src/datastore/lmdb/query/run-query.ts"],"sourcesContent":["import {\n IDataStore,\n ILmdbDatabases,\n IQueryResult,\n IRunQueryArgs,\n} from \"../../types\"\nimport { IGatsbyNode } from \"../../../redux/types\"\nimport { GatsbyIterable } from \"../../common/iterable\"\nimport {\n createDbQueriesFromObject,\n DbQuery,\n dbQueryToDottedField,\n getFilterStatement,\n IDbFilterStatement,\n prepareQueryArgs,\n} from \"../../common/query\"\nimport {\n createIndex,\n getIndexMetadata,\n IIndexMetadata,\n IndexFields,\n} from \"./create-index\"\nimport {\n countUsingIndexOnly,\n filterUsingIndex,\n IIndexEntry,\n} from \"./filter-using-index\"\nimport { store } from \"../../../redux\"\nimport { isDesc, resolveFieldValue, matchesFilter, compareKey } from \"./common\"\nimport { suggestIndex } from \"./suggest-index\"\n\ninterface IDoRunQueryArgs extends IRunQueryArgs {\n databases: ILmdbDatabases\n datastore: IDataStore\n}\n\ntype SortFields = Map<string, number>\n\ninterface IQueryContext {\n datastore: IDataStore\n databases: ILmdbDatabases\n dbQueries: Array<DbQuery>\n sortFields: SortFields\n nodeTypeNames: Array<string>\n suggestedIndexFields: IndexFields\n indexMetadata?: IIndexMetadata\n limit?: number\n skip: number\n totalCount?: number\n}\n\nexport async function doRunQuery(args: IDoRunQueryArgs): Promise<IQueryResult> {\n // Note: Keeping doRunQuery method the only async method in chain for perf\n const context = createQueryContext(args)\n\n const totalCount = async (): Promise<number> =>\n runCountOnce({ ...context, limit: undefined, skip: 0 })\n\n if (canUseIndex(context)) {\n await Promise.all(\n context.nodeTypeNames.map(typeName =>\n createIndex(context, typeName, context.suggestedIndexFields)\n )\n )\n return { entries: performIndexScan(context), totalCount }\n }\n return { entries: performFullTableScan(context), totalCount }\n}\n\nfunction performIndexScan(context: IQueryContext): GatsbyIterable<IGatsbyNode> {\n const { suggestedIndexFields, sortFields } = context\n\n const filterContext =\n context.nodeTypeNames.length === 1\n ? context\n : {\n ...context,\n skip: 0,\n limit:\n typeof context.limit === `undefined`\n ? undefined\n : context.skip + context.limit,\n }\n\n let result = new GatsbyIterable<IGatsbyNode>([])\n let resultOffset = filterContext.skip\n for (const typeName of context.nodeTypeNames) {\n const indexMetadata = getIndexMetadata(\n context,\n typeName,\n suggestedIndexFields\n )\n if (!needsSorting(context)) {\n const { nodes, usedSkip } = filterNodes(filterContext, indexMetadata)\n result = result.concat(nodes)\n resultOffset = usedSkip\n continue\n }\n if (canUseIndexForSorting(indexMetadata, sortFields)) {\n const { nodes, usedSkip } = filterNodes(filterContext, indexMetadata)\n // Interleave nodes of different types (not expensive for already sorted chunks)\n result = result.mergeSorted(nodes, createNodeSortComparator(sortFields))\n resultOffset = usedSkip\n continue\n }\n // The sad part - unlimited filter + in-memory sort\n const unlimited = { ...context, skip: 0, limit: undefined }\n const { nodes, usedSkip } = filterNodes(unlimited, indexMetadata)\n const sortedNodes = sortNodesInMemory(context, nodes)\n resultOffset = usedSkip\n\n result = result.mergeSorted(\n sortedNodes,\n createNodeSortComparator(sortFields)\n )\n }\n const { limit, skip = 0 } = context\n const actualSkip = skip - resultOffset\n\n if (limit || actualSkip) {\n result = result.slice(actualSkip, limit ? actualSkip + limit : undefined)\n }\n return result\n}\n\nfunction runCountOnce(context: IQueryContext): number {\n if (typeof context.totalCount === `undefined`) {\n context.totalCount = runCount(context)\n }\n return context.totalCount\n}\n\nfunction runCount(context: IQueryContext): number {\n let count = 0\n\n if (!needsFiltering(context)) {\n for (const typeName of context.nodeTypeNames) {\n count += context.datastore.countNodes(typeName)\n }\n return count\n }\n\n if (!canUseIndex(context)) {\n for (const typeName of context.nodeTypeNames) {\n const nodes = completeFiltering(\n context,\n new GatsbyIterable(context.datastore.iterateNodesByType(typeName))\n )\n for (const _ of nodes) count++\n }\n return count\n }\n\n for (const typeName of context.nodeTypeNames) {\n const indexMetadata = getIndexMetadata(\n context,\n typeName,\n context.suggestedIndexFields\n )\n try {\n count += countUsingIndexOnly({ ...context, indexMetadata })\n } catch (e) {\n // We cannot reliably count using index - fallback to full iteration :/\n for (const _ of filterNodes(context, indexMetadata).nodes) count++\n }\n }\n return count\n}\n\nfunction performFullTableScan(\n context: IQueryContext\n): GatsbyIterable<IGatsbyNode> {\n // console.warn(`Fallback to full table scan :/`)\n\n const { datastore, nodeTypeNames } = context\n\n let result = new GatsbyIterable<IGatsbyNode>([])\n for (const typeName of nodeTypeNames) {\n let nodes = new GatsbyIterable(datastore.iterateNodesByType(typeName))\n nodes = completeFiltering(context, nodes)\n\n if (needsSorting(context)) {\n nodes = sortNodesInMemory(context, nodes)\n result = result.mergeSorted(\n nodes,\n createNodeSortComparator(context.sortFields)\n )\n } else {\n result = result.concat(nodes)\n }\n }\n const { limit, skip = 0 } = context\n\n if (limit || skip) {\n result = result.slice(skip, limit ? skip + limit : undefined)\n }\n return result\n}\n\nfunction filterNodes(\n context: IQueryContext,\n indexMetadata: IIndexMetadata\n): { nodes: GatsbyIterable<IGatsbyNode>; usedSkip: number } {\n const { entries, usedQueries, usedSkip } = filterUsingIndex({\n ...context,\n indexMetadata,\n reverse: Array.from(context.sortFields.values())[0] === -1,\n })\n const nodes = entries\n .map(({ value }) => context.datastore.getNode(value))\n .filter(Boolean)\n\n return {\n nodes: completeFiltering(\n context,\n nodes as GatsbyIterable<IGatsbyNode>,\n usedQueries\n ),\n usedSkip,\n }\n}\n\n/**\n * Takes intermediate result and applies any remaining filterQueries.\n *\n * If result is already fully filtered - simply returns.\n */\nfunction completeFiltering(\n context: IQueryContext,\n intermediateResult: GatsbyIterable<IGatsbyNode>,\n usedQueries: Set<DbQuery> = new Set()\n): GatsbyIterable<IGatsbyNode> {\n const { dbQueries } = context\n if (isFullyFiltered(dbQueries, usedQueries)) {\n return intermediateResult\n }\n // Apply remaining filter operations directly (last resort: slow)\n const resolvedNodes = store.getState().resolvedNodesCache\n\n const filtersToApply: Array<[string, IDbFilterStatement]> = dbQueries\n .filter(q => !usedQueries.has(q))\n .map(q => [dbQueryToDottedField(q), getFilterStatement(q)])\n\n return intermediateResult.filter(node => {\n const resolvedFields = resolvedNodes?.get(node.internal.type)?.get(node.id)\n\n for (const [dottedField, filter] of filtersToApply) {\n const tmp = resolveFieldValue(dottedField, node, resolvedFields)\n const value = Array.isArray(tmp) ? tmp : [tmp]\n if (value.some(v => !matchesFilter(filter, v))) {\n // Mimic AND semantics\n return false\n }\n }\n return true\n })\n}\n\nfunction sortNodesInMemory(\n context: IQueryContext,\n nodes: GatsbyIterable<IGatsbyNode>\n): GatsbyIterable<IGatsbyNode> {\n // TODO: Sort using index data whenever possible (maybe store data needed for sorting in index values)\n // TODO: Nodes can be partially sorted by index prefix - we can (and should) exploit this\n return new GatsbyIterable(() => {\n const arr = Array.from(nodes)\n arr.sort(createNodeSortComparator(context.sortFields))\n return arr\n })\n}\n\nfunction createQueryContext(args: IDoRunQueryArgs): IQueryContext {\n const { queryArgs: { filter, sort, limit, skip = 0 } = {}, firstOnly } = args\n\n return {\n datastore: args.datastore,\n databases: args.databases,\n nodeTypeNames: args.nodeTypeNames,\n dbQueries: createDbQueriesFromObject(prepareQueryArgs(filter)),\n sortFields: new Map<string, number>(\n sort?.fields.map((field, i) => [field, isDesc(sort?.order[i]) ? -1 : 1])\n ),\n suggestedIndexFields: new Map(suggestIndex({ filter, sort })),\n limit: firstOnly ? 1 : limit,\n skip,\n }\n}\n\nfunction canUseIndex(context: IQueryContext): boolean {\n return context.suggestedIndexFields.size > 0\n}\n\nfunction needsFiltering(context: IQueryContext): boolean {\n return context.dbQueries.length > 0\n}\n\nfunction needsSorting(context: IQueryContext): boolean {\n return context.sortFields.size > 0\n}\n\n/**\n * Based on assumption that if all sort fields exist in index\n * then any result received from this index is fully sorted\n */\nfunction canUseIndexForSorting(\n index: IIndexMetadata,\n sortFields: SortFields\n): boolean {\n const indexKeyFields = new Map(index.keyFields)\n for (const [field, sortOrder] of sortFields) {\n if (indexKeyFields.get(field) !== sortOrder) {\n return false\n }\n }\n return true\n}\n\nfunction isFullyFiltered(\n dbQueries: Array<DbQuery>,\n usedQueries: Set<DbQuery>\n): boolean {\n return dbQueries.length === usedQueries.size\n}\n\nfunction createNodeSortComparator(sortFields: SortFields): (a, b) => number {\n const resolvedNodesCache = store.getState().resolvedNodesCache\n\n return function nodeComparator(a: IGatsbyNode, b: IGatsbyNode): number {\n const resolvedAFields = resolvedNodesCache?.get(a.internal.type)?.get(a.id)\n const resolvedBFields = resolvedNodesCache?.get(b.internal.type)?.get(b.id)\n\n for (const [field, direction] of sortFields) {\n const valueA: any = resolveFieldValue(field, a, resolvedAFields)\n const valueB: any = resolveFieldValue(field, b, resolvedBFields)\n\n if (valueA > valueB) {\n return direction === 1 ? 1 : -1\n } else if (valueA < valueB) {\n return direction === 1 ? -1 : 1\n }\n }\n return 0\n }\n}\n\nexport function compareByKeySuffix(prefixLength: number) {\n return function (a: IIndexEntry, b: IIndexEntry): number {\n const aSuffix = a.key.slice(prefixLength)\n const bSuffix = b.key.slice(prefixLength)\n // @ts-ignore\n return compareKey(aSuffix, bSuffix)\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IRunQueryArgs } from "../../types";
2
+ interface ISelectIndexArgs {
3
+ filter: IRunQueryArgs["queryArgs"]["filter"];
4
+ sort: IRunQueryArgs["queryArgs"]["sort"];
5
+ maxFields?: number;
6
+ }
7
+ type IndexField = [fieldName: string, orderDirection: number];
8
+ /**
9
+ * Suggest index fields for this combination of filter and sort.
10
+ *
11
+ * Prioritizes sort fields over filter fields when can't use index
12
+ * for both because sorting is expensive both CPU and memory-wise.
13
+ */
14
+ export declare function suggestIndex({ filter, sort, maxFields, }: ISelectIndexArgs): Array<IndexField>;
15
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.suggestIndex = suggestIndex;
5
+ var _query = require("../../common/query");
6
+ var _common = require("./common");
7
+ /**
8
+ * Suggest index fields for this combination of filter and sort.
9
+ *
10
+ * Prioritizes sort fields over filter fields when can't use index
11
+ * for both because sorting is expensive both CPU and memory-wise.
12
+ */
13
+ function suggestIndex({
14
+ filter,
15
+ sort,
16
+ maxFields = 6
17
+ }) {
18
+ const filterQueries = (0, _query.createDbQueriesFromObject)((0, _query.prepareQueryArgs)(filter));
19
+ const filterQueriesThatCanUseIndex = getQueriesThatCanUseIndex(filterQueries);
20
+ const sortFields = getSortFieldsThatCanUseIndex(sort);
21
+ if (!sortFields.length && !filterQueriesThatCanUseIndex.length) {
22
+ return [];
23
+ }
24
+ if (!filterQueriesThatCanUseIndex.length) {
25
+ return dedupeAndTrim(sortFields, maxFields);
26
+ }
27
+ if (!sortFields.length) {
28
+ return dedupeAndTrim(toIndexFields(filterQueriesThatCanUseIndex), maxFields);
29
+ }
30
+
31
+ // Combined index for filter+sort only makes sense when all prefix fields have `eq` predicate
32
+ // Same as https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-and-non-prefix-subset-of-an-index
33
+ const sortDirection = sortFields[0][1];
34
+ const eqFilterQueries = getEqQueries(filterQueriesThatCanUseIndex);
35
+ const eqFilterFields = toIndexFields(eqFilterQueries, sortDirection);
36
+
37
+ // Index prefix should not contain eq filters overlapping with sort fields
38
+ const overlap = findOverlappingFields(eqFilterQueries, sortFields);
39
+ return dedupeAndTrim([...eqFilterFields.filter(([name]) => !overlap.has(name)), ...sortFields,
40
+ // Still append other filter fields to the tail of the index to leverage additional filtering
41
+ // of results using data stored in the index (without loading full node object)
42
+ // Note: fields previously listed in eqFilterFields and sortFields will be removed in dedupeAndTrim
43
+ ...toIndexFields(filterQueriesThatCanUseIndex, sortDirection)], maxFields);
44
+ }
45
+ const canUseIndex = new Set([_query.DbComparator.EQ, _query.DbComparator.IN, _query.DbComparator.GTE, _query.DbComparator.LTE, _query.DbComparator.GT, _query.DbComparator.LT, _query.DbComparator.NIN, _query.DbComparator.NE]);
46
+
47
+ /**
48
+ * Returns queries that can potentially use index.
49
+ * Returned list is sorted by query specificity
50
+ */
51
+ function getQueriesThatCanUseIndex(all) {
52
+ return (0, _query.sortBySpecificity)(all.filter(q => canUseIndex.has((0, _query.getFilterStatement)(q).comparator)));
53
+ }
54
+ function getSortFieldsThatCanUseIndex(querySortArg) {
55
+ const sort = querySortArg || {
56
+ fields: [],
57
+ order: []
58
+ };
59
+ const initialOrder = (0, _common.isDesc)(sort === null || sort === void 0 ? void 0 : sort.order[0]) ? -1 : 1;
60
+ const sortFields = [];
61
+ for (let i = 0; i < sort.fields.length; i++) {
62
+ const field = sort.fields[i];
63
+ const order = (0, _common.isDesc)(sort.order[i]) ? -1 : 1;
64
+ if (order !== initialOrder) {
65
+ // Mixed sort order is not supported by our indexes yet :/
66
+ // See https://github.com/DoctorEvidence/lmdb-store/discussions/62#discussioncomment-898949
67
+ break;
68
+ }
69
+ sortFields.push([field, order]);
70
+ }
71
+ return sortFields;
72
+ }
73
+ function findOverlappingFields(filterQueries, sortFields) {
74
+ const overlap = new Set();
75
+ for (const [fieldName] of sortFields) {
76
+ const filterQuery = filterQueries.find(q => (0, _query.dbQueryToDottedField)(q) === fieldName);
77
+ if (!filterQuery) {
78
+ break;
79
+ }
80
+ overlap.add(fieldName);
81
+ }
82
+ return overlap;
83
+ }
84
+ function getEqQueries(filterQueries) {
85
+ return filterQueries.filter(filterQuery => (0, _query.getFilterStatement)(filterQuery).comparator === _query.DbComparator.EQ);
86
+ }
87
+ function toIndexFields(queries, sortDirection = 1) {
88
+ return queries.map(q => [(0, _query.dbQueryToDottedField)(q), sortDirection]);
89
+ }
90
+ function dedupeAndTrim(fields, maxFields) {
91
+ return [...new Map(fields)].slice(0, maxFields);
92
+ }
93
+ //# sourceMappingURL=suggest-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest-index.js","names":["suggestIndex","filter","sort","maxFields","filterQueries","createDbQueriesFromObject","prepareQueryArgs","filterQueriesThatCanUseIndex","getQueriesThatCanUseIndex","sortFields","getSortFieldsThatCanUseIndex","length","dedupeAndTrim","toIndexFields","sortDirection","eqFilterQueries","getEqQueries","eqFilterFields","overlap","findOverlappingFields","name","has","canUseIndex","Set","DbComparator","EQ","IN","GTE","LTE","GT","LT","NIN","NE","all","sortBySpecificity","q","getFilterStatement","comparator","querySortArg","fields","order","initialOrder","isDesc","i","field","push","fieldName","filterQuery","find","dbQueryToDottedField","add","queries","map","Map","slice"],"sources":["../../../../src/datastore/lmdb/query/suggest-index.ts"],"sourcesContent":["import { IRunQueryArgs } from \"../../types\"\nimport {\n createDbQueriesFromObject,\n DbComparator,\n DbQuery,\n dbQueryToDottedField,\n getFilterStatement,\n prepareQueryArgs,\n sortBySpecificity,\n} from \"../../common/query\"\nimport { isDesc } from \"./common\"\n\ninterface ISelectIndexArgs {\n filter: IRunQueryArgs[\"queryArgs\"][\"filter\"]\n sort: IRunQueryArgs[\"queryArgs\"][\"sort\"]\n maxFields?: number\n}\n\ntype IndexField = [fieldName: string, orderDirection: number]\ntype IndexFields = Array<IndexField>\n\n/**\n * Suggest index fields for this combination of filter and sort.\n *\n * Prioritizes sort fields over filter fields when can't use index\n * for both because sorting is expensive both CPU and memory-wise.\n */\nexport function suggestIndex({\n filter,\n sort,\n maxFields = 6,\n}: ISelectIndexArgs): Array<IndexField> {\n const filterQueries = createDbQueriesFromObject(prepareQueryArgs(filter))\n const filterQueriesThatCanUseIndex = getQueriesThatCanUseIndex(filterQueries)\n const sortFields: Array<IndexField> = getSortFieldsThatCanUseIndex(sort)\n\n if (!sortFields.length && !filterQueriesThatCanUseIndex.length) {\n return []\n }\n if (!filterQueriesThatCanUseIndex.length) {\n return dedupeAndTrim(sortFields, maxFields)\n }\n if (!sortFields.length) {\n return dedupeAndTrim(toIndexFields(filterQueriesThatCanUseIndex), maxFields)\n }\n\n // Combined index for filter+sort only makes sense when all prefix fields have `eq` predicate\n // Same as https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-and-non-prefix-subset-of-an-index\n const sortDirection = sortFields[0][1]\n const eqFilterQueries = getEqQueries(filterQueriesThatCanUseIndex)\n const eqFilterFields = toIndexFields(eqFilterQueries, sortDirection)\n\n // Index prefix should not contain eq filters overlapping with sort fields\n const overlap = findOverlappingFields(eqFilterQueries, sortFields)\n\n return dedupeAndTrim(\n [\n ...eqFilterFields.filter(([name]) => !overlap.has(name)),\n ...sortFields,\n // Still append other filter fields to the tail of the index to leverage additional filtering\n // of results using data stored in the index (without loading full node object)\n // Note: fields previously listed in eqFilterFields and sortFields will be removed in dedupeAndTrim\n ...toIndexFields(filterQueriesThatCanUseIndex, sortDirection),\n ],\n maxFields\n )\n}\n\nconst canUseIndex = new Set([\n DbComparator.EQ,\n DbComparator.IN,\n DbComparator.GTE,\n DbComparator.LTE,\n DbComparator.GT,\n DbComparator.LT,\n DbComparator.NIN,\n DbComparator.NE,\n])\n\n/**\n * Returns queries that can potentially use index.\n * Returned list is sorted by query specificity\n */\nfunction getQueriesThatCanUseIndex(all: Array<DbQuery>): Array<DbQuery> {\n return sortBySpecificity(\n all.filter(q => canUseIndex.has(getFilterStatement(q).comparator))\n )\n}\n\nfunction getSortFieldsThatCanUseIndex(\n querySortArg: IRunQueryArgs[\"queryArgs\"][\"sort\"]\n): Array<IndexField> {\n const sort = querySortArg || { fields: [], order: [] }\n const initialOrder = isDesc(sort?.order[0]) ? -1 : 1\n\n const sortFields: Array<IndexField> = []\n for (let i = 0; i < sort.fields.length; i++) {\n const field = sort.fields[i]\n const order = isDesc(sort.order[i]) ? -1 : 1\n if (order !== initialOrder) {\n // Mixed sort order is not supported by our indexes yet :/\n // See https://github.com/DoctorEvidence/lmdb-store/discussions/62#discussioncomment-898949\n break\n }\n sortFields.push([field, order])\n }\n return sortFields\n}\n\nfunction findOverlappingFields(\n filterQueries: Array<DbQuery>,\n sortFields: Array<IndexField>\n): Set<string> {\n const overlap = new Set<string>()\n\n for (const [fieldName] of sortFields) {\n const filterQuery = filterQueries.find(\n q => dbQueryToDottedField(q) === fieldName\n )\n if (!filterQuery) {\n break\n }\n overlap.add(fieldName)\n }\n return overlap\n}\n\nfunction getEqQueries(filterQueries: Array<DbQuery>): Array<DbQuery> {\n return filterQueries.filter(\n filterQuery =>\n getFilterStatement(filterQuery).comparator === DbComparator.EQ\n )\n}\n\nfunction toIndexFields(\n queries: Array<DbQuery>,\n sortDirection: number = 1\n): IndexFields {\n return queries.map(\n (q): IndexField => [dbQueryToDottedField(q), sortDirection]\n )\n}\n\nfunction dedupeAndTrim(fields: IndexFields, maxFields: number): IndexFields {\n return [...new Map(fields)].slice(0, maxFields)\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ActionsUnion } from "../../../redux/types";
2
+ import { ILmdbDatabases } from "../../types";
3
+ export declare function updateNodesByType(nodesByTypeDb: ILmdbDatabases["nodesByType"], action: ActionsUnion): Promise<boolean> | boolean;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.updateNodesByType = updateNodesByType;
5
+ function updateNodesByType(nodesByTypeDb, action) {
6
+ switch (action.type) {
7
+ case `CREATE_NODE`:
8
+ case `ADD_FIELD_TO_NODE`:
9
+ case `ADD_CHILD_NODE_TO_PARENT_NODE`:
10
+ {
11
+ // nodesByType db uses dupSort, so `put` will effectively append an id
12
+ return nodesByTypeDb.put(action.payload.internal.type, action.payload.id);
13
+ }
14
+ case `DELETE_NODE`:
15
+ {
16
+ return action.payload ? nodesByTypeDb.remove(action.payload.internal.type, action.payload.id) : false;
17
+ }
18
+ }
19
+ return false;
20
+ }
21
+ //# sourceMappingURL=nodes-by-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes-by-type.js","names":["updateNodesByType","nodesByTypeDb","action","type","put","payload","internal","id","remove"],"sources":["../../../../src/datastore/lmdb/updates/nodes-by-type.ts"],"sourcesContent":["import { ActionsUnion } from \"../../../redux/types\"\nimport { ILmdbDatabases } from \"../../types\"\n\nexport function updateNodesByType(\n nodesByTypeDb: ILmdbDatabases[\"nodesByType\"],\n action: ActionsUnion\n): Promise<boolean> | boolean {\n switch (action.type) {\n case `CREATE_NODE`:\n case `ADD_FIELD_TO_NODE`:\n case `ADD_CHILD_NODE_TO_PARENT_NODE`: {\n // nodesByType db uses dupSort, so `put` will effectively append an id\n return nodesByTypeDb.put(action.payload.internal.type, action.payload.id)\n }\n case `DELETE_NODE`: {\n return action.payload\n ? nodesByTypeDb.remove(action.payload.internal.type, action.payload.id)\n : false\n }\n }\n return false\n}\n"],"mappings":";;;;AAGO,SAASA,iBAAiB,CAC/BC,aAA4C,EAC5CC,MAAoB,EACQ;EAC5B,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAM,aAAY;IAClB,KAAM,mBAAkB;IACxB,KAAM,+BAA8B;MAAE;QACpC;QACA,OAAOF,aAAa,CAACG,GAAG,CAACF,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACH,IAAI,EAAED,MAAM,CAACG,OAAO,CAACE,EAAE,CAAC;MAC3E;IACA,KAAM,aAAY;MAAE;QAClB,OAAOL,MAAM,CAACG,OAAO,GACjBJ,aAAa,CAACO,MAAM,CAACN,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACH,IAAI,EAAED,MAAM,CAACG,OAAO,CAACE,EAAE,CAAC,GACrE,KAAK;MACX;EAAC;EAEH,OAAO,KAAK;AACd"}
@@ -0,0 +1,5 @@
1
+ import { ActionsUnion, IGatsbyNode } from "../../../redux/types";
2
+ import type { Database } from "lmdb";
3
+ type NodeId = string;
4
+ export declare function updateNodes(nodesDb: Database<IGatsbyNode, NodeId>, action: ActionsUnion): Promise<boolean> | boolean;
5
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.updateNodes = updateNodes;
5
+ function updateNodes(nodesDb, action) {
6
+ switch (action.type) {
7
+ case `CREATE_NODE`:
8
+ case `ADD_FIELD_TO_NODE`:
9
+ case `ADD_CHILD_NODE_TO_PARENT_NODE`:
10
+ {
11
+ return nodesDb.put(action.payload.id, action.payload);
12
+ }
13
+ case `DELETE_NODE`:
14
+ {
15
+ if (action.payload) {
16
+ return nodesDb.remove(action.payload.id);
17
+ }
18
+ return false;
19
+ }
20
+ case `MATERIALIZE_PAGE_MODE`:
21
+ {
22
+ const id = `SitePage ${action.payload.path}`;
23
+ const node = nodesDb.get(id);
24
+ if (!node) {
25
+ throw new Error(`Could not find SitePage node by id: ${id}`);
26
+ }
27
+ node.mode = action.payload.pageMode;
28
+ return nodesDb.put(id, node);
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","names":["updateNodes","nodesDb","action","type","put","payload","id","remove","path","node","get","Error","mode","pageMode"],"sources":["../../../../src/datastore/lmdb/updates/nodes.ts"],"sourcesContent":["import { ActionsUnion, IGatsbyNode } from \"../../../redux/types\"\nimport type { Database } from \"lmdb\"\n\ntype NodeId = string\n\nexport function updateNodes(\n nodesDb: Database<IGatsbyNode, NodeId>,\n action: ActionsUnion\n): Promise<boolean> | boolean {\n switch (action.type) {\n case `CREATE_NODE`:\n case `ADD_FIELD_TO_NODE`:\n case `ADD_CHILD_NODE_TO_PARENT_NODE`: {\n return nodesDb.put(action.payload.id, action.payload)\n }\n case `DELETE_NODE`: {\n if (action.payload) {\n return nodesDb.remove(action.payload.id)\n }\n\n return false\n }\n case `MATERIALIZE_PAGE_MODE`: {\n const id = `SitePage ${action.payload.path}`\n const node = nodesDb.get(id)\n if (!node) {\n throw new Error(`Could not find SitePage node by id: ${id}`)\n }\n node.mode = action.payload.pageMode\n return nodesDb.put(id, node)\n }\n }\n return false\n}\n"],"mappings":";;;;AAKO,SAASA,WAAW,CACzBC,OAAsC,EACtCC,MAAoB,EACQ;EAC5B,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAM,aAAY;IAClB,KAAM,mBAAkB;IACxB,KAAM,+BAA8B;MAAE;QACpC,OAAOF,OAAO,CAACG,GAAG,CAACF,MAAM,CAACG,OAAO,CAACC,EAAE,EAAEJ,MAAM,CAACG,OAAO,CAAC;MACvD;IACA,KAAM,aAAY;MAAE;QAClB,IAAIH,MAAM,CAACG,OAAO,EAAE;UAClB,OAAOJ,OAAO,CAACM,MAAM,CAACL,MAAM,CAACG,OAAO,CAACC,EAAE,CAAC;QAC1C;QAEA,OAAO,KAAK;MACd;IACA,KAAM,uBAAsB;MAAE;QAC5B,MAAMA,EAAE,GAAI,YAAWJ,MAAM,CAACG,OAAO,CAACG,IAAK,EAAC;QAC5C,MAAMC,IAAI,GAAGR,OAAO,CAACS,GAAG,CAACJ,EAAE,CAAC;QAC5B,IAAI,CAACG,IAAI,EAAE;UACT,MAAM,IAAIE,KAAK,CAAE,uCAAsCL,EAAG,EAAC,CAAC;QAC9D;QACAG,IAAI,CAACG,IAAI,GAAGV,MAAM,CAACG,OAAO,CAACQ,QAAQ;QACnC,OAAOZ,OAAO,CAACG,GAAG,CAACE,EAAE,EAAEG,IAAI,CAAC;MAC9B;EAAC;EAEH,OAAO,KAAK;AACd"}
@@ -0,0 +1,47 @@
1
+ import { Database } from "lmdb";
2
+ import { IGatsbyNode } from "../redux/types";
3
+ import { GatsbyGraphQLType } from "../../index";
4
+ import { IInputQuery } from "./common/query";
5
+ import { IGraphQLRunnerStats } from "../query/types";
6
+ import { GatsbyIterable } from "./common/iterable";
7
+ export type NodeId = string;
8
+ export type NodeType = string;
9
+ export interface ILmdbDatabases {
10
+ nodes: Database<IGatsbyNode, NodeId>;
11
+ nodesByType: Database<NodeId, NodeType>;
12
+ indexes: Database<NodeId, Array<any>>;
13
+ metadata: Database<any, string>;
14
+ }
15
+ export interface IQueryResult {
16
+ entries: GatsbyIterable<IGatsbyNode>;
17
+ totalCount: () => Promise<number>;
18
+ }
19
+ export interface IRunQueryArgs {
20
+ gqlType: GatsbyGraphQLType;
21
+ queryArgs: {
22
+ filter: IInputQuery | undefined;
23
+ sort: {
24
+ fields: Array<string>;
25
+ order: Array<boolean | "asc" | "desc" | "ASC" | "DESC">;
26
+ } | undefined;
27
+ limit?: number;
28
+ skip?: number;
29
+ };
30
+ firstOnly: boolean;
31
+ resolvedFields: Record<string, any>;
32
+ nodeTypeNames: Array<string>;
33
+ stats: IGraphQLRunnerStats;
34
+ }
35
+ export interface IDataStore {
36
+ getNode(id: string): IGatsbyNode | undefined;
37
+ getTypes(): Array<string>;
38
+ countNodes(typeName?: string): number;
39
+ ready(): Promise<void>;
40
+ iterateNodes(): GatsbyIterable<IGatsbyNode>;
41
+ iterateNodesByType(type: string): GatsbyIterable<IGatsbyNode>;
42
+ runQuery(args: IRunQueryArgs): Promise<IQueryResult>;
43
+ /** @deprecated */
44
+ getNodes(): Array<IGatsbyNode>;
45
+ /** @deprecated */
46
+ getNodesByType(type: string): Array<IGatsbyNode>;
47
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/datastore/types.ts"],"sourcesContent":["import { Database } from \"lmdb\"\nimport { IGatsbyNode } from \"../redux/types\"\nimport { GatsbyGraphQLType } from \"../../index\"\nimport { IInputQuery } from \"./common/query\"\nimport { IGraphQLRunnerStats } from \"../query/types\"\nimport { GatsbyIterable } from \"./common/iterable\"\n\nexport type NodeId = string\nexport type NodeType = string\n\nexport interface ILmdbDatabases {\n nodes: Database<IGatsbyNode, NodeId>\n nodesByType: Database<NodeId, NodeType>\n indexes: Database<NodeId, Array<any>>\n metadata: Database<any, string>\n}\n\nexport interface IQueryResult {\n entries: GatsbyIterable<IGatsbyNode>\n totalCount: () => Promise<number>\n}\n\nexport interface IRunQueryArgs {\n gqlType: GatsbyGraphQLType\n queryArgs: {\n filter: IInputQuery | undefined\n sort:\n | {\n fields: Array<string>\n order: Array<boolean | \"asc\" | \"desc\" | \"ASC\" | \"DESC\">\n }\n | undefined\n limit?: number\n skip?: number\n }\n firstOnly: boolean\n resolvedFields: Record<string, any>\n nodeTypeNames: Array<string>\n stats: IGraphQLRunnerStats\n}\n\nexport interface IDataStore {\n getNode(id: string): IGatsbyNode | undefined\n getTypes(): Array<string>\n countNodes(typeName?: string): number\n ready(): Promise<void>\n iterateNodes(): GatsbyIterable<IGatsbyNode>\n iterateNodesByType(type: string): GatsbyIterable<IGatsbyNode>\n runQuery(args: IRunQueryArgs): Promise<IQueryResult>\n\n /** @deprecated */\n getNodes(): Array<IGatsbyNode>\n /** @deprecated */\n getNodesByType(type: string): Array<IGatsbyNode>\n}\n"],"mappings":""}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ const path = require(`path`);
4
+ exports.onCreateBabelConfig = ({
5
+ actions
6
+ }) => {
7
+ // rewrites import { get }from 'lodash' into import get from 'lodash/get';
8
+ actions.setBabelPlugin({
9
+ name: `@sigmacomputing/babel-plugin-lodash`
10
+ });
11
+ };
12
+ exports.onCreateWebpackConfig = function onCreateWebpackConfig({
13
+ stage,
14
+ actions
15
+ }) {
16
+ const objectAssignStub = path.join(__dirname, `polyfills/object-assign.js`);
17
+ const noOp = path.join(__dirname, `polyfills/no-op.js`);
18
+ const fetchStub = path.join(__dirname, `polyfills/fetch.js`);
19
+ const whatwgFetchStub = path.join(__dirname, `polyfills/whatwg-fetch.js`);
20
+ const alias = {
21
+ // These files are already polyfilled so these should return in a no-op
22
+ // Stub Package: object.assign & object-assign
23
+ "object.assign": objectAssignStub,
24
+ "object-assign$": objectAssignStub,
25
+ "@babel/runtime/helpers/extends.js$": objectAssignStub,
26
+ // Stub package: fetch
27
+ unfetch$: fetchStub,
28
+ "unfetch/polyfill$": noOp,
29
+ "isomorphic-unfetch$": fetchStub,
30
+ "isomorphic-fetch$": fetchStub,
31
+ "whatwg-fetch$": whatwgFetchStub
32
+ };
33
+ if (stage === `build-javascript` || stage === `develop`) {
34
+ alias[`url-polyfill$`] = noOp;
35
+ }
36
+ actions.setWebpackConfig({
37
+ resolve: {
38
+ alias
39
+ }
40
+ });
41
+ };
42
+ //# sourceMappingURL=gatsby-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gatsby-node.js","names":["path","require","exports","onCreateBabelConfig","actions","setBabelPlugin","name","onCreateWebpackConfig","stage","objectAssignStub","join","__dirname","noOp","fetchStub","whatwgFetchStub","alias","unfetch$","setWebpackConfig","resolve"],"sources":["../../../src/internal-plugins/bundle-optimisations/gatsby-node.js"],"sourcesContent":["const path = require(`path`)\n\nexports.onCreateBabelConfig = ({ actions }) => {\n // rewrites import { get }from 'lodash' into import get from 'lodash/get';\n actions.setBabelPlugin({\n name: `@sigmacomputing/babel-plugin-lodash`,\n })\n}\n\nexports.onCreateWebpackConfig = function onCreateWebpackConfig({\n stage,\n actions,\n}) {\n const objectAssignStub = path.join(__dirname, `polyfills/object-assign.js`)\n const noOp = path.join(__dirname, `polyfills/no-op.js`)\n const fetchStub = path.join(__dirname, `polyfills/fetch.js`)\n const whatwgFetchStub = path.join(__dirname, `polyfills/whatwg-fetch.js`)\n\n const alias = {\n // These files are already polyfilled so these should return in a no-op\n // Stub Package: object.assign & object-assign\n \"object.assign\": objectAssignStub,\n \"object-assign$\": objectAssignStub,\n \"@babel/runtime/helpers/extends.js$\": objectAssignStub,\n // Stub package: fetch\n unfetch$: fetchStub,\n \"unfetch/polyfill$\": noOp,\n \"isomorphic-unfetch$\": fetchStub,\n \"isomorphic-fetch$\": fetchStub,\n \"whatwg-fetch$\": whatwgFetchStub,\n }\n\n if (stage === `build-javascript` || stage === `develop`) {\n alias[`url-polyfill$`] = noOp\n }\n\n actions.setWebpackConfig({\n resolve: {\n alias,\n },\n })\n}\n"],"mappings":";;AAAA,MAAMA,IAAI,GAAGC,OAAO,CAAE,MAAK,CAAC;AAE5BC,OAAO,CAACC,mBAAmB,GAAG,CAAC;EAAEC;AAAQ,CAAC,KAAK;EAC7C;EACAA,OAAO,CAACC,cAAc,CAAC;IACrBC,IAAI,EAAG;EACT,CAAC,CAAC;AACJ,CAAC;AAEDJ,OAAO,CAACK,qBAAqB,GAAG,SAASA,qBAAqB,CAAC;EAC7DC,KAAK;EACLJ;AACF,CAAC,EAAE;EACD,MAAMK,gBAAgB,GAAGT,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,4BAA2B,CAAC;EAC3E,MAAMC,IAAI,GAAGZ,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,oBAAmB,CAAC;EACvD,MAAME,SAAS,GAAGb,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,oBAAmB,CAAC;EAC5D,MAAMG,eAAe,GAAGd,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,2BAA0B,CAAC;EAEzE,MAAMI,KAAK,GAAG;IACZ;IACA;IACA,eAAe,EAAEN,gBAAgB;IACjC,gBAAgB,EAAEA,gBAAgB;IAClC,oCAAoC,EAAEA,gBAAgB;IACtD;IACAO,QAAQ,EAAEH,SAAS;IACnB,mBAAmB,EAAED,IAAI;IACzB,qBAAqB,EAAEC,SAAS;IAChC,mBAAmB,EAAEA,SAAS;IAC9B,eAAe,EAAEC;EACnB,CAAC;EAED,IAAIN,KAAK,KAAM,kBAAiB,IAAIA,KAAK,KAAM,SAAQ,EAAE;IACvDO,KAAK,CAAE,eAAc,CAAC,GAAGH,IAAI;EAC/B;EAEAR,OAAO,CAACa,gBAAgB,CAAC;IACvBC,OAAO,EAAE;MACPH;IACF;EACF,CAAC,CAAC;AACJ,CAAC"}