Babel plugin for Relay Classic which works out of the box with your GraphQL endpoint
DEPRECATED: Given the new
relay-compilersetup (for Relay Modern) this babel plugin is no longer necessary.
How does this relate to babel-relay-plugin?
This package uses babel-relay-plugin internally but makes usage more convenient and extends its functionality. For example you no longer need to have a build/babelRelayPlugin.js script.
(The version is the same as babel-relay-plugin by the way.)
$ npm install -D babel-plugin-react-relayNote: We recently switched over to graphql-config, so this might be a breaking change for you.
Add the following to your .babelrc file or the corresponding babel configuration.
{
"plugins": ["react-relay"]
}This plugin uses the graphql-config format and already works out of the box if you're using another GraphQL dev tool such as this great IntelliJ Plugin.
Add one of the following source options to your package.json file. See here for more configuration details.
For your convenience, here is the easiest way to configure your GraphQL endpoint:
export GRAPHQL_ENDPOINT="https://your.api/graphql"For those intending to directly reference their backend schema.js, you will need to ensure a single version of graphql exists in node_modules. However as of this writing, babel-relay-plugin and graphql-config-parser reference incompatible versions of graphql (context). A workaround is to force the graphql dependency within npm-shrinkwrap.json at your project's root (make sure to adapt as currently relevant):
{
"dependencies": {
"babel-relay-plugin": {
"version": "0.9.3",
"from": "babel-relay-plugin@0.9.3",
"dependencies": {
"graphql": {
"version": "0.7.1",
"from": "graphql@0.6.2"
}
}
}
}
}
Then run npm prune, npm install and npm dedupe for good measure.
Join our Slack community if you run into issues or have questions. We love talking to you!
