houdini 2.0.0-next.9 → 2.0.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/build/adapter/index.d.ts +2 -2
- package/build/adapter/index.js +6 -0
- package/build/cmd/generate.d.ts +5 -0
- package/build/cmd/generate.js +77 -0
- package/build/cmd/index.js +32 -0
- package/build/cmd/init.js +565 -0
- package/build/cmd/pullSchema.js +26 -0
- package/build/lib/ast.js +71 -0
- package/build/lib/codegen.d.ts +57 -0
- package/build/lib/codegen.js +617 -0
- package/build/lib/config.d.ts +240 -177
- package/build/lib/config.js +143 -0
- package/build/lib/constants.js +14 -0
- package/build/lib/database.d.ts +7 -0
- package/build/lib/database.js +624 -0
- package/build/lib/db.d.ts +13 -0
- package/build/lib/db.js +135 -0
- package/build/lib/deepMerge.js +23 -0
- package/build/lib/error.d.ts +16 -0
- package/build/lib/error.js +115 -0
- package/build/lib/fs.d.ts +9 -11
- package/build/lib/fs.js +245 -0
- package/build/lib/graphql.d.ts +5 -32
- package/build/lib/graphql.js +36 -0
- package/build/lib/imports.d.ts +29 -14
- package/build/lib/imports.js +66 -0
- package/build/lib/index.d.ts +17 -24
- package/build/lib/index.js +21 -0
- package/build/lib/logger.d.ts +12 -0
- package/build/lib/logger.js +45 -0
- package/build/lib/parse.d.ts +1 -2
- package/build/lib/parse.js +32 -0
- package/build/lib/path.d.ts +0 -1
- package/build/lib/path.js +44 -0
- package/build/lib/pipeline.d.ts +1 -1
- package/build/lib/pipeline.js +8 -0
- package/build/lib/plugins.d.ts +4 -0
- package/build/lib/plugins.js +88 -0
- package/build/lib/project.d.ts +19 -0
- package/build/lib/project.js +296 -0
- package/build/lib/schema.d.ts +1 -0
- package/build/lib/schema.js +61 -0
- package/build/lib/sleep.d.ts +1 -0
- package/build/lib/sleep.js +8 -0
- package/build/lib/types.d.ts +92 -303
- package/build/lib/types.js +37 -0
- package/build/lib/walk.d.ts +11 -6
- package/build/lib/walk.js +138 -0
- package/build/node/index.d.ts +44 -0
- package/build/node/index.js +402 -0
- package/build/oauth/index.d.ts +41 -0
- package/build/oauth/index.js +108 -0
- package/build/package.json +212 -0
- package/build/router/auth-token.d.ts +29 -0
- package/build/router/auth-token.js +168 -0
- package/build/{lib/router → router}/conventions.d.ts +10 -1
- package/build/router/conventions.js +165 -0
- package/build/{runtime-esm/router → router}/cookies.js +21 -21
- package/build/{runtime-esm/router → router}/jwt.js +8 -6
- package/build/{lib/router → router}/manifest.d.ts +2 -2
- package/build/router/manifest.js +279 -0
- package/build/{runtime/router → router}/match.d.ts +10 -10
- package/build/router/match.js +219 -0
- package/build/router/server.d.ts +57 -0
- package/build/router/server.js +500 -0
- package/build/{runtime/router → router}/session.d.ts +8 -3
- package/build/router/session.js +338 -0
- package/build/router/types.d.ts +44 -0
- package/build/runtime/cache/benchmarks/cache.bench.d.ts +1 -0
- package/build/runtime/cache/benchmarks/cache.bench.js +943 -0
- package/build/runtime/cache/gc.d.ts +2 -1
- package/build/{runtime-esm → runtime}/cache/gc.js +4 -1
- package/build/runtime/cache/index.d.ts +173 -3
- package/build/{runtime-esm/cache/cache.js → runtime/cache/index.js} +197 -70
- package/build/runtime/cache/lists.d.ts +9 -4
- package/build/{runtime-esm → runtime}/cache/lists.js +116 -27
- package/build/runtime/cache/staleManager.d.ts +2 -1
- package/build/{runtime-esm → runtime}/cache/staleManager.js +6 -2
- package/build/runtime/cache/storage.d.ts +5 -2
- package/build/{runtime-esm → runtime}/cache/storage.js +126 -54
- package/build/{runtime-esm → runtime}/cache/stuff.js +4 -3
- package/build/runtime/cache/subscription.d.ts +23 -9
- package/build/{runtime-esm → runtime}/cache/subscription.js +103 -65
- package/build/runtime/{client/index.d.ts → client.d.ts} +15 -22
- package/build/runtime/client.js +86 -0
- package/build/runtime/coerce.d.ts +4 -0
- package/build/runtime/coerce.js +31 -0
- package/build/runtime/config.d.ts +20 -0
- package/build/runtime/config.js +88 -0
- package/build/runtime/{lib/constants.d.ts → constants.d.ts} +1 -1
- package/build/runtime/{client/documentStore.d.ts → documentStore.d.ts} +18 -11
- package/build/{runtime-esm/client → runtime}/documentStore.js +53 -56
- package/build/runtime/endpoint.d.ts +14 -0
- package/build/runtime/endpoint.js +29 -0
- package/build/{runtime-cjs/lib → runtime}/flatten.d.ts +1 -1
- package/build/runtime/formData.d.ts +24 -0
- package/build/runtime/formData.js +93 -0
- package/build/runtime/index.d.ts +16 -8
- package/build/runtime/index.js +54 -0
- package/build/{runtime-cjs/lib → runtime}/key.d.ts +1 -1
- package/build/{runtime-esm/lib → runtime}/key.js +4 -4
- package/build/{runtime-esm/lib → runtime}/log.js +3 -3
- package/build/runtime/multipart.d.ts +8 -0
- package/build/runtime/multipart.js +49 -0
- package/build/{runtime-cjs/lib → runtime}/pageInfo.d.ts +3 -3
- package/build/{runtime-esm/lib → runtime}/pageInfo.js +2 -2
- package/build/{runtime-cjs/lib → runtime}/pagination.d.ts +12 -8
- package/build/{runtime-esm/lib → runtime}/pagination.js +157 -21
- package/build/{runtime-cjs/lib → runtime}/scalars.d.ts +6 -6
- package/build/{runtime-esm/lib → runtime}/scalars.js +10 -43
- package/build/{runtime-cjs/lib → runtime}/selection.d.ts +1 -1
- package/build/{runtime-esm/lib → runtime}/selection.js +17 -2
- package/build/runtime/{lib/store.d.ts → store.d.ts} +1 -1
- package/build/{runtime-esm/lib → runtime}/store.js +2 -3
- package/build/runtime/{lib/types.d.ts → types.d.ts} +102 -101
- package/build/{runtime-esm/lib → runtime}/types.js +9 -14
- package/build/test/index.d.ts +6 -25
- package/build/test/index.js +329 -0
- package/build/test/package.json +1 -0
- package/build/vite/hmr.d.ts +26 -3
- package/build/vite/hmr.js +431 -0
- package/build/vite/houdini.d.ts +4 -10
- package/build/vite/houdini.js +134 -0
- package/build/vite/index.d.ts +13 -7
- package/build/vite/index.js +104 -0
- package/build/vite/package.json +1 -0
- package/build/vite/schema.d.ts +5 -3
- package/build/vite/schema.js +193 -0
- package/package.json +148 -57
- package/build/adapter-cjs/index.js +0 -33
- package/build/adapter-cjs/package.json +0 -1
- package/build/adapter-esm/index.js +0 -9
- package/build/cmd-cjs/index.js +0 -89299
- package/build/cmd-cjs/package.json +0 -1
- package/build/cmd-esm/index.js +0 -89303
- package/build/codegen/generators/artifacts/fieldKey.d.ts +0 -3
- package/build/codegen/generators/artifacts/index.d.ts +0 -17
- package/build/codegen/generators/artifacts/indexFile.d.ts +0 -2
- package/build/codegen/generators/artifacts/inputs.d.ts +0 -4
- package/build/codegen/generators/artifacts/operations.d.ts +0 -11
- package/build/codegen/generators/artifacts/selection.d.ts +0 -20
- package/build/codegen/generators/artifacts/utils.d.ts +0 -8
- package/build/codegen/generators/comments/jsdoc.d.ts +0 -2
- package/build/codegen/generators/definitions/enums.d.ts +0 -2
- package/build/codegen/generators/definitions/index.d.ts +0 -2
- package/build/codegen/generators/index.d.ts +0 -6
- package/build/codegen/generators/indexFile/index.d.ts +0 -2
- package/build/codegen/generators/persistedQueries/index.d.ts +0 -2
- package/build/codegen/generators/runtime/graphqlFunction.d.ts +0 -2
- package/build/codegen/generators/runtime/index.d.ts +0 -3
- package/build/codegen/generators/runtime/injectPlugins.d.ts +0 -7
- package/build/codegen/generators/runtime/pluginIndex.d.ts +0 -5
- package/build/codegen/generators/runtime/pluginRuntime.d.ts +0 -15
- package/build/codegen/generators/runtime/runtimeConfig.d.ts +0 -7
- package/build/codegen/generators/typescript/addReferencedInputTypes.d.ts +0 -4
- package/build/codegen/generators/typescript/documentTypes.d.ts +0 -2
- package/build/codegen/generators/typescript/imperativeTypeDef.d.ts +0 -2
- package/build/codegen/generators/typescript/index.d.ts +0 -2
- package/build/codegen/generators/typescript/inlineType.d.ts +0 -29
- package/build/codegen/generators/typescript/loadingState.d.ts +0 -8
- package/build/codegen/index.d.ts +0 -8
- package/build/codegen/transforms/addFields.d.ts +0 -2
- package/build/codegen/transforms/collectDefinitions.d.ts +0 -9
- package/build/codegen/transforms/componentFields.d.ts +0 -8
- package/build/codegen/transforms/fragmentVariables.d.ts +0 -17
- package/build/codegen/transforms/index.d.ts +0 -9
- package/build/codegen/transforms/list.d.ts +0 -9
- package/build/codegen/transforms/paginate.d.ts +0 -4
- package/build/codegen/transforms/runtimeScalars.d.ts +0 -2
- package/build/codegen/transforms/schema.d.ts +0 -2
- package/build/codegen/transforms/typename.d.ts +0 -2
- package/build/codegen/utils/commonjs.d.ts +0 -5
- package/build/codegen/utils/flattenSelections.d.ts +0 -11
- package/build/codegen/utils/index.d.ts +0 -4
- package/build/codegen/utils/moduleExport.d.ts +0 -4
- package/build/codegen/utils/murmur.d.ts +0 -9
- package/build/codegen/utils/objectIdentificationSelection.d.ts +0 -3
- package/build/codegen/utils/stripLoc.d.ts +0 -3
- package/build/codegen/validators/componentFields.d.ts +0 -2
- package/build/codegen/validators/index.d.ts +0 -5
- package/build/codegen/validators/noIDAlias.d.ts +0 -2
- package/build/codegen/validators/plugins.d.ts +0 -3
- package/build/codegen/validators/typeCheck.d.ts +0 -5
- package/build/codegen/validators/uniqueNames.d.ts +0 -2
- package/build/codegen-cjs/index.js +0 -74656
- package/build/codegen-cjs/package.json +0 -1
- package/build/codegen-esm/index.js +0 -74655
- package/build/lib/cleanupFiles.d.ts +0 -1
- package/build/lib/detectTools.d.ts +0 -16
- package/build/lib/introspection.d.ts +0 -3
- package/build/lib/plugin.d.ts +0 -2
- package/build/lib/router/index.d.ts +0 -9
- package/build/lib/router/server.d.ts +0 -7
- package/build/lib/router/types.d.ts +0 -23
- package/build/lib/typescript.d.ts +0 -20
- package/build/lib/watchAndRun.d.ts +0 -61
- package/build/lib-cjs/index.js +0 -79739
- package/build/lib-cjs/package.json +0 -1
- package/build/lib-esm/index.js +0 -79648
- package/build/runtime/cache/cache.d.ts +0 -169
- package/build/runtime/client/plugins/cache.d.ts +0 -9
- package/build/runtime/client/plugins/fetch.d.ts +0 -38
- package/build/runtime/client/plugins/fetchParams.d.ts +0 -9
- package/build/runtime/client/plugins/fragment.d.ts +0 -2
- package/build/runtime/client/plugins/index.d.ts +0 -9
- package/build/runtime/client/plugins/injectedPlugins.d.ts +0 -4
- package/build/runtime/client/plugins/mutation.d.ts +0 -2
- package/build/runtime/client/plugins/optimisticKeys.d.ts +0 -7
- package/build/runtime/client/plugins/query.d.ts +0 -2
- package/build/runtime/client/plugins/subscription.d.ts +0 -20
- package/build/runtime/client/plugins/test.d.ts +0 -15
- package/build/runtime/client/plugins/throwOnError.d.ts +0 -8
- package/build/runtime/client/utils/documentPlugins.d.ts +0 -3
- package/build/runtime/client/utils/index.d.ts +0 -1
- package/build/runtime/generated.d.ts +0 -5
- package/build/runtime/imports/config.d.ts +0 -3
- package/build/runtime/imports/pluginConfig.d.ts +0 -3
- package/build/runtime/lib/config.d.ts +0 -216
- package/build/runtime/lib/deepEquals.d.ts +0 -1
- package/build/runtime/lib/flatten.d.ts +0 -2
- package/build/runtime/lib/index.d.ts +0 -10
- package/build/runtime/lib/key.d.ts +0 -6
- package/build/runtime/lib/log.d.ts +0 -6
- package/build/runtime/lib/lru.d.ts +0 -52
- package/build/runtime/lib/pageInfo.d.ts +0 -7
- package/build/runtime/lib/pagination.d.ts +0 -27
- package/build/runtime/lib/scalars.d.ts +0 -14
- package/build/runtime/lib/selection.d.ts +0 -2
- package/build/runtime/public/cache.d.ts +0 -42
- package/build/runtime/public/index.d.ts +0 -1
- package/build/runtime/public/list.d.ts +0 -18
- package/build/runtime/public/record.d.ts +0 -40
- package/build/runtime/public/tests/test.d.ts +0 -156
- package/build/runtime/public/types.d.ts +0 -62
- package/build/runtime/router/cookies.d.ts +0 -41
- package/build/runtime/router/jwt.d.ts +0 -117
- package/build/runtime/router/server.d.ts +0 -24
- package/build/runtime/router/types.d.ts +0 -26
- package/build/runtime/server/index.d.ts +0 -17
- package/build/runtime-cjs/cache/cache.d.ts +0 -169
- package/build/runtime-cjs/cache/cache.js +0 -1077
- package/build/runtime-cjs/cache/constants.d.ts +0 -1
- package/build/runtime-cjs/cache/constants.js +0 -28
- package/build/runtime-cjs/cache/gc.d.ts +0 -10
- package/build/runtime-cjs/cache/gc.js +0 -74
- package/build/runtime-cjs/cache/index.d.ts +0 -3
- package/build/runtime-cjs/cache/index.js +0 -25
- package/build/runtime-cjs/cache/lists.d.ts +0 -89
- package/build/runtime-cjs/cache/lists.js +0 -467
- package/build/runtime-cjs/cache/staleManager.d.ts +0 -31
- package/build/runtime-cjs/cache/staleManager.js +0 -123
- package/build/runtime-cjs/cache/storage.d.ts +0 -110
- package/build/runtime-cjs/cache/storage.js +0 -451
- package/build/runtime-cjs/cache/stuff.d.ts +0 -2
- package/build/runtime-cjs/cache/stuff.js +0 -56
- package/build/runtime-cjs/cache/subscription.d.ts +0 -52
- package/build/runtime-cjs/cache/subscription.js +0 -349
- package/build/runtime-cjs/client/documentStore.d.ts +0 -107
- package/build/runtime-cjs/client/documentStore.js +0 -487
- package/build/runtime-cjs/client/index.d.ts +0 -50
- package/build/runtime-cjs/client/index.js +0 -162
- package/build/runtime-cjs/client/plugins/cache.d.ts +0 -9
- package/build/runtime-cjs/client/plugins/cache.js +0 -138
- package/build/runtime-cjs/client/plugins/fetch.d.ts +0 -38
- package/build/runtime-cjs/client/plugins/fetch.js +0 -210
- package/build/runtime-cjs/client/plugins/fetchParams.d.ts +0 -9
- package/build/runtime-cjs/client/plugins/fetchParams.js +0 -47
- package/build/runtime-cjs/client/plugins/fragment.d.ts +0 -2
- package/build/runtime-cjs/client/plugins/fragment.js +0 -77
- package/build/runtime-cjs/client/plugins/index.d.ts +0 -9
- package/build/runtime-cjs/client/plugins/index.js +0 -45
- package/build/runtime-cjs/client/plugins/injectedPlugins.d.ts +0 -4
- package/build/runtime-cjs/client/plugins/injectedPlugins.js +0 -25
- package/build/runtime-cjs/client/plugins/mutation.d.ts +0 -2
- package/build/runtime-cjs/client/plugins/mutation.js +0 -89
- package/build/runtime-cjs/client/plugins/optimisticKeys.d.ts +0 -7
- package/build/runtime-cjs/client/plugins/optimisticKeys.js +0 -324
- package/build/runtime-cjs/client/plugins/query.d.ts +0 -2
- package/build/runtime-cjs/client/plugins/query.js +0 -93
- package/build/runtime-cjs/client/plugins/subscription.d.ts +0 -20
- package/build/runtime-cjs/client/plugins/subscription.js +0 -114
- package/build/runtime-cjs/client/plugins/test.d.ts +0 -15
- package/build/runtime-cjs/client/plugins/test.js +0 -118
- package/build/runtime-cjs/client/plugins/throwOnError.d.ts +0 -8
- package/build/runtime-cjs/client/plugins/throwOnError.js +0 -47
- package/build/runtime-cjs/client/utils/documentPlugins.d.ts +0 -3
- package/build/runtime-cjs/client/utils/documentPlugins.js +0 -57
- package/build/runtime-cjs/client/utils/index.d.ts +0 -1
- package/build/runtime-cjs/client/utils/index.js +0 -22
- package/build/runtime-cjs/generated.d.ts +0 -5
- package/build/runtime-cjs/generated.js +0 -16
- package/build/runtime-cjs/imports/config.d.ts +0 -3
- package/build/runtime-cjs/imports/config.js +0 -24
- package/build/runtime-cjs/imports/pluginConfig.d.ts +0 -3
- package/build/runtime-cjs/imports/pluginConfig.js +0 -25
- package/build/runtime-cjs/index.d.ts +0 -8
- package/build/runtime-cjs/index.js +0 -61
- package/build/runtime-cjs/lib/config.d.ts +0 -216
- package/build/runtime-cjs/lib/config.js +0 -110
- package/build/runtime-cjs/lib/constants.d.ts +0 -6
- package/build/runtime-cjs/lib/constants.js +0 -38
- package/build/runtime-cjs/lib/deepEquals.js +0 -52
- package/build/runtime-cjs/lib/flatten.js +0 -41
- package/build/runtime-cjs/lib/index.d.ts +0 -10
- package/build/runtime-cjs/lib/index.js +0 -40
- package/build/runtime-cjs/lib/key.js +0 -41
- package/build/runtime-cjs/lib/log.js +0 -72
- package/build/runtime-cjs/lib/lru.js +0 -73
- package/build/runtime-cjs/lib/pageInfo.js +0 -79
- package/build/runtime-cjs/lib/pagination.js +0 -240
- package/build/runtime-cjs/lib/scalars.js +0 -147
- package/build/runtime-cjs/lib/selection.js +0 -66
- package/build/runtime-cjs/lib/store.d.ts +0 -19
- package/build/runtime-cjs/lib/store.js +0 -81
- package/build/runtime-cjs/lib/types.d.ts +0 -417
- package/build/runtime-cjs/lib/types.js +0 -104
- package/build/runtime-cjs/package.json +0 -1
- package/build/runtime-cjs/public/cache.d.ts +0 -42
- package/build/runtime-cjs/public/cache.js +0 -98
- package/build/runtime-cjs/public/index.d.ts +0 -1
- package/build/runtime-cjs/public/index.js +0 -28
- package/build/runtime-cjs/public/list.d.ts +0 -18
- package/build/runtime-cjs/public/list.js +0 -151
- package/build/runtime-cjs/public/record.d.ts +0 -40
- package/build/runtime-cjs/public/record.js +0 -94
- package/build/runtime-cjs/public/tests/test.d.ts +0 -156
- package/build/runtime-cjs/public/tests/test.js +0 -60
- package/build/runtime-cjs/public/types.d.ts +0 -62
- package/build/runtime-cjs/public/types.js +0 -16
- package/build/runtime-cjs/router/cookies.js +0 -168
- package/build/runtime-cjs/router/jwt.js +0 -168
- package/build/runtime-cjs/router/match.d.ts +0 -39
- package/build/runtime-cjs/router/match.js +0 -158
- package/build/runtime-cjs/router/server.d.ts +0 -24
- package/build/runtime-cjs/router/server.js +0 -117
- package/build/runtime-cjs/router/session.d.ts +0 -22
- package/build/runtime-cjs/router/session.js +0 -100
- package/build/runtime-cjs/router/types.d.ts +0 -26
- package/build/runtime-cjs/router/types.js +0 -16
- package/build/runtime-cjs/server/index.d.ts +0 -17
- package/build/runtime-cjs/server/index.js +0 -62
- package/build/runtime-esm/cache/cache.d.ts +0 -169
- package/build/runtime-esm/cache/constants.d.ts +0 -1
- package/build/runtime-esm/cache/gc.d.ts +0 -10
- package/build/runtime-esm/cache/index.d.ts +0 -3
- package/build/runtime-esm/cache/index.js +0 -5
- package/build/runtime-esm/cache/lists.d.ts +0 -89
- package/build/runtime-esm/cache/staleManager.d.ts +0 -31
- package/build/runtime-esm/cache/storage.d.ts +0 -110
- package/build/runtime-esm/cache/stuff.d.ts +0 -2
- package/build/runtime-esm/cache/subscription.d.ts +0 -52
- package/build/runtime-esm/client/documentStore.d.ts +0 -107
- package/build/runtime-esm/client/index.d.ts +0 -50
- package/build/runtime-esm/client/index.js +0 -130
- package/build/runtime-esm/client/plugins/cache.d.ts +0 -9
- package/build/runtime-esm/client/plugins/cache.js +0 -104
- package/build/runtime-esm/client/plugins/fetch.d.ts +0 -38
- package/build/runtime-esm/client/plugins/fetch.js +0 -184
- package/build/runtime-esm/client/plugins/fetchParams.d.ts +0 -9
- package/build/runtime-esm/client/plugins/fetchParams.js +0 -23
- package/build/runtime-esm/client/plugins/fragment.d.ts +0 -2
- package/build/runtime-esm/client/plugins/fragment.js +0 -53
- package/build/runtime-esm/client/plugins/index.d.ts +0 -9
- package/build/runtime-esm/client/plugins/index.js +0 -12
- package/build/runtime-esm/client/plugins/injectedPlugins.d.ts +0 -4
- package/build/runtime-esm/client/plugins/injectedPlugins.js +0 -5
- package/build/runtime-esm/client/plugins/mutation.d.ts +0 -2
- package/build/runtime-esm/client/plugins/mutation.js +0 -65
- package/build/runtime-esm/client/plugins/optimisticKeys.d.ts +0 -7
- package/build/runtime-esm/client/plugins/optimisticKeys.js +0 -290
- package/build/runtime-esm/client/plugins/query.d.ts +0 -2
- package/build/runtime-esm/client/plugins/query.js +0 -69
- package/build/runtime-esm/client/plugins/subscription.d.ts +0 -20
- package/build/runtime-esm/client/plugins/subscription.js +0 -90
- package/build/runtime-esm/client/plugins/test.d.ts +0 -15
- package/build/runtime-esm/client/plugins/test.js +0 -93
- package/build/runtime-esm/client/plugins/throwOnError.d.ts +0 -8
- package/build/runtime-esm/client/plugins/throwOnError.js +0 -23
- package/build/runtime-esm/client/utils/documentPlugins.d.ts +0 -3
- package/build/runtime-esm/client/utils/documentPlugins.js +0 -33
- package/build/runtime-esm/client/utils/index.d.ts +0 -1
- package/build/runtime-esm/client/utils/index.js +0 -1
- package/build/runtime-esm/generated.d.ts +0 -5
- package/build/runtime-esm/generated.js +0 -0
- package/build/runtime-esm/imports/config.d.ts +0 -3
- package/build/runtime-esm/imports/config.js +0 -4
- package/build/runtime-esm/imports/pluginConfig.d.ts +0 -3
- package/build/runtime-esm/imports/pluginConfig.js +0 -5
- package/build/runtime-esm/index.d.ts +0 -8
- package/build/runtime-esm/index.js +0 -22
- package/build/runtime-esm/lib/config.d.ts +0 -216
- package/build/runtime-esm/lib/config.js +0 -69
- package/build/runtime-esm/lib/constants.d.ts +0 -6
- package/build/runtime-esm/lib/deepEquals.d.ts +0 -1
- package/build/runtime-esm/lib/flatten.d.ts +0 -2
- package/build/runtime-esm/lib/index.d.ts +0 -10
- package/build/runtime-esm/lib/index.js +0 -10
- package/build/runtime-esm/lib/key.d.ts +0 -6
- package/build/runtime-esm/lib/log.d.ts +0 -6
- package/build/runtime-esm/lib/lru.d.ts +0 -52
- package/build/runtime-esm/lib/pageInfo.d.ts +0 -7
- package/build/runtime-esm/lib/pagination.d.ts +0 -27
- package/build/runtime-esm/lib/scalars.d.ts +0 -14
- package/build/runtime-esm/lib/selection.d.ts +0 -2
- package/build/runtime-esm/lib/store.d.ts +0 -19
- package/build/runtime-esm/lib/types.d.ts +0 -417
- package/build/runtime-esm/public/cache.d.ts +0 -42
- package/build/runtime-esm/public/cache.js +0 -74
- package/build/runtime-esm/public/index.d.ts +0 -1
- package/build/runtime-esm/public/index.js +0 -4
- package/build/runtime-esm/public/list.d.ts +0 -18
- package/build/runtime-esm/public/list.js +0 -127
- package/build/runtime-esm/public/record.d.ts +0 -40
- package/build/runtime-esm/public/record.js +0 -70
- package/build/runtime-esm/public/tests/test.d.ts +0 -156
- package/build/runtime-esm/public/tests/test.js +0 -36
- package/build/runtime-esm/public/types.d.ts +0 -62
- package/build/runtime-esm/router/cookies.d.ts +0 -41
- package/build/runtime-esm/router/jwt.d.ts +0 -117
- package/build/runtime-esm/router/match.d.ts +0 -39
- package/build/runtime-esm/router/match.js +0 -131
- package/build/runtime-esm/router/server.d.ts +0 -24
- package/build/runtime-esm/router/server.js +0 -92
- package/build/runtime-esm/router/session.d.ts +0 -22
- package/build/runtime-esm/router/session.js +0 -74
- package/build/runtime-esm/router/types.d.ts +0 -26
- package/build/runtime-esm/router/types.js +0 -0
- package/build/runtime-esm/server/index.d.ts +0 -17
- package/build/runtime-esm/server/index.js +0 -38
- package/build/test-cjs/index.js +0 -75249
- package/build/test-cjs/package.json +0 -1
- package/build/test-esm/index.js +0 -75244
- package/build/vite/imports.d.ts +0 -40
- package/build/vite-cjs/index.js +0 -86272
- package/build/vite-cjs/package.json +0 -1
- package/build/vite-esm/index.js +0 -86264
- /package/build/{adapter-esm → adapter}/package.json +0 -0
- /package/build/{cmd-esm → cmd}/package.json +0 -0
- /package/build/{vite → lib}/ast.d.ts +0 -0
- /package/build/{codegen-esm → lib}/package.json +0 -0
- /package/build/{lib-esm → node}/package.json +0 -0
- /package/build/{runtime-esm → oauth}/package.json +0 -0
- /package/build/{runtime-cjs/router → router}/cookies.d.ts +0 -0
- /package/build/{runtime-cjs/router → router}/jwt.d.ts +0 -0
- /package/build/{test-esm → router}/package.json +0 -0
- /package/build/{runtime-esm/public → router}/types.js +0 -0
- /package/build/{runtime-esm → runtime}/cache/constants.js +0 -0
- /package/build/{runtime-esm/lib → runtime}/constants.js +0 -0
- /package/build/{runtime-cjs/lib → runtime}/deepEquals.d.ts +0 -0
- /package/build/{runtime-esm/lib → runtime}/deepEquals.js +0 -0
- /package/build/{runtime-esm/lib → runtime}/flatten.js +0 -0
- /package/build/{runtime-cjs/lib → runtime}/log.d.ts +0 -0
- /package/build/{runtime-cjs/lib → runtime}/lru.d.ts +0 -0
- /package/build/{runtime-esm/lib → runtime}/lru.js +0 -0
- /package/build/{vite-esm → runtime}/package.json +0 -0
package/build/lib/types.d.ts
CHANGED
|
@@ -1,314 +1,103 @@
|
|
|
1
|
-
import type * as graphql from 'graphql';
|
|
2
1
|
import type * as recast from 'recast';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { ConfigFile } from '../runtime/lib/config';
|
|
6
|
-
import type { ArtifactKinds, BaseCompiledDocument, DocumentArtifact, ValueOf } from '../runtime/lib/types';
|
|
7
|
-
import type { TransformPage } from '../vite/houdini';
|
|
8
|
-
import type { Config } from './config';
|
|
9
|
-
import type { Adapter } from './router';
|
|
10
|
-
type Program = recast.types.namedTypes.Program;
|
|
11
|
-
export type Maybe<T> = T | null | undefined;
|
|
12
|
-
export type Script = Program;
|
|
13
|
-
export type TransformDocument = {
|
|
14
|
-
instance: Maybe<Script>;
|
|
15
|
-
config: Config;
|
|
16
|
-
dependencies: string[];
|
|
17
|
-
filename: string;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* The result of collecting documents from source code
|
|
21
|
-
*/
|
|
22
|
-
export type Document = {
|
|
23
|
-
/**
|
|
24
|
-
* The name of the document.
|
|
25
|
-
*/
|
|
26
|
-
name: string;
|
|
27
|
-
/**
|
|
28
|
-
* A field you can use to distinguish documents by type (query, mutation, subscription, fragment)
|
|
29
|
-
*/
|
|
30
|
-
kind: ArtifactKinds;
|
|
31
|
-
/**
|
|
32
|
-
* The artifact generated for the document. This will only have a value in the last phase
|
|
33
|
-
* of the Generation Pipeline.
|
|
34
|
-
*/
|
|
35
|
-
artifact: DocumentArtifact | null;
|
|
36
|
-
/**
|
|
37
|
-
* The path of the file containing this document
|
|
38
|
-
*/
|
|
39
|
-
filename: string;
|
|
40
|
-
/**
|
|
41
|
-
* The parsed document. This value should be modified throughout the pipeline.
|
|
42
|
-
* */
|
|
43
|
-
document: graphql.DocumentNode;
|
|
44
|
-
/**
|
|
45
|
-
* Whether an artifact should be generated for the document. This should be set to false for internal
|
|
46
|
-
* or virtual documents .
|
|
47
|
-
*/
|
|
48
|
-
generateArtifact: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Whether a runtime equivalent should be generated for the document. This should be set to false for internal
|
|
51
|
-
* or virtual documents .
|
|
52
|
-
*/
|
|
53
|
-
generateStore: boolean;
|
|
54
|
-
/**
|
|
55
|
-
* The original document string that the user passed
|
|
56
|
-
*/
|
|
57
|
-
originalString: string;
|
|
58
|
-
/**
|
|
59
|
-
* The parsed document that the user provided
|
|
60
|
-
* */
|
|
61
|
-
originalParsed: graphql.DocumentNode;
|
|
62
|
-
/**
|
|
63
|
-
* Refetch logic that has been built up throughout the pipeline
|
|
64
|
-
*/
|
|
65
|
-
refetch?: BaseCompiledDocument<'HoudiniQuery'>['refetch'];
|
|
66
|
-
};
|
|
2
|
+
import type { SourceMapInput } from 'rollup';
|
|
3
|
+
import type { Config } from './config.js';
|
|
67
4
|
export declare const LogLevel: {
|
|
68
|
-
readonly
|
|
5
|
+
readonly Quiet: "quiet";
|
|
69
6
|
readonly Summary: "summary";
|
|
70
7
|
readonly ShortSummary: "short-summary";
|
|
71
|
-
readonly
|
|
8
|
+
readonly Verbose: "full";
|
|
9
|
+
};
|
|
10
|
+
export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
|
|
11
|
+
export type ProjectManifest = {
|
|
12
|
+
/** All of the pages in the project */
|
|
13
|
+
pages: Record<string, PageManifest>;
|
|
14
|
+
/** All of the layouts in the project */
|
|
15
|
+
layouts: Record<string, PageManifest>;
|
|
16
|
+
/** All of the page queries in the project */
|
|
17
|
+
page_queries: Record<string, QueryManifest>;
|
|
18
|
+
/** All of the layout queries in the project */
|
|
19
|
+
layout_queries: Record<string, QueryManifest>;
|
|
20
|
+
/** All of the artifacts in the project */
|
|
21
|
+
artifacts: string[];
|
|
22
|
+
/** Whether or not there is a local schema defined */
|
|
23
|
+
local_schema: boolean;
|
|
24
|
+
/** Whether or not there is a custom instance of yoga defined */
|
|
25
|
+
local_yoga: boolean;
|
|
26
|
+
/** Information about componentFields defined in the project */
|
|
27
|
+
component_fields: Record<string, {
|
|
28
|
+
filepath: string;
|
|
29
|
+
}>;
|
|
72
30
|
};
|
|
73
|
-
export type
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
31
|
+
export type PageManifest = {
|
|
32
|
+
id: string;
|
|
33
|
+
/** the name of every query that the page depends on */
|
|
34
|
+
queries: string[];
|
|
35
|
+
/** the list of queries that this page could potentially ask for */
|
|
36
|
+
query_options: string[];
|
|
37
|
+
/** the full url pattern of the page */
|
|
38
|
+
url: string;
|
|
39
|
+
/** the ids of layouts that wrap this page */
|
|
40
|
+
layouts: string[];
|
|
41
|
+
/** The filepath of the unit */
|
|
42
|
+
path: string;
|
|
43
|
+
/**
|
|
44
|
+
* The name and type of every route paramter that this page can use.
|
|
45
|
+
* null indicates the type is unknown (not constrained by a query)
|
|
46
|
+
**/
|
|
47
|
+
params: Record<string, {
|
|
48
|
+
type: string;
|
|
49
|
+
wrappers: string[];
|
|
50
|
+
} | null>;
|
|
51
|
+
};
|
|
52
|
+
export type QueryManifest = {
|
|
53
|
+
/** the name of the query */
|
|
78
54
|
name: string;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
55
|
+
/** the url tied with the query */
|
|
56
|
+
url: string;
|
|
57
|
+
/** wether the query uses the loading directive (ie, wants a fallback) */
|
|
58
|
+
loading: boolean;
|
|
59
|
+
/** The filepath of the unit */
|
|
60
|
+
path: string;
|
|
61
|
+
/** The name and GraphQL type for the variables that this query cares about */
|
|
62
|
+
variables: Record<string, {
|
|
63
|
+
wrappers: string[];
|
|
64
|
+
type: string;
|
|
65
|
+
}>;
|
|
82
66
|
};
|
|
83
|
-
export
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
* automatically included with your
|
|
96
|
-
*/
|
|
97
|
-
includeRuntime?: string | {
|
|
98
|
-
esm: string;
|
|
99
|
-
commonjs: string;
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* A relative path from the file exporting your plugin to a runtime that can be
|
|
103
|
-
* added to the project before generating artifacts. This is useful for plugins
|
|
104
|
-
* that want to add third-party documents to the user's application.
|
|
105
|
-
*/
|
|
106
|
-
staticRuntime?: string | {
|
|
107
|
-
esm: string;
|
|
108
|
-
commonjs: string;
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Transform the plugin's runtime while houdini is copying it .
|
|
112
|
-
* You must have passed a value to includeRuntime for this hook to matter.
|
|
113
|
-
*/
|
|
114
|
-
transformRuntime?: Record<string, (args: {
|
|
115
|
-
config: Config;
|
|
116
|
-
content: string;
|
|
117
|
-
importStatement: (where: string, as: string) => string;
|
|
118
|
-
exportDefaultStatement: (val: string) => string;
|
|
119
|
-
exportStarStatement: (val: string) => string;
|
|
120
|
-
}) => string> | ((docs: Document[], opts: {
|
|
121
|
-
config: Config;
|
|
122
|
-
}) => Record<string, (args: {
|
|
123
|
-
config: Config;
|
|
124
|
-
content: string;
|
|
125
|
-
importStatement: (where: string, as: string) => string;
|
|
126
|
-
exportDefaultStatement: (val: string) => string;
|
|
127
|
-
exportStarStatement: (val: string) => string;
|
|
128
|
-
}) => string>);
|
|
129
|
-
/**
|
|
130
|
-
* An module with an default export that sets configuration values.
|
|
131
|
-
*/
|
|
132
|
-
config?: string;
|
|
133
|
-
/**
|
|
134
|
-
*
|
|
135
|
-
* Add environment variables to houdini's pipeline (ie, for schema polling headers, url, etc.)
|
|
136
|
-
*/
|
|
137
|
-
env?: (args: {
|
|
138
|
-
env: any;
|
|
139
|
-
config: Config;
|
|
140
|
-
}) => Promise<Record<string, string>>;
|
|
141
|
-
/**
|
|
142
|
-
* Invoked after all plugins have loaded and modified config values.
|
|
143
|
-
*/
|
|
144
|
-
afterLoad?: (args: {
|
|
145
|
-
config: Config;
|
|
146
|
-
}) => Promise<void> | void;
|
|
147
|
-
/**
|
|
148
|
-
* A filter for whether a file should be included in the the processing. Return true to include.
|
|
149
|
-
*/
|
|
150
|
-
include?: (args: {
|
|
151
|
-
config: Config;
|
|
152
|
-
filepath: string;
|
|
153
|
-
}) => boolean | null | undefined;
|
|
154
|
-
/**
|
|
155
|
-
* A filter for whether a file should be included in the the processing. Return false to include.
|
|
156
|
-
*/
|
|
157
|
-
exclude?: (args: {
|
|
158
|
-
config: Config;
|
|
159
|
-
filepath: string;
|
|
160
|
-
}) => boolean | null | undefined;
|
|
161
|
-
/**
|
|
162
|
-
* Configure the codegen pipeline to extract graphql documents out of a file.
|
|
163
|
-
*/
|
|
164
|
-
extractDocuments?: (args: {
|
|
165
|
-
config: Config;
|
|
166
|
-
filepath: string;
|
|
167
|
-
content: string;
|
|
168
|
-
}) => Promise<string[] | null> | string[] | null;
|
|
169
|
-
/**
|
|
170
|
-
* Can be used to add custom definitions to your project's schema. Definitions (like directives) added
|
|
171
|
-
* here are automatically removed from the document before they are sent to the server. Useful
|
|
172
|
-
* in connection with artifactData or artifact_selection to embed data in the artifact.
|
|
173
|
-
*/
|
|
174
|
-
schema?: (args: {
|
|
175
|
-
config: Config;
|
|
176
|
-
}) => string;
|
|
177
|
-
/**
|
|
178
|
-
* A hook to transform the documents before they are validated.
|
|
179
|
-
*/
|
|
180
|
-
beforeValidate?: (args: {
|
|
181
|
-
config: Config;
|
|
182
|
-
documents: Document[];
|
|
183
|
-
}) => Promise<void> | void;
|
|
184
|
-
/**
|
|
185
|
-
* A hook to validate all of the documents in a project.
|
|
186
|
-
*/
|
|
187
|
-
validate?: (args: {
|
|
188
|
-
config: Config;
|
|
189
|
-
documents: Document[];
|
|
190
|
-
}) => Promise<void> | void;
|
|
191
|
-
/**
|
|
192
|
-
* A hook to transform the documents after they are validated.
|
|
193
|
-
*/
|
|
194
|
-
afterValidate?: (args: {
|
|
195
|
-
config: Config;
|
|
196
|
-
documents: Document[];
|
|
197
|
-
}) => Promise<void> | void;
|
|
198
|
-
/**
|
|
199
|
-
* A hook to transform the documents before documents are generated.
|
|
200
|
-
*/
|
|
201
|
-
beforeGenerate?: (args: {
|
|
202
|
-
config: Config;
|
|
203
|
-
documents: Document[];
|
|
204
|
-
}) => Promise<void> | void;
|
|
205
|
-
/**
|
|
206
|
-
* A hook to embed metadata at the root of the artifact.
|
|
207
|
-
*/
|
|
208
|
-
artifactData?: (args: {
|
|
209
|
-
config: Config;
|
|
210
|
-
document: Document;
|
|
211
|
-
}) => Record<string, any> | void;
|
|
212
|
-
/**
|
|
213
|
-
* A hook to customize the hash generated for your document.
|
|
214
|
-
*/
|
|
215
|
-
hash?: (args: {
|
|
216
|
-
config: Config;
|
|
217
|
-
document: Document;
|
|
218
|
-
}) => string;
|
|
219
|
-
/**
|
|
220
|
-
* A hook to customize the return type of the graphql function. If you need to add an import to the file
|
|
221
|
-
* in order to resolve the import, you can use the `ensureImport` utility.
|
|
222
|
-
*/
|
|
223
|
-
graphqlTagReturn?: (args: {
|
|
224
|
-
config: Config;
|
|
225
|
-
document: Document;
|
|
226
|
-
ensureImport: (import_args: {
|
|
227
|
-
identifier: string;
|
|
228
|
-
module: string;
|
|
229
|
-
}) => void;
|
|
230
|
-
}) => string | undefined;
|
|
231
|
-
/**
|
|
232
|
-
* A hook to modify the root `index.js` of the generated runtime.
|
|
233
|
-
*/
|
|
234
|
-
indexFile?: ModuleIndexTransform;
|
|
235
|
-
/**
|
|
236
|
-
* A hook to generate custom files for every document in a project.
|
|
237
|
-
*/
|
|
238
|
-
generate?: GenerateHook;
|
|
239
|
-
/**
|
|
240
|
-
* A hook to modify the generated artifact before it is persisted
|
|
241
|
-
*/
|
|
242
|
-
artifactEnd?: (args: {
|
|
243
|
-
config: Config;
|
|
244
|
-
document: Document;
|
|
245
|
-
}) => void;
|
|
246
|
-
/**
|
|
247
|
-
* Specify the plugins that should be added to the user's client because
|
|
248
|
-
* of this plugin.
|
|
249
|
-
*/
|
|
250
|
-
clientPlugins?: Record<string, null | Record<string, any>> | ((config: ConfigFile, pluginConfig: any) => Record<string, null | Record<string, any>>);
|
|
251
|
-
/**
|
|
252
|
-
* A hook to transform the source file to support desired APIs.
|
|
253
|
-
*/
|
|
254
|
-
transformFile?: (page: TransformPage) => Promise<{
|
|
255
|
-
code: string;
|
|
256
|
-
map?: SourceMapInput | string;
|
|
257
|
-
}> | {
|
|
258
|
-
code: string;
|
|
259
|
-
map?: SourceMapInput | string;
|
|
260
|
-
};
|
|
261
|
-
vite?: {
|
|
262
|
-
config?: (config: Config, env: ConfigEnv) => UserConfig | Promise<UserConfig>;
|
|
263
|
-
buildStart?: (this: PluginContext, options: NormalizedInputOptions & {
|
|
264
|
-
houdiniConfig: Config;
|
|
265
|
-
}) => void | Promise<void>;
|
|
266
|
-
buildEnd?: (this: PluginContext, error?: Error, houdiniConfig?: Config) => void | Promise<void>;
|
|
267
|
-
closeBundle?: (this: PluginContext, config: Config) => void | Promise<void>;
|
|
268
|
-
configResolved?: ObjectHook<(this: void, config: ResolvedConfig) => void | Promise<void>>;
|
|
269
|
-
options?: (this: MinimalPluginContext, options: InputOptions & {
|
|
270
|
-
houdiniConfig: Config;
|
|
271
|
-
}) => InputOptions | NullValue;
|
|
272
|
-
resolveId?: ObjectHook<(this: PluginContext, source: string, importer: string | undefined, options: {
|
|
273
|
-
config: Config;
|
|
274
|
-
custom?: CustomPluginOptions;
|
|
275
|
-
ssr?: boolean;
|
|
276
|
-
isEntry: boolean;
|
|
277
|
-
}) => Promise<ResolveIdResult> | ResolveIdResult>;
|
|
278
|
-
load?: ObjectHook<(this: PluginContext, id: string, options: {
|
|
279
|
-
config: Config;
|
|
280
|
-
ssr?: boolean;
|
|
281
|
-
}) => Promise<LoadResult> | LoadResult>;
|
|
282
|
-
configureServer?: ObjectHook<(this: void, server: ViteDevServer & {
|
|
283
|
-
houdiniConfig: Config;
|
|
284
|
-
}) => (() => void) | void | Promise<(() => void) | void>, {}> | undefined;
|
|
285
|
-
};
|
|
67
|
+
export declare const PaginateMode: {
|
|
68
|
+
readonly Infinite: "Infinite";
|
|
69
|
+
readonly SinglePage: "SinglePage";
|
|
70
|
+
};
|
|
71
|
+
type ValuesOf<T> = T[keyof T];
|
|
72
|
+
export type PaginateModes = ValuesOf<typeof PaginateMode>;
|
|
73
|
+
export declare const CachePolicy: {
|
|
74
|
+
readonly CacheOrNetwork: "CacheOrNetwork";
|
|
75
|
+
readonly CacheOnly: "CacheOnly";
|
|
76
|
+
readonly NetworkOnly: "NetworkOnly";
|
|
77
|
+
readonly CacheAndNetwork: "CacheAndNetwork";
|
|
78
|
+
readonly NoCache: "NoCache";
|
|
286
79
|
};
|
|
287
|
-
type
|
|
80
|
+
export type CachePolicies = ValuesOf<typeof CachePolicy>;
|
|
81
|
+
export type Maybe<T> = T | null | undefined;
|
|
82
|
+
export type Script = Program;
|
|
83
|
+
type Program = recast.types.namedTypes.Program;
|
|
84
|
+
export interface TransformPage {
|
|
288
85
|
config: Config;
|
|
289
86
|
content: string;
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
documents: Document[];
|
|
300
|
-
}) => string;
|
|
301
|
-
export type GenerateHook = (args: GenerateHookInput) => Promise<void> | void;
|
|
302
|
-
export type GenerateHookInput = {
|
|
303
|
-
config: Config;
|
|
304
|
-
documents: Document[];
|
|
305
|
-
pluginRoot: string;
|
|
87
|
+
map?: SourceMapInput;
|
|
88
|
+
filepath: string;
|
|
89
|
+
watch_file: (path: string) => void;
|
|
90
|
+
}
|
|
91
|
+
export declare const ArtifactKind: {
|
|
92
|
+
readonly Query: "HoudiniQuery";
|
|
93
|
+
readonly Subscription: "HoudiniSubscription";
|
|
94
|
+
readonly Mutation: "HoudiniMutation";
|
|
95
|
+
readonly Fragment: "HoudiniFragment";
|
|
306
96
|
};
|
|
307
|
-
export type
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
export
|
|
312
|
-
export
|
|
313
|
-
export
|
|
314
|
-
export type ValueMap = Record<string, graphql.ValueNode>;
|
|
97
|
+
export type ArtifactKinds = ValuesOf<typeof ArtifactKind>;
|
|
98
|
+
export declare const CompiledFragmentKind: "HoudiniFragment";
|
|
99
|
+
export declare const CompiledMutationKind: "HoudiniMutation";
|
|
100
|
+
export declare const CompiledQueryKind: "HoudiniQuery";
|
|
101
|
+
export declare const CompiledSubscriptionKind: "HoudiniSubscription";
|
|
102
|
+
export type CompiledDocumentKind = ArtifactKinds;
|
|
103
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const LogLevel = {
|
|
2
|
+
Quiet: "quiet",
|
|
3
|
+
Summary: "summary",
|
|
4
|
+
ShortSummary: "short-summary",
|
|
5
|
+
Verbose: "full"
|
|
6
|
+
};
|
|
7
|
+
const PaginateMode = {
|
|
8
|
+
Infinite: "Infinite",
|
|
9
|
+
SinglePage: "SinglePage"
|
|
10
|
+
};
|
|
11
|
+
const CachePolicy = {
|
|
12
|
+
CacheOrNetwork: "CacheOrNetwork",
|
|
13
|
+
CacheOnly: "CacheOnly",
|
|
14
|
+
NetworkOnly: "NetworkOnly",
|
|
15
|
+
CacheAndNetwork: "CacheAndNetwork",
|
|
16
|
+
NoCache: "NoCache"
|
|
17
|
+
};
|
|
18
|
+
const ArtifactKind = {
|
|
19
|
+
Query: "HoudiniQuery",
|
|
20
|
+
Subscription: "HoudiniSubscription",
|
|
21
|
+
Mutation: "HoudiniMutation",
|
|
22
|
+
Fragment: "HoudiniFragment"
|
|
23
|
+
};
|
|
24
|
+
const CompiledFragmentKind = ArtifactKind.Fragment;
|
|
25
|
+
const CompiledMutationKind = ArtifactKind.Mutation;
|
|
26
|
+
const CompiledQueryKind = ArtifactKind.Query;
|
|
27
|
+
const CompiledSubscriptionKind = ArtifactKind.Subscription;
|
|
28
|
+
export {
|
|
29
|
+
ArtifactKind,
|
|
30
|
+
CachePolicy,
|
|
31
|
+
CompiledFragmentKind,
|
|
32
|
+
CompiledMutationKind,
|
|
33
|
+
CompiledQueryKind,
|
|
34
|
+
CompiledSubscriptionKind,
|
|
35
|
+
LogLevel,
|
|
36
|
+
PaginateMode
|
|
37
|
+
};
|
package/build/lib/walk.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
export type BaseNode = {
|
|
2
|
+
type: string;
|
|
3
|
+
start?: number;
|
|
4
|
+
end?: number;
|
|
5
|
+
};
|
|
2
6
|
import * as graphql from 'graphql';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type
|
|
7
|
+
import type { Config } from './config.js';
|
|
8
|
+
import type { CompiledDocumentKind } from './types.js';
|
|
9
|
+
import { type Script } from './types.js';
|
|
6
10
|
export type EmbeddedGraphqlDocument = {
|
|
7
11
|
parsedDocument: graphql.DocumentNode;
|
|
8
12
|
artifact: {
|
|
@@ -14,16 +18,17 @@ export type EmbeddedGraphqlDocument = {
|
|
|
14
18
|
replaceWith: (node: BaseNode) => void;
|
|
15
19
|
};
|
|
16
20
|
tagContent: string;
|
|
17
|
-
parent: BaseNode;
|
|
21
|
+
parent: BaseNode | null;
|
|
18
22
|
};
|
|
19
23
|
type GraphqlTagWalker = {
|
|
20
24
|
skipGraphqlType?: boolean;
|
|
21
25
|
where?: (tag: graphql.DocumentNode, ast: {
|
|
22
26
|
node: BaseNode;
|
|
23
|
-
parent: BaseNode;
|
|
27
|
+
parent: BaseNode | null;
|
|
24
28
|
}) => boolean;
|
|
25
29
|
dependency?: (fp: string) => void;
|
|
26
30
|
tag: (tag: EmbeddedGraphqlDocument) => void | Promise<void>;
|
|
27
31
|
};
|
|
28
32
|
export declare function find_graphql(config: Config, parsedScript: Script, walker: GraphqlTagWalker): Promise<void>;
|
|
33
|
+
export declare function extractDefinition(document: graphql.DocumentNode): graphql.ExecutableDefinitionNode;
|
|
29
34
|
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { asyncWalk } from "estree-walker";
|
|
2
|
+
import * as graphql from "graphql";
|
|
3
|
+
import {
|
|
4
|
+
CompiledFragmentKind,
|
|
5
|
+
CompiledMutationKind,
|
|
6
|
+
CompiledQueryKind,
|
|
7
|
+
CompiledSubscriptionKind
|
|
8
|
+
} from "./types.js";
|
|
9
|
+
async function find_graphql(config, parsedScript, walker) {
|
|
10
|
+
await asyncWalk(parsedScript, {
|
|
11
|
+
async enter(node, parent) {
|
|
12
|
+
if (node.type !== "TaggedTemplateExpression" && node.type !== "CallExpression" && node.type !== "TSPropertySignature" && node.type !== "VariableDeclaration") {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
let documentString = "";
|
|
16
|
+
let _propName = "";
|
|
17
|
+
if (node.type === "TaggedTemplateExpression") {
|
|
18
|
+
const expr = node;
|
|
19
|
+
if (expr.tag.type !== "Identifier" || expr.tag.name !== "graphql") {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
documentString = expr.quasi.quasis[0].value.raw;
|
|
23
|
+
} else if (node.type === "CallExpression") {
|
|
24
|
+
const expr = node;
|
|
25
|
+
if (expr.callee.type !== "Identifier" || expr.callee.name !== "graphql" || expr.arguments.length !== 1) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const argument = expr.arguments[0];
|
|
29
|
+
if (argument.type === "TemplateLiteral") {
|
|
30
|
+
documentString = argument.quasis[0].value.raw;
|
|
31
|
+
} else if (argument.type === "StringLiteral") {
|
|
32
|
+
documentString = argument.value;
|
|
33
|
+
} else {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
} else if (node.type === "TSPropertySignature" && !walker.skipGraphqlType) {
|
|
37
|
+
const signature = node;
|
|
38
|
+
if (signature.typeAnnotation?.typeAnnotation?.type !== "TSTypeReference") {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const annotation = signature.typeAnnotation?.typeAnnotation;
|
|
42
|
+
if (annotation.typeName.type !== "Identifier") {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (annotation.typeName.name !== "GraphQL") {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (annotation.typeParameters?.params[0].type !== "TSLiteralType") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const literal = annotation.typeParameters?.params[0];
|
|
52
|
+
if (literal.literal.type === "StringLiteral") {
|
|
53
|
+
documentString = literal.literal.value;
|
|
54
|
+
} else if (literal.literal.type === "TemplateLiteral") {
|
|
55
|
+
documentString = literal.literal.quasis[0].value.raw;
|
|
56
|
+
}
|
|
57
|
+
if (signature.key.type === "Identifier") {
|
|
58
|
+
_propName = signature.key.name;
|
|
59
|
+
}
|
|
60
|
+
} else if (!documentString) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const parsedTag = graphql.parse(documentString);
|
|
64
|
+
if (walker.where && !walker.where(parsedTag, { node, parent })) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let anonOkay = false;
|
|
68
|
+
let definitions = [
|
|
69
|
+
{ raw: documentString, parsed: extractDefinition(parsedTag) }
|
|
70
|
+
];
|
|
71
|
+
const name = definitions[0].parsed.name?.value;
|
|
72
|
+
let kind;
|
|
73
|
+
if (definitions[0].parsed.kind === "FragmentDefinition") {
|
|
74
|
+
kind = CompiledFragmentKind;
|
|
75
|
+
} else {
|
|
76
|
+
if (definitions[0].parsed.operation === "query") {
|
|
77
|
+
kind = CompiledQueryKind;
|
|
78
|
+
} else if (definitions[0].parsed.operation === "mutation") {
|
|
79
|
+
kind = CompiledMutationKind;
|
|
80
|
+
} else {
|
|
81
|
+
kind = CompiledSubscriptionKind;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (kind === CompiledQueryKind) {
|
|
85
|
+
anonOkay = definitions[0].parsed.selectionSet.selections.every(
|
|
86
|
+
(selection) => selection.kind === "InlineFragment" && selection.directives?.find(
|
|
87
|
+
(directive) => directive.name.value === "componentField"
|
|
88
|
+
)
|
|
89
|
+
);
|
|
90
|
+
if (name) {
|
|
91
|
+
definitions = [{ parsed: definitions[0].parsed, raw: definitions[0].raw }];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!name && !anonOkay) {
|
|
95
|
+
throw new Error("Could not find definition name");
|
|
96
|
+
}
|
|
97
|
+
walker.dependency?.(config.artifactPath(parsedTag));
|
|
98
|
+
for (const definition of definitions) {
|
|
99
|
+
const name2 = definition.parsed.name?.value;
|
|
100
|
+
if (!name2) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
await walker.tag({
|
|
104
|
+
parsedDocument: {
|
|
105
|
+
kind: graphql.Kind.DOCUMENT,
|
|
106
|
+
definitions: [definition.parsed]
|
|
107
|
+
},
|
|
108
|
+
node: {
|
|
109
|
+
...node,
|
|
110
|
+
...this,
|
|
111
|
+
remove: this.remove,
|
|
112
|
+
replaceWith: this.replace
|
|
113
|
+
},
|
|
114
|
+
artifact: {
|
|
115
|
+
name: name2,
|
|
116
|
+
kind
|
|
117
|
+
},
|
|
118
|
+
parent,
|
|
119
|
+
tagContent: definition.raw
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function extractDefinition(document) {
|
|
126
|
+
if (document.definitions.length !== 1) {
|
|
127
|
+
throw new Error("Encountered document with multiple definitions");
|
|
128
|
+
}
|
|
129
|
+
const definition = document.definitions[0];
|
|
130
|
+
if (definition.kind !== "OperationDefinition" && definition.kind !== "FragmentDefinition") {
|
|
131
|
+
throw new Error("Encountered document without a fragment or operation definition");
|
|
132
|
+
}
|
|
133
|
+
return definition;
|
|
134
|
+
}
|
|
135
|
+
export {
|
|
136
|
+
extractDefinition,
|
|
137
|
+
find_graphql
|
|
138
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type Db } from '../lib/db.js';
|
|
2
|
+
export type { Db } from '../lib/db.js';
|
|
3
|
+
export type PipelineHook = 'config' | 'afterLoad' | 'schema' | 'extractDocuments' | 'afterExtract' | 'beforeValidate' | 'validate' | 'afterValidate' | 'beforeGenerate' | 'generateDocuments' | 'generateRuntime' | 'afterGenerate' | 'environment' | 'indexFile';
|
|
4
|
+
export type PluginContext = {
|
|
5
|
+
taskId: string;
|
|
6
|
+
pluginDirectory: string;
|
|
7
|
+
db: Db;
|
|
8
|
+
invokeHook(hook: string, payload?: Record<string, any>, options?: {
|
|
9
|
+
parallel?: boolean;
|
|
10
|
+
}): Promise<Record<string, any>>;
|
|
11
|
+
};
|
|
12
|
+
export type TransformFn = (source: string, content: string) => Promise<string> | string;
|
|
13
|
+
export type HookHandler = (ctx: PluginContext, payload: Record<string, any>) => Promise<Record<string, any> | string[] | string | undefined> | Record<string, any> | string[] | string | undefined;
|
|
14
|
+
export type NodePluginConfig = {
|
|
15
|
+
name: string;
|
|
16
|
+
order: 'before' | 'after' | 'core';
|
|
17
|
+
hooks: Partial<Record<PipelineHook, HookHandler>>;
|
|
18
|
+
includeRuntime?: string;
|
|
19
|
+
staticRuntime?: string;
|
|
20
|
+
transformRuntime?: TransformFn;
|
|
21
|
+
transformStaticRuntime?: TransformFn;
|
|
22
|
+
configModule?: string;
|
|
23
|
+
clientPlugins?: Record<string, any>;
|
|
24
|
+
};
|
|
25
|
+
export declare class PluginError extends Error {
|
|
26
|
+
detail?: string;
|
|
27
|
+
locations?: Array<{
|
|
28
|
+
filepath: string;
|
|
29
|
+
line?: number;
|
|
30
|
+
column?: number;
|
|
31
|
+
}>;
|
|
32
|
+
kind?: string;
|
|
33
|
+
constructor(opts: {
|
|
34
|
+
message: string;
|
|
35
|
+
detail?: string;
|
|
36
|
+
locations?: Array<{
|
|
37
|
+
filepath: string;
|
|
38
|
+
line?: number;
|
|
39
|
+
column?: number;
|
|
40
|
+
}>;
|
|
41
|
+
kind?: string;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export declare function plugin(config: NodePluginConfig): void;
|