graph-client
graph-client copied to clipboard
build fails: Unknown file extension ".ts"
Problem
Similarly to #409, I was just following the tutorial from https://thegraph.com/docs/en/querying/querying-from-an-application/ and it failed at the code generation step.
➜ npx graphclient build
(node:9415) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
💡 GraphClient Cleaning existing artifacts
💡 GraphClient Reading the configuration
💡 GraphClient Generating the unified schema
💥 GraphClient - uniswapv2 Failed to generate the schema Error: Failed to fetch introspection from https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2: TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /home/daniel/repos/my-project/my-project-ui/.graphclient/sources/uniswapv2/introspectionSchema.ts
at new NodeError (node:internal/errors:371:5)
at Object.file: (node:internal/modules/esm/get_format:72:15)
at defaultGetFormat (node:internal/modules/esm/get_format:85:38)
at defaultLoad (node:internal/modules/esm/load:13:42)
at ESMLoader.load (node:internal/modules/esm/loader:303:26)
at ESMLoader.moduleProvider (node:internal/modules/esm/loader:230:58)
at new ModuleJob (node:internal/modules/esm/module_job:63:26)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:244:11)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:281:24) {
code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
at GraphQLHandler.getMeshSource (/home/daniel/repos/my-project/my-project-ui/node_modules/@graphql-mesh/graphql/cjs/index.js:339:23)
at async /home/daniel/repos/my-project/my-project-ui/node_modules/@graphql-mesh/runtime/cjs/get-mesh.js:128:28
💥 GraphClient Error: Schemas couldn't be generated successfully. Check for the logs by running Mesh with DEBUG=1 environmental variable to get more verbose output.
at getMesh (/home/daniel/repos/my-project/my-project-ui/node_modules/@graphql-mesh/runtime/cjs/get-mesh.js:162:15)
at async Object.handler (/home/daniel/repos/my-project/my-project-ui/node_modules/@graphql-mesh/cli/cjs/index.js:311:53)
The code is a fresh astro project created with npm create astro@latest
and with Typescript enabled.
Fixes
- I tried adding
ts-node
as suggested by this tutorial I've look into https://graphql.wtf/episodes/45-the-graph-client. Did not work. - I tried using a different
tsconfig.json
. Did not work.
What works is calling npx graphclient build --fileType ts
as seen in this tutorial: https://www.youtube.com/watch?v=Wsq2fopq4BQ.
I've experienced the same issue.
Is there any chance you can create a reproduction on CodeSandbox?
I'm experiencing the same issue when having ESM enabled in my package.json with "type": "modules"
https://github.com/graphprotocol/graph-client/issues/554
I am having the same problem. This is a bog-standard build on a Ubuntu VM. It is blocking my use of graph-client, of course. I'm happy to help debug if the maintainers want help finding the source of the bug.