graphql-tools
graphql-tools copied to clipboard
Forked relay-compiler breaks .bin script
Issue workflow progress
Progress of the issue based on the Contributor Workflow
- [ ] 1. The issue provides a reproduction available on Github, Stackblitz or CodeSandbox
Make sure to fork this template and run
yarn generate
in the terminal.Please make sure the GraphQL Tools package versions under
package.json
matches yours. - [ ] 2. A failing test has been provided
- [ ] 3. A local solution has been provided
- [ ] 4. A pull request is pending review
Describe the bug
The forked version of relay-compiler
overwrites the script installed to .bin
by the regular version of relay-compiler
. This can cause builds to use an incorrect version of the relay compiler.
To Reproduce Steps to reproduce the behavior:
- Create a new, empty package with
npm init
. - Install
relay-compiler
:npm install --save relay-compiler
. - The
relay-compiler
script in.bin
points to the correct place. - Install
@graphql-codegen/typescript
:npm install --save @graphql-codegen/[email protected]
. - The
relay-compiler
script in.bin
is updated to point to the v12 fork used in@graphql-tools/relay-operation-optimizer
Expected behavior
The forked version of relay-compiler
(@ardatan/[email protected]
) should not include the bin
entry in its package.json
:
"bin": {
"relay-compiler": "bin/relay-compiler"
},
and so wouldn't overwrite the relay-compiler script in the .bin folder.
Environment:
- OS: Windows 10
-
@graphql-tools/[email protected]
: - NodeJS: v16.13.2
- NPM: 8.17.0
Additional context
There doesn't seem to be a repo for the forked relay-compiler (@ardatan/relay-compiler
) that I could see to add this issue to.
We have the same issue, and are currently using "@graphql-codegen/typescript": "2.4.11",
as a workaround since that version still works
Hi, same issue here.
(npm init -y && npm i relay-compiler @graphql-tools/relay-operation-optimizer) > /dev/null && readlink node_modules/.bin/relay-compiler
../@ardatan/relay-compiler/bin/relay-compiler
Any ideas @ardatan ?
Another workaround that seem to work:
create a new folder and package.json
// in relay-compiler-patch/package.json
{
"name": "@ardatan/relay-compiler",
"version": "0.0.0"
}
then in your top-level package.json, enable workspaces:
"workspaces": [
"relay-compiler-patch",
],
if you already use workspaces, just drop the package.json inside any of the workspace paths.