File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11{
2- "extends": ["airbnb"]
2+ "extends": ["airbnb"],
3+ "rules": {
4+ "global-require": "off",
5+ "import/no-extraneous-dependencies": "off",
6+ "import/no-unresolved": "off",
7+ "no-param-reassign": "off"
8+ }
39}
Original file line number Diff line number Diff line change 1- const a = 1 ;
1+ const gqlLoader = require ( 'graphql-tag/loader' ) ;
2+
3+ let rnTransform = null ;
4+
5+ try {
6+ // handle RN >= 0.47
7+ rnTransform = require ( 'metro-bundler/src/transformer' ) . transform ;
8+ } catch ( e ) {
9+ try {
10+ // handle RN 0.46
11+ rnTransform = require ( 'metro-bundler/build/transformer' ) . transform ;
12+ } catch ( e2 ) {
13+ // handle RN <= 0.45
14+ const oldrnTransform = require ( 'react-native/packager/transformer' ) . transform ;
15+ rnTransform = {
16+ transform ( { src, filename, options } ) {
17+ return oldrnTransform . transform ( src , filename , options ) ;
18+ } ,
19+ } ;
20+ }
21+ }
22+
23+ const gqlTransform = gqlLoader . bind ( {
24+ cacheable : ( ) => null ,
25+ } ) ;
26+
27+ function transform ( src , filename , options ) {
28+ if ( typeof src === 'object' ) {
29+ // handle RN >= 0.46
30+ ( { src, filename, options } = src ) ;
31+ }
32+
33+ // Do custom transformations
34+ let result = src ;
35+ if ( filename . endsWith ( '.gql' ) || filename . endsWith ( '.graphql' ) ) {
36+ result = gqlTransform ( result ) ;
37+ }
38+
39+ const babelCompileResult = rnTransform ( {
40+ src : result ,
41+ filename,
42+ options,
43+ } ) ;
44+
45+ // Pass the transformed source to the original react native transformer
46+ return babelCompileResult ;
47+ }
48+
49+ module . exports . transform = transform ;
Original file line number Diff line number Diff line change 11{
2- "name" : " react-native-graphql-transformer" ,
3- "version" : " 1.0.0 " ,
2+ "name" : " @bam.tech/ react-native-graphql-transformer" ,
3+ "version" : " 0.1.1 " ,
44 "description" : " Transform GraphQL source files with ReactNative" ,
55 "main" : " index.js" ,
66 "repository" : " git@github.com:bamlab/react-native-graphql-transformer.git" ,
77 "author" : " Thomas Pucci" ,
88 "license" : " MIT" ,
99 "scripts" : {
10+ "contributors:add" : " all-contributors add" ,
11+ "contributors:generate" : " all-contributors generate" ,
1012 "lint" : " eslint '**/*.{js,jsx}' --quiet" ,
1113 "format" : " prettier --write '**/*.{js,jsx}'"
1214 },
1719 "graphql-tag" : " ^2.6.0"
1820 },
1921 "devDependencies" : {
22+ "all-contributors-cli" : " ^4.10.0" ,
2023 "eslint" : " ^4.13.0" ,
2124 "eslint-config-airbnb" : " ^16.1.0" ,
2225 "eslint-plugin-import" : " ^2.8.0" ,
You can’t perform that action at this time.
0 commit comments