@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 @@
1
+ {"version":3,"file":"build-example-data.js","names":["getExampleObject","fieldMap","typeName","typeConflictReporter","Object","keys","reduce","acc","key","value","buildExampleValue","path","descriptor","isArrayItem","type","conflicts","resolveWinnerType","addConflict","prepareConflictExamples","typeInfo","isMixOfDateAndString","hasOnlyEmptyStrings","example","item","exampleItemValue","nodes","multiple","linkedNodes","filter","dprops","hasKeys","result","forEach","prop","candidates","possibleTypes","length","isMixedNumber","typeNameMapper","includes","reportedValueMapper","relatedNode","find","relatedNodeList","object","itemValue","array","undefined","conflictingTypes","groups","first","map","nodeId","join","float","int","Boolean","total","date","string","empty"],"sources":["../../../src/schema/infer/build-example-data.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { groupBy } from \"lodash\"\nimport {\n IValueDescriptor,\n ValueType,\n ITypeMetadata,\n} from \"./inference-metadata\"\nimport {\n TypeConflictReporter,\n ITypeConflictExample,\n} from \"./type-conflict-reporter\"\n\n// See gatsby/src/schema/infer/inference-metadata.ts for the ValueDescriptor structs (-> typeInfo)\n\nconst getExampleObject = ({\n fieldMap = {},\n typeName,\n typeConflictReporter,\n}: ITypeMetadata): { [k: string]: unknown } =>\n Object.keys(fieldMap).reduce((acc, key) => {\n const value = buildExampleValue({\n path: `${typeName}.${key}`,\n descriptor: fieldMap[key],\n typeConflictReporter,\n })\n if (key && value !== null) {\n acc[key] = value\n }\n return acc\n }, {})\n\nconst buildExampleValue = ({\n descriptor,\n typeConflictReporter,\n isArrayItem = false,\n path = ``,\n}: {\n descriptor: IValueDescriptor\n typeConflictReporter?: TypeConflictReporter\n path?: string\n isArrayItem?: boolean\n}): unknown | null => {\n const [type, conflicts = false] = resolveWinnerType(descriptor)\n\n if (conflicts && typeConflictReporter) {\n typeConflictReporter.addConflict(\n path,\n prepareConflictExamples(descriptor, isArrayItem)\n )\n }\n\n const typeInfo = descriptor[type]\n\n switch (type) {\n case `null`:\n return null\n\n case `date`:\n case `string`: {\n if (isMixOfDateAndString(descriptor)) {\n return hasOnlyEmptyStrings(descriptor) ? `1978-09-26` : `String`\n }\n return typeInfo.example\n }\n\n case `array`: {\n const { item } = typeInfo\n const exampleItemValue = item\n ? buildExampleValue({\n descriptor: item,\n isArrayItem: true,\n typeConflictReporter,\n path,\n })\n : null\n return exampleItemValue === null ? null : [exampleItemValue]\n }\n\n case `relatedNode`:\n case `relatedNodeList`: {\n const { nodes = {} } = typeInfo\n return {\n multiple: type === `relatedNodeList`,\n linkedNodes: Object.keys(nodes).filter(key => nodes[key] > 0),\n }\n }\n\n case `object`: {\n const { dprops } = typeInfo\n let hasKeys = false\n const result = {}\n Object.keys(dprops).forEach(prop => {\n const value = buildExampleValue({\n descriptor: dprops[prop],\n typeConflictReporter,\n path: `${path}.${prop}`,\n })\n if (value !== null) {\n hasKeys = true\n result[prop] = value\n }\n })\n return hasKeys ? result : null\n }\n\n default:\n return typeInfo.example\n }\n}\n\nconst resolveWinnerType = (\n descriptor: IValueDescriptor\n): [ValueType | \"null\", boolean?] => {\n const candidates = possibleTypes(descriptor)\n if (candidates.length === 1) {\n return [candidates[0]]\n }\n if (candidates.length === 2 && isMixedNumber(descriptor)) {\n return [`float`]\n }\n if (candidates.length === 2 && isMixOfDateAndString(descriptor)) {\n return [hasOnlyEmptyStrings(descriptor) ? `date` : `string`]\n }\n if (candidates.length > 1) {\n return [`null`, true]\n }\n return [`null`]\n}\n\nconst prepareConflictExamples = (\n descriptor: IValueDescriptor,\n isArrayItem: boolean\n): Array<ITypeConflictExample> => {\n const typeNameMapper = (typeName: ValueType): string => {\n if (typeName === `relatedNode`) {\n return `string`\n }\n if (typeName === `relatedNodeList`) {\n return `[string]`\n }\n return [`float`, `int`].includes(typeName) ? `number` : typeName\n }\n const reportedValueMapper = (typeName: ValueType): unknown => {\n if (typeName === `relatedNode`) {\n const { nodes } = descriptor.relatedNode ?? { nodes: {} }\n return Object.keys(nodes).find(key => nodes[key] > 0)\n }\n if (typeName === `relatedNodeList`) {\n const { nodes } = descriptor.relatedNodeList ?? { nodes: {} }\n return Object.keys(nodes).filter(key => nodes[key] > 0)\n }\n if (typeName === `object`) {\n return getExampleObject({\n typeName,\n fieldMap: descriptor!.object!.dprops,\n })\n }\n if (typeName === `array`) {\n const itemValue = buildExampleValue({\n descriptor: descriptor!.array!.item,\n isArrayItem: true,\n })\n return itemValue === null || itemValue === undefined ? [] : [itemValue]\n }\n return descriptor[typeName]?.example\n }\n const conflictingTypes = possibleTypes(descriptor)\n\n if (isArrayItem) {\n // Differentiate conflict examples by node they were first seen in.\n // See Caveats section in the header of the ./inference-metadata.ts\n const groups = groupBy(\n conflictingTypes,\n type => descriptor[type]?.first || ``\n )\n return Object.keys(groups).map(nodeId => {\n return {\n type: `[${groups[nodeId].map(typeNameMapper).join(`,`)}]`,\n value: groups[nodeId].map(reportedValueMapper),\n }\n })\n }\n\n return conflictingTypes.map(type => {\n return {\n type: typeNameMapper(type),\n value: reportedValueMapper(type),\n }\n })\n}\n\nconst isMixedNumber = (descriptor: IValueDescriptor): boolean => {\n const { float, int } = descriptor\n return Boolean(float?.total) && Boolean(int?.total)\n}\n\nconst isMixOfDateAndString = (descriptor: IValueDescriptor): boolean => {\n const { date, string } = descriptor\n return Boolean(date?.total) && Boolean(string?.total)\n}\n\nconst hasOnlyEmptyStrings = (descriptor: IValueDescriptor): boolean => {\n const { string } = descriptor\n return string !== undefined && string?.empty === string?.total\n}\n\nconst possibleTypes = (descriptor: IValueDescriptor = {}): Array<ValueType> =>\n Object.keys(descriptor).filter(\n type => descriptor[type].total > 0\n ) as Array<ValueType>\n\nexport { getExampleObject }\n"],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ const report = require(`gatsby-cli/lib/reporter`);
4
+ const {
5
+ ObjectTypeComposer
6
+ } = require(`graphql-compose`);
7
+ const {
8
+ hasNodes
9
+ } = require(`./inference-metadata`);
10
+ const {
11
+ getExampleObject
12
+ } = require(`./build-example-data`);
13
+ const {
14
+ addNodeInterface
15
+ } = require(`../types/node-interface`);
16
+ const {
17
+ addInferredFields
18
+ } = require(`./add-inferred-fields`);
19
+ const {
20
+ getDataStore
21
+ } = require(`../../datastore`);
22
+ const addInferredTypes = ({
23
+ schemaComposer,
24
+ typeConflictReporter,
25
+ typeMapping,
26
+ inferenceMetadata,
27
+ parentSpan
28
+ }) => {
29
+ // XXX(freiksenet): Won't be needed after plugins set typedefs
30
+ // Infer File first so all the links to it would work
31
+ const {
32
+ typeMap
33
+ } = inferenceMetadata;
34
+ const typesWithNodes = Object.keys(typeMap).filter(typeName => hasNodes(typeMap[typeName]));
35
+ const typeNames = putFileFirst(typesWithNodes);
36
+ const noNodeInterfaceTypes = [];
37
+ const typesToInfer = [];
38
+ typeNames.forEach(typeName => {
39
+ let typeComposer;
40
+ if (schemaComposer.has(typeName)) {
41
+ typeComposer = schemaComposer.getOTC(typeName);
42
+ const runInfer = typeComposer.hasExtension(`infer`) ? typeComposer.getExtension(`infer`) : true;
43
+ if (runInfer) {
44
+ if (!typeComposer.hasInterface(`Node`)) {
45
+ noNodeInterfaceTypes.push(typeName);
46
+ }
47
+ typesToInfer.push(typeComposer);
48
+ }
49
+ } else {
50
+ typeComposer = ObjectTypeComposer.create(typeName, schemaComposer);
51
+ addNodeInterface({
52
+ schemaComposer,
53
+ typeComposer
54
+ });
55
+ typeComposer.setExtension(`createdFrom`, `inference`);
56
+ typesToInfer.push(typeComposer);
57
+ }
58
+ });
59
+ if (noNodeInterfaceTypes.length > 0) {
60
+ noNodeInterfaceTypes.forEach(typeName => {
61
+ report.warn(`Type \`${typeName}\` declared in \`createTypes\` looks like a node, ` + `but doesn't implement a \`Node\` interface. It's likely that you should ` + `add the \`Node\` interface to your type def:\n\n` + `\`type ${typeName} implements Node { ... }\`\n\n` + `If you know that you don't want it to be a node (which would mean no ` + `root queries to retrieve it), you can explicitly disable inference ` + `for it:\n\n` + `\`type ${typeName} @dontInfer { ... }\``);
62
+ });
63
+ report.panic(`Building schema failed`);
64
+ }
65
+ return typesToInfer.map(typeComposer => addInferredType({
66
+ schemaComposer,
67
+ typeComposer,
68
+ typeConflictReporter,
69
+ typeMapping,
70
+ parentSpan,
71
+ inferenceMetadata
72
+ }));
73
+ };
74
+ const addInferredType = ({
75
+ schemaComposer,
76
+ typeComposer,
77
+ typeConflictReporter,
78
+ typeMapping,
79
+ inferenceMetadata = {},
80
+ parentSpan
81
+ }) => {
82
+ const typeName = typeComposer.getTypeName();
83
+ // TODO: Move this to where the type is created once we can get
84
+ // node type owner information directly from store
85
+ if (typeComposer.getExtension(`createdFrom`) === `inference` && hasNodes(inferenceMetadata.typeMap[typeName])) {
86
+ let firstNode;
87
+ for (const node of getDataStore().iterateNodesByType(typeName)) {
88
+ firstNode = node;
89
+ break;
90
+ }
91
+ if (firstNode) {
92
+ typeComposer.setExtension(`plugin`, firstNode.internal.owner);
93
+ }
94
+ }
95
+ const exampleValue = getExampleObject({
96
+ ...inferenceMetadata.typeMap[typeName],
97
+ typeName,
98
+ typeConflictReporter
99
+ });
100
+ addInferredFields({
101
+ schemaComposer,
102
+ typeComposer,
103
+ exampleValue,
104
+ typeMapping,
105
+ parentSpan
106
+ });
107
+ return typeComposer;
108
+ };
109
+ const putFileFirst = typeNames => {
110
+ const index = typeNames.indexOf(`File`);
111
+ if (index !== -1) {
112
+ return [`File`, ...typeNames.slice(0, index), ...typeNames.slice(index + 1)];
113
+ } else {
114
+ return typeNames;
115
+ }
116
+ };
117
+ module.exports = {
118
+ addInferredType,
119
+ addInferredTypes
120
+ };
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["report","require","ObjectTypeComposer","hasNodes","getExampleObject","addNodeInterface","addInferredFields","getDataStore","addInferredTypes","schemaComposer","typeConflictReporter","typeMapping","inferenceMetadata","parentSpan","typeMap","typesWithNodes","Object","keys","filter","typeName","typeNames","putFileFirst","noNodeInterfaceTypes","typesToInfer","forEach","typeComposer","has","getOTC","runInfer","hasExtension","getExtension","hasInterface","push","create","setExtension","length","warn","panic","map","addInferredType","getTypeName","firstNode","node","iterateNodesByType","internal","owner","exampleValue","index","indexOf","slice","module","exports"],"sources":["../../../src/schema/infer/index.js"],"sourcesContent":["const report = require(`gatsby-cli/lib/reporter`)\nconst { ObjectTypeComposer } = require(`graphql-compose`)\nconst { hasNodes } = require(`./inference-metadata`)\nconst { getExampleObject } = require(`./build-example-data`)\nconst { addNodeInterface } = require(`../types/node-interface`)\nconst { addInferredFields } = require(`./add-inferred-fields`)\nconst { getDataStore } = require(`../../datastore`)\n\nconst addInferredTypes = ({\n schemaComposer,\n typeConflictReporter,\n typeMapping,\n inferenceMetadata,\n parentSpan,\n}) => {\n // XXX(freiksenet): Won't be needed after plugins set typedefs\n // Infer File first so all the links to it would work\n const { typeMap } = inferenceMetadata\n const typesWithNodes = Object.keys(typeMap).filter(typeName =>\n hasNodes(typeMap[typeName])\n )\n const typeNames = putFileFirst(typesWithNodes)\n const noNodeInterfaceTypes = []\n\n const typesToInfer = []\n\n typeNames.forEach(typeName => {\n let typeComposer\n if (schemaComposer.has(typeName)) {\n typeComposer = schemaComposer.getOTC(typeName)\n const runInfer = typeComposer.hasExtension(`infer`)\n ? typeComposer.getExtension(`infer`)\n : true\n if (runInfer) {\n if (!typeComposer.hasInterface(`Node`)) {\n noNodeInterfaceTypes.push(typeName)\n }\n typesToInfer.push(typeComposer)\n }\n } else {\n typeComposer = ObjectTypeComposer.create(typeName, schemaComposer)\n addNodeInterface({ schemaComposer, typeComposer })\n typeComposer.setExtension(`createdFrom`, `inference`)\n typesToInfer.push(typeComposer)\n }\n })\n\n if (noNodeInterfaceTypes.length > 0) {\n noNodeInterfaceTypes.forEach(typeName => {\n report.warn(\n `Type \\`${typeName}\\` declared in \\`createTypes\\` looks like a node, ` +\n `but doesn't implement a \\`Node\\` interface. It's likely that you should ` +\n `add the \\`Node\\` interface to your type def:\\n\\n` +\n `\\`type ${typeName} implements Node { ... }\\`\\n\\n` +\n `If you know that you don't want it to be a node (which would mean no ` +\n `root queries to retrieve it), you can explicitly disable inference ` +\n `for it:\\n\\n` +\n `\\`type ${typeName} @dontInfer { ... }\\``\n )\n })\n report.panic(`Building schema failed`)\n }\n\n return typesToInfer.map(typeComposer =>\n addInferredType({\n schemaComposer,\n typeComposer,\n typeConflictReporter,\n typeMapping,\n parentSpan,\n inferenceMetadata,\n })\n )\n}\n\nconst addInferredType = ({\n schemaComposer,\n typeComposer,\n typeConflictReporter,\n typeMapping,\n inferenceMetadata = {},\n parentSpan,\n}) => {\n const typeName = typeComposer.getTypeName()\n // TODO: Move this to where the type is created once we can get\n // node type owner information directly from store\n if (\n typeComposer.getExtension(`createdFrom`) === `inference` &&\n hasNodes(inferenceMetadata.typeMap[typeName])\n ) {\n let firstNode\n for (const node of getDataStore().iterateNodesByType(typeName)) {\n firstNode = node\n break\n }\n if (firstNode) {\n typeComposer.setExtension(`plugin`, firstNode.internal.owner)\n }\n }\n\n const exampleValue = getExampleObject({\n ...inferenceMetadata.typeMap[typeName],\n typeName,\n typeConflictReporter,\n })\n\n addInferredFields({\n schemaComposer,\n typeComposer,\n exampleValue,\n typeMapping,\n parentSpan,\n })\n return typeComposer\n}\n\nconst putFileFirst = typeNames => {\n const index = typeNames.indexOf(`File`)\n if (index !== -1) {\n return [`File`, ...typeNames.slice(0, index), ...typeNames.slice(index + 1)]\n } else {\n return typeNames\n }\n}\n\nmodule.exports = {\n addInferredType,\n addInferredTypes,\n}\n"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { Node } from "../../../index";
2
+ import { TypeConflictReporter } from "./type-conflict-reporter";
3
+ export interface ITypeInfo {
4
+ first?: string;
5
+ total: number;
6
+ example?: unknown;
7
+ }
8
+ export interface ITypeInfoString extends ITypeInfo {
9
+ empty: number;
10
+ example: string;
11
+ }
12
+ export interface ITypeInfoDate extends ITypeInfo {
13
+ example: string | Date;
14
+ }
15
+ export interface ITypeInfoNumber extends ITypeInfo {
16
+ example: number;
17
+ }
18
+ export interface ITypeInfoBoolean extends ITypeInfo {
19
+ example: boolean;
20
+ }
21
+ export interface ITypeInfoArray extends ITypeInfo {
22
+ item: IValueDescriptor;
23
+ }
24
+ export interface ITypeInfoRelatedNodes extends ITypeInfo {
25
+ nodes: {
26
+ [key: string]: number;
27
+ };
28
+ }
29
+ export interface ITypeInfoObject extends ITypeInfo {
30
+ dprops: {
31
+ [name: string]: IValueDescriptor;
32
+ };
33
+ }
34
+ export interface IValueDescriptor {
35
+ int?: ITypeInfoNumber;
36
+ float?: ITypeInfoNumber;
37
+ date?: ITypeInfoDate;
38
+ string?: ITypeInfoString;
39
+ boolean?: ITypeInfoBoolean;
40
+ array?: ITypeInfoArray;
41
+ relatedNode?: ITypeInfoRelatedNodes;
42
+ relatedNodeList?: ITypeInfoRelatedNodes;
43
+ object?: ITypeInfoObject;
44
+ }
45
+ export type ValueType = keyof IValueDescriptor;
46
+ export interface ITypeMetadata {
47
+ typeName?: string;
48
+ disabled?: boolean;
49
+ ignored?: boolean;
50
+ dirty?: boolean;
51
+ total?: number;
52
+ ignoredFields?: Set<string>;
53
+ fieldMap?: Record<string, IValueDescriptor>;
54
+ typeConflictReporter?: TypeConflictReporter;
55
+ [key: string]: unknown;
56
+ }
57
+ declare const ignore: (metadata?: ITypeMetadata, set?: boolean) => ITypeMetadata;
58
+ declare const disable: (metadata?: ITypeMetadata, set?: boolean) => ITypeMetadata;
59
+ declare const addNode: (metadata: ITypeMetadata, node: Node) => ITypeMetadata;
60
+ declare const deleteNode: (metadata: ITypeMetadata, node: Node) => ITypeMetadata;
61
+ declare const addNodes: (metadata: ITypeMetadata | undefined, nodes: Iterable<Node>) => ITypeMetadata;
62
+ declare const isEmpty: ({ fieldMap }: {
63
+ fieldMap: any;
64
+ }) => boolean;
65
+ declare const hasNodes: (typeMetadata: ITypeMetadata) => boolean;
66
+ declare const haveEqualFields: ({ fieldMap }?: {
67
+ fieldMap?: {} | undefined;
68
+ }, { fieldMap: otherFieldMap }?: {
69
+ fieldMap?: {} | undefined;
70
+ }) => boolean;
71
+ declare const initialMetadata: (state?: Record<string, unknown>) => ITypeMetadata;
72
+ export { addNode, addNodes, deleteNode, ignore, disable, isEmpty, hasNodes, haveEqualFields, initialMetadata, };
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.isEmpty = exports.initialMetadata = exports.ignore = exports.haveEqualFields = exports.hasNodes = exports.disable = exports.deleteNode = exports.addNodes = exports.addNode = void 0;
6
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
7
+ var _is32BitInteger = require("../../utils/is-32-bit-integer");
8
+ var _date = require("../types/date");
9
+ const getType = (value, key) => {
10
+ // Staying as close as possible to GraphQL types
11
+ switch (typeof value) {
12
+ case `number`:
13
+ return (0, _is32BitInteger.is32BitInteger)(value) ? `int` : `float`;
14
+ case `string`:
15
+ if (key.includes(`___NODE`)) {
16
+ return `relatedNode`;
17
+ }
18
+ return (0, _date.looksLikeADate)(value) ? `date` : `string`;
19
+ case `boolean`:
20
+ return `boolean`;
21
+ case `object`:
22
+ if (value === null) return `null`;
23
+ if (value instanceof Date) return `date`;
24
+ if (value instanceof String) return `string`;
25
+ if (Array.isArray(value)) {
26
+ if (value.length === 0) {
27
+ return `null`;
28
+ }
29
+ return key.includes(`___NODE`) ? `relatedNodeList` : `array`;
30
+ }
31
+ if (!Object.keys(value).length) return `null`;
32
+ return `object`;
33
+ default:
34
+ // bigint, symbol, function, unknown (host objects in IE were typeof "unknown", for example)
35
+ return `null`;
36
+ }
37
+ };
38
+ const updateValueDescriptorObject = (value, typeInfo, nodeId, operation, metadata, path) => {
39
+ path.push(value);
40
+ const {
41
+ dprops = {}
42
+ } = typeInfo;
43
+ typeInfo.dprops = dprops;
44
+ Object.keys(value).forEach(key => {
45
+ const v = value[key];
46
+ let descriptor = dprops[key];
47
+ if (descriptor === undefined) {
48
+ descriptor = {};
49
+ dprops[key] = descriptor;
50
+ }
51
+ updateValueDescriptor(nodeId, key, v, operation, descriptor, metadata, path);
52
+ });
53
+ path.pop();
54
+ };
55
+ const updateValueDescriptorArray = (value, key, typeInfo, nodeId, operation, metadata, path) => {
56
+ value.forEach(item => {
57
+ let descriptor = typeInfo.item;
58
+ if (descriptor === undefined) {
59
+ descriptor = {};
60
+ typeInfo.item = descriptor;
61
+ }
62
+ updateValueDescriptor(nodeId, key, item, operation, descriptor, metadata, path);
63
+ });
64
+ };
65
+ const updateValueDescriptorRelNodes = (listOfNodeIds, delta, operation, typeInfo, metadata) => {
66
+ const {
67
+ nodes = {}
68
+ } = typeInfo;
69
+ typeInfo.nodes = nodes;
70
+ listOfNodeIds.forEach(nodeId => {
71
+ nodes[nodeId] = (nodes[nodeId] || 0) + delta;
72
+
73
+ // Treat any new related node addition or removal as a structural change
74
+ // FIXME: this will produce false positives as this node can be
75
+ // of the same type as another node already in the map (but we don't know it here)
76
+ if (nodes[nodeId] === 0 || operation === `add` && nodes[nodeId] === 1) {
77
+ metadata.dirty = true;
78
+ }
79
+ });
80
+ };
81
+ const updateValueDescriptorString = (value, delta, typeInfo) => {
82
+ if (value === ``) {
83
+ const {
84
+ empty = 0
85
+ } = typeInfo;
86
+ typeInfo.empty = empty + delta;
87
+ }
88
+ typeInfo.example = typeof typeInfo.example !== `undefined` ? typeInfo.example : value;
89
+ };
90
+ const updateValueDescriptor = (nodeId, key, value, operation = `add`, descriptor, metadata, path) => {
91
+ // The object may be traversed multiple times from root.
92
+ // Each time it does it should not revisit the same node twice
93
+ if (path.includes(value)) {
94
+ return;
95
+ }
96
+ const typeName = getType(value, key);
97
+ if (typeName === `null`) {
98
+ return;
99
+ }
100
+ const delta = operation === `del` ? -1 : 1;
101
+ let typeInfo = descriptor[typeName];
102
+ if (typeInfo === undefined) {
103
+ // eslint-disable-next-line no-undef
104
+ typeInfo = descriptor[typeName] = {
105
+ total: 0
106
+ };
107
+ }
108
+ typeInfo.total += delta;
109
+
110
+ // Keeping track of structural changes
111
+ // (when value of a new type is added or an existing type has no more values assigned)
112
+ if (typeInfo.total === 0 || operation === `add` && typeInfo.total === 1) {
113
+ metadata.dirty = true;
114
+ }
115
+
116
+ // Keeping track of the first node for this type. Only used for better conflict reporting.
117
+ // (see Caveats section in the header comments)
118
+ if (operation === `add`) {
119
+ if (!typeInfo.first) {
120
+ typeInfo.first = nodeId;
121
+ }
122
+ } else if (operation === `del`) {
123
+ if (typeInfo.first === nodeId || typeInfo.total === 0) {
124
+ typeInfo.first = undefined;
125
+ }
126
+ }
127
+ switch (typeName) {
128
+ case `object`:
129
+ updateValueDescriptorObject(value, typeInfo, nodeId, operation, metadata, path);
130
+ return;
131
+ case `array`:
132
+ updateValueDescriptorArray(value, key, typeInfo, nodeId, operation, metadata, path);
133
+ return;
134
+ case `relatedNode`:
135
+ updateValueDescriptorRelNodes([value], delta, operation, typeInfo, metadata);
136
+ return;
137
+ case `relatedNodeList`:
138
+ updateValueDescriptorRelNodes(value, delta, operation, typeInfo, metadata);
139
+ return;
140
+ case `string`:
141
+ updateValueDescriptorString(value, delta, typeInfo);
142
+ return;
143
+ }
144
+
145
+ // int, float, boolean, null
146
+
147
+ typeInfo.example = typeof typeInfo.example !== `undefined` ? typeInfo.example : value;
148
+ };
149
+ const mergeObjectKeys = (dpropsKeysA = {}, dpropsKeysB = {}) => {
150
+ const dprops = Object.keys(dpropsKeysA);
151
+ const otherProps = Object.keys(dpropsKeysB);
152
+ return [...new Set(dprops.concat(otherProps))];
153
+ };
154
+ const descriptorsAreEqual = (descriptor, otherDescriptor) => {
155
+ const types = possibleTypes(descriptor);
156
+ const otherTypes = possibleTypes(otherDescriptor);
157
+ const childDescriptorsAreEqual = type => {
158
+ var _descriptor$array, _otherDescriptor$arra;
159
+ switch (type) {
160
+ case `array`:
161
+ return descriptorsAreEqual(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$array = descriptor.array) === null || _descriptor$array === void 0 ? void 0 : _descriptor$array.item, otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$arra = otherDescriptor.array) === null || _otherDescriptor$arra === void 0 ? void 0 : _otherDescriptor$arra.item);
162
+ case `object`:
163
+ {
164
+ var _descriptor$object, _otherDescriptor$obje;
165
+ const dpropsKeys = mergeObjectKeys(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$object = descriptor.object) === null || _descriptor$object === void 0 ? void 0 : _descriptor$object.dprops, otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$obje = otherDescriptor.object) === null || _otherDescriptor$obje === void 0 ? void 0 : _otherDescriptor$obje.dprops);
166
+ return dpropsKeys.every(prop => {
167
+ var _descriptor$object2, _otherDescriptor$obje2;
168
+ return descriptorsAreEqual(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$object2 = descriptor.object) === null || _descriptor$object2 === void 0 ? void 0 : _descriptor$object2.dprops[prop], otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$obje2 = otherDescriptor.object) === null || _otherDescriptor$obje2 === void 0 ? void 0 : _otherDescriptor$obje2.dprops[prop]);
169
+ });
170
+ }
171
+ case `relatedNode`:
172
+ {
173
+ var _descriptor$relatedNo, _otherDescriptor$rela;
174
+ const nodeIds = mergeObjectKeys(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$relatedNo = descriptor.relatedNode) === null || _descriptor$relatedNo === void 0 ? void 0 : _descriptor$relatedNo.nodes, otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$rela = otherDescriptor.relatedNode) === null || _otherDescriptor$rela === void 0 ? void 0 : _otherDescriptor$rela.nodes);
175
+ // Must be present in both descriptors or absent in both
176
+ // in order to be considered equal
177
+ return nodeIds.every(id => {
178
+ var _descriptor$relatedNo2, _otherDescriptor$rela2;
179
+ return Boolean(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$relatedNo2 = descriptor.relatedNode) === null || _descriptor$relatedNo2 === void 0 ? void 0 : _descriptor$relatedNo2.nodes[id]) === Boolean(otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$rela2 = otherDescriptor.relatedNode) === null || _otherDescriptor$rela2 === void 0 ? void 0 : _otherDescriptor$rela2.nodes[id]);
180
+ });
181
+ }
182
+ case `relatedNodeList`:
183
+ {
184
+ var _descriptor$relatedNo3, _otherDescriptor$rela3;
185
+ const nodeIds = mergeObjectKeys(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$relatedNo3 = descriptor.relatedNodeList) === null || _descriptor$relatedNo3 === void 0 ? void 0 : _descriptor$relatedNo3.nodes, otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$rela3 = otherDescriptor.relatedNodeList) === null || _otherDescriptor$rela3 === void 0 ? void 0 : _otherDescriptor$rela3.nodes);
186
+ return nodeIds.every(id => {
187
+ var _descriptor$relatedNo4, _otherDescriptor$rela4;
188
+ return Boolean(descriptor === null || descriptor === void 0 ? void 0 : (_descriptor$relatedNo4 = descriptor.relatedNodeList) === null || _descriptor$relatedNo4 === void 0 ? void 0 : _descriptor$relatedNo4.nodes[id]) === Boolean(otherDescriptor === null || otherDescriptor === void 0 ? void 0 : (_otherDescriptor$rela4 = otherDescriptor.relatedNodeList) === null || _otherDescriptor$rela4 === void 0 ? void 0 : _otherDescriptor$rela4.nodes[id]);
189
+ });
190
+ }
191
+ default:
192
+ return true;
193
+ }
194
+ };
195
+
196
+ // Equal when all possible types are equal (including conflicts)
197
+ return (0, _isEqual2.default)(types, otherTypes) && types.every(childDescriptorsAreEqual);
198
+ };
199
+ const nodeFields = (node, ignoredFields = new Set()) => Object.keys(node).filter(key => !ignoredFields.has(key));
200
+ const updateTypeMetadata = (metadata = initialMetadata(), operation, node) => {
201
+ if (metadata.disabled) {
202
+ return metadata;
203
+ }
204
+ metadata.total = (metadata.total || 0) + (operation === `add` ? 1 : -1);
205
+ if (metadata.ignored) {
206
+ return metadata;
207
+ }
208
+ const {
209
+ ignoredFields,
210
+ fieldMap = {}
211
+ } = metadata;
212
+ nodeFields(node, ignoredFields).forEach(field => {
213
+ let descriptor = fieldMap[field];
214
+ if (descriptor === undefined) {
215
+ descriptor = {};
216
+ fieldMap[field] = descriptor;
217
+ }
218
+ updateValueDescriptor(node.id, field, node[field], operation, descriptor, metadata, []);
219
+ });
220
+ metadata.fieldMap = fieldMap;
221
+ return metadata;
222
+ };
223
+ const ignore = (metadata = initialMetadata(), set = true) => {
224
+ metadata.ignored = set;
225
+ metadata.fieldMap = {};
226
+ return metadata;
227
+ };
228
+ exports.ignore = ignore;
229
+ const disable = (metadata = initialMetadata(), set = true) => {
230
+ metadata.disabled = set;
231
+ return metadata;
232
+ };
233
+ exports.disable = disable;
234
+ const addNode = (metadata, node) => updateTypeMetadata(metadata, `add`, node);
235
+ exports.addNode = addNode;
236
+ const deleteNode = (metadata, node) => updateTypeMetadata(metadata, `del`, node);
237
+ exports.deleteNode = deleteNode;
238
+ const addNodes = (metadata = initialMetadata(), nodes) => {
239
+ let state = metadata;
240
+ for (const node of nodes) {
241
+ state = addNode(state, node);
242
+ }
243
+ return state;
244
+ };
245
+ exports.addNodes = addNodes;
246
+ const possibleTypes = (descriptor = {}) => Object.keys(descriptor).filter(type => descriptor[type].total > 0);
247
+ const isEmpty = ({
248
+ fieldMap
249
+ }) => Object.keys(fieldMap).every(field => possibleTypes(fieldMap[field]).length === 0);
250
+
251
+ // Even empty type may still have nodes
252
+ exports.isEmpty = isEmpty;
253
+ const hasNodes = typeMetadata => {
254
+ var _typeMetadata$total;
255
+ return ((_typeMetadata$total = typeMetadata.total) !== null && _typeMetadata$total !== void 0 ? _typeMetadata$total : 0) > 0;
256
+ };
257
+ exports.hasNodes = hasNodes;
258
+ const haveEqualFields = ({
259
+ fieldMap = {}
260
+ } = {}, {
261
+ fieldMap: otherFieldMap = {}
262
+ } = {}) => {
263
+ const fields = mergeObjectKeys(fieldMap, otherFieldMap);
264
+ return fields.every(field => descriptorsAreEqual(fieldMap[field], otherFieldMap[field]));
265
+ };
266
+ exports.haveEqualFields = haveEqualFields;
267
+ const initialMetadata = state => {
268
+ return {
269
+ typeName: undefined,
270
+ disabled: false,
271
+ ignored: false,
272
+ dirty: false,
273
+ total: 0,
274
+ ignoredFields: undefined,
275
+ fieldMap: {},
276
+ ...state
277
+ };
278
+ };
279
+ exports.initialMetadata = initialMetadata;
280
+ //# sourceMappingURL=inference-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference-metadata.js","names":["getType","value","key","is32BitInteger","includes","looksLikeADate","Date","String","Array","isArray","length","Object","keys","updateValueDescriptorObject","typeInfo","nodeId","operation","metadata","path","push","dprops","forEach","v","descriptor","undefined","updateValueDescriptor","pop","updateValueDescriptorArray","item","updateValueDescriptorRelNodes","listOfNodeIds","delta","nodes","dirty","updateValueDescriptorString","empty","example","typeName","total","first","mergeObjectKeys","dpropsKeysA","dpropsKeysB","otherProps","Set","concat","descriptorsAreEqual","otherDescriptor","types","possibleTypes","otherTypes","childDescriptorsAreEqual","type","array","dpropsKeys","object","every","prop","nodeIds","relatedNode","id","Boolean","relatedNodeList","nodeFields","node","ignoredFields","filter","has","updateTypeMetadata","initialMetadata","disabled","ignored","fieldMap","field","ignore","set","disable","addNode","deleteNode","addNodes","state","isEmpty","hasNodes","typeMetadata","haveEqualFields","otherFieldMap","fields"],"sources":["../../../src/schema/infer/inference-metadata.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\n/*\n## Incrementally track the structure of nodes with metadata\n\nThis metadata can be later utilized for schema inference\n(via building `exampleValue` or directly)\n\n### Usage example:\n\n```javascript\n const node1 = { id: '1', foo: 25, bar: 'str' }\n const node2 = { id: '1', foo: 'conflict' }\n\n let meta = { ignoredFields: new Set(['id']) }\n meta = addNode(meta, node1)\n meta = addNode(meta, node2)\n console.log(meta.fieldMap)\n // outputs: {\n // foo: {\n // int: { total: 1, example: 25 },\n // string: { total: 1, example: 'conflict' },\n // },\n // bar: {\n // string: { total: 1, example: 'str' },\n // },\n // }\n\n const example1 = getExampleObject({ meta, typeName, typeConflictReporter })\n console.log(example1)\n // outputs { bar: 'str' }\n // and reports conflicts discovered\n\n meta = deleteNode(meta, node2)\n console.log(meta.fieldMap)\n // outputs: {\n // foo: {\n // int: { total: 1, example: 25 },\n // string: { total: 0, example: 'conflict' },\n // },\n // bar: { string: { total: 1, example: 'str' } },\n // }\n\n const example2 = getExampleObject({ meta, typeName, typeConflictReporter })\n // outputs: { foo: 25, bar: 'str' }\n```\n\n`addNode`, `deleteNode`, `getExampleObject` are O(N) where N is the number\nof fields in the node object (including nested fields)\n\n### Caveats\n\n* Conflict tracking for arrays is tricky, i.e.: { a: [5, \"foo\"] } and { a: [5] }, { a: [\"foo\"] }\n are represented identically in metadata. To workaround it we additionally track first NodeId:\n { a: { array: { item: { int: { total: 1, first: `1` }, string: { total: 1, first: `1` } }}\n { a: { array: { item: { int: { total: 1, first: `1` }, string: { total: 1, first: `2` } }}\n This way we can produce more useful conflict reports\n (still rare edge cases possible when reporting may be confusing, i.e. when node is deleted)\n*/\n\nimport { isEqual } from \"lodash\"\nimport { is32BitInteger } from \"../../utils/is-32-bit-integer\"\nimport { looksLikeADate } from \"../types/date\"\nimport { Node } from \"../../../index\"\nimport { TypeConflictReporter } from \"./type-conflict-reporter\"\n\nexport interface ITypeInfo {\n first?: string\n total: number\n example?: unknown\n}\n\nexport interface ITypeInfoString extends ITypeInfo {\n empty: number\n example: string\n}\n\nexport interface ITypeInfoDate extends ITypeInfo {\n example: string | Date\n}\n\nexport interface ITypeInfoNumber extends ITypeInfo {\n example: number\n}\n\nexport interface ITypeInfoBoolean extends ITypeInfo {\n example: boolean\n}\n\nexport interface ITypeInfoArray extends ITypeInfo {\n item: IValueDescriptor\n}\n\nexport interface ITypeInfoRelatedNodes extends ITypeInfo {\n nodes: { [key: string]: number }\n}\n\nexport interface ITypeInfoObject extends ITypeInfo {\n dprops: {\n [name: string]: IValueDescriptor\n }\n}\n\nexport interface IValueDescriptor {\n int?: ITypeInfoNumber\n float?: ITypeInfoNumber\n date?: ITypeInfoDate\n string?: ITypeInfoString\n boolean?: ITypeInfoBoolean\n array?: ITypeInfoArray\n relatedNode?: ITypeInfoRelatedNodes\n relatedNodeList?: ITypeInfoRelatedNodes\n object?: ITypeInfoObject\n}\n\nexport type ValueType = keyof IValueDescriptor\n\nexport interface ITypeMetadata {\n typeName?: string\n disabled?: boolean\n ignored?: boolean\n dirty?: boolean\n total?: number\n ignoredFields?: Set<string>\n fieldMap?: Record<string, IValueDescriptor>\n typeConflictReporter?: TypeConflictReporter\n [key: string]: unknown\n}\n\ntype Operation = \"add\" | \"del\"\n\nconst getType = (value: unknown, key: string): ValueType | \"null\" => {\n // Staying as close as possible to GraphQL types\n switch (typeof value) {\n case `number`:\n return is32BitInteger(value) ? `int` : `float`\n case `string`:\n if (key.includes(`___NODE`)) {\n return `relatedNode`\n }\n return looksLikeADate(value) ? `date` : `string`\n case `boolean`:\n return `boolean`\n case `object`:\n if (value === null) return `null`\n if (value instanceof Date) return `date`\n if (value instanceof String) return `string`\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return `null`\n }\n return key.includes(`___NODE`) ? `relatedNodeList` : `array`\n }\n if (!Object.keys(value).length) return `null`\n return `object`\n default:\n // bigint, symbol, function, unknown (host objects in IE were typeof \"unknown\", for example)\n return `null`\n }\n}\n\nconst updateValueDescriptorObject = (\n value: Record<string, unknown>,\n typeInfo: ITypeInfoObject,\n nodeId: string,\n operation: Operation,\n metadata: ITypeMetadata,\n path: Array<Record<string, unknown>>\n): void => {\n path.push(value)\n\n const { dprops = {} } = typeInfo\n typeInfo.dprops = dprops\n\n Object.keys(value).forEach(key => {\n const v = value[key]\n\n let descriptor = dprops[key]\n if (descriptor === undefined) {\n descriptor = {}\n dprops[key] = descriptor\n }\n\n updateValueDescriptor(nodeId, key, v, operation, descriptor, metadata, path)\n })\n\n path.pop()\n}\n\nconst updateValueDescriptorArray = (\n value: Array<unknown>,\n key: string,\n typeInfo: ITypeInfoArray,\n nodeId: string,\n operation: Operation,\n metadata: ITypeMetadata,\n path: Array<Record<string, unknown>>\n): void => {\n value.forEach(item => {\n let descriptor = typeInfo.item\n if (descriptor === undefined) {\n descriptor = {}\n typeInfo.item = descriptor\n }\n\n updateValueDescriptor(\n nodeId,\n key,\n item,\n operation,\n descriptor,\n metadata,\n path\n )\n })\n}\n\nconst updateValueDescriptorRelNodes = (\n listOfNodeIds: Array<string>,\n delta: number,\n operation: Operation,\n typeInfo: ITypeInfoRelatedNodes,\n metadata: ITypeMetadata\n): void => {\n const { nodes = {} } = typeInfo\n typeInfo.nodes = nodes\n\n listOfNodeIds.forEach(nodeId => {\n nodes[nodeId] = (nodes[nodeId] || 0) + delta\n\n // Treat any new related node addition or removal as a structural change\n // FIXME: this will produce false positives as this node can be\n // of the same type as another node already in the map (but we don't know it here)\n if (nodes[nodeId] === 0 || (operation === `add` && nodes[nodeId] === 1)) {\n metadata.dirty = true\n }\n })\n}\n\nconst updateValueDescriptorString = (\n value: string,\n delta: number,\n typeInfo: ITypeInfoString\n): void => {\n if (value === ``) {\n const { empty = 0 } = typeInfo\n typeInfo.empty = empty + delta\n }\n typeInfo.example =\n typeof typeInfo.example !== `undefined` ? typeInfo.example : value\n}\n\nconst updateValueDescriptor = (\n nodeId: string,\n key: string,\n value: unknown,\n operation: Operation = `add`,\n descriptor: IValueDescriptor,\n metadata: ITypeMetadata,\n path: Array<Record<string, unknown>>\n): void => {\n // The object may be traversed multiple times from root.\n // Each time it does it should not revisit the same node twice\n if (path.includes(value as Record<string, unknown>)) {\n return\n }\n\n const typeName = getType(value, key)\n\n if (typeName === `null`) {\n return\n }\n\n const delta = operation === `del` ? -1 : 1\n\n let typeInfo: ITypeInfo | undefined = descriptor[typeName]\n if (typeInfo === undefined) {\n // eslint-disable-next-line no-undef\n typeInfo = (descriptor[typeName] as ITypeInfo) = { total: 0 }\n }\n typeInfo.total += delta\n\n // Keeping track of structural changes\n // (when value of a new type is added or an existing type has no more values assigned)\n if (typeInfo.total === 0 || (operation === `add` && typeInfo.total === 1)) {\n metadata.dirty = true\n }\n\n // Keeping track of the first node for this type. Only used for better conflict reporting.\n // (see Caveats section in the header comments)\n if (operation === `add`) {\n if (!typeInfo.first) {\n typeInfo.first = nodeId\n }\n } else if (operation === `del`) {\n if (typeInfo.first === nodeId || typeInfo.total === 0) {\n typeInfo.first = undefined\n }\n }\n\n switch (typeName) {\n case `object`:\n updateValueDescriptorObject(\n value as Record<string, unknown>,\n typeInfo as ITypeInfoObject,\n nodeId,\n operation,\n metadata,\n path\n )\n return\n case `array`:\n updateValueDescriptorArray(\n value as Array<unknown>,\n key,\n typeInfo as ITypeInfoArray,\n nodeId,\n operation,\n metadata,\n path\n )\n return\n case `relatedNode`:\n updateValueDescriptorRelNodes(\n [value as string],\n delta,\n operation,\n typeInfo as ITypeInfoRelatedNodes,\n metadata\n )\n return\n case `relatedNodeList`:\n updateValueDescriptorRelNodes(\n value as Array<string>,\n delta,\n operation,\n typeInfo as ITypeInfoRelatedNodes,\n metadata\n )\n return\n case `string`:\n updateValueDescriptorString(\n value as string,\n delta,\n typeInfo as ITypeInfoString\n )\n return\n }\n\n // int, float, boolean, null\n\n typeInfo.example =\n typeof typeInfo.example !== `undefined` ? typeInfo.example : value\n}\n\nconst mergeObjectKeys = (\n dpropsKeysA: Record<string, unknown> = {},\n dpropsKeysB: Record<string, unknown> = {}\n): Array<string> => {\n const dprops = Object.keys(dpropsKeysA)\n const otherProps = Object.keys(dpropsKeysB)\n return [...new Set(dprops.concat(otherProps))]\n}\n\nconst descriptorsAreEqual = (\n descriptor?: IValueDescriptor,\n otherDescriptor?: IValueDescriptor\n): boolean => {\n const types = possibleTypes(descriptor)\n const otherTypes = possibleTypes(otherDescriptor)\n\n const childDescriptorsAreEqual = (type: string): boolean => {\n switch (type) {\n case `array`:\n return descriptorsAreEqual(\n descriptor?.array?.item,\n otherDescriptor?.array?.item\n )\n case `object`: {\n const dpropsKeys = mergeObjectKeys(\n descriptor?.object?.dprops,\n otherDescriptor?.object?.dprops\n )\n return dpropsKeys.every(prop =>\n descriptorsAreEqual(\n descriptor?.object?.dprops[prop],\n otherDescriptor?.object?.dprops[prop]\n )\n )\n }\n case `relatedNode`: {\n const nodeIds = mergeObjectKeys(\n descriptor?.relatedNode?.nodes,\n otherDescriptor?.relatedNode?.nodes\n )\n // Must be present in both descriptors or absent in both\n // in order to be considered equal\n return nodeIds.every(\n id =>\n Boolean(descriptor?.relatedNode?.nodes[id]) ===\n Boolean(otherDescriptor?.relatedNode?.nodes[id])\n )\n }\n case `relatedNodeList`: {\n const nodeIds = mergeObjectKeys(\n descriptor?.relatedNodeList?.nodes,\n otherDescriptor?.relatedNodeList?.nodes\n )\n return nodeIds.every(\n id =>\n Boolean(descriptor?.relatedNodeList?.nodes[id]) ===\n Boolean(otherDescriptor?.relatedNodeList?.nodes[id])\n )\n }\n default:\n return true\n }\n }\n\n // Equal when all possible types are equal (including conflicts)\n return isEqual(types, otherTypes) && types.every(childDescriptorsAreEqual)\n}\n\nconst nodeFields = (node: Node, ignoredFields = new Set()): Array<string> =>\n Object.keys(node).filter(key => !ignoredFields.has(key))\n\nconst updateTypeMetadata = (\n metadata = initialMetadata(),\n operation: Operation,\n node: Node\n): ITypeMetadata => {\n if (metadata.disabled) {\n return metadata\n }\n metadata.total = (metadata.total || 0) + (operation === `add` ? 1 : -1)\n if (metadata.ignored) {\n return metadata\n }\n const { ignoredFields, fieldMap = {} } = metadata\n\n nodeFields(node, ignoredFields).forEach(field => {\n let descriptor = fieldMap[field]\n if (descriptor === undefined) {\n descriptor = {}\n fieldMap[field] = descriptor\n }\n\n updateValueDescriptor(\n node.id,\n field,\n node[field],\n operation,\n descriptor,\n metadata,\n []\n )\n })\n metadata.fieldMap = fieldMap\n return metadata\n}\n\nconst ignore = (metadata = initialMetadata(), set = true): ITypeMetadata => {\n metadata.ignored = set\n metadata.fieldMap = {}\n return metadata\n}\n\nconst disable = (metadata = initialMetadata(), set = true): ITypeMetadata => {\n metadata.disabled = set\n return metadata\n}\n\nconst addNode = (metadata: ITypeMetadata, node: Node): ITypeMetadata =>\n updateTypeMetadata(metadata, `add`, node)\n\nconst deleteNode = (metadata: ITypeMetadata, node: Node): ITypeMetadata =>\n updateTypeMetadata(metadata, `del`, node)\n\nconst addNodes = (\n metadata = initialMetadata(),\n nodes: Iterable<Node>\n): ITypeMetadata => {\n let state = metadata\n for (const node of nodes) {\n state = addNode(state, node)\n }\n return state\n}\n\nconst possibleTypes = (descriptor: IValueDescriptor = {}): Array<ValueType> =>\n Object.keys(descriptor).filter(\n type => descriptor[type].total > 0\n ) as Array<ValueType>\n\nconst isEmpty = ({ fieldMap }): boolean =>\n Object.keys(fieldMap).every(\n field => possibleTypes(fieldMap[field]).length === 0\n )\n\n// Even empty type may still have nodes\nconst hasNodes = (typeMetadata: ITypeMetadata): boolean =>\n (typeMetadata.total ?? 0) > 0\n\nconst haveEqualFields = (\n { fieldMap = {} } = {},\n { fieldMap: otherFieldMap = {} } = {}\n): boolean => {\n const fields = mergeObjectKeys(fieldMap, otherFieldMap)\n return fields.every(field =>\n descriptorsAreEqual(fieldMap[field], otherFieldMap[field])\n )\n}\n\nconst initialMetadata = (state?: Record<string, unknown>): ITypeMetadata => {\n return {\n typeName: undefined,\n disabled: false,\n ignored: false,\n dirty: false,\n total: 0,\n ignoredFields: undefined,\n fieldMap: {},\n ...state,\n }\n}\n\nexport {\n addNode,\n addNodes,\n deleteNode,\n ignore,\n disable,\n isEmpty,\n hasNodes,\n haveEqualFields,\n initialMetadata,\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const isFile: (fieldPath: string, relativePath: string) => boolean;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.isFile = void 0;
6
+ var _path = _interopRequireDefault(require("path"));
7
+ var _gatsbyCoreUtils = require("gatsby-core-utils");
8
+ var _mime = _interopRequireDefault(require("mime"));
9
+ var _isRelative = _interopRequireDefault(require("is-relative"));
10
+ var _isRelativeUrl = _interopRequireDefault(require("is-relative-url"));
11
+ var _getValueAt = require("../../utils/get-value-at");
12
+ var _datastore = require("../../datastore");
13
+ const getFirstValueAt = (node, selector) => {
14
+ let value = (0, _getValueAt.getValueAt)(node, selector);
15
+ while (Array.isArray(value)) {
16
+ value = value[0];
17
+ }
18
+ return value;
19
+ };
20
+ const withBaseDir = dir => p => _path.default.posix.join(dir, (0, _gatsbyCoreUtils.slash)(p));
21
+ const findAncestorNode = (childNode, predicate) => {
22
+ let node = childNode;
23
+ do {
24
+ if (predicate(node)) {
25
+ return node;
26
+ }
27
+ node = (0, _datastore.getNode)(node.parent);
28
+ } while (node !== undefined);
29
+ return null;
30
+ };
31
+ const getBaseDir = node => {
32
+ if (node) {
33
+ const {
34
+ dir
35
+ } = findAncestorNode(node, node => node.internal.type === `File`) || {
36
+ dir: ``
37
+ };
38
+ return typeof dir === `string` ? dir : null;
39
+ }
40
+ return null;
41
+ };
42
+ const getAbsolutePath = (node, relativePath) => {
43
+ const dir = getBaseDir(node);
44
+ const withDir = withBaseDir(dir !== null && dir !== void 0 ? dir : ``);
45
+ return dir ? Array.isArray(relativePath) ? relativePath.map(withDir) : withDir(relativePath) : null;
46
+ };
47
+ const getFilePath = (fieldPath, relativePath) => {
48
+ const [typeName, ...selector] = Array.isArray(fieldPath) ? fieldPath : fieldPath.split(`.`);
49
+ if (typeName === `File`) return null;
50
+ const looksLikeFile = !_path.default.isAbsolute(relativePath) && _mime.default.getType(relativePath) !== null &&
51
+ // FIXME: Do we need all of this?
52
+ _mime.default.getType(relativePath) !== `application/x-msdownload` && (0, _isRelative.default)(relativePath) && (0, _isRelativeUrl.default)(relativePath);
53
+ if (!looksLikeFile) return null;
54
+ const normalizedPath = (0, _gatsbyCoreUtils.slash)(relativePath);
55
+ const node = (0, _datastore.getNodesByType)(typeName).find(node => getFirstValueAt(node, selector) === normalizedPath);
56
+ return node ? getAbsolutePath(node, normalizedPath) : null;
57
+ };
58
+ const isFile = (fieldPath, relativePath) => {
59
+ const filePath = getFilePath(fieldPath, relativePath);
60
+ if (!filePath) return false;
61
+ const filePathExists = (0, _datastore.getNodesByType)(`File`).some(node => node.absolutePath === filePath);
62
+ return filePathExists;
63
+ };
64
+ exports.isFile = isFile;
65
+ //# sourceMappingURL=is-file.js.map