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 generatein the terminal.Please make sure the GraphQL Tools package versions under
package.jsonmatches 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-compilerscript in.binpoints to the correct place. - Install
@graphql-codegen/typescript:npm install --save @graphql-codegen/[email protected]. - The
relay-compilerscript in.binis 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.