@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.
- package/LICENSE +22 -0
- package/README.md +142 -0
- package/adapters.js +31 -0
- package/apis.json +73 -0
- package/cache-dir/.eslintrc.json +10 -0
- package/cache-dir/api-runner-browser-plugins.js +14 -0
- package/cache-dir/api-runner-browser.js +52 -0
- package/cache-dir/api-runner-ssr.js +88 -0
- package/cache-dir/api-ssr-docs.js +207 -0
- package/cache-dir/app.js +249 -0
- package/cache-dir/blank.css +0 -0
- package/cache-dir/commonjs/api-runner-browser-plugins.js +17 -0
- package/cache-dir/commonjs/api-runner-browser-plugins.js.map +1 -0
- package/cache-dir/commonjs/api-runner-browser.js +49 -0
- package/cache-dir/commonjs/api-runner-browser.js.map +1 -0
- package/cache-dir/commonjs/api-runner-ssr.js +88 -0
- package/cache-dir/commonjs/api-runner-ssr.js.map +1 -0
- package/cache-dir/commonjs/api-ssr-docs.js +210 -0
- package/cache-dir/commonjs/api-ssr-docs.js.map +1 -0
- package/cache-dir/commonjs/app.js +197 -0
- package/cache-dir/commonjs/app.js.map +1 -0
- package/cache-dir/commonjs/context-utils.js +25 -0
- package/cache-dir/commonjs/context-utils.js.map +1 -0
- package/cache-dir/commonjs/create-content-digest-browser-shim.js +4 -0
- package/cache-dir/commonjs/create-content-digest-browser-shim.js.map +1 -0
- package/cache-dir/commonjs/css-to-object.js +21 -0
- package/cache-dir/commonjs/css-to-object.js.map +1 -0
- package/cache-dir/commonjs/debug-log.js +11 -0
- package/cache-dir/commonjs/debug-log.js.map +1 -0
- package/cache-dir/commonjs/default-html.js +33 -0
- package/cache-dir/commonjs/default-html.js.map +1 -0
- package/cache-dir/commonjs/dev-loader.js +247 -0
- package/cache-dir/commonjs/dev-loader.js.map +1 -0
- package/cache-dir/commonjs/develop-static-entry.js +129 -0
- package/cache-dir/commonjs/develop-static-entry.js.map +1 -0
- package/cache-dir/commonjs/dummy.js +8 -0
- package/cache-dir/commonjs/dummy.js.map +1 -0
- package/cache-dir/commonjs/emitter.js +10 -0
- package/cache-dir/commonjs/emitter.js.map +1 -0
- package/cache-dir/commonjs/ensure-resources.js +107 -0
- package/cache-dir/commonjs/ensure-resources.js.map +1 -0
- package/cache-dir/commonjs/error-overlay-handler.js +35 -0
- package/cache-dir/commonjs/error-overlay-handler.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/accordion.js +80 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/accordion.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/build-error.js +44 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/build-error.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/code-frame.js +38 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/code-frame.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/dev-ssr-error.js +52 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/dev-ssr-error.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/error-boundary.js +31 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/error-boundary.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/getserverdata-error.js +47 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/getserverdata-error.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/graphql-errors.js +77 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/graphql-errors.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/hooks.js +93 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/hooks.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/overlay.js +147 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/overlay.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/runtime-errors.js +110 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/runtime-errors.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/use-id.js +50 -0
- package/cache-dir/commonjs/fast-refresh-overlay/components/use-id.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/focus-trap.js +2879 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/focus-trap.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/keys.js +84 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/keys.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/lock-body.js +48 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/lock-body.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/match.js +44 -0
- package/cache-dir/commonjs/fast-refresh-overlay/helpers/match.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/index.js +182 -0
- package/cache-dir/commonjs/fast-refresh-overlay/index.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/style.js +418 -0
- package/cache-dir/commonjs/fast-refresh-overlay/style.js.map +1 -0
- package/cache-dir/commonjs/fast-refresh-overlay/utils.js +75 -0
- package/cache-dir/commonjs/fast-refresh-overlay/utils.js.map +1 -0
- package/cache-dir/commonjs/find-path.js +145 -0
- package/cache-dir/commonjs/find-path.js.map +1 -0
- package/cache-dir/commonjs/gatsby-browser-entry.js +52 -0
- package/cache-dir/commonjs/gatsby-browser-entry.js.map +1 -0
- package/cache-dir/commonjs/head/components/fire-callback-in-effect.js +18 -0
- package/cache-dir/commonjs/head/components/fire-callback-in-effect.js.map +1 -0
- package/cache-dir/commonjs/head/components/head-components.js +72 -0
- package/cache-dir/commonjs/head/components/head-components.js.map +1 -0
- package/cache-dir/commonjs/head/constants.js +13 -0
- package/cache-dir/commonjs/head/constants.js.map +1 -0
- package/cache-dir/commonjs/head/head-export-handler-for-browser.js +144 -0
- package/cache-dir/commonjs/head/head-export-handler-for-browser.js.map +1 -0
- package/cache-dir/commonjs/head/head-export-handler-for-ssr.js +225 -0
- package/cache-dir/commonjs/head/head-export-handler-for-ssr.js.map +1 -0
- package/cache-dir/commonjs/head/utils.js +264 -0
- package/cache-dir/commonjs/head/utils.js.map +1 -0
- package/cache-dir/commonjs/loader.js +861 -0
- package/cache-dir/commonjs/loader.js.map +1 -0
- package/cache-dir/commonjs/loading-indicator/index.js +25 -0
- package/cache-dir/commonjs/loading-indicator/index.js.map +1 -0
- package/cache-dir/commonjs/loading-indicator/indicator.js +63 -0
- package/cache-dir/commonjs/loading-indicator/indicator.js.map +1 -0
- package/cache-dir/commonjs/loading-indicator/style.js +103 -0
- package/cache-dir/commonjs/loading-indicator/style.js.map +1 -0
- package/cache-dir/commonjs/navigation.js +260 -0
- package/cache-dir/commonjs/navigation.js.map +1 -0
- package/cache-dir/commonjs/normalize-page-path.js +22 -0
- package/cache-dir/commonjs/normalize-page-path.js.map +1 -0
- package/cache-dir/commonjs/page-renderer.js +59 -0
- package/cache-dir/commonjs/page-renderer.js.map +1 -0
- package/cache-dir/commonjs/pages.json +1 -0
- package/cache-dir/commonjs/polyfill-entry.js +7 -0
- package/cache-dir/commonjs/polyfill-entry.js.map +1 -0
- package/cache-dir/commonjs/prefetch.js +67 -0
- package/cache-dir/commonjs/prefetch.js.map +1 -0
- package/cache-dir/commonjs/production-app.js +256 -0
- package/cache-dir/commonjs/production-app.js.map +1 -0
- package/cache-dir/commonjs/public-page-renderer-dev.js +26 -0
- package/cache-dir/commonjs/public-page-renderer-dev.js.map +1 -0
- package/cache-dir/commonjs/public-page-renderer-prod.js +30 -0
- package/cache-dir/commonjs/public-page-renderer-prod.js.map +1 -0
- package/cache-dir/commonjs/public-page-renderer.js +11 -0
- package/cache-dir/commonjs/public-page-renderer.js.map +1 -0
- package/cache-dir/commonjs/query-result-store.js +160 -0
- package/cache-dir/commonjs/query-result-store.js.map +1 -0
- package/cache-dir/commonjs/react-dom-utils.js +34 -0
- package/cache-dir/commonjs/react-dom-utils.js.map +1 -0
- package/cache-dir/commonjs/react-lifecycles-compat.js +4 -0
- package/cache-dir/commonjs/react-lifecycles-compat.js.map +1 -0
- package/cache-dir/commonjs/redirect-utils.js +25 -0
- package/cache-dir/commonjs/redirect-utils.js.map +1 -0
- package/cache-dir/commonjs/redirects.json +1 -0
- package/cache-dir/commonjs/register-service-worker.js +66 -0
- package/cache-dir/commonjs/register-service-worker.js.map +1 -0
- package/cache-dir/commonjs/root.js +105 -0
- package/cache-dir/commonjs/root.js.map +1 -0
- package/cache-dir/commonjs/route-announcer-props.js +24 -0
- package/cache-dir/commonjs/route-announcer-props.js.map +1 -0
- package/cache-dir/commonjs/server-utils/writable-as-promise.js +42 -0
- package/cache-dir/commonjs/server-utils/writable-as-promise.js.map +1 -0
- package/cache-dir/commonjs/shadow-portal.js +36 -0
- package/cache-dir/commonjs/shadow-portal.js.map +1 -0
- package/cache-dir/commonjs/slice/context.js +15 -0
- package/cache-dir/commonjs/slice/context.js.map +1 -0
- package/cache-dir/commonjs/slice/inline-slice.js +34 -0
- package/cache-dir/commonjs/slice/inline-slice.js.map +1 -0
- package/cache-dir/commonjs/slice/server-slice-renderer.js +29 -0
- package/cache-dir/commonjs/slice/server-slice-renderer.js.map +1 -0
- package/cache-dir/commonjs/slice/server-slice.js +54 -0
- package/cache-dir/commonjs/slice/server-slice.js.map +1 -0
- package/cache-dir/commonjs/slice.js +124 -0
- package/cache-dir/commonjs/slice.js.map +1 -0
- package/cache-dir/commonjs/socketIo.js +62 -0
- package/cache-dir/commonjs/socketIo.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/child_process.js +8 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/child_process.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/fs.js +7 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/fs.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/http.js +9 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/http.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/http2.js +7 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/http2.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/https.js +9 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/https.js.map +1 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js +55 -0
- package/cache-dir/commonjs/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js.map +1 -0
- package/cache-dir/commonjs/ssr-develop-static-entry.js +366 -0
- package/cache-dir/commonjs/ssr-develop-static-entry.js.map +1 -0
- package/cache-dir/commonjs/static-entry.js +544 -0
- package/cache-dir/commonjs/static-entry.js.map +1 -0
- package/cache-dir/commonjs/static-query.js +74 -0
- package/cache-dir/commonjs/static-query.js.map +1 -0
- package/cache-dir/commonjs/strip-prefix.js +22 -0
- package/cache-dir/commonjs/strip-prefix.js.map +1 -0
- package/cache-dir/context-utils.js +29 -0
- package/cache-dir/create-content-digest-browser-shim.js +1 -0
- package/cache-dir/css-to-object.js +19 -0
- package/cache-dir/debug-log.js +13 -0
- package/cache-dir/default-html.js +36 -0
- package/cache-dir/dev-loader.js +280 -0
- package/cache-dir/develop-static-entry.js +129 -0
- package/cache-dir/dummy.js +2 -0
- package/cache-dir/emitter.js +4 -0
- package/cache-dir/ensure-resources.js +119 -0
- package/cache-dir/error-overlay-handler.js +36 -0
- package/cache-dir/fast-refresh-overlay/components/accordion.js +83 -0
- package/cache-dir/fast-refresh-overlay/components/build-error.js +46 -0
- package/cache-dir/fast-refresh-overlay/components/code-frame.js +38 -0
- package/cache-dir/fast-refresh-overlay/components/dev-ssr-error.js +66 -0
- package/cache-dir/fast-refresh-overlay/components/error-boundary.js +28 -0
- package/cache-dir/fast-refresh-overlay/components/getserverdata-error.js +53 -0
- package/cache-dir/fast-refresh-overlay/components/graphql-errors.js +100 -0
- package/cache-dir/fast-refresh-overlay/components/hooks.js +102 -0
- package/cache-dir/fast-refresh-overlay/components/overlay.js +143 -0
- package/cache-dir/fast-refresh-overlay/components/runtime-errors.js +139 -0
- package/cache-dir/fast-refresh-overlay/components/use-id.js +56 -0
- package/cache-dir/fast-refresh-overlay/helpers/focus-trap.js +3561 -0
- package/cache-dir/fast-refresh-overlay/helpers/keys.js +80 -0
- package/cache-dir/fast-refresh-overlay/helpers/lock-body.js +52 -0
- package/cache-dir/fast-refresh-overlay/helpers/match.js +42 -0
- package/cache-dir/fast-refresh-overlay/index.js +147 -0
- package/cache-dir/fast-refresh-overlay/style.js +413 -0
- package/cache-dir/fast-refresh-overlay/utils.js +81 -0
- package/cache-dir/find-path.js +160 -0
- package/cache-dir/gatsby-browser-entry.js +27 -0
- package/cache-dir/head/components/fire-callback-in-effect.js +12 -0
- package/cache-dir/head/components/head-components.js +86 -0
- package/cache-dir/head/constants.js +15 -0
- package/cache-dir/head/head-export-handler-for-browser.js +170 -0
- package/cache-dir/head/head-export-handler-for-ssr.js +237 -0
- package/cache-dir/head/utils.js +287 -0
- package/cache-dir/loader.js +977 -0
- package/cache-dir/loading-indicator/index.js +19 -0
- package/cache-dir/loading-indicator/indicator.js +65 -0
- package/cache-dir/loading-indicator/style.js +99 -0
- package/cache-dir/navigation.js +257 -0
- package/cache-dir/normalize-page-path.js +17 -0
- package/cache-dir/page-renderer.js +59 -0
- package/cache-dir/page-ssr/index.d.ts +76 -0
- package/cache-dir/pages.json +1 -0
- package/cache-dir/polyfill-entry.js +5 -0
- package/cache-dir/prefetch.js +80 -0
- package/cache-dir/production-app.js +340 -0
- package/cache-dir/public-page-renderer-dev.js +21 -0
- package/cache-dir/public-page-renderer-prod.js +25 -0
- package/cache-dir/public-page-renderer.js +9 -0
- package/cache-dir/query-engine/index.d.ts +31 -0
- package/cache-dir/query-result-store.js +197 -0
- package/cache-dir/react-dom-utils.js +38 -0
- package/cache-dir/react-lifecycles-compat.js +1 -0
- package/cache-dir/redirect-utils.js +22 -0
- package/cache-dir/redirects.json +1 -0
- package/cache-dir/register-service-worker.js +64 -0
- package/cache-dir/root.js +147 -0
- package/cache-dir/route-announcer-props.js +18 -0
- package/cache-dir/server-utils/writable-as-promise.js +41 -0
- package/cache-dir/shadow-portal.js +28 -0
- package/cache-dir/slice/context.js +13 -0
- package/cache-dir/slice/inline-slice.js +34 -0
- package/cache-dir/slice/server-slice-renderer.js +28 -0
- package/cache-dir/slice/server-slice.js +52 -0
- package/cache-dir/slice.js +158 -0
- package/cache-dir/socketIo.js +58 -0
- package/cache-dir/ssr-builtin-trackers/child_process.js +4 -0
- package/cache-dir/ssr-builtin-trackers/fs.js +3 -0
- package/cache-dir/ssr-builtin-trackers/http.js +3 -0
- package/cache-dir/ssr-builtin-trackers/http2.js +3 -0
- package/cache-dir/ssr-builtin-trackers/https.js +3 -0
- package/cache-dir/ssr-builtin-trackers/tracking-unsafe-module-wrapper.js +64 -0
- package/cache-dir/ssr-develop-static-entry.js +428 -0
- package/cache-dir/static-entry.js +594 -0
- package/cache-dir/static-query.js +91 -0
- package/cache-dir/strip-prefix.js +20 -0
- package/changes.json +454 -0
- package/cli.js +3 -0
- package/dist/bin/gatsby.js +5 -0
- package/dist/bin/gatsby.js.map +1 -0
- package/dist/bootstrap/__mocks__/get-config/ts/gatsby-config.d.ts +3 -0
- package/dist/bootstrap/__mocks__/resolve-module-exports.d.ts +1 -0
- package/dist/bootstrap/create-graphql-runner.d.ts +10 -0
- package/dist/bootstrap/create-graphql-runner.js +71 -0
- package/dist/bootstrap/create-graphql-runner.js.map +1 -0
- package/dist/bootstrap/get-config-file.d.ts +4 -0
- package/dist/bootstrap/get-config-file.js +152 -0
- package/dist/bootstrap/get-config-file.js.map +1 -0
- package/dist/bootstrap/index.d.ts +12 -0
- package/dist/bootstrap/index.js +56 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/bootstrap/load-config/index.d.ts +7 -0
- package/dist/bootstrap/load-config/index.js +73 -0
- package/dist/bootstrap/load-config/index.js.map +1 -0
- package/dist/bootstrap/load-plugins/index.d.ts +3 -0
- package/dist/bootstrap/load-plugins/index.js +79 -0
- package/dist/bootstrap/load-plugins/index.js.map +1 -0
- package/dist/bootstrap/load-plugins/load-internal-plugins.d.ts +2 -0
- package/dist/bootstrap/load-plugins/load-internal-plugins.js +105 -0
- package/dist/bootstrap/load-plugins/load-internal-plugins.js.map +1 -0
- package/dist/bootstrap/load-plugins/process-plugin.d.ts +2 -0
- package/dist/bootstrap/load-plugins/process-plugin.js +81 -0
- package/dist/bootstrap/load-plugins/process-plugin.js.map +1 -0
- package/dist/bootstrap/load-plugins/resolve-plugin.d.ts +13 -0
- package/dist/bootstrap/load-plugins/resolve-plugin.js +75 -0
- package/dist/bootstrap/load-plugins/resolve-plugin.js.map +1 -0
- package/dist/bootstrap/load-plugins/types.d.ts +48 -0
- package/dist/bootstrap/load-plugins/types.js +4 -0
- package/dist/bootstrap/load-plugins/types.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/check-local-plugin.d.ts +8 -0
- package/dist/bootstrap/load-plugins/utils/check-local-plugin.js +38 -0
- package/dist/bootstrap/load-plugins/utils/check-local-plugin.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/create-hash.d.ts +1 -0
- package/dist/bootstrap/load-plugins/utils/create-hash.js +20 -0
- package/dist/bootstrap/load-plugins/utils/create-hash.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/create-id.d.ts +10 -0
- package/dist/bootstrap/load-plugins/utils/create-id.js +16 -0
- package/dist/bootstrap/load-plugins/utils/create-id.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/flatten-plugins.d.ts +2 -0
- package/dist/bootstrap/load-plugins/utils/flatten-plugins.js +41 -0
- package/dist/bootstrap/load-plugins/utils/flatten-plugins.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/get-api.d.ts +12 -0
- package/dist/bootstrap/load-plugins/utils/get-api.js +12 -0
- package/dist/bootstrap/load-plugins/utils/get-api.js.map +1 -0
- package/dist/bootstrap/load-plugins/utils/normalize.d.ts +5 -0
- package/dist/bootstrap/load-plugins/utils/normalize.js +33 -0
- package/dist/bootstrap/load-plugins/utils/normalize.js.map +1 -0
- package/dist/bootstrap/load-plugins/validate.d.ts +41 -0
- package/dist/bootstrap/load-plugins/validate.js +369 -0
- package/dist/bootstrap/load-plugins/validate.js.map +1 -0
- package/dist/bootstrap/load-themes/index.d.ts +17 -0
- package/dist/bootstrap/load-themes/index.js +186 -0
- package/dist/bootstrap/load-themes/index.js.map +1 -0
- package/dist/bootstrap/log-line-function.d.ts +0 -0
- package/dist/bootstrap/log-line-function.js +19 -0
- package/dist/bootstrap/log-line-function.js.map +1 -0
- package/dist/bootstrap/prefer-default.d.ts +1 -0
- package/dist/bootstrap/prefer-default.js +7 -0
- package/dist/bootstrap/prefer-default.js.map +1 -0
- package/dist/bootstrap/redirects-writer.d.ts +2 -0
- package/dist/bootstrap/redirects-writer.js +59 -0
- package/dist/bootstrap/redirects-writer.js.map +1 -0
- package/dist/bootstrap/remove-stale-jobs.d.ts +2 -0
- package/dist/bootstrap/remove-stale-jobs.js +31 -0
- package/dist/bootstrap/remove-stale-jobs.js.map +1 -0
- package/dist/bootstrap/requires-writer.d.ts +11 -0
- package/dist/bootstrap/requires-writer.js +260 -0
- package/dist/bootstrap/requires-writer.js.map +1 -0
- package/dist/bootstrap/resolve-js-file-path.d.ts +14 -0
- package/dist/bootstrap/resolve-js-file-path.js +58 -0
- package/dist/bootstrap/resolve-js-file-path.js.map +1 -0
- package/dist/bootstrap/resolve-module-exports.d.ts +20 -0
- package/dist/bootstrap/resolve-module-exports.js +188 -0
- package/dist/bootstrap/resolve-module-exports.js.map +1 -0
- package/dist/bootstrap/schema-hot-reloader.d.ts +3 -0
- package/dist/bootstrap/schema-hot-reloader.js +60 -0
- package/dist/bootstrap/schema-hot-reloader.js.map +1 -0
- package/dist/cache/cache-fs.d.ts +1 -0
- package/dist/cache/cache-fs.js +270 -0
- package/dist/cache/cache-fs.js.map +1 -0
- package/dist/cache/json-file-store.d.ts +8 -0
- package/dist/cache/json-file-store.js +144 -0
- package/dist/cache/json-file-store.js.map +1 -0
- package/dist/cache/wrap-callback.d.ts +0 -0
- package/dist/cache/wrap-callback.js +49 -0
- package/dist/cache/wrap-callback.js.map +1 -0
- package/dist/commands/build-html.d.ts +69 -0
- package/dist/commands/build-html.js +652 -0
- package/dist/commands/build-html.js.map +1 -0
- package/dist/commands/build-javascript.d.ts +4 -0
- package/dist/commands/build-javascript.js +18 -0
- package/dist/commands/build-javascript.js.map +1 -0
- package/dist/commands/build-utils.d.ts +8 -0
- package/dist/commands/build-utils.js +186 -0
- package/dist/commands/build-utils.js.map +1 -0
- package/dist/commands/build.d.ts +1 -0
- package/dist/commands/build.js +505 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/clean.d.ts +1 -0
- package/dist/commands/clean.js +29 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/develop-process.d.ts +1 -0
- package/dist/commands/develop-process.js +120 -0
- package/dist/commands/develop-process.js.map +1 -0
- package/dist/commands/develop-static.d.ts +3 -0
- package/dist/commands/develop-static.js +22 -0
- package/dist/commands/develop-static.js.map +1 -0
- package/dist/commands/develop.d.ts +2 -0
- package/dist/commands/develop.js +273 -0
- package/dist/commands/develop.js.map +1 -0
- package/dist/commands/feedback.d.ts +1 -0
- package/dist/commands/feedback.js +17 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/repl.d.ts +1 -0
- package/dist/commands/repl.js +58 -0
- package/dist/commands/repl.js.map +1 -0
- package/dist/commands/serve.d.ts +1 -0
- package/dist/commands/serve.js +282 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/types.d.ts +54 -0
- package/dist/commands/types.js +23 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -0
- package/dist/datastore/common/iterable.d.ts +51 -0
- package/dist/datastore/common/iterable.js +217 -0
- package/dist/datastore/common/iterable.js.map +1 -0
- package/dist/datastore/common/query.d.ts +69 -0
- package/dist/datastore/common/query.js +219 -0
- package/dist/datastore/common/query.js.map +1 -0
- package/dist/datastore/datastore.d.ts +2 -0
- package/dist/datastore/datastore.js +23 -0
- package/dist/datastore/datastore.js.map +1 -0
- package/dist/datastore/in-memory/in-memory-datastore.d.ts +2 -0
- package/dist/datastore/in-memory/in-memory-datastore.js +75 -0
- package/dist/datastore/in-memory/in-memory-datastore.js.map +1 -0
- package/dist/datastore/in-memory/indexing.d.ts +80 -0
- package/dist/datastore/in-memory/indexing.js +994 -0
- package/dist/datastore/in-memory/indexing.js.map +1 -0
- package/dist/datastore/in-memory/run-fast-filters.d.ts +27 -0
- package/dist/datastore/in-memory/run-fast-filters.js +276 -0
- package/dist/datastore/in-memory/run-fast-filters.js.map +1 -0
- package/dist/datastore/index.d.ts +20 -0
- package/dist/datastore/index.js +34 -0
- package/dist/datastore/index.js.map +1 -0
- package/dist/datastore/lmdb/lmdb-datastore.d.ts +14 -0
- package/dist/datastore/lmdb/lmdb-datastore.js +261 -0
- package/dist/datastore/lmdb/lmdb-datastore.js.map +1 -0
- package/dist/datastore/lmdb/query/common.d.ts +23 -0
- package/dist/datastore/lmdb/query/common.js +127 -0
- package/dist/datastore/lmdb/query/common.js.map +1 -0
- package/dist/datastore/lmdb/query/create-index.d.ts +25 -0
- package/dist/datastore/lmdb/query/create-index.js +239 -0
- package/dist/datastore/lmdb/query/create-index.js.map +1 -0
- package/dist/datastore/lmdb/query/filter-using-index.d.ts +43 -0
- package/dist/datastore/lmdb/query/filter-using-index.js +577 -0
- package/dist/datastore/lmdb/query/filter-using-index.js.map +1 -0
- package/dist/datastore/lmdb/query/run-query.d.ts +9 -0
- package/dist/datastore/lmdb/query/run-query.js +285 -0
- package/dist/datastore/lmdb/query/run-query.js.map +1 -0
- package/dist/datastore/lmdb/query/suggest-index.d.ts +15 -0
- package/dist/datastore/lmdb/query/suggest-index.js +93 -0
- package/dist/datastore/lmdb/query/suggest-index.js.map +1 -0
- package/dist/datastore/lmdb/updates/nodes-by-type.d.ts +3 -0
- package/dist/datastore/lmdb/updates/nodes-by-type.js +21 -0
- package/dist/datastore/lmdb/updates/nodes-by-type.js.map +1 -0
- package/dist/datastore/lmdb/updates/nodes.d.ts +5 -0
- package/dist/datastore/lmdb/updates/nodes.js +33 -0
- package/dist/datastore/lmdb/updates/nodes.js.map +1 -0
- package/dist/datastore/types.d.ts +47 -0
- package/dist/datastore/types.js +4 -0
- package/dist/datastore/types.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/gatsby-node.js +42 -0
- package/dist/internal-plugins/bundle-optimisations/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/index.js +3 -0
- package/dist/internal-plugins/bundle-optimisations/index.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/package.json +10 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/fetch.js +4 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/fetch.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/no-op.js +3 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/no-op.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js +4 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js.map +1 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/whatwg-fetch.js +6 -0
- package/dist/internal-plugins/bundle-optimisations/polyfills/whatwg-fetch.js.map +1 -0
- package/dist/internal-plugins/dev-404-page/gatsby-node.js +30 -0
- package/dist/internal-plugins/dev-404-page/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/dev-404-page/index.js +3 -0
- package/dist/internal-plugins/dev-404-page/index.js.map +1 -0
- package/dist/internal-plugins/dev-404-page/package.json +11 -0
- package/dist/internal-plugins/dev-404-page/raw_dev-404-page.js +262 -0
- package/dist/internal-plugins/functions/api-function-webpack-loader.d.ts +3 -0
- package/dist/internal-plugins/functions/api-function-webpack-loader.js +74 -0
- package/dist/internal-plugins/functions/api-function-webpack-loader.js.map +1 -0
- package/dist/internal-plugins/functions/config.d.ts +20 -0
- package/dist/internal-plugins/functions/config.js +96 -0
- package/dist/internal-plugins/functions/config.js.map +1 -0
- package/dist/internal-plugins/functions/gatsby-node.d.ts +3 -0
- package/dist/internal-plugins/functions/gatsby-node.js +452 -0
- package/dist/internal-plugins/functions/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/functions/index.js +3 -0
- package/dist/internal-plugins/functions/index.js.map +1 -0
- package/dist/internal-plugins/functions/middleware.d.ts +11 -0
- package/dist/internal-plugins/functions/middleware.js +160 -0
- package/dist/internal-plugins/functions/middleware.js.map +1 -0
- package/dist/internal-plugins/functions/package.json +11 -0
- package/dist/internal-plugins/internal-data-bridge/gatsby-node.js +191 -0
- package/dist/internal-plugins/internal-data-bridge/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/internal-data-bridge/index.js +3 -0
- package/dist/internal-plugins/internal-data-bridge/index.js.map +1 -0
- package/dist/internal-plugins/internal-data-bridge/package.json +11 -0
- package/dist/internal-plugins/load-babel-config/gatsby-node.js +37 -0
- package/dist/internal-plugins/load-babel-config/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/load-babel-config/index.js +3 -0
- package/dist/internal-plugins/load-babel-config/index.js.map +1 -0
- package/dist/internal-plugins/load-babel-config/package.json +11 -0
- package/dist/internal-plugins/partytown/gatsby-browser.js +23 -0
- package/dist/internal-plugins/partytown/gatsby-browser.js.map +1 -0
- package/dist/internal-plugins/partytown/gatsby-node.d.ts +2 -0
- package/dist/internal-plugins/partytown/gatsby-node.js +60 -0
- package/dist/internal-plugins/partytown/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/partytown/gatsby-ssr.js +39 -0
- package/dist/internal-plugins/partytown/gatsby-ssr.js.map +1 -0
- package/dist/internal-plugins/partytown/index.js +3 -0
- package/dist/internal-plugins/partytown/index.js.map +1 -0
- package/dist/internal-plugins/partytown/package.json +12 -0
- package/dist/internal-plugins/partytown/proxy.d.ts +3 -0
- package/dist/internal-plugins/partytown/proxy.js +26 -0
- package/dist/internal-plugins/partytown/proxy.js.map +1 -0
- package/dist/internal-plugins/partytown/utils/get-forwards.d.ts +2 -0
- package/dist/internal-plugins/partytown/utils/get-forwards.js +8 -0
- package/dist/internal-plugins/partytown/utils/get-forwards.js.map +1 -0
- package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.d.ts +2 -0
- package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js +28 -0
- package/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js.map +1 -0
- package/dist/internal-plugins/prod-404-500/gatsby-node.js +50 -0
- package/dist/internal-plugins/prod-404-500/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/prod-404-500/index.js +3 -0
- package/dist/internal-plugins/prod-404-500/index.js.map +1 -0
- package/dist/internal-plugins/prod-404-500/package.json +11 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/create-page.js +31 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/create-page.js.map +1 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/gatsby-node.js +31 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/gatsby-node.js.map +1 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/index.js +273 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/index.js.map +1 -0
- package/dist/internal-plugins/webpack-theme-component-shadowing/package.json +11 -0
- package/dist/internal.d.ts +5 -0
- package/dist/internal.js +34 -0
- package/dist/internal.js.map +1 -0
- package/dist/joi-schemas/joi.d.ts +5 -0
- package/dist/joi-schemas/joi.js +122 -0
- package/dist/joi-schemas/joi.js.map +1 -0
- package/dist/query/error-parser.d.ts +19 -0
- package/dist/query/error-parser.js +163 -0
- package/dist/query/error-parser.js.map +1 -0
- package/dist/query/file-parser.js +584 -0
- package/dist/query/file-parser.js.map +1 -0
- package/dist/query/graphql-errors-codeframe.d.ts +1 -0
- package/dist/query/graphql-errors-codeframe.js +20 -0
- package/dist/query/graphql-errors-codeframe.js.map +1 -0
- package/dist/query/graphql-errors.js +278 -0
- package/dist/query/graphql-errors.js.map +1 -0
- package/dist/query/graphql-runner.d.ts +39 -0
- package/dist/query/graphql-runner.js +221 -0
- package/dist/query/graphql-runner.js.map +1 -0
- package/dist/query/graphql-span-tracer.d.ts +19 -0
- package/dist/query/graphql-span-tracer.js +63 -0
- package/dist/query/graphql-span-tracer.js.map +1 -0
- package/dist/query/index.d.ts +32 -0
- package/dist/query/index.js +301 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/query-compiler.js +433 -0
- package/dist/query/query-compiler.js.map +1 -0
- package/dist/query/query-runner.d.ts +13 -0
- package/dist/query/query-runner.js +176 -0
- package/dist/query/query-runner.js.map +1 -0
- package/dist/query/query-watcher.d.ts +17 -0
- package/dist/query/query-watcher.js +250 -0
- package/dist/query/query-watcher.js.map +1 -0
- package/dist/query/transform-document.d.ts +6 -0
- package/dist/query/transform-document.js +131 -0
- package/dist/query/transform-document.js.map +1 -0
- package/dist/query/types.d.ts +35 -0
- package/dist/query/types.js +4 -0
- package/dist/query/types.js.map +1 -0
- package/dist/query/utils.d.ts +4 -0
- package/dist/query/utils.js +20 -0
- package/dist/query/utils.js.map +1 -0
- package/dist/redux/actions/add-page-dependency.d.ts +7 -0
- package/dist/redux/actions/add-page-dependency.js +52 -0
- package/dist/redux/actions/add-page-dependency.js.map +1 -0
- package/dist/redux/actions/index.d.ts +16 -0
- package/dist/redux/actions/index.js +21 -0
- package/dist/redux/actions/index.js.map +1 -0
- package/dist/redux/actions/internal.d.ts +124 -0
- package/dist/redux/actions/internal.js +394 -0
- package/dist/redux/actions/internal.js.map +1 -0
- package/dist/redux/actions/public.js +1354 -0
- package/dist/redux/actions/public.js.map +1 -0
- package/dist/redux/actions/restricted.d.ts +332 -0
- package/dist/redux/actions/restricted.js +521 -0
- package/dist/redux/actions/restricted.js.map +1 -0
- package/dist/redux/index.d.ts +20 -0
- package/dist/redux/index.js +125 -0
- package/dist/redux/index.js.map +1 -0
- package/dist/redux/persist.d.ts +5 -0
- package/dist/redux/persist.js +191 -0
- package/dist/redux/persist.js.map +1 -0
- package/dist/redux/plugin-runner.d.ts +1 -0
- package/dist/redux/plugin-runner.js +45 -0
- package/dist/redux/plugin-runner.js.map +1 -0
- package/dist/redux/reducers/adapter.d.ts +6 -0
- package/dist/redux/reducers/adapter.js +22 -0
- package/dist/redux/reducers/adapter.js.map +1 -0
- package/dist/redux/reducers/babelrc.d.ts +9 -0
- package/dist/redux/reducers/babelrc.js +104 -0
- package/dist/redux/reducers/babelrc.js.map +1 -0
- package/dist/redux/reducers/components-using-slices.d.ts +2 -0
- package/dist/redux/reducers/components-using-slices.js +15 -0
- package/dist/redux/reducers/components-using-slices.js.map +1 -0
- package/dist/redux/reducers/components.d.ts +2 -0
- package/dist/redux/reducers/components.js +104 -0
- package/dist/redux/reducers/components.js.map +1 -0
- package/dist/redux/reducers/config.d.ts +2 -0
- package/dist/redux/reducers/config.js +16 -0
- package/dist/redux/reducers/config.js.map +1 -0
- package/dist/redux/reducers/definitions.d.ts +2 -0
- package/dist/redux/reducers/definitions.js +14 -0
- package/dist/redux/reducers/definitions.js.map +1 -0
- package/dist/redux/reducers/flattened-plugins.d.ts +17 -0
- package/dist/redux/reducers/flattened-plugins.js +14 -0
- package/dist/redux/reducers/flattened-plugins.js.map +1 -0
- package/dist/redux/reducers/functions.d.ts +2 -0
- package/dist/redux/reducers/functions.js +14 -0
- package/dist/redux/reducers/functions.js.map +1 -0
- package/dist/redux/reducers/html.d.ts +25 -0
- package/dist/redux/reducers/html.js +384 -0
- package/dist/redux/reducers/html.js.map +1 -0
- package/dist/redux/reducers/index.d.ts +45 -0
- package/dist/redux/reducers/index.js +86 -0
- package/dist/redux/reducers/index.js.map +1 -0
- package/dist/redux/reducers/inference-metadata.d.ts +7 -0
- package/dist/redux/reducers/inference-metadata.js +174 -0
- package/dist/redux/reducers/inference-metadata.js.map +1 -0
- package/dist/redux/reducers/jobs.d.ts +5 -0
- package/dist/redux/reducers/jobs.js +65 -0
- package/dist/redux/reducers/jobs.js.map +1 -0
- package/dist/redux/reducers/jobsv2.d.ts +6 -0
- package/dist/redux/reducers/jobsv2.js +88 -0
- package/dist/redux/reducers/jobsv2.js.map +1 -0
- package/dist/redux/reducers/last-action.d.ts +2 -0
- package/dist/redux/reducers/last-action.js +7 -0
- package/dist/redux/reducers/last-action.js.map +1 -0
- package/dist/redux/reducers/node-manifest.d.ts +2 -0
- package/dist/redux/reducers/node-manifest.js +58 -0
- package/dist/redux/reducers/node-manifest.js.map +1 -0
- package/dist/redux/reducers/nodes-by-type.d.ts +2 -0
- package/dist/redux/reducers/nodes-by-type.js +53 -0
- package/dist/redux/reducers/nodes-by-type.js.map +1 -0
- package/dist/redux/reducers/nodes-touched.d.ts +3 -0
- package/dist/redux/reducers/nodes-touched.js +18 -0
- package/dist/redux/reducers/nodes-touched.js.map +1 -0
- package/dist/redux/reducers/nodes.d.ts +2 -0
- package/dist/redux/reducers/nodes.js +30 -0
- package/dist/redux/reducers/nodes.js.map +1 -0
- package/dist/redux/reducers/page-data-stats.d.ts +2 -0
- package/dist/redux/reducers/page-data-stats.js +15 -0
- package/dist/redux/reducers/page-data-stats.js.map +1 -0
- package/dist/redux/reducers/pages.d.ts +2 -0
- package/dist/redux/reducers/pages.js +43 -0
- package/dist/redux/reducers/pages.js.map +1 -0
- package/dist/redux/reducers/pending-page-data-writes.d.ts +5 -0
- package/dist/redux/reducers/pending-page-data-writes.js +66 -0
- package/dist/redux/reducers/pending-page-data-writes.js.map +1 -0
- package/dist/redux/reducers/program.d.ts +2 -0
- package/dist/redux/reducers/program.js +62 -0
- package/dist/redux/reducers/program.js.map +1 -0
- package/dist/redux/reducers/queries.d.ts +26 -0
- package/dist/redux/reducers/queries.js +403 -0
- package/dist/redux/reducers/queries.js.map +1 -0
- package/dist/redux/reducers/redirects.d.ts +2 -0
- package/dist/redux/reducers/redirects.js +39 -0
- package/dist/redux/reducers/redirects.js.map +1 -0
- package/dist/redux/reducers/remote-file-allowed-urls.d.ts +2 -0
- package/dist/redux/reducers/remote-file-allowed-urls.js +19 -0
- package/dist/redux/reducers/remote-file-allowed-urls.js.map +1 -0
- package/dist/redux/reducers/resolved-nodes.d.ts +2 -0
- package/dist/redux/reducers/resolved-nodes.js +45 -0
- package/dist/redux/reducers/resolved-nodes.js.map +1 -0
- package/dist/redux/reducers/schema-customization.d.ts +23 -0
- package/dist/redux/reducers/schema-customization.js +103 -0
- package/dist/redux/reducers/schema-customization.js.map +1 -0
- package/dist/redux/reducers/schema.d.ts +3 -0
- package/dist/redux/reducers/schema.js +17 -0
- package/dist/redux/reducers/schema.js.map +1 -0
- package/dist/redux/reducers/set-request-headers.d.ts +7 -0
- package/dist/redux/reducers/set-request-headers.js +24 -0
- package/dist/redux/reducers/set-request-headers.js.map +1 -0
- package/dist/redux/reducers/slices-by-template.d.ts +2 -0
- package/dist/redux/reducers/slices-by-template.js +16 -0
- package/dist/redux/reducers/slices-by-template.js.map +1 -0
- package/dist/redux/reducers/slices.d.ts +2 -0
- package/dist/redux/reducers/slices.js +22 -0
- package/dist/redux/reducers/slices.js.map +1 -0
- package/dist/redux/reducers/stateful-source-plugins.d.ts +5 -0
- package/dist/redux/reducers/stateful-source-plugins.js +20 -0
- package/dist/redux/reducers/stateful-source-plugins.js.map +1 -0
- package/dist/redux/reducers/static-queries-by-template.d.ts +2 -0
- package/dist/redux/reducers/static-queries-by-template.js +19 -0
- package/dist/redux/reducers/static-queries-by-template.js.map +1 -0
- package/dist/redux/reducers/static-query-components.d.ts +2 -0
- package/dist/redux/reducers/static-query-components.js +18 -0
- package/dist/redux/reducers/static-query-components.js.map +1 -0
- package/dist/redux/reducers/status.d.ts +7 -0
- package/dist/redux/reducers/status.js +57 -0
- package/dist/redux/reducers/status.js.map +1 -0
- package/dist/redux/reducers/telemetry.d.ts +2 -0
- package/dist/redux/reducers/telemetry.js +46 -0
- package/dist/redux/reducers/telemetry.js.map +1 -0
- package/dist/redux/reducers/type-owners.d.ts +5 -0
- package/dist/redux/reducers/type-owners.js +102 -0
- package/dist/redux/reducers/type-owners.js.map +1 -0
- package/dist/redux/reducers/visited-page.d.ts +2 -0
- package/dist/redux/reducers/visited-page.js +31 -0
- package/dist/redux/reducers/visited-page.js.map +1 -0
- package/dist/redux/reducers/webpack-compilation-hash.d.ts +2 -0
- package/dist/redux/reducers/webpack-compilation-hash.js +14 -0
- package/dist/redux/reducers/webpack-compilation-hash.js.map +1 -0
- package/dist/redux/reducers/webpack.d.ts +2 -0
- package/dist/redux/reducers/webpack.js +27 -0
- package/dist/redux/reducers/webpack.js.map +1 -0
- package/dist/redux/save-state.js +19 -0
- package/dist/redux/save-state.js.map +1 -0
- package/dist/redux/types.d.ts +1337 -0
- package/dist/redux/types.js +326 -0
- package/dist/redux/types.js.map +1 -0
- package/dist/schema/context.d.ts +14 -0
- package/dist/schema/context.js +38 -0
- package/dist/schema/context.js.map +1 -0
- package/dist/schema/extensions/index.js +205 -0
- package/dist/schema/extensions/index.js.map +1 -0
- package/dist/schema/graphql-engine/bootstrap.d.ts +2 -0
- package/dist/schema/graphql-engine/bootstrap.js +12 -0
- package/dist/schema/graphql-engine/bootstrap.js.map +1 -0
- package/dist/schema/graphql-engine/bundle-webpack.d.ts +5 -0
- package/dist/schema/graphql-engine/bundle-webpack.js +446 -0
- package/dist/schema/graphql-engine/bundle-webpack.js.map +1 -0
- package/dist/schema/graphql-engine/entry.d.ts +23 -0
- package/dist/schema/graphql-engine/entry.js +204 -0
- package/dist/schema/graphql-engine/entry.js.map +1 -0
- package/dist/schema/graphql-engine/lmdb-bundling-patch.d.ts +1 -0
- package/dist/schema/graphql-engine/lmdb-bundling-patch.js +72 -0
- package/dist/schema/graphql-engine/lmdb-bundling-patch.js.map +1 -0
- package/dist/schema/graphql-engine/platform-and-arch-check.d.ts +0 -0
- package/dist/schema/graphql-engine/platform-and-arch-check.js +6 -0
- package/dist/schema/graphql-engine/platform-and-arch-check.js.map +1 -0
- package/dist/schema/graphql-engine/print-plugins.d.ts +2 -0
- package/dist/schema/graphql-engine/print-plugins.js +145 -0
- package/dist/schema/graphql-engine/print-plugins.js.map +1 -0
- package/dist/schema/graphql-engine/sharp-bundling-patch.d.ts +1 -0
- package/dist/schema/graphql-engine/sharp-bundling-patch.js +8 -0
- package/dist/schema/graphql-engine/sharp-bundling-patch.js.map +1 -0
- package/dist/schema/graphql-engine/shims/gatsby-sharp.js +10 -0
- package/dist/schema/graphql-engine/shims/gatsby-sharp.js.map +1 -0
- package/dist/schema/graphql-engine/shims/no-op-module.js +3 -0
- package/dist/schema/graphql-engine/shims/no-op-module.js.map +1 -0
- package/dist/schema/graphql-engine/shims/ts-node.js +17 -0
- package/dist/schema/graphql-engine/shims/ts-node.js.map +1 -0
- package/dist/schema/graphql-engine/standalone-regenerate.d.ts +2 -0
- package/dist/schema/graphql-engine/standalone-regenerate.js +73 -0
- package/dist/schema/graphql-engine/standalone-regenerate.js.map +1 -0
- package/dist/schema/index.js +189 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/infer/add-inferred-fields.js +413 -0
- package/dist/schema/infer/add-inferred-fields.js.map +1 -0
- package/dist/schema/infer/build-example-data.d.ts +5 -0
- package/dist/schema/infer/build-example-data.js +199 -0
- package/dist/schema/infer/build-example-data.js.map +1 -0
- package/dist/schema/infer/index.js +121 -0
- package/dist/schema/infer/index.js.map +1 -0
- package/dist/schema/infer/inference-metadata.d.ts +72 -0
- package/dist/schema/infer/inference-metadata.js +280 -0
- package/dist/schema/infer/inference-metadata.js.map +1 -0
- package/dist/schema/infer/is-file.d.ts +1 -0
- package/dist/schema/infer/is-file.js +65 -0
- package/dist/schema/infer/is-file.js.map +1 -0
- package/dist/schema/infer/type-conflict-reporter.d.ts +28 -0
- package/dist/schema/infer/type-conflict-reporter.js +104 -0
- package/dist/schema/infer/type-conflict-reporter.js.map +1 -0
- package/dist/schema/node-model.js +784 -0
- package/dist/schema/node-model.js.map +1 -0
- package/dist/schema/print.d.ts +20 -0
- package/dist/schema/print.js +279 -0
- package/dist/schema/print.js.map +1 -0
- package/dist/schema/resolvers.d.ts +40 -0
- package/dist/schema/resolvers.js +569 -0
- package/dist/schema/resolvers.js.map +1 -0
- package/dist/schema/schema-composer.d.ts +3 -0
- package/dist/schema/schema-composer.js +31 -0
- package/dist/schema/schema-composer.js.map +1 -0
- package/dist/schema/schema.js +1295 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/type-definitions.d.ts +47 -0
- package/dist/schema/type-definitions.js +4 -0
- package/dist/schema/type-definitions.js.map +1 -0
- package/dist/schema/types/built-in-types.d.ts +5 -0
- package/dist/schema/types/built-in-types.js +139 -0
- package/dist/schema/types/built-in-types.js.map +1 -0
- package/dist/schema/types/date.d.ts +37 -0
- package/dist/schema/types/date.js +225 -0
- package/dist/schema/types/date.js.map +1 -0
- package/dist/schema/types/derived-types.d.ts +45 -0
- package/dist/schema/types/derived-types.js +108 -0
- package/dist/schema/types/derived-types.js.map +1 -0
- package/dist/schema/types/filter.d.ts +12 -0
- package/dist/schema/types/filter.js +105 -0
- package/dist/schema/types/filter.js.map +1 -0
- package/dist/schema/types/media.d.ts +2 -0
- package/dist/schema/types/media.js +10 -0
- package/dist/schema/types/media.js.map +1 -0
- package/dist/schema/types/node-interface.d.ts +14 -0
- package/dist/schema/types/node-interface.js +103 -0
- package/dist/schema/types/node-interface.js.map +1 -0
- package/dist/schema/types/pagination.d.ts +16 -0
- package/dist/schema/types/pagination.js +198 -0
- package/dist/schema/types/pagination.js.map +1 -0
- package/dist/schema/types/remote-file-interface.d.ts +3 -0
- package/dist/schema/types/remote-file-interface.js +34 -0
- package/dist/schema/types/remote-file-interface.js.map +1 -0
- package/dist/schema/types/sort.d.ts +24 -0
- package/dist/schema/types/sort.js +178 -0
- package/dist/schema/types/sort.js.map +1 -0
- package/dist/schema/types/type-builders.d.ts +36 -0
- package/dist/schema/types/type-builders.js +61 -0
- package/dist/schema/types/type-builders.js.map +1 -0
- package/dist/schema/types/type-defs.js +86 -0
- package/dist/schema/types/type-defs.js.map +1 -0
- package/dist/schema/types/utils.d.ts +33 -0
- package/dist/schema/types/utils.js +153 -0
- package/dist/schema/types/utils.js.map +1 -0
- package/dist/schema/utils.d.ts +28 -0
- package/dist/schema/utils.js +149 -0
- package/dist/schema/utils.js.map +1 -0
- package/dist/services/build-schema.d.ts +2 -0
- package/dist/services/build-schema.js +24 -0
- package/dist/services/build-schema.js.map +1 -0
- package/dist/services/calculate-dirty-queries.d.ts +5 -0
- package/dist/services/calculate-dirty-queries.js +44 -0
- package/dist/services/calculate-dirty-queries.js.map +1 -0
- package/dist/services/create-pages.d.ts +5 -0
- package/dist/services/create-pages.js +108 -0
- package/dist/services/create-pages.js.map +1 -0
- package/dist/services/customize-schema.d.ts +2 -0
- package/dist/services/customize-schema.js +26 -0
- package/dist/services/customize-schema.js.map +1 -0
- package/dist/services/extract-queries.d.ts +2 -0
- package/dist/services/extract-queries.js +24 -0
- package/dist/services/extract-queries.js.map +1 -0
- package/dist/services/graphql-typegen.d.ts +2 -0
- package/dist/services/graphql-typegen.js +46 -0
- package/dist/services/graphql-typegen.js.map +1 -0
- package/dist/services/index.d.ts +19 -0
- package/dist/services/index.js +68 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/initialize.d.ts +14 -0
- package/dist/services/initialize.js +519 -0
- package/dist/services/initialize.js.map +1 -0
- package/dist/services/listen-for-mutations.d.ts +2 -0
- package/dist/services/listen-for-mutations.js +59 -0
- package/dist/services/listen-for-mutations.js.map +1 -0
- package/dist/services/listen-to-webpack.d.ts +3 -0
- package/dist/services/listen-to-webpack.js +17 -0
- package/dist/services/listen-to-webpack.js.map +1 -0
- package/dist/services/post-bootstrap.d.ts +2 -0
- package/dist/services/post-bootstrap.js +29 -0
- package/dist/services/post-bootstrap.js.map +1 -0
- package/dist/services/recompile.d.ts +3 -0
- package/dist/services/recompile.js +67 -0
- package/dist/services/recompile.js.map +1 -0
- package/dist/services/run-mutation-batch.d.ts +2 -0
- package/dist/services/run-mutation-batch.js +12 -0
- package/dist/services/run-mutation-batch.js.map +1 -0
- package/dist/services/run-page-queries.d.ts +2 -0
- package/dist/services/run-page-queries.js +38 -0
- package/dist/services/run-page-queries.js.map +1 -0
- package/dist/services/run-slice-queries.d.ts +2 -0
- package/dist/services/run-slice-queries.js +40 -0
- package/dist/services/run-slice-queries.js.map +1 -0
- package/dist/services/run-static-queries.d.ts +2 -0
- package/dist/services/run-static-queries.js +38 -0
- package/dist/services/run-static-queries.js.map +1 -0
- package/dist/services/source-nodes.d.ts +5 -0
- package/dist/services/source-nodes.js +47 -0
- package/dist/services/source-nodes.js.map +1 -0
- package/dist/services/start-webpack-server.d.ts +9 -0
- package/dist/services/start-webpack-server.js +103 -0
- package/dist/services/start-webpack-server.js.map +1 -0
- package/dist/services/types.d.ts +53 -0
- package/dist/services/types.js +4 -0
- package/dist/services/types.js.map +1 -0
- package/dist/services/write-out-redirects.d.ts +2 -0
- package/dist/services/write-out-redirects.js +20 -0
- package/dist/services/write-out-redirects.js.map +1 -0
- package/dist/services/write-out-requires.d.ts +2 -0
- package/dist/services/write-out-requires.js +27 -0
- package/dist/services/write-out-requires.js.map +1 -0
- package/dist/state-machines/data-layer/actions.d.ts +11 -0
- package/dist/state-machines/data-layer/actions.js +38 -0
- package/dist/state-machines/data-layer/actions.js.map +1 -0
- package/dist/state-machines/data-layer/index.d.ts +24 -0
- package/dist/state-machines/data-layer/index.js +152 -0
- package/dist/state-machines/data-layer/index.js.map +1 -0
- package/dist/state-machines/data-layer/services.d.ts +3 -0
- package/dist/state-machines/data-layer/services.js +14 -0
- package/dist/state-machines/data-layer/services.js.map +1 -0
- package/dist/state-machines/data-layer/types.d.ts +27 -0
- package/dist/state-machines/data-layer/types.js +4 -0
- package/dist/state-machines/data-layer/types.js.map +1 -0
- package/dist/state-machines/develop/actions.d.ts +68 -0
- package/dist/state-machines/develop/actions.js +259 -0
- package/dist/state-machines/develop/actions.js.map +1 -0
- package/dist/state-machines/develop/index.d.ts +5 -0
- package/dist/state-machines/develop/index.js +372 -0
- package/dist/state-machines/develop/index.js.map +1 -0
- package/dist/state-machines/develop/services.d.ts +3 -0
- package/dist/state-machines/develop/services.js +22 -0
- package/dist/state-machines/develop/services.js.map +1 -0
- package/dist/state-machines/index.d.ts +7 -0
- package/dist/state-machines/index.js +21 -0
- package/dist/state-machines/index.js.map +1 -0
- package/dist/state-machines/query-running/actions.d.ts +9 -0
- package/dist/state-machines/query-running/actions.js +55 -0
- package/dist/state-machines/query-running/actions.js.map +1 -0
- package/dist/state-machines/query-running/index.d.ts +7 -0
- package/dist/state-machines/query-running/index.js +142 -0
- package/dist/state-machines/query-running/index.js.map +1 -0
- package/dist/state-machines/query-running/services.d.ts +3 -0
- package/dist/state-machines/query-running/services.js +17 -0
- package/dist/state-machines/query-running/services.js.map +1 -0
- package/dist/state-machines/query-running/types.d.ts +26 -0
- package/dist/state-machines/query-running/types.js +4 -0
- package/dist/state-machines/query-running/types.js.map +1 -0
- package/dist/state-machines/waiting/actions.d.ts +11 -0
- package/dist/state-machines/waiting/actions.js +36 -0
- package/dist/state-machines/waiting/actions.js.map +1 -0
- package/dist/state-machines/waiting/index.d.ts +12 -0
- package/dist/state-machines/waiting/index.js +145 -0
- package/dist/state-machines/waiting/index.js.map +1 -0
- package/dist/state-machines/waiting/services.d.ts +3 -0
- package/dist/state-machines/waiting/services.js +10 -0
- package/dist/state-machines/waiting/services.js.map +1 -0
- package/dist/state-machines/waiting/types.d.ts +12 -0
- package/dist/state-machines/waiting/types.js +4 -0
- package/dist/state-machines/waiting/types.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/adapter/constants.d.ts +5 -0
- package/dist/utils/adapter/constants.js +31 -0
- package/dist/utils/adapter/constants.js.map +1 -0
- package/dist/utils/adapter/create-headers.d.ts +10 -0
- package/dist/utils/adapter/create-headers.js +94 -0
- package/dist/utils/adapter/create-headers.js.map +1 -0
- package/dist/utils/adapter/get-route-path.d.ts +3 -0
- package/dist/utils/adapter/get-route-path.js +22 -0
- package/dist/utils/adapter/get-route-path.js.map +1 -0
- package/dist/utils/adapter/init.d.ts +3 -0
- package/dist/utils/adapter/init.js +183 -0
- package/dist/utils/adapter/init.js.map +1 -0
- package/dist/utils/adapter/manager.d.ts +9 -0
- package/dist/utils/adapter/manager.js +554 -0
- package/dist/utils/adapter/manager.js.map +1 -0
- package/dist/utils/adapter/no-op-manager.d.ts +2 -0
- package/dist/utils/adapter/no-op-manager.js +18 -0
- package/dist/utils/adapter/no-op-manager.js.map +1 -0
- package/dist/utils/adapter/types.d.ts +282 -0
- package/dist/utils/adapter/types.js +4 -0
- package/dist/utils/adapter/types.js.map +1 -0
- package/dist/utils/api-browser-docs.d.ts +272 -0
- package/dist/utils/api-browser-docs.js +318 -0
- package/dist/utils/api-browser-docs.js.map +1 -0
- package/dist/utils/api-node-docs.d.ts +470 -0
- package/dist/utils/api-node-docs.js +519 -0
- package/dist/utils/api-node-docs.js.map +1 -0
- package/dist/utils/api-node-helpers-docs.js +322 -0
- package/dist/utils/api-node-helpers-docs.js.map +1 -0
- package/dist/utils/api-runner-error-parser.d.ts +5 -0
- package/dist/utils/api-runner-error-parser.js +63 -0
- package/dist/utils/api-runner-error-parser.js.map +1 -0
- package/dist/utils/api-runner-node.js +663 -0
- package/dist/utils/api-runner-node.js.map +1 -0
- package/dist/utils/app-data.d.ts +2 -0
- package/dist/utils/app-data.js +15 -0
- package/dist/utils/app-data.js.map +1 -0
- package/dist/utils/assert-store.d.ts +2 -0
- package/dist/utils/assert-store.js +12 -0
- package/dist/utils/assert-store.js.map +1 -0
- package/dist/utils/babel/babel-module-exports-helpers.d.ts +22 -0
- package/dist/utils/babel/babel-module-exports-helpers.js +48 -0
- package/dist/utils/babel/babel-module-exports-helpers.js.map +1 -0
- package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.d.ts +10 -0
- package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.js +48 -0
- package/dist/utils/babel/babel-plugin-add-slice-placeholder-location.js.map +1 -0
- package/dist/utils/babel/babel-plugin-remove-api.d.ts +5 -0
- package/dist/utils/babel/babel-plugin-remove-api.js +148 -0
- package/dist/utils/babel/babel-plugin-remove-api.js.map +1 -0
- package/dist/utils/babel/find-slices.d.ts +8 -0
- package/dist/utils/babel/find-slices.js +68 -0
- package/dist/utils/babel/find-slices.js.map +1 -0
- package/dist/utils/babel-loader-helpers.d.ts +19 -0
- package/dist/utils/babel-loader-helpers.js +158 -0
- package/dist/utils/babel-loader-helpers.js.map +1 -0
- package/dist/utils/babel-loader.d.ts +8 -0
- package/dist/utils/babel-loader.js +158 -0
- package/dist/utils/babel-loader.js.map +1 -0
- package/dist/utils/babel-parse-to-ast.d.ts +4 -0
- package/dist/utils/babel-parse-to-ast.js +34 -0
- package/dist/utils/babel-parse-to-ast.js.map +1 -0
- package/dist/utils/batcher.d.ts +15 -0
- package/dist/utils/batcher.js +46 -0
- package/dist/utils/batcher.js.map +1 -0
- package/dist/utils/browserslist.d.ts +2 -0
- package/dist/utils/browserslist.js +38 -0
- package/dist/utils/browserslist.js.map +1 -0
- package/dist/utils/cache-lmdb.d.ts +19 -0
- package/dist/utils/cache-lmdb.js +88 -0
- package/dist/utils/cache-lmdb.js.map +1 -0
- package/dist/utils/cache.d.ts +17 -0
- package/dist/utils/cache.js +77 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/call-deferred-api.d.ts +8 -0
- package/dist/utils/call-deferred-api.js +35 -0
- package/dist/utils/call-deferred-api.js.map +1 -0
- package/dist/utils/changed-pages.d.ts +6 -0
- package/dist/utils/changed-pages.js +45 -0
- package/dist/utils/changed-pages.js.map +1 -0
- package/dist/utils/clear-require-cache.d.ts +1 -0
- package/dist/utils/clear-require-cache.js +24 -0
- package/dist/utils/clear-require-cache.js.map +1 -0
- package/dist/utils/client-assets-for-template.d.ts +9 -0
- package/dist/utils/client-assets-for-template.js +141 -0
- package/dist/utils/client-assets-for-template.js.map +1 -0
- package/dist/utils/create-node-id.d.ts +24 -0
- package/dist/utils/create-node-id.js +67 -0
- package/dist/utils/create-node-id.js.map +1 -0
- package/dist/utils/create-schema-customization.d.ts +6 -0
- package/dist/utils/create-schema-customization.js +25 -0
- package/dist/utils/create-schema-customization.js.map +1 -0
- package/dist/utils/detect-node-mutations.d.ts +4 -0
- package/dist/utils/detect-node-mutations.js +134 -0
- package/dist/utils/detect-node-mutations.js.map +1 -0
- package/dist/utils/detect-port-in-use-and-prompt.d.ts +1 -0
- package/dist/utils/detect-port-in-use-and-prompt.js +31 -0
- package/dist/utils/detect-port-in-use-and-prompt.js.map +1 -0
- package/dist/utils/dev-ssr/parse-error.d.ts +22 -0
- package/dist/utils/dev-ssr/parse-error.js +119 -0
- package/dist/utils/dev-ssr/parse-error.js.map +1 -0
- package/dist/utils/dev-ssr/render-dev-html-child.d.ts +13 -0
- package/dist/utils/dev-ssr/render-dev-html-child.js +47 -0
- package/dist/utils/dev-ssr/render-dev-html-child.js.map +1 -0
- package/dist/utils/dev-ssr/render-dev-html.d.ts +23 -0
- package/dist/utils/dev-ssr/render-dev-html.js +227 -0
- package/dist/utils/dev-ssr/render-dev-html.js.map +1 -0
- package/dist/utils/develop-preload-headers.d.ts +7 -0
- package/dist/utils/develop-preload-headers.js +64 -0
- package/dist/utils/develop-preload-headers.js.map +1 -0
- package/dist/utils/did-you-mean.d.ts +3 -0
- package/dist/utils/did-you-mean.js +21 -0
- package/dist/utils/did-you-mean.js.map +1 -0
- package/dist/utils/engine-context.d.ts +5 -0
- package/dist/utils/engine-context.js +19 -0
- package/dist/utils/engine-context.js.map +1 -0
- package/dist/utils/engines-fs-provider.d.ts +9 -0
- package/dist/utils/engines-fs-provider.js +24 -0
- package/dist/utils/engines-fs-provider.js.map +1 -0
- package/dist/utils/engines-helpers.d.ts +10 -0
- package/dist/utils/engines-helpers.js +48 -0
- package/dist/utils/engines-helpers.js.map +1 -0
- package/dist/utils/ensure-file-content.d.ts +1 -0
- package/dist/utils/ensure-file-content.js +19 -0
- package/dist/utils/ensure-file-content.js.map +1 -0
- package/dist/utils/eslint/required.js +10 -0
- package/dist/utils/eslint/required.js.map +1 -0
- package/dist/utils/eslint-config.d.ts +3 -0
- package/dist/utils/eslint-config.js +136 -0
- package/dist/utils/eslint-config.js.map +1 -0
- package/dist/utils/eslint-rules/limited-exports-page-templates.d.ts +1 -0
- package/dist/utils/eslint-rules/limited-exports-page-templates.js +183 -0
- package/dist/utils/eslint-rules/limited-exports-page-templates.js.map +1 -0
- package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.d.ts +1 -0
- package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.js +75 -0
- package/dist/utils/eslint-rules/no-anonymous-exports-page-templates.js.map +1 -0
- package/dist/utils/eslint-rules-helpers.d.ts +4 -0
- package/dist/utils/eslint-rules-helpers.js +22 -0
- package/dist/utils/eslint-rules-helpers.js.map +1 -0
- package/dist/utils/express-middlewares.d.ts +4 -0
- package/dist/utils/express-middlewares.js +57 -0
- package/dist/utils/express-middlewares.js.map +1 -0
- package/dist/utils/extract-undefined-global.d.ts +4 -0
- package/dist/utils/extract-undefined-global.js +15 -0
- package/dist/utils/extract-undefined-global.js.map +1 -0
- package/dist/utils/fast-refresh-module.d.ts +22 -0
- package/dist/utils/fast-refresh-module.js +53 -0
- package/dist/utils/fast-refresh-module.js.map +1 -0
- package/dist/utils/feedback.d.ts +5 -0
- package/dist/utils/feedback.js +159 -0
- package/dist/utils/feedback.js.map +1 -0
- package/dist/utils/find-page-by-path.d.ts +2 -0
- package/dist/utils/find-page-by-path.js +96 -0
- package/dist/utils/find-page-by-path.js.map +1 -0
- package/dist/utils/flags.d.ts +41 -0
- package/dist/utils/flags.js +92 -0
- package/dist/utils/flags.js.map +1 -0
- package/dist/utils/gatsby-cloud-config.d.ts +4 -0
- package/dist/utils/gatsby-cloud-config.js +15 -0
- package/dist/utils/gatsby-cloud-config.js.map +1 -0
- package/dist/utils/gatsby-dependents.d.ts +8 -0
- package/dist/utils/gatsby-dependents.js +51 -0
- package/dist/utils/gatsby-dependents.js.map +1 -0
- package/dist/utils/gatsby-webpack-stats-extractor.d.ts +7 -0
- package/dist/utils/gatsby-webpack-stats-extractor.js +136 -0
- package/dist/utils/gatsby-webpack-stats-extractor.js.map +1 -0
- package/dist/utils/gatsby-webpack-virtual-modules.d.ts +6 -0
- package/dist/utils/gatsby-webpack-virtual-modules.js +45 -0
- package/dist/utils/gatsby-webpack-virtual-modules.js.map +1 -0
- package/dist/utils/get-cache.d.ts +2 -0
- package/dist/utils/get-cache.js +18 -0
- package/dist/utils/get-cache.js.map +1 -0
- package/dist/utils/get-latest-gatsby-files.d.ts +8 -0
- package/dist/utils/get-latest-gatsby-files.js +93 -0
- package/dist/utils/get-latest-gatsby-files.js.map +1 -0
- package/dist/utils/get-page-data.d.ts +3 -0
- package/dist/utils/get-page-data.js +88 -0
- package/dist/utils/get-page-data.js.map +1 -0
- package/dist/utils/get-public-path.d.ts +5 -0
- package/dist/utils/get-public-path.js +19 -0
- package/dist/utils/get-public-path.js.map +1 -0
- package/dist/utils/get-server-data.d.ts +19 -0
- package/dist/utils/get-server-data.js +29 -0
- package/dist/utils/get-server-data.js.map +1 -0
- package/dist/utils/get-ssl-cert.d.ts +9 -0
- package/dist/utils/get-ssl-cert.js +95 -0
- package/dist/utils/get-ssl-cert.js.map +1 -0
- package/dist/utils/get-static-dir.d.ts +12 -0
- package/dist/utils/get-static-dir.js +60 -0
- package/dist/utils/get-static-dir.js.map +1 -0
- package/dist/utils/get-value-at.d.ts +1 -0
- package/dist/utils/get-value-at.js +22 -0
- package/dist/utils/get-value-at.js.map +1 -0
- package/dist/utils/graphql-typegen/file-writes.d.ts +5 -0
- package/dist/utils/graphql-typegen/file-writes.js +63 -0
- package/dist/utils/graphql-typegen/file-writes.js.map +1 -0
- package/dist/utils/graphql-typegen/ts-codegen.d.ts +5 -0
- package/dist/utils/graphql-typegen/ts-codegen.js +136 -0
- package/dist/utils/graphql-typegen/ts-codegen.js.map +1 -0
- package/dist/utils/graphql-typegen/utils.d.ts +11 -0
- package/dist/utils/graphql-typegen/utils.js +70 -0
- package/dist/utils/graphql-typegen/utils.js.map +1 -0
- package/dist/utils/handle-flags.d.ts +8 -0
- package/dist/utils/handle-flags.js +212 -0
- package/dist/utils/handle-flags.js.map +1 -0
- package/dist/utils/import-gatsby-plugin.d.ts +11 -0
- package/dist/utils/import-gatsby-plugin.js +40 -0
- package/dist/utils/import-gatsby-plugin.js.map +1 -0
- package/dist/utils/is-32-bit-integer.d.ts +1 -0
- package/dist/utils/is-32-bit-integer.js +8 -0
- package/dist/utils/is-32-bit-integer.js.map +1 -0
- package/dist/utils/is-near-match.d.ts +1 -0
- package/dist/utils/is-near-match.js +10 -0
- package/dist/utils/is-near-match.js.map +1 -0
- package/dist/utils/jobs/manager.d.ts +34 -0
- package/dist/utils/jobs/manager.js +313 -0
- package/dist/utils/jobs/manager.js.map +1 -0
- package/dist/utils/jobs/types.d.ts +63 -0
- package/dist/utils/jobs/types.js +32 -0
- package/dist/utils/jobs/types.js.map +1 -0
- package/dist/utils/jobs/worker-messaging.d.ts +10 -0
- package/dist/utils/jobs/worker-messaging.js +114 -0
- package/dist/utils/jobs/worker-messaging.js.map +1 -0
- package/dist/utils/js-chunk-names.d.ts +1 -0
- package/dist/utils/js-chunk-names.js +72 -0
- package/dist/utils/js-chunk-names.js.map +1 -0
- package/dist/utils/loading-indicator.d.ts +3 -0
- package/dist/utils/loading-indicator.js +44 -0
- package/dist/utils/loading-indicator.js.map +1 -0
- package/dist/utils/local-eslint-config-finder.d.ts +1 -0
- package/dist/utils/local-eslint-config-finder.js +31 -0
- package/dist/utils/local-eslint-config-finder.js.map +1 -0
- package/dist/utils/merge-gatsby-config.d.ts +28 -0
- package/dist/utils/merge-gatsby-config.js +43 -0
- package/dist/utils/merge-gatsby-config.js.map +1 -0
- package/dist/utils/mett.d.ts +10 -0
- package/dist/utils/mett.js +42 -0
- package/dist/utils/mett.js.map +1 -0
- package/dist/utils/module-resolver.d.ts +2 -0
- package/dist/utils/module-resolver.js +24 -0
- package/dist/utils/module-resolver.js.map +1 -0
- package/dist/utils/node-manifest.d.ts +46 -0
- package/dist/utils/node-manifest.js +367 -0
- package/dist/utils/node-manifest.js.map +1 -0
- package/dist/utils/nodes.d.ts +13 -0
- package/dist/utils/nodes.js +62 -0
- package/dist/utils/nodes.js.map +1 -0
- package/dist/utils/normalize-path.d.ts +2 -0
- package/dist/utils/normalize-path.js +11 -0
- package/dist/utils/normalize-path.js.map +1 -0
- package/dist/utils/page-data-helpers.d.ts +23 -0
- package/dist/utils/page-data-helpers.js +76 -0
- package/dist/utils/page-data-helpers.js.map +1 -0
- package/dist/utils/page-data.d.ts +39 -0
- package/dist/utils/page-data.js +366 -0
- package/dist/utils/page-data.js.map +1 -0
- package/dist/utils/page-mode.d.ts +18 -0
- package/dist/utils/page-mode.js +124 -0
- package/dist/utils/page-mode.js.map +1 -0
- package/dist/utils/page-ssr-module/bundle-webpack.d.ts +18 -0
- package/dist/utils/page-ssr-module/bundle-webpack.js +209 -0
- package/dist/utils/page-ssr-module/bundle-webpack.js.map +1 -0
- package/dist/utils/page-ssr-module/entry.d.ts +61 -0
- package/dist/utils/page-ssr-module/entry.js +344 -0
- package/dist/utils/page-ssr-module/entry.js.map +1 -0
- package/dist/utils/page-ssr-module/lambda.d.ts +3 -0
- package/dist/utils/page-ssr-module/lambda.js +401 -0
- package/dist/utils/page-ssr-module/lambda.js.map +1 -0
- package/dist/utils/parcel/compile-gatsby-files.d.ts +26 -0
- package/dist/utils/parcel/compile-gatsby-files.js +271 -0
- package/dist/utils/parcel/compile-gatsby-files.js.map +1 -0
- package/dist/utils/path.d.ts +5 -0
- package/dist/utils/path.js +55 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/prepare-regex.d.ts +1 -0
- package/dist/utils/prepare-regex.js +13 -0
- package/dist/utils/prepare-regex.js.map +1 -0
- package/dist/utils/prepare-urls.d.ts +7 -0
- package/dist/utils/prepare-urls.js +58 -0
- package/dist/utils/prepare-urls.js.map +1 -0
- package/dist/utils/print-instructions.d.ts +2 -0
- package/dist/utils/print-instructions.js +42 -0
- package/dist/utils/print-instructions.js.map +1 -0
- package/dist/utils/rank-route.d.ts +1 -0
- package/dist/utils/rank-route.js +26 -0
- package/dist/utils/rank-route.js.map +1 -0
- package/dist/utils/reach-router-add-basecontext-export-loader.d.ts +1 -0
- package/dist/utils/reach-router-add-basecontext-export-loader.js +23 -0
- package/dist/utils/reach-router-add-basecontext-export-loader.js.map +1 -0
- package/dist/utils/report-once.d.ts +1 -0
- package/dist/utils/report-once.js +17 -0
- package/dist/utils/report-once.js.map +1 -0
- package/dist/utils/sanitize-node.d.ts +12 -0
- package/dist/utils/sanitize-node.js +87 -0
- package/dist/utils/sanitize-node.js.map +1 -0
- package/dist/utils/show-experiment-notice.d.ts +6 -0
- package/dist/utils/show-experiment-notice.js +51 -0
- package/dist/utils/show-experiment-notice.js.map +1 -0
- package/dist/utils/slices/stitching.d.ts +4 -0
- package/dist/utils/slices/stitching.js +92 -0
- package/dist/utils/slices/stitching.js.map +1 -0
- package/dist/utils/slices.d.ts +2 -0
- package/dist/utils/slices.js +9 -0
- package/dist/utils/slices.js.map +1 -0
- package/dist/utils/source-nodes-api-runner.d.ts +8 -0
- package/dist/utils/source-nodes-api-runner.js +23 -0
- package/dist/utils/source-nodes-api-runner.js.map +1 -0
- package/dist/utils/source-nodes.d.ts +11 -0
- package/dist/utils/source-nodes.js +150 -0
- package/dist/utils/source-nodes.js.map +1 -0
- package/dist/utils/stack-trace-utils.d.ts +24 -0
- package/dist/utils/stack-trace-utils.js +113 -0
- package/dist/utils/stack-trace-utils.js.map +1 -0
- package/dist/utils/start-server.d.ts +22 -0
- package/dist/utils/start-server.js +722 -0
- package/dist/utils/start-server.js.map +1 -0
- package/dist/utils/state-machine-logging.d.ts +4 -0
- package/dist/utils/state-machine-logging.js +47 -0
- package/dist/utils/state-machine-logging.js.map +1 -0
- package/dist/utils/static-query-utils.d.ts +13 -0
- package/dist/utils/static-query-utils.js +57 -0
- package/dist/utils/static-query-utils.js.map +1 -0
- package/dist/utils/test-import-error.d.ts +1 -0
- package/dist/utils/test-import-error.js +18 -0
- package/dist/utils/test-import-error.js.map +1 -0
- package/dist/utils/tracer/index.d.ts +12 -0
- package/dist/utils/tracer/index.js +42 -0
- package/dist/utils/tracer/index.js.map +1 -0
- package/dist/utils/tracer/jaeger-local.d.ts +4 -0
- package/dist/utils/tracer/jaeger-local.js +32 -0
- package/dist/utils/tracer/jaeger-local.js.map +1 -0
- package/dist/utils/tracer/zipkin-local.d.ts +11 -0
- package/dist/utils/tracer/zipkin-local.js +87 -0
- package/dist/utils/tracer/zipkin-local.js.map +1 -0
- package/dist/utils/tracer/zipkin-types.d.js +14 -0
- package/dist/utils/tracer/zipkin-types.d.js.map +1 -0
- package/dist/utils/validate-component.d.ts +23 -0
- package/dist/utils/validate-component.js +99 -0
- package/dist/utils/validate-component.js.map +1 -0
- package/dist/utils/validate-engines/child.d.ts +1 -0
- package/dist/utils/validate-engines/child.js +74 -0
- package/dist/utils/validate-engines/child.js.map +1 -0
- package/dist/utils/validate-engines/index.d.ts +2 -0
- package/dist/utils/validate-engines/index.js +48 -0
- package/dist/utils/validate-engines/index.js.map +1 -0
- package/dist/utils/wait-until-jobs-complete.d.ts +2 -0
- package/dist/utils/wait-until-jobs-complete.js +30 -0
- package/dist/utils/wait-until-jobs-complete.js.map +1 -0
- package/dist/utils/webpack/bundle.d.ts +9 -0
- package/dist/utils/webpack/bundle.js +41 -0
- package/dist/utils/webpack/bundle.js.map +1 -0
- package/dist/utils/webpack/get-ssr-chunk-hashes.d.ts +9 -0
- package/dist/utils/webpack/get-ssr-chunk-hashes.js +55 -0
- package/dist/utils/webpack/get-ssr-chunk-hashes.js.map +1 -0
- package/dist/utils/webpack/loaders/client-components-requires-writer-loader.d.ts +1 -0
- package/dist/utils/webpack/loaders/client-components-requires-writer-loader.js +22 -0
- package/dist/utils/webpack/loaders/client-components-requires-writer-loader.js.map +1 -0
- package/dist/utils/webpack/loaders/partial-hydration-reference-loader.d.ts +1 -0
- package/dist/utils/webpack/loaders/partial-hydration-reference-loader.js +127 -0
- package/dist/utils/webpack/loaders/partial-hydration-reference-loader.js.map +1 -0
- package/dist/utils/webpack/loaders/webpack-remove-exports-loader.d.ts +1 -0
- package/dist/utils/webpack/loaders/webpack-remove-exports-loader.js +40 -0
- package/dist/utils/webpack/loaders/webpack-remove-exports-loader.js.map +1 -0
- package/dist/utils/webpack/plugins/cache-folder-resolver.d.ts +25 -0
- package/dist/utils/webpack/plugins/cache-folder-resolver.js +111 -0
- package/dist/utils/webpack/plugins/cache-folder-resolver.js.map +1 -0
- package/dist/utils/webpack/plugins/corejs-resolver.d.ts +12 -0
- package/dist/utils/webpack/plugins/corejs-resolver.js +66 -0
- package/dist/utils/webpack/plugins/corejs-resolver.js.map +1 -0
- package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.d.ts +22 -0
- package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.js +88 -0
- package/dist/utils/webpack/plugins/force-css-hmr-for-edge-cases.js.map +1 -0
- package/dist/utils/webpack/plugins/partial-hydration.d.ts +26 -0
- package/dist/utils/webpack/plugins/partial-hydration.js +362 -0
- package/dist/utils/webpack/plugins/partial-hydration.js.map +1 -0
- package/dist/utils/webpack/plugins/static-query-mapper.d.ts +13 -0
- package/dist/utils/webpack/plugins/static-query-mapper.js +235 -0
- package/dist/utils/webpack/plugins/static-query-mapper.js.map +1 -0
- package/dist/utils/webpack/plugins/webpack-logging.d.ts +12 -0
- package/dist/utils/webpack/plugins/webpack-logging.js +51 -0
- package/dist/utils/webpack/plugins/webpack-logging.js.map +1 -0
- package/dist/utils/webpack/utils/create-normalized-module-key.d.ts +12 -0
- package/dist/utils/webpack/utils/create-normalized-module-key.js +25 -0
- package/dist/utils/webpack/utils/create-normalized-module-key.js.map +1 -0
- package/dist/utils/webpack/utils/is-file-inside-compilations.d.ts +7 -0
- package/dist/utils/webpack/utils/is-file-inside-compilations.js +37 -0
- package/dist/utils/webpack/utils/is-file-inside-compilations.js.map +1 -0
- package/dist/utils/webpack-error-utils.d.ts +24 -0
- package/dist/utils/webpack-error-utils.js +112 -0
- package/dist/utils/webpack-error-utils.js.map +1 -0
- package/dist/utils/webpack-plugins.d.ts +46 -0
- package/dist/utils/webpack-plugins.js +61 -0
- package/dist/utils/webpack-plugins.js.map +1 -0
- package/dist/utils/webpack-status.d.ts +3 -0
- package/dist/utils/webpack-status.js +21 -0
- package/dist/utils/webpack-status.js.map +1 -0
- package/dist/utils/webpack-utils.d.ts +121 -0
- package/dist/utils/webpack-utils.js +574 -0
- package/dist/utils/webpack-utils.js.map +1 -0
- package/dist/utils/webpack.config.js +804 -0
- package/dist/utils/webpack.config.js.map +1 -0
- package/dist/utils/websocket-manager.d.ts +39 -0
- package/dist/utils/websocket-manager.js +183 -0
- package/dist/utils/websocket-manager.js.map +1 -0
- package/dist/utils/worker/child/index.d.ts +5 -0
- package/dist/utils/worker/child/index.js +35 -0
- package/dist/utils/worker/child/index.js.map +1 -0
- package/dist/utils/worker/child/load-config-and-plugins.d.ts +2 -0
- package/dist/utils/worker/child/load-config-and-plugins.js +28 -0
- package/dist/utils/worker/child/load-config-and-plugins.js.map +1 -0
- package/dist/utils/worker/child/queries.d.ts +7 -0
- package/dist/utils/worker/child/queries.js +84 -0
- package/dist/utils/worker/child/queries.js.map +1 -0
- package/dist/utils/worker/child/render-html.d.ts +49 -0
- package/dist/utils/worker/child/render-html.js +562 -0
- package/dist/utils/worker/child/render-html.js.map +1 -0
- package/dist/utils/worker/child/schema.d.ts +2 -0
- package/dist/utils/worker/child/schema.js +41 -0
- package/dist/utils/worker/child/schema.js.map +1 -0
- package/dist/utils/worker/child/state.d.ts +2 -0
- package/dist/utils/worker/child/state.js +13 -0
- package/dist/utils/worker/child/state.js.map +1 -0
- package/dist/utils/worker/messaging.d.ts +16 -0
- package/dist/utils/worker/messaging.js +9 -0
- package/dist/utils/worker/messaging.js.map +1 -0
- package/dist/utils/worker/pool.d.ts +10 -0
- package/dist/utils/worker/pool.js +122 -0
- package/dist/utils/worker/pool.js.map +1 -0
- package/dist/utils/worker/reporter.d.ts +3 -0
- package/dist/utils/worker/reporter.js +26 -0
- package/dist/utils/worker/reporter.js.map +1 -0
- package/dist/utils/worker/types.d.ts +3 -0
- package/dist/utils/worker/types.js +4 -0
- package/dist/utils/worker/types.js.map +1 -0
- package/graphql.d.ts +2 -0
- package/graphql.js +6 -0
- package/index.d.ts +1906 -0
- package/internal.d.ts +4 -0
- package/internal.js +5 -0
- package/ipc.json +3 -0
- package/package.json +744 -0
- package/reporter.d.ts +4 -0
- package/reporter.js +3 -0
- package/scripts/postinstall.js +7 -0
- package/utils.js +1 -0
- package/webpack.d.ts +3 -0
- package/webpack.js +3 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.compareByKeySuffix = compareByKeySuffix;
|
|
5
|
+
exports.doRunQuery = doRunQuery;
|
|
6
|
+
var _iterable = require("../../common/iterable");
|
|
7
|
+
var _query = require("../../common/query");
|
|
8
|
+
var _createIndex = require("./create-index");
|
|
9
|
+
var _filterUsingIndex = require("./filter-using-index");
|
|
10
|
+
var _redux = require("../../../redux");
|
|
11
|
+
var _common = require("./common");
|
|
12
|
+
var _suggestIndex = require("./suggest-index");
|
|
13
|
+
async function doRunQuery(args) {
|
|
14
|
+
// Note: Keeping doRunQuery method the only async method in chain for perf
|
|
15
|
+
const context = createQueryContext(args);
|
|
16
|
+
const totalCount = async () => runCountOnce({
|
|
17
|
+
...context,
|
|
18
|
+
limit: undefined,
|
|
19
|
+
skip: 0
|
|
20
|
+
});
|
|
21
|
+
if (canUseIndex(context)) {
|
|
22
|
+
await Promise.all(context.nodeTypeNames.map(typeName => (0, _createIndex.createIndex)(context, typeName, context.suggestedIndexFields)));
|
|
23
|
+
return {
|
|
24
|
+
entries: performIndexScan(context),
|
|
25
|
+
totalCount
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
entries: performFullTableScan(context),
|
|
30
|
+
totalCount
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function performIndexScan(context) {
|
|
34
|
+
const {
|
|
35
|
+
suggestedIndexFields,
|
|
36
|
+
sortFields
|
|
37
|
+
} = context;
|
|
38
|
+
const filterContext = context.nodeTypeNames.length === 1 ? context : {
|
|
39
|
+
...context,
|
|
40
|
+
skip: 0,
|
|
41
|
+
limit: typeof context.limit === `undefined` ? undefined : context.skip + context.limit
|
|
42
|
+
};
|
|
43
|
+
let result = new _iterable.GatsbyIterable([]);
|
|
44
|
+
let resultOffset = filterContext.skip;
|
|
45
|
+
for (const typeName of context.nodeTypeNames) {
|
|
46
|
+
const indexMetadata = (0, _createIndex.getIndexMetadata)(context, typeName, suggestedIndexFields);
|
|
47
|
+
if (!needsSorting(context)) {
|
|
48
|
+
const {
|
|
49
|
+
nodes,
|
|
50
|
+
usedSkip
|
|
51
|
+
} = filterNodes(filterContext, indexMetadata);
|
|
52
|
+
result = result.concat(nodes);
|
|
53
|
+
resultOffset = usedSkip;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (canUseIndexForSorting(indexMetadata, sortFields)) {
|
|
57
|
+
const {
|
|
58
|
+
nodes,
|
|
59
|
+
usedSkip
|
|
60
|
+
} = filterNodes(filterContext, indexMetadata);
|
|
61
|
+
// Interleave nodes of different types (not expensive for already sorted chunks)
|
|
62
|
+
result = result.mergeSorted(nodes, createNodeSortComparator(sortFields));
|
|
63
|
+
resultOffset = usedSkip;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
// The sad part - unlimited filter + in-memory sort
|
|
67
|
+
const unlimited = {
|
|
68
|
+
...context,
|
|
69
|
+
skip: 0,
|
|
70
|
+
limit: undefined
|
|
71
|
+
};
|
|
72
|
+
const {
|
|
73
|
+
nodes,
|
|
74
|
+
usedSkip
|
|
75
|
+
} = filterNodes(unlimited, indexMetadata);
|
|
76
|
+
const sortedNodes = sortNodesInMemory(context, nodes);
|
|
77
|
+
resultOffset = usedSkip;
|
|
78
|
+
result = result.mergeSorted(sortedNodes, createNodeSortComparator(sortFields));
|
|
79
|
+
}
|
|
80
|
+
const {
|
|
81
|
+
limit,
|
|
82
|
+
skip = 0
|
|
83
|
+
} = context;
|
|
84
|
+
const actualSkip = skip - resultOffset;
|
|
85
|
+
if (limit || actualSkip) {
|
|
86
|
+
result = result.slice(actualSkip, limit ? actualSkip + limit : undefined);
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
function runCountOnce(context) {
|
|
91
|
+
if (typeof context.totalCount === `undefined`) {
|
|
92
|
+
context.totalCount = runCount(context);
|
|
93
|
+
}
|
|
94
|
+
return context.totalCount;
|
|
95
|
+
}
|
|
96
|
+
function runCount(context) {
|
|
97
|
+
let count = 0;
|
|
98
|
+
if (!needsFiltering(context)) {
|
|
99
|
+
for (const typeName of context.nodeTypeNames) {
|
|
100
|
+
count += context.datastore.countNodes(typeName);
|
|
101
|
+
}
|
|
102
|
+
return count;
|
|
103
|
+
}
|
|
104
|
+
if (!canUseIndex(context)) {
|
|
105
|
+
for (const typeName of context.nodeTypeNames) {
|
|
106
|
+
const nodes = completeFiltering(context, new _iterable.GatsbyIterable(context.datastore.iterateNodesByType(typeName)));
|
|
107
|
+
for (const _ of nodes) count++;
|
|
108
|
+
}
|
|
109
|
+
return count;
|
|
110
|
+
}
|
|
111
|
+
for (const typeName of context.nodeTypeNames) {
|
|
112
|
+
const indexMetadata = (0, _createIndex.getIndexMetadata)(context, typeName, context.suggestedIndexFields);
|
|
113
|
+
try {
|
|
114
|
+
count += (0, _filterUsingIndex.countUsingIndexOnly)({
|
|
115
|
+
...context,
|
|
116
|
+
indexMetadata
|
|
117
|
+
});
|
|
118
|
+
} catch (e) {
|
|
119
|
+
// We cannot reliably count using index - fallback to full iteration :/
|
|
120
|
+
for (const _ of filterNodes(context, indexMetadata).nodes) count++;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return count;
|
|
124
|
+
}
|
|
125
|
+
function performFullTableScan(context) {
|
|
126
|
+
// console.warn(`Fallback to full table scan :/`)
|
|
127
|
+
|
|
128
|
+
const {
|
|
129
|
+
datastore,
|
|
130
|
+
nodeTypeNames
|
|
131
|
+
} = context;
|
|
132
|
+
let result = new _iterable.GatsbyIterable([]);
|
|
133
|
+
for (const typeName of nodeTypeNames) {
|
|
134
|
+
let nodes = new _iterable.GatsbyIterable(datastore.iterateNodesByType(typeName));
|
|
135
|
+
nodes = completeFiltering(context, nodes);
|
|
136
|
+
if (needsSorting(context)) {
|
|
137
|
+
nodes = sortNodesInMemory(context, nodes);
|
|
138
|
+
result = result.mergeSorted(nodes, createNodeSortComparator(context.sortFields));
|
|
139
|
+
} else {
|
|
140
|
+
result = result.concat(nodes);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const {
|
|
144
|
+
limit,
|
|
145
|
+
skip = 0
|
|
146
|
+
} = context;
|
|
147
|
+
if (limit || skip) {
|
|
148
|
+
result = result.slice(skip, limit ? skip + limit : undefined);
|
|
149
|
+
}
|
|
150
|
+
return result;
|
|
151
|
+
}
|
|
152
|
+
function filterNodes(context, indexMetadata) {
|
|
153
|
+
const {
|
|
154
|
+
entries,
|
|
155
|
+
usedQueries,
|
|
156
|
+
usedSkip
|
|
157
|
+
} = (0, _filterUsingIndex.filterUsingIndex)({
|
|
158
|
+
...context,
|
|
159
|
+
indexMetadata,
|
|
160
|
+
reverse: Array.from(context.sortFields.values())[0] === -1
|
|
161
|
+
});
|
|
162
|
+
const nodes = entries.map(({
|
|
163
|
+
value
|
|
164
|
+
}) => context.datastore.getNode(value)).filter(Boolean);
|
|
165
|
+
return {
|
|
166
|
+
nodes: completeFiltering(context, nodes, usedQueries),
|
|
167
|
+
usedSkip
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Takes intermediate result and applies any remaining filterQueries.
|
|
173
|
+
*
|
|
174
|
+
* If result is already fully filtered - simply returns.
|
|
175
|
+
*/
|
|
176
|
+
function completeFiltering(context, intermediateResult, usedQueries = new Set()) {
|
|
177
|
+
const {
|
|
178
|
+
dbQueries
|
|
179
|
+
} = context;
|
|
180
|
+
if (isFullyFiltered(dbQueries, usedQueries)) {
|
|
181
|
+
return intermediateResult;
|
|
182
|
+
}
|
|
183
|
+
// Apply remaining filter operations directly (last resort: slow)
|
|
184
|
+
const resolvedNodes = _redux.store.getState().resolvedNodesCache;
|
|
185
|
+
const filtersToApply = dbQueries.filter(q => !usedQueries.has(q)).map(q => [(0, _query.dbQueryToDottedField)(q), (0, _query.getFilterStatement)(q)]);
|
|
186
|
+
return intermediateResult.filter(node => {
|
|
187
|
+
var _resolvedNodes$get;
|
|
188
|
+
const resolvedFields = resolvedNodes === null || resolvedNodes === void 0 ? void 0 : (_resolvedNodes$get = resolvedNodes.get(node.internal.type)) === null || _resolvedNodes$get === void 0 ? void 0 : _resolvedNodes$get.get(node.id);
|
|
189
|
+
for (const [dottedField, filter] of filtersToApply) {
|
|
190
|
+
const tmp = (0, _common.resolveFieldValue)(dottedField, node, resolvedFields);
|
|
191
|
+
const value = Array.isArray(tmp) ? tmp : [tmp];
|
|
192
|
+
if (value.some(v => !(0, _common.matchesFilter)(filter, v))) {
|
|
193
|
+
// Mimic AND semantics
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
function sortNodesInMemory(context, nodes) {
|
|
201
|
+
// TODO: Sort using index data whenever possible (maybe store data needed for sorting in index values)
|
|
202
|
+
// TODO: Nodes can be partially sorted by index prefix - we can (and should) exploit this
|
|
203
|
+
return new _iterable.GatsbyIterable(() => {
|
|
204
|
+
const arr = Array.from(nodes);
|
|
205
|
+
arr.sort(createNodeSortComparator(context.sortFields));
|
|
206
|
+
return arr;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function createQueryContext(args) {
|
|
210
|
+
const {
|
|
211
|
+
queryArgs: {
|
|
212
|
+
filter,
|
|
213
|
+
sort,
|
|
214
|
+
limit,
|
|
215
|
+
skip = 0
|
|
216
|
+
} = {},
|
|
217
|
+
firstOnly
|
|
218
|
+
} = args;
|
|
219
|
+
return {
|
|
220
|
+
datastore: args.datastore,
|
|
221
|
+
databases: args.databases,
|
|
222
|
+
nodeTypeNames: args.nodeTypeNames,
|
|
223
|
+
dbQueries: (0, _query.createDbQueriesFromObject)((0, _query.prepareQueryArgs)(filter)),
|
|
224
|
+
sortFields: new Map(sort === null || sort === void 0 ? void 0 : sort.fields.map((field, i) => [field, (0, _common.isDesc)(sort === null || sort === void 0 ? void 0 : sort.order[i]) ? -1 : 1])),
|
|
225
|
+
suggestedIndexFields: new Map((0, _suggestIndex.suggestIndex)({
|
|
226
|
+
filter,
|
|
227
|
+
sort
|
|
228
|
+
})),
|
|
229
|
+
limit: firstOnly ? 1 : limit,
|
|
230
|
+
skip
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function canUseIndex(context) {
|
|
234
|
+
return context.suggestedIndexFields.size > 0;
|
|
235
|
+
}
|
|
236
|
+
function needsFiltering(context) {
|
|
237
|
+
return context.dbQueries.length > 0;
|
|
238
|
+
}
|
|
239
|
+
function needsSorting(context) {
|
|
240
|
+
return context.sortFields.size > 0;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Based on assumption that if all sort fields exist in index
|
|
245
|
+
* then any result received from this index is fully sorted
|
|
246
|
+
*/
|
|
247
|
+
function canUseIndexForSorting(index, sortFields) {
|
|
248
|
+
const indexKeyFields = new Map(index.keyFields);
|
|
249
|
+
for (const [field, sortOrder] of sortFields) {
|
|
250
|
+
if (indexKeyFields.get(field) !== sortOrder) {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
256
|
+
function isFullyFiltered(dbQueries, usedQueries) {
|
|
257
|
+
return dbQueries.length === usedQueries.size;
|
|
258
|
+
}
|
|
259
|
+
function createNodeSortComparator(sortFields) {
|
|
260
|
+
const resolvedNodesCache = _redux.store.getState().resolvedNodesCache;
|
|
261
|
+
return function nodeComparator(a, b) {
|
|
262
|
+
var _resolvedNodesCache$g, _resolvedNodesCache$g2;
|
|
263
|
+
const resolvedAFields = resolvedNodesCache === null || resolvedNodesCache === void 0 ? void 0 : (_resolvedNodesCache$g = resolvedNodesCache.get(a.internal.type)) === null || _resolvedNodesCache$g === void 0 ? void 0 : _resolvedNodesCache$g.get(a.id);
|
|
264
|
+
const resolvedBFields = resolvedNodesCache === null || resolvedNodesCache === void 0 ? void 0 : (_resolvedNodesCache$g2 = resolvedNodesCache.get(b.internal.type)) === null || _resolvedNodesCache$g2 === void 0 ? void 0 : _resolvedNodesCache$g2.get(b.id);
|
|
265
|
+
for (const [field, direction] of sortFields) {
|
|
266
|
+
const valueA = (0, _common.resolveFieldValue)(field, a, resolvedAFields);
|
|
267
|
+
const valueB = (0, _common.resolveFieldValue)(field, b, resolvedBFields);
|
|
268
|
+
if (valueA > valueB) {
|
|
269
|
+
return direction === 1 ? 1 : -1;
|
|
270
|
+
} else if (valueA < valueB) {
|
|
271
|
+
return direction === 1 ? -1 : 1;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return 0;
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
function compareByKeySuffix(prefixLength) {
|
|
278
|
+
return function (a, b) {
|
|
279
|
+
const aSuffix = a.key.slice(prefixLength);
|
|
280
|
+
const bSuffix = b.key.slice(prefixLength);
|
|
281
|
+
// @ts-ignore
|
|
282
|
+
return (0, _common.compareKey)(aSuffix, bSuffix);
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=run-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-query.js","names":["doRunQuery","args","context","createQueryContext","totalCount","runCountOnce","limit","undefined","skip","canUseIndex","Promise","all","nodeTypeNames","map","typeName","createIndex","suggestedIndexFields","entries","performIndexScan","performFullTableScan","sortFields","filterContext","length","result","GatsbyIterable","resultOffset","indexMetadata","getIndexMetadata","needsSorting","nodes","usedSkip","filterNodes","concat","canUseIndexForSorting","mergeSorted","createNodeSortComparator","unlimited","sortedNodes","sortNodesInMemory","actualSkip","slice","runCount","count","needsFiltering","datastore","countNodes","completeFiltering","iterateNodesByType","_","countUsingIndexOnly","e","usedQueries","filterUsingIndex","reverse","Array","from","values","value","getNode","filter","Boolean","intermediateResult","Set","dbQueries","isFullyFiltered","resolvedNodes","store","getState","resolvedNodesCache","filtersToApply","q","has","dbQueryToDottedField","getFilterStatement","node","resolvedFields","get","internal","type","id","dottedField","tmp","resolveFieldValue","isArray","some","v","matchesFilter","arr","sort","queryArgs","firstOnly","databases","createDbQueriesFromObject","prepareQueryArgs","Map","fields","field","i","isDesc","order","suggestIndex","size","index","indexKeyFields","keyFields","sortOrder","nodeComparator","a","b","resolvedAFields","resolvedBFields","direction","valueA","valueB","compareByKeySuffix","prefixLength","aSuffix","key","bSuffix","compareKey"],"sources":["../../../../src/datastore/lmdb/query/run-query.ts"],"sourcesContent":["import {\n IDataStore,\n ILmdbDatabases,\n IQueryResult,\n IRunQueryArgs,\n} from \"../../types\"\nimport { IGatsbyNode } from \"../../../redux/types\"\nimport { GatsbyIterable } from \"../../common/iterable\"\nimport {\n createDbQueriesFromObject,\n DbQuery,\n dbQueryToDottedField,\n getFilterStatement,\n IDbFilterStatement,\n prepareQueryArgs,\n} from \"../../common/query\"\nimport {\n createIndex,\n getIndexMetadata,\n IIndexMetadata,\n IndexFields,\n} from \"./create-index\"\nimport {\n countUsingIndexOnly,\n filterUsingIndex,\n IIndexEntry,\n} from \"./filter-using-index\"\nimport { store } from \"../../../redux\"\nimport { isDesc, resolveFieldValue, matchesFilter, compareKey } from \"./common\"\nimport { suggestIndex } from \"./suggest-index\"\n\ninterface IDoRunQueryArgs extends IRunQueryArgs {\n databases: ILmdbDatabases\n datastore: IDataStore\n}\n\ntype SortFields = Map<string, number>\n\ninterface IQueryContext {\n datastore: IDataStore\n databases: ILmdbDatabases\n dbQueries: Array<DbQuery>\n sortFields: SortFields\n nodeTypeNames: Array<string>\n suggestedIndexFields: IndexFields\n indexMetadata?: IIndexMetadata\n limit?: number\n skip: number\n totalCount?: number\n}\n\nexport async function doRunQuery(args: IDoRunQueryArgs): Promise<IQueryResult> {\n // Note: Keeping doRunQuery method the only async method in chain for perf\n const context = createQueryContext(args)\n\n const totalCount = async (): Promise<number> =>\n runCountOnce({ ...context, limit: undefined, skip: 0 })\n\n if (canUseIndex(context)) {\n await Promise.all(\n context.nodeTypeNames.map(typeName =>\n createIndex(context, typeName, context.suggestedIndexFields)\n )\n )\n return { entries: performIndexScan(context), totalCount }\n }\n return { entries: performFullTableScan(context), totalCount }\n}\n\nfunction performIndexScan(context: IQueryContext): GatsbyIterable<IGatsbyNode> {\n const { suggestedIndexFields, sortFields } = context\n\n const filterContext =\n context.nodeTypeNames.length === 1\n ? context\n : {\n ...context,\n skip: 0,\n limit:\n typeof context.limit === `undefined`\n ? undefined\n : context.skip + context.limit,\n }\n\n let result = new GatsbyIterable<IGatsbyNode>([])\n let resultOffset = filterContext.skip\n for (const typeName of context.nodeTypeNames) {\n const indexMetadata = getIndexMetadata(\n context,\n typeName,\n suggestedIndexFields\n )\n if (!needsSorting(context)) {\n const { nodes, usedSkip } = filterNodes(filterContext, indexMetadata)\n result = result.concat(nodes)\n resultOffset = usedSkip\n continue\n }\n if (canUseIndexForSorting(indexMetadata, sortFields)) {\n const { nodes, usedSkip } = filterNodes(filterContext, indexMetadata)\n // Interleave nodes of different types (not expensive for already sorted chunks)\n result = result.mergeSorted(nodes, createNodeSortComparator(sortFields))\n resultOffset = usedSkip\n continue\n }\n // The sad part - unlimited filter + in-memory sort\n const unlimited = { ...context, skip: 0, limit: undefined }\n const { nodes, usedSkip } = filterNodes(unlimited, indexMetadata)\n const sortedNodes = sortNodesInMemory(context, nodes)\n resultOffset = usedSkip\n\n result = result.mergeSorted(\n sortedNodes,\n createNodeSortComparator(sortFields)\n )\n }\n const { limit, skip = 0 } = context\n const actualSkip = skip - resultOffset\n\n if (limit || actualSkip) {\n result = result.slice(actualSkip, limit ? actualSkip + limit : undefined)\n }\n return result\n}\n\nfunction runCountOnce(context: IQueryContext): number {\n if (typeof context.totalCount === `undefined`) {\n context.totalCount = runCount(context)\n }\n return context.totalCount\n}\n\nfunction runCount(context: IQueryContext): number {\n let count = 0\n\n if (!needsFiltering(context)) {\n for (const typeName of context.nodeTypeNames) {\n count += context.datastore.countNodes(typeName)\n }\n return count\n }\n\n if (!canUseIndex(context)) {\n for (const typeName of context.nodeTypeNames) {\n const nodes = completeFiltering(\n context,\n new GatsbyIterable(context.datastore.iterateNodesByType(typeName))\n )\n for (const _ of nodes) count++\n }\n return count\n }\n\n for (const typeName of context.nodeTypeNames) {\n const indexMetadata = getIndexMetadata(\n context,\n typeName,\n context.suggestedIndexFields\n )\n try {\n count += countUsingIndexOnly({ ...context, indexMetadata })\n } catch (e) {\n // We cannot reliably count using index - fallback to full iteration :/\n for (const _ of filterNodes(context, indexMetadata).nodes) count++\n }\n }\n return count\n}\n\nfunction performFullTableScan(\n context: IQueryContext\n): GatsbyIterable<IGatsbyNode> {\n // console.warn(`Fallback to full table scan :/`)\n\n const { datastore, nodeTypeNames } = context\n\n let result = new GatsbyIterable<IGatsbyNode>([])\n for (const typeName of nodeTypeNames) {\n let nodes = new GatsbyIterable(datastore.iterateNodesByType(typeName))\n nodes = completeFiltering(context, nodes)\n\n if (needsSorting(context)) {\n nodes = sortNodesInMemory(context, nodes)\n result = result.mergeSorted(\n nodes,\n createNodeSortComparator(context.sortFields)\n )\n } else {\n result = result.concat(nodes)\n }\n }\n const { limit, skip = 0 } = context\n\n if (limit || skip) {\n result = result.slice(skip, limit ? skip + limit : undefined)\n }\n return result\n}\n\nfunction filterNodes(\n context: IQueryContext,\n indexMetadata: IIndexMetadata\n): { nodes: GatsbyIterable<IGatsbyNode>; usedSkip: number } {\n const { entries, usedQueries, usedSkip } = filterUsingIndex({\n ...context,\n indexMetadata,\n reverse: Array.from(context.sortFields.values())[0] === -1,\n })\n const nodes = entries\n .map(({ value }) => context.datastore.getNode(value))\n .filter(Boolean)\n\n return {\n nodes: completeFiltering(\n context,\n nodes as GatsbyIterable<IGatsbyNode>,\n usedQueries\n ),\n usedSkip,\n }\n}\n\n/**\n * Takes intermediate result and applies any remaining filterQueries.\n *\n * If result is already fully filtered - simply returns.\n */\nfunction completeFiltering(\n context: IQueryContext,\n intermediateResult: GatsbyIterable<IGatsbyNode>,\n usedQueries: Set<DbQuery> = new Set()\n): GatsbyIterable<IGatsbyNode> {\n const { dbQueries } = context\n if (isFullyFiltered(dbQueries, usedQueries)) {\n return intermediateResult\n }\n // Apply remaining filter operations directly (last resort: slow)\n const resolvedNodes = store.getState().resolvedNodesCache\n\n const filtersToApply: Array<[string, IDbFilterStatement]> = dbQueries\n .filter(q => !usedQueries.has(q))\n .map(q => [dbQueryToDottedField(q), getFilterStatement(q)])\n\n return intermediateResult.filter(node => {\n const resolvedFields = resolvedNodes?.get(node.internal.type)?.get(node.id)\n\n for (const [dottedField, filter] of filtersToApply) {\n const tmp = resolveFieldValue(dottedField, node, resolvedFields)\n const value = Array.isArray(tmp) ? tmp : [tmp]\n if (value.some(v => !matchesFilter(filter, v))) {\n // Mimic AND semantics\n return false\n }\n }\n return true\n })\n}\n\nfunction sortNodesInMemory(\n context: IQueryContext,\n nodes: GatsbyIterable<IGatsbyNode>\n): GatsbyIterable<IGatsbyNode> {\n // TODO: Sort using index data whenever possible (maybe store data needed for sorting in index values)\n // TODO: Nodes can be partially sorted by index prefix - we can (and should) exploit this\n return new GatsbyIterable(() => {\n const arr = Array.from(nodes)\n arr.sort(createNodeSortComparator(context.sortFields))\n return arr\n })\n}\n\nfunction createQueryContext(args: IDoRunQueryArgs): IQueryContext {\n const { queryArgs: { filter, sort, limit, skip = 0 } = {}, firstOnly } = args\n\n return {\n datastore: args.datastore,\n databases: args.databases,\n nodeTypeNames: args.nodeTypeNames,\n dbQueries: createDbQueriesFromObject(prepareQueryArgs(filter)),\n sortFields: new Map<string, number>(\n sort?.fields.map((field, i) => [field, isDesc(sort?.order[i]) ? -1 : 1])\n ),\n suggestedIndexFields: new Map(suggestIndex({ filter, sort })),\n limit: firstOnly ? 1 : limit,\n skip,\n }\n}\n\nfunction canUseIndex(context: IQueryContext): boolean {\n return context.suggestedIndexFields.size > 0\n}\n\nfunction needsFiltering(context: IQueryContext): boolean {\n return context.dbQueries.length > 0\n}\n\nfunction needsSorting(context: IQueryContext): boolean {\n return context.sortFields.size > 0\n}\n\n/**\n * Based on assumption that if all sort fields exist in index\n * then any result received from this index is fully sorted\n */\nfunction canUseIndexForSorting(\n index: IIndexMetadata,\n sortFields: SortFields\n): boolean {\n const indexKeyFields = new Map(index.keyFields)\n for (const [field, sortOrder] of sortFields) {\n if (indexKeyFields.get(field) !== sortOrder) {\n return false\n }\n }\n return true\n}\n\nfunction isFullyFiltered(\n dbQueries: Array<DbQuery>,\n usedQueries: Set<DbQuery>\n): boolean {\n return dbQueries.length === usedQueries.size\n}\n\nfunction createNodeSortComparator(sortFields: SortFields): (a, b) => number {\n const resolvedNodesCache = store.getState().resolvedNodesCache\n\n return function nodeComparator(a: IGatsbyNode, b: IGatsbyNode): number {\n const resolvedAFields = resolvedNodesCache?.get(a.internal.type)?.get(a.id)\n const resolvedBFields = resolvedNodesCache?.get(b.internal.type)?.get(b.id)\n\n for (const [field, direction] of sortFields) {\n const valueA: any = resolveFieldValue(field, a, resolvedAFields)\n const valueB: any = resolveFieldValue(field, b, resolvedBFields)\n\n if (valueA > valueB) {\n return direction === 1 ? 1 : -1\n } else if (valueA < valueB) {\n return direction === 1 ? -1 : 1\n }\n }\n return 0\n }\n}\n\nexport function compareByKeySuffix(prefixLength: number) {\n return function (a: IIndexEntry, b: IIndexEntry): number {\n const aSuffix = a.key.slice(prefixLength)\n const bSuffix = b.key.slice(prefixLength)\n // @ts-ignore\n return compareKey(aSuffix, bSuffix)\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IRunQueryArgs } from "../../types";
|
|
2
|
+
interface ISelectIndexArgs {
|
|
3
|
+
filter: IRunQueryArgs["queryArgs"]["filter"];
|
|
4
|
+
sort: IRunQueryArgs["queryArgs"]["sort"];
|
|
5
|
+
maxFields?: number;
|
|
6
|
+
}
|
|
7
|
+
type IndexField = [fieldName: string, orderDirection: number];
|
|
8
|
+
/**
|
|
9
|
+
* Suggest index fields for this combination of filter and sort.
|
|
10
|
+
*
|
|
11
|
+
* Prioritizes sort fields over filter fields when can't use index
|
|
12
|
+
* for both because sorting is expensive both CPU and memory-wise.
|
|
13
|
+
*/
|
|
14
|
+
export declare function suggestIndex({ filter, sort, maxFields, }: ISelectIndexArgs): Array<IndexField>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.suggestIndex = suggestIndex;
|
|
5
|
+
var _query = require("../../common/query");
|
|
6
|
+
var _common = require("./common");
|
|
7
|
+
/**
|
|
8
|
+
* Suggest index fields for this combination of filter and sort.
|
|
9
|
+
*
|
|
10
|
+
* Prioritizes sort fields over filter fields when can't use index
|
|
11
|
+
* for both because sorting is expensive both CPU and memory-wise.
|
|
12
|
+
*/
|
|
13
|
+
function suggestIndex({
|
|
14
|
+
filter,
|
|
15
|
+
sort,
|
|
16
|
+
maxFields = 6
|
|
17
|
+
}) {
|
|
18
|
+
const filterQueries = (0, _query.createDbQueriesFromObject)((0, _query.prepareQueryArgs)(filter));
|
|
19
|
+
const filterQueriesThatCanUseIndex = getQueriesThatCanUseIndex(filterQueries);
|
|
20
|
+
const sortFields = getSortFieldsThatCanUseIndex(sort);
|
|
21
|
+
if (!sortFields.length && !filterQueriesThatCanUseIndex.length) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (!filterQueriesThatCanUseIndex.length) {
|
|
25
|
+
return dedupeAndTrim(sortFields, maxFields);
|
|
26
|
+
}
|
|
27
|
+
if (!sortFields.length) {
|
|
28
|
+
return dedupeAndTrim(toIndexFields(filterQueriesThatCanUseIndex), maxFields);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Combined index for filter+sort only makes sense when all prefix fields have `eq` predicate
|
|
32
|
+
// Same as https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-and-non-prefix-subset-of-an-index
|
|
33
|
+
const sortDirection = sortFields[0][1];
|
|
34
|
+
const eqFilterQueries = getEqQueries(filterQueriesThatCanUseIndex);
|
|
35
|
+
const eqFilterFields = toIndexFields(eqFilterQueries, sortDirection);
|
|
36
|
+
|
|
37
|
+
// Index prefix should not contain eq filters overlapping with sort fields
|
|
38
|
+
const overlap = findOverlappingFields(eqFilterQueries, sortFields);
|
|
39
|
+
return dedupeAndTrim([...eqFilterFields.filter(([name]) => !overlap.has(name)), ...sortFields,
|
|
40
|
+
// Still append other filter fields to the tail of the index to leverage additional filtering
|
|
41
|
+
// of results using data stored in the index (without loading full node object)
|
|
42
|
+
// Note: fields previously listed in eqFilterFields and sortFields will be removed in dedupeAndTrim
|
|
43
|
+
...toIndexFields(filterQueriesThatCanUseIndex, sortDirection)], maxFields);
|
|
44
|
+
}
|
|
45
|
+
const canUseIndex = new Set([_query.DbComparator.EQ, _query.DbComparator.IN, _query.DbComparator.GTE, _query.DbComparator.LTE, _query.DbComparator.GT, _query.DbComparator.LT, _query.DbComparator.NIN, _query.DbComparator.NE]);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Returns queries that can potentially use index.
|
|
49
|
+
* Returned list is sorted by query specificity
|
|
50
|
+
*/
|
|
51
|
+
function getQueriesThatCanUseIndex(all) {
|
|
52
|
+
return (0, _query.sortBySpecificity)(all.filter(q => canUseIndex.has((0, _query.getFilterStatement)(q).comparator)));
|
|
53
|
+
}
|
|
54
|
+
function getSortFieldsThatCanUseIndex(querySortArg) {
|
|
55
|
+
const sort = querySortArg || {
|
|
56
|
+
fields: [],
|
|
57
|
+
order: []
|
|
58
|
+
};
|
|
59
|
+
const initialOrder = (0, _common.isDesc)(sort === null || sort === void 0 ? void 0 : sort.order[0]) ? -1 : 1;
|
|
60
|
+
const sortFields = [];
|
|
61
|
+
for (let i = 0; i < sort.fields.length; i++) {
|
|
62
|
+
const field = sort.fields[i];
|
|
63
|
+
const order = (0, _common.isDesc)(sort.order[i]) ? -1 : 1;
|
|
64
|
+
if (order !== initialOrder) {
|
|
65
|
+
// Mixed sort order is not supported by our indexes yet :/
|
|
66
|
+
// See https://github.com/DoctorEvidence/lmdb-store/discussions/62#discussioncomment-898949
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
sortFields.push([field, order]);
|
|
70
|
+
}
|
|
71
|
+
return sortFields;
|
|
72
|
+
}
|
|
73
|
+
function findOverlappingFields(filterQueries, sortFields) {
|
|
74
|
+
const overlap = new Set();
|
|
75
|
+
for (const [fieldName] of sortFields) {
|
|
76
|
+
const filterQuery = filterQueries.find(q => (0, _query.dbQueryToDottedField)(q) === fieldName);
|
|
77
|
+
if (!filterQuery) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
overlap.add(fieldName);
|
|
81
|
+
}
|
|
82
|
+
return overlap;
|
|
83
|
+
}
|
|
84
|
+
function getEqQueries(filterQueries) {
|
|
85
|
+
return filterQueries.filter(filterQuery => (0, _query.getFilterStatement)(filterQuery).comparator === _query.DbComparator.EQ);
|
|
86
|
+
}
|
|
87
|
+
function toIndexFields(queries, sortDirection = 1) {
|
|
88
|
+
return queries.map(q => [(0, _query.dbQueryToDottedField)(q), sortDirection]);
|
|
89
|
+
}
|
|
90
|
+
function dedupeAndTrim(fields, maxFields) {
|
|
91
|
+
return [...new Map(fields)].slice(0, maxFields);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=suggest-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggest-index.js","names":["suggestIndex","filter","sort","maxFields","filterQueries","createDbQueriesFromObject","prepareQueryArgs","filterQueriesThatCanUseIndex","getQueriesThatCanUseIndex","sortFields","getSortFieldsThatCanUseIndex","length","dedupeAndTrim","toIndexFields","sortDirection","eqFilterQueries","getEqQueries","eqFilterFields","overlap","findOverlappingFields","name","has","canUseIndex","Set","DbComparator","EQ","IN","GTE","LTE","GT","LT","NIN","NE","all","sortBySpecificity","q","getFilterStatement","comparator","querySortArg","fields","order","initialOrder","isDesc","i","field","push","fieldName","filterQuery","find","dbQueryToDottedField","add","queries","map","Map","slice"],"sources":["../../../../src/datastore/lmdb/query/suggest-index.ts"],"sourcesContent":["import { IRunQueryArgs } from \"../../types\"\nimport {\n createDbQueriesFromObject,\n DbComparator,\n DbQuery,\n dbQueryToDottedField,\n getFilterStatement,\n prepareQueryArgs,\n sortBySpecificity,\n} from \"../../common/query\"\nimport { isDesc } from \"./common\"\n\ninterface ISelectIndexArgs {\n filter: IRunQueryArgs[\"queryArgs\"][\"filter\"]\n sort: IRunQueryArgs[\"queryArgs\"][\"sort\"]\n maxFields?: number\n}\n\ntype IndexField = [fieldName: string, orderDirection: number]\ntype IndexFields = Array<IndexField>\n\n/**\n * Suggest index fields for this combination of filter and sort.\n *\n * Prioritizes sort fields over filter fields when can't use index\n * for both because sorting is expensive both CPU and memory-wise.\n */\nexport function suggestIndex({\n filter,\n sort,\n maxFields = 6,\n}: ISelectIndexArgs): Array<IndexField> {\n const filterQueries = createDbQueriesFromObject(prepareQueryArgs(filter))\n const filterQueriesThatCanUseIndex = getQueriesThatCanUseIndex(filterQueries)\n const sortFields: Array<IndexField> = getSortFieldsThatCanUseIndex(sort)\n\n if (!sortFields.length && !filterQueriesThatCanUseIndex.length) {\n return []\n }\n if (!filterQueriesThatCanUseIndex.length) {\n return dedupeAndTrim(sortFields, maxFields)\n }\n if (!sortFields.length) {\n return dedupeAndTrim(toIndexFields(filterQueriesThatCanUseIndex), maxFields)\n }\n\n // Combined index for filter+sort only makes sense when all prefix fields have `eq` predicate\n // Same as https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-and-non-prefix-subset-of-an-index\n const sortDirection = sortFields[0][1]\n const eqFilterQueries = getEqQueries(filterQueriesThatCanUseIndex)\n const eqFilterFields = toIndexFields(eqFilterQueries, sortDirection)\n\n // Index prefix should not contain eq filters overlapping with sort fields\n const overlap = findOverlappingFields(eqFilterQueries, sortFields)\n\n return dedupeAndTrim(\n [\n ...eqFilterFields.filter(([name]) => !overlap.has(name)),\n ...sortFields,\n // Still append other filter fields to the tail of the index to leverage additional filtering\n // of results using data stored in the index (without loading full node object)\n // Note: fields previously listed in eqFilterFields and sortFields will be removed in dedupeAndTrim\n ...toIndexFields(filterQueriesThatCanUseIndex, sortDirection),\n ],\n maxFields\n )\n}\n\nconst canUseIndex = new Set([\n DbComparator.EQ,\n DbComparator.IN,\n DbComparator.GTE,\n DbComparator.LTE,\n DbComparator.GT,\n DbComparator.LT,\n DbComparator.NIN,\n DbComparator.NE,\n])\n\n/**\n * Returns queries that can potentially use index.\n * Returned list is sorted by query specificity\n */\nfunction getQueriesThatCanUseIndex(all: Array<DbQuery>): Array<DbQuery> {\n return sortBySpecificity(\n all.filter(q => canUseIndex.has(getFilterStatement(q).comparator))\n )\n}\n\nfunction getSortFieldsThatCanUseIndex(\n querySortArg: IRunQueryArgs[\"queryArgs\"][\"sort\"]\n): Array<IndexField> {\n const sort = querySortArg || { fields: [], order: [] }\n const initialOrder = isDesc(sort?.order[0]) ? -1 : 1\n\n const sortFields: Array<IndexField> = []\n for (let i = 0; i < sort.fields.length; i++) {\n const field = sort.fields[i]\n const order = isDesc(sort.order[i]) ? -1 : 1\n if (order !== initialOrder) {\n // Mixed sort order is not supported by our indexes yet :/\n // See https://github.com/DoctorEvidence/lmdb-store/discussions/62#discussioncomment-898949\n break\n }\n sortFields.push([field, order])\n }\n return sortFields\n}\n\nfunction findOverlappingFields(\n filterQueries: Array<DbQuery>,\n sortFields: Array<IndexField>\n): Set<string> {\n const overlap = new Set<string>()\n\n for (const [fieldName] of sortFields) {\n const filterQuery = filterQueries.find(\n q => dbQueryToDottedField(q) === fieldName\n )\n if (!filterQuery) {\n break\n }\n overlap.add(fieldName)\n }\n return overlap\n}\n\nfunction getEqQueries(filterQueries: Array<DbQuery>): Array<DbQuery> {\n return filterQueries.filter(\n filterQuery =>\n getFilterStatement(filterQuery).comparator === DbComparator.EQ\n )\n}\n\nfunction toIndexFields(\n queries: Array<DbQuery>,\n sortDirection: number = 1\n): IndexFields {\n return queries.map(\n (q): IndexField => [dbQueryToDottedField(q), sortDirection]\n )\n}\n\nfunction dedupeAndTrim(fields: IndexFields, maxFields: number): IndexFields {\n return [...new Map(fields)].slice(0, maxFields)\n}\n"],"mappings":";;;;AACA;AASA;AAWA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAY,CAAC;EAC3BC,MAAM;EACNC,IAAI;EACJC,SAAS,GAAG;AACI,CAAC,EAAqB;EACtC,MAAMC,aAAa,GAAG,IAAAC,gCAAyB,EAAC,IAAAC,uBAAgB,EAACL,MAAM,CAAC,CAAC;EACzE,MAAMM,4BAA4B,GAAGC,yBAAyB,CAACJ,aAAa,CAAC;EAC7E,MAAMK,UAA6B,GAAGC,4BAA4B,CAACR,IAAI,CAAC;EAExE,IAAI,CAACO,UAAU,CAACE,MAAM,IAAI,CAACJ,4BAA4B,CAACI,MAAM,EAAE;IAC9D,OAAO,EAAE;EACX;EACA,IAAI,CAACJ,4BAA4B,CAACI,MAAM,EAAE;IACxC,OAAOC,aAAa,CAACH,UAAU,EAAEN,SAAS,CAAC;EAC7C;EACA,IAAI,CAACM,UAAU,CAACE,MAAM,EAAE;IACtB,OAAOC,aAAa,CAACC,aAAa,CAACN,4BAA4B,CAAC,EAAEJ,SAAS,CAAC;EAC9E;;EAEA;EACA;EACA,MAAMW,aAAa,GAAGL,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACtC,MAAMM,eAAe,GAAGC,YAAY,CAACT,4BAA4B,CAAC;EAClE,MAAMU,cAAc,GAAGJ,aAAa,CAACE,eAAe,EAAED,aAAa,CAAC;;EAEpE;EACA,MAAMI,OAAO,GAAGC,qBAAqB,CAACJ,eAAe,EAAEN,UAAU,CAAC;EAElE,OAAOG,aAAa,CAClB,CACE,GAAGK,cAAc,CAAChB,MAAM,CAAC,CAAC,CAACmB,IAAI,CAAC,KAAK,CAACF,OAAO,CAACG,GAAG,CAACD,IAAI,CAAC,CAAC,EACxD,GAAGX,UAAU;EACb;EACA;EACA;EACA,GAAGI,aAAa,CAACN,4BAA4B,EAAEO,aAAa,CAAC,CAC9D,EACDX,SAAS,CACV;AACH;AAEA,MAAMmB,WAAW,GAAG,IAAIC,GAAG,CAAC,CAC1BC,mBAAY,CAACC,EAAE,EACfD,mBAAY,CAACE,EAAE,EACfF,mBAAY,CAACG,GAAG,EAChBH,mBAAY,CAACI,GAAG,EAChBJ,mBAAY,CAACK,EAAE,EACfL,mBAAY,CAACM,EAAE,EACfN,mBAAY,CAACO,GAAG,EAChBP,mBAAY,CAACQ,EAAE,CAChB,CAAC;;AAEF;AACA;AACA;AACA;AACA,SAASxB,yBAAyB,CAACyB,GAAmB,EAAkB;EACtE,OAAO,IAAAC,wBAAiB,EACtBD,GAAG,CAAChC,MAAM,CAACkC,CAAC,IAAIb,WAAW,CAACD,GAAG,CAAC,IAAAe,yBAAkB,EAACD,CAAC,CAAC,CAACE,UAAU,CAAC,CAAC,CACnE;AACH;AAEA,SAAS3B,4BAA4B,CACnC4B,YAAgD,EAC7B;EACnB,MAAMpC,IAAI,GAAGoC,YAAY,IAAI;IAAEC,MAAM,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC;EACtD,MAAMC,YAAY,GAAG,IAAAC,cAAM,EAACxC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EAEpD,MAAM/B,UAA6B,GAAG,EAAE;EACxC,KAAK,IAAIkC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzC,IAAI,CAACqC,MAAM,CAAC5B,MAAM,EAAEgC,CAAC,EAAE,EAAE;IAC3C,MAAMC,KAAK,GAAG1C,IAAI,CAACqC,MAAM,CAACI,CAAC,CAAC;IAC5B,MAAMH,KAAK,GAAG,IAAAE,cAAM,EAACxC,IAAI,CAACsC,KAAK,CAACG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5C,IAAIH,KAAK,KAAKC,YAAY,EAAE;MAC1B;MACA;MACA;IACF;IACAhC,UAAU,CAACoC,IAAI,CAAC,CAACD,KAAK,EAAEJ,KAAK,CAAC,CAAC;EACjC;EACA,OAAO/B,UAAU;AACnB;AAEA,SAASU,qBAAqB,CAC5Bf,aAA6B,EAC7BK,UAA6B,EAChB;EACb,MAAMS,OAAO,GAAG,IAAIK,GAAG,EAAU;EAEjC,KAAK,MAAM,CAACuB,SAAS,CAAC,IAAIrC,UAAU,EAAE;IACpC,MAAMsC,WAAW,GAAG3C,aAAa,CAAC4C,IAAI,CACpCb,CAAC,IAAI,IAAAc,2BAAoB,EAACd,CAAC,CAAC,KAAKW,SAAS,CAC3C;IACD,IAAI,CAACC,WAAW,EAAE;MAChB;IACF;IACA7B,OAAO,CAACgC,GAAG,CAACJ,SAAS,CAAC;EACxB;EACA,OAAO5B,OAAO;AAChB;AAEA,SAASF,YAAY,CAACZ,aAA6B,EAAkB;EACnE,OAAOA,aAAa,CAACH,MAAM,CACzB8C,WAAW,IACT,IAAAX,yBAAkB,EAACW,WAAW,CAAC,CAACV,UAAU,KAAKb,mBAAY,CAACC,EAAE,CACjE;AACH;AAEA,SAASZ,aAAa,CACpBsC,OAAuB,EACvBrC,aAAqB,GAAG,CAAC,EACZ;EACb,OAAOqC,OAAO,CAACC,GAAG,CACfjB,CAAC,IAAiB,CAAC,IAAAc,2BAAoB,EAACd,CAAC,CAAC,EAAErB,aAAa,CAAC,CAC5D;AACH;AAEA,SAASF,aAAa,CAAC2B,MAAmB,EAAEpC,SAAiB,EAAe;EAC1E,OAAO,CAAC,GAAG,IAAIkD,GAAG,CAACd,MAAM,CAAC,CAAC,CAACe,KAAK,CAAC,CAAC,EAAEnD,SAAS,CAAC;AACjD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.updateNodesByType = updateNodesByType;
|
|
5
|
+
function updateNodesByType(nodesByTypeDb, action) {
|
|
6
|
+
switch (action.type) {
|
|
7
|
+
case `CREATE_NODE`:
|
|
8
|
+
case `ADD_FIELD_TO_NODE`:
|
|
9
|
+
case `ADD_CHILD_NODE_TO_PARENT_NODE`:
|
|
10
|
+
{
|
|
11
|
+
// nodesByType db uses dupSort, so `put` will effectively append an id
|
|
12
|
+
return nodesByTypeDb.put(action.payload.internal.type, action.payload.id);
|
|
13
|
+
}
|
|
14
|
+
case `DELETE_NODE`:
|
|
15
|
+
{
|
|
16
|
+
return action.payload ? nodesByTypeDb.remove(action.payload.internal.type, action.payload.id) : false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=nodes-by-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes-by-type.js","names":["updateNodesByType","nodesByTypeDb","action","type","put","payload","internal","id","remove"],"sources":["../../../../src/datastore/lmdb/updates/nodes-by-type.ts"],"sourcesContent":["import { ActionsUnion } from \"../../../redux/types\"\nimport { ILmdbDatabases } from \"../../types\"\n\nexport function updateNodesByType(\n nodesByTypeDb: ILmdbDatabases[\"nodesByType\"],\n action: ActionsUnion\n): Promise<boolean> | boolean {\n switch (action.type) {\n case `CREATE_NODE`:\n case `ADD_FIELD_TO_NODE`:\n case `ADD_CHILD_NODE_TO_PARENT_NODE`: {\n // nodesByType db uses dupSort, so `put` will effectively append an id\n return nodesByTypeDb.put(action.payload.internal.type, action.payload.id)\n }\n case `DELETE_NODE`: {\n return action.payload\n ? nodesByTypeDb.remove(action.payload.internal.type, action.payload.id)\n : false\n }\n }\n return false\n}\n"],"mappings":";;;;AAGO,SAASA,iBAAiB,CAC/BC,aAA4C,EAC5CC,MAAoB,EACQ;EAC5B,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAM,aAAY;IAClB,KAAM,mBAAkB;IACxB,KAAM,+BAA8B;MAAE;QACpC;QACA,OAAOF,aAAa,CAACG,GAAG,CAACF,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACH,IAAI,EAAED,MAAM,CAACG,OAAO,CAACE,EAAE,CAAC;MAC3E;IACA,KAAM,aAAY;MAAE;QAClB,OAAOL,MAAM,CAACG,OAAO,GACjBJ,aAAa,CAACO,MAAM,CAACN,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACH,IAAI,EAAED,MAAM,CAACG,OAAO,CAACE,EAAE,CAAC,GACrE,KAAK;MACX;EAAC;EAEH,OAAO,KAAK;AACd"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.updateNodes = updateNodes;
|
|
5
|
+
function updateNodes(nodesDb, action) {
|
|
6
|
+
switch (action.type) {
|
|
7
|
+
case `CREATE_NODE`:
|
|
8
|
+
case `ADD_FIELD_TO_NODE`:
|
|
9
|
+
case `ADD_CHILD_NODE_TO_PARENT_NODE`:
|
|
10
|
+
{
|
|
11
|
+
return nodesDb.put(action.payload.id, action.payload);
|
|
12
|
+
}
|
|
13
|
+
case `DELETE_NODE`:
|
|
14
|
+
{
|
|
15
|
+
if (action.payload) {
|
|
16
|
+
return nodesDb.remove(action.payload.id);
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
case `MATERIALIZE_PAGE_MODE`:
|
|
21
|
+
{
|
|
22
|
+
const id = `SitePage ${action.payload.path}`;
|
|
23
|
+
const node = nodesDb.get(id);
|
|
24
|
+
if (!node) {
|
|
25
|
+
throw new Error(`Could not find SitePage node by id: ${id}`);
|
|
26
|
+
}
|
|
27
|
+
node.mode = action.payload.pageMode;
|
|
28
|
+
return nodesDb.put(id, node);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.js","names":["updateNodes","nodesDb","action","type","put","payload","id","remove","path","node","get","Error","mode","pageMode"],"sources":["../../../../src/datastore/lmdb/updates/nodes.ts"],"sourcesContent":["import { ActionsUnion, IGatsbyNode } from \"../../../redux/types\"\nimport type { Database } from \"lmdb\"\n\ntype NodeId = string\n\nexport function updateNodes(\n nodesDb: Database<IGatsbyNode, NodeId>,\n action: ActionsUnion\n): Promise<boolean> | boolean {\n switch (action.type) {\n case `CREATE_NODE`:\n case `ADD_FIELD_TO_NODE`:\n case `ADD_CHILD_NODE_TO_PARENT_NODE`: {\n return nodesDb.put(action.payload.id, action.payload)\n }\n case `DELETE_NODE`: {\n if (action.payload) {\n return nodesDb.remove(action.payload.id)\n }\n\n return false\n }\n case `MATERIALIZE_PAGE_MODE`: {\n const id = `SitePage ${action.payload.path}`\n const node = nodesDb.get(id)\n if (!node) {\n throw new Error(`Could not find SitePage node by id: ${id}`)\n }\n node.mode = action.payload.pageMode\n return nodesDb.put(id, node)\n }\n }\n return false\n}\n"],"mappings":";;;;AAKO,SAASA,WAAW,CACzBC,OAAsC,EACtCC,MAAoB,EACQ;EAC5B,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAM,aAAY;IAClB,KAAM,mBAAkB;IACxB,KAAM,+BAA8B;MAAE;QACpC,OAAOF,OAAO,CAACG,GAAG,CAACF,MAAM,CAACG,OAAO,CAACC,EAAE,EAAEJ,MAAM,CAACG,OAAO,CAAC;MACvD;IACA,KAAM,aAAY;MAAE;QAClB,IAAIH,MAAM,CAACG,OAAO,EAAE;UAClB,OAAOJ,OAAO,CAACM,MAAM,CAACL,MAAM,CAACG,OAAO,CAACC,EAAE,CAAC;QAC1C;QAEA,OAAO,KAAK;MACd;IACA,KAAM,uBAAsB;MAAE;QAC5B,MAAMA,EAAE,GAAI,YAAWJ,MAAM,CAACG,OAAO,CAACG,IAAK,EAAC;QAC5C,MAAMC,IAAI,GAAGR,OAAO,CAACS,GAAG,CAACJ,EAAE,CAAC;QAC5B,IAAI,CAACG,IAAI,EAAE;UACT,MAAM,IAAIE,KAAK,CAAE,uCAAsCL,EAAG,EAAC,CAAC;QAC9D;QACAG,IAAI,CAACG,IAAI,GAAGV,MAAM,CAACG,OAAO,CAACQ,QAAQ;QACnC,OAAOZ,OAAO,CAACG,GAAG,CAACE,EAAE,EAAEG,IAAI,CAAC;MAC9B;EAAC;EAEH,OAAO,KAAK;AACd"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Database } from "lmdb";
|
|
2
|
+
import { IGatsbyNode } from "../redux/types";
|
|
3
|
+
import { GatsbyGraphQLType } from "../../index";
|
|
4
|
+
import { IInputQuery } from "./common/query";
|
|
5
|
+
import { IGraphQLRunnerStats } from "../query/types";
|
|
6
|
+
import { GatsbyIterable } from "./common/iterable";
|
|
7
|
+
export type NodeId = string;
|
|
8
|
+
export type NodeType = string;
|
|
9
|
+
export interface ILmdbDatabases {
|
|
10
|
+
nodes: Database<IGatsbyNode, NodeId>;
|
|
11
|
+
nodesByType: Database<NodeId, NodeType>;
|
|
12
|
+
indexes: Database<NodeId, Array<any>>;
|
|
13
|
+
metadata: Database<any, string>;
|
|
14
|
+
}
|
|
15
|
+
export interface IQueryResult {
|
|
16
|
+
entries: GatsbyIterable<IGatsbyNode>;
|
|
17
|
+
totalCount: () => Promise<number>;
|
|
18
|
+
}
|
|
19
|
+
export interface IRunQueryArgs {
|
|
20
|
+
gqlType: GatsbyGraphQLType;
|
|
21
|
+
queryArgs: {
|
|
22
|
+
filter: IInputQuery | undefined;
|
|
23
|
+
sort: {
|
|
24
|
+
fields: Array<string>;
|
|
25
|
+
order: Array<boolean | "asc" | "desc" | "ASC" | "DESC">;
|
|
26
|
+
} | undefined;
|
|
27
|
+
limit?: number;
|
|
28
|
+
skip?: number;
|
|
29
|
+
};
|
|
30
|
+
firstOnly: boolean;
|
|
31
|
+
resolvedFields: Record<string, any>;
|
|
32
|
+
nodeTypeNames: Array<string>;
|
|
33
|
+
stats: IGraphQLRunnerStats;
|
|
34
|
+
}
|
|
35
|
+
export interface IDataStore {
|
|
36
|
+
getNode(id: string): IGatsbyNode | undefined;
|
|
37
|
+
getTypes(): Array<string>;
|
|
38
|
+
countNodes(typeName?: string): number;
|
|
39
|
+
ready(): Promise<void>;
|
|
40
|
+
iterateNodes(): GatsbyIterable<IGatsbyNode>;
|
|
41
|
+
iterateNodesByType(type: string): GatsbyIterable<IGatsbyNode>;
|
|
42
|
+
runQuery(args: IRunQueryArgs): Promise<IQueryResult>;
|
|
43
|
+
/** @deprecated */
|
|
44
|
+
getNodes(): Array<IGatsbyNode>;
|
|
45
|
+
/** @deprecated */
|
|
46
|
+
getNodesByType(type: string): Array<IGatsbyNode>;
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/datastore/types.ts"],"sourcesContent":["import { Database } from \"lmdb\"\nimport { IGatsbyNode } from \"../redux/types\"\nimport { GatsbyGraphQLType } from \"../../index\"\nimport { IInputQuery } from \"./common/query\"\nimport { IGraphQLRunnerStats } from \"../query/types\"\nimport { GatsbyIterable } from \"./common/iterable\"\n\nexport type NodeId = string\nexport type NodeType = string\n\nexport interface ILmdbDatabases {\n nodes: Database<IGatsbyNode, NodeId>\n nodesByType: Database<NodeId, NodeType>\n indexes: Database<NodeId, Array<any>>\n metadata: Database<any, string>\n}\n\nexport interface IQueryResult {\n entries: GatsbyIterable<IGatsbyNode>\n totalCount: () => Promise<number>\n}\n\nexport interface IRunQueryArgs {\n gqlType: GatsbyGraphQLType\n queryArgs: {\n filter: IInputQuery | undefined\n sort:\n | {\n fields: Array<string>\n order: Array<boolean | \"asc\" | \"desc\" | \"ASC\" | \"DESC\">\n }\n | undefined\n limit?: number\n skip?: number\n }\n firstOnly: boolean\n resolvedFields: Record<string, any>\n nodeTypeNames: Array<string>\n stats: IGraphQLRunnerStats\n}\n\nexport interface IDataStore {\n getNode(id: string): IGatsbyNode | undefined\n getTypes(): Array<string>\n countNodes(typeName?: string): number\n ready(): Promise<void>\n iterateNodes(): GatsbyIterable<IGatsbyNode>\n iterateNodesByType(type: string): GatsbyIterable<IGatsbyNode>\n runQuery(args: IRunQueryArgs): Promise<IQueryResult>\n\n /** @deprecated */\n getNodes(): Array<IGatsbyNode>\n /** @deprecated */\n getNodesByType(type: string): Array<IGatsbyNode>\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const path = require(`path`);
|
|
4
|
+
exports.onCreateBabelConfig = ({
|
|
5
|
+
actions
|
|
6
|
+
}) => {
|
|
7
|
+
// rewrites import { get }from 'lodash' into import get from 'lodash/get';
|
|
8
|
+
actions.setBabelPlugin({
|
|
9
|
+
name: `@sigmacomputing/babel-plugin-lodash`
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
exports.onCreateWebpackConfig = function onCreateWebpackConfig({
|
|
13
|
+
stage,
|
|
14
|
+
actions
|
|
15
|
+
}) {
|
|
16
|
+
const objectAssignStub = path.join(__dirname, `polyfills/object-assign.js`);
|
|
17
|
+
const noOp = path.join(__dirname, `polyfills/no-op.js`);
|
|
18
|
+
const fetchStub = path.join(__dirname, `polyfills/fetch.js`);
|
|
19
|
+
const whatwgFetchStub = path.join(__dirname, `polyfills/whatwg-fetch.js`);
|
|
20
|
+
const alias = {
|
|
21
|
+
// These files are already polyfilled so these should return in a no-op
|
|
22
|
+
// Stub Package: object.assign & object-assign
|
|
23
|
+
"object.assign": objectAssignStub,
|
|
24
|
+
"object-assign$": objectAssignStub,
|
|
25
|
+
"@babel/runtime/helpers/extends.js$": objectAssignStub,
|
|
26
|
+
// Stub package: fetch
|
|
27
|
+
unfetch$: fetchStub,
|
|
28
|
+
"unfetch/polyfill$": noOp,
|
|
29
|
+
"isomorphic-unfetch$": fetchStub,
|
|
30
|
+
"isomorphic-fetch$": fetchStub,
|
|
31
|
+
"whatwg-fetch$": whatwgFetchStub
|
|
32
|
+
};
|
|
33
|
+
if (stage === `build-javascript` || stage === `develop`) {
|
|
34
|
+
alias[`url-polyfill$`] = noOp;
|
|
35
|
+
}
|
|
36
|
+
actions.setWebpackConfig({
|
|
37
|
+
resolve: {
|
|
38
|
+
alias
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=gatsby-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatsby-node.js","names":["path","require","exports","onCreateBabelConfig","actions","setBabelPlugin","name","onCreateWebpackConfig","stage","objectAssignStub","join","__dirname","noOp","fetchStub","whatwgFetchStub","alias","unfetch$","setWebpackConfig","resolve"],"sources":["../../../src/internal-plugins/bundle-optimisations/gatsby-node.js"],"sourcesContent":["const path = require(`path`)\n\nexports.onCreateBabelConfig = ({ actions }) => {\n // rewrites import { get }from 'lodash' into import get from 'lodash/get';\n actions.setBabelPlugin({\n name: `@sigmacomputing/babel-plugin-lodash`,\n })\n}\n\nexports.onCreateWebpackConfig = function onCreateWebpackConfig({\n stage,\n actions,\n}) {\n const objectAssignStub = path.join(__dirname, `polyfills/object-assign.js`)\n const noOp = path.join(__dirname, `polyfills/no-op.js`)\n const fetchStub = path.join(__dirname, `polyfills/fetch.js`)\n const whatwgFetchStub = path.join(__dirname, `polyfills/whatwg-fetch.js`)\n\n const alias = {\n // These files are already polyfilled so these should return in a no-op\n // Stub Package: object.assign & object-assign\n \"object.assign\": objectAssignStub,\n \"object-assign$\": objectAssignStub,\n \"@babel/runtime/helpers/extends.js$\": objectAssignStub,\n // Stub package: fetch\n unfetch$: fetchStub,\n \"unfetch/polyfill$\": noOp,\n \"isomorphic-unfetch$\": fetchStub,\n \"isomorphic-fetch$\": fetchStub,\n \"whatwg-fetch$\": whatwgFetchStub,\n }\n\n if (stage === `build-javascript` || stage === `develop`) {\n alias[`url-polyfill$`] = noOp\n }\n\n actions.setWebpackConfig({\n resolve: {\n alias,\n },\n })\n}\n"],"mappings":";;AAAA,MAAMA,IAAI,GAAGC,OAAO,CAAE,MAAK,CAAC;AAE5BC,OAAO,CAACC,mBAAmB,GAAG,CAAC;EAAEC;AAAQ,CAAC,KAAK;EAC7C;EACAA,OAAO,CAACC,cAAc,CAAC;IACrBC,IAAI,EAAG;EACT,CAAC,CAAC;AACJ,CAAC;AAEDJ,OAAO,CAACK,qBAAqB,GAAG,SAASA,qBAAqB,CAAC;EAC7DC,KAAK;EACLJ;AACF,CAAC,EAAE;EACD,MAAMK,gBAAgB,GAAGT,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,4BAA2B,CAAC;EAC3E,MAAMC,IAAI,GAAGZ,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,oBAAmB,CAAC;EACvD,MAAME,SAAS,GAAGb,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,oBAAmB,CAAC;EAC5D,MAAMG,eAAe,GAAGd,IAAI,CAACU,IAAI,CAACC,SAAS,EAAG,2BAA0B,CAAC;EAEzE,MAAMI,KAAK,GAAG;IACZ;IACA;IACA,eAAe,EAAEN,gBAAgB;IACjC,gBAAgB,EAAEA,gBAAgB;IAClC,oCAAoC,EAAEA,gBAAgB;IACtD;IACAO,QAAQ,EAAEH,SAAS;IACnB,mBAAmB,EAAED,IAAI;IACzB,qBAAqB,EAAEC,SAAS;IAChC,mBAAmB,EAAEA,SAAS;IAC9B,eAAe,EAAEC;EACnB,CAAC;EAED,IAAIN,KAAK,KAAM,kBAAiB,IAAIA,KAAK,KAAM,SAAQ,EAAE;IACvDO,KAAK,CAAE,eAAc,CAAC,GAAGH,IAAI;EAC/B;EAEAR,OAAO,CAACa,gBAAgB,CAAC;IACvBC,OAAO,EAAE;MACPH;IACF;EACF,CAAC,CAAC;AACJ,CAAC"}
|