graphql-aot
Install
yarn add graphql-aot
Usage
If you only want to work with the import
statement, you will only need the webpack loader:
📝 webpack.config.js:
moduleexports = entry: './index.js' module: rules: test: /\.gql$/ loader: 'graphql-aot/loader' options: defaultClientOptions: uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn'
📝 query.gql:
{ allPosts (first: 5) { id title }}
📝 index.js:
console
If you want to use inline graphql tag, you will also need the babel plugin:
📝 .babelrc.js:
moduleexports = plugins: require
📝 index.js:
const allPosts = graphql`{ allPosts (first: 5) { id title }}` console
API
loaderOptions
defaultClientOptions
Options for the default Apollo client.
client
Provide your own Apollo client instance.
getVariables
- Type:
function
A function to get the variables you want to use with the client.query()
call.
The signature is: loaderContext => any
babelOptions
tagName
- Type:
string
- Default:
graphql
importFrom
- Type:
string
- Default:
undefined
Ensure the tagged template literal identifier is imported from a module.
const data = gql`query { id }`
The above code will only work when you have following config for the babel plugin:
importFrom: 'a-module' tagName: 'gql'
removeImportStatement
- Type:
boolean
- Default:
true
when you setimportFrom
to a module name
Remove relevant import statement if necessary.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
graphql-aot © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list).
github.com/egoist · GitHub @egoist · Twitter @_egoistlily