relay-compiler-language-scalajs v0.41.0
relay-compiler-language-scalajs
The purpose of this project is to generate Scala.js bindings for the
relay-compiler. Typically, the relay-compiler generates flow bindings
along with the compiled queries. This project replaces that generation and
outputs js.native traits instead. It should work on most "normal" gql features. If I personally
run across something not supported I try to add it, but it is by no means totally complete.
This project uses flow because it's what Relay uses, and it's better than raw javascript.
It uses artifactDirectory to generate all the source files in the same package.
So it's a big flat package repository in the same directory.
This is controlled by (resourceManaged in Compile).value / "relay-compiler-out /" in sbt terms.
Versions
0.32.x- Relay11.0.20.25.x- Relay10.1.20.22.2- Relay6.0.00.20.1- Relay2,0,00.11.0- Relay1.6.20.9.0- Relay1.5.00.8.2- Relay1.4.0
Example
$ ./node_modules/bin/relay-compiler --language scalajs --src example/src/ --schema example/schema.graphql --artifactDirectory example/outFeatures
- Handle names elegantly by scoping them to the companion object.
- Provides two ways to customize the output
@scalajs(extends: String)This can give you a parent class to mixin. It's your job to verify it.@scalajs(useNulls: Boolean)this can give you finer control on usingA | Nullon a Fragment, field or inline fragment.
Example
Looking at the sbt tests is the best way to get a handle on how things work.
Dev
Build with:
yarn buildTesting
Go to node-example and run:
yarn iterateDebugging
First build and then use the relay-compiler Run Configuration in IntelliJ.
Alternatively, modify iterate.sh to:
node --inspect brkThen run this and attach a debugger.
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago