babel-relay-plugin-loader

This is a workaround to be able to use the Babel Relay Plugin in .babelrc and using babel-node.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
babel-relay-plugin-loader
0.11.07 years ago8 years agoMinified + gzip package size for babel-relay-plugin-loader in KB

Readme

babel-relay-plugin-loader ========================= Versions ======== The current babel-relay-plugin-loader version 0.10.0 and 0.10.0-nologs is loading the babel-relay-plugin version 0.10.0. The 0.10.0-nologs is only to keep the version number in sync with babel-relay-plugin and the -nologs tag should not be used with the next version anymore since it no console logs will be the default behaviour anyways then. Overview ======== This workaround enables us to use the Babel Relay Plugin in .babelrc without breaking babel-node. Description =========== The Babel Relay Plugin needs to be configured with a GraphQL schema. Usually you would do this locally in your project. Unfortunately there is an issue that does not allow local plugins to be used within .babelrc without breaking babel-node. You can find all the details here in #454. Usage ===== Just npm install --save-dev babel-relay-plugin-loader and add the path to your schema.json to your projects package.json like this:
...
"metadata": {
"graphql": {
"schema": "./data/schema.json"
}
},
...
This path should be relative to the location of your package.json. Then you can add this plugin to your .babelrc file like this: Babel 5
{
"stage": 0,
"env": {
"development": {
"plugins": ["babel-relay-plugin-loader", "react-transform"],
"sourceMaps": "inline",
"optional": [
"runtime",
"es7.decorators",
"es7.classProperties"
],
"extra": {
"react-transform": {
"transforms": [{
"transform": "react-transform-hmr",
"imports": ["react"],
"locals": ["module"]
}, {
"transform": "react-transform-catch-errors",
"imports": ["react", "redbox-react"]
}]
}
}
}
}
}
Babel 6
{
"presets": [
"es2015",
"react",
"stage-0"
],
"env": {
"development": {
"plugins": [
"babel-relay-plugin-loader",
[
"react-transform",
{
"transforms": [
{
"transform": "react-transform-hmr",
"imports": [
"react"
],
"locals": [
"module"
]
},
{
"transform": "react-transform-catch-errors",
"imports": [
"react",
"redbox-react"
]
}
]
}
]
]
},
"production": {
"plugins": [
"babel-relay-plugin-loader"
]
}
}
}
And you are ready to go ;) Contributions ============= Please contribute and let me know once this workaround is not needed anymore.