@sthomas1618/relay-compiler-webpack-plugin

0.6.0 • Public • Published

Relay Compiler Webpack Plugin

Are you running Relay Modern? Are you annoyed with constantly running the relay-compiler to generate code, especially if you're already running Webpack?

Well be annoyed no more! Simply install this plugin to automatically hook into Webpack's build process to generate these files for you.

Installation

  1. Add this to your project:
  yarn add --dev @dhau/relay-compiler-webpack-plugin
  # Or if you're using npm
  npm install --save-dev @dhau/relay-compiler-webpack-plugin
  1. Add the plugin to your Webpack configuration:
const RelayCompilerWebpackPlugin = require('relay-compiler-webpack-plugin')
const path = require('path')

module.exports = {
  // ... Your existing Webpack configuration
  plugins: [
    // ...
    new RelayCompilerWebpackPlugin({
      schema: path.resolve(__dirname, './relative/path/to/schema.graphql'), // or schema.json
      src: path.resolve(__dirname, './relative/path/to/source/files'),
    })
  ]
  // ...
}
  1. 🎉

Gotchas

If there are multiple versions of GraphQL in your dependency tree it will cause schema validation errors. To get around this, ensure you have the same graphql version as your relay-compiler version depends on. To assist this you can install dependencies as flat which ensures only one version of each dependency.

TODOs

Currently, the relay-compiler is undergoing a lot of work. Various modules required by this library aren't modular enough to truly inject the generated files into Webpack's file hierarchy. We'll be working with the relay-compiler to make it more modular in this regard as well as updating this project accordingly.

However it is still better than manually running the relay-compiler whenever anything changes. Currently Webpack may build a few times once it picks up the files generated by this plugin.

License

Relay Compiler Webpack Plugin may be redistributed according to the BSD 3-Clause License.

Copyright 2017, ThusFresh, Inc.

Readme

Keywords

none

Package Sidebar

Install

npm i @sthomas1618/relay-compiler-webpack-plugin

Weekly Downloads

1

Version

0.6.0

License

BSD-3-Clause

Last publish

Collaborators

  • sthomas1618