diff --git a/README.md b/README.md index dbd22ed6eeab5a5c75e772e86980421917e4732f..d5dd8c10995132fa4f0c3f20fbfedb0305410f94 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ Install CIFTools `npm install ciftools -g` **GraphQL schemas** - node data/rcsb-graphql/codegen.js + ./node_modules/.bin/graphql-codegen -c ./data/rcsb-graphql/codegen.yml ### Other scripts **Create chem comp bond table** diff --git a/data/rcsb-graphql/codegen.js b/data/rcsb-graphql/codegen.js deleted file mode 100644 index d7e621da12d10c0eeafae57c19375c18933d6e32..0000000000000000000000000000000000000000 --- a/data/rcsb-graphql/codegen.js +++ /dev/null @@ -1,22 +0,0 @@ -const { generate } = require('graphql-code-generator') -const path = require('path') - -const basePath = path.join(__dirname, '..', '..', 'src', 'mol-model-props', 'rcsb', 'graphql') - -generate({ - schema: 'http://rest-staging.rcsb.org/graphql', - documents: { - [path.join(basePath, 'symmetry.gql.ts')]: { - loader: path.join(__dirname, 'loader.js') - }, - }, - generates: { - [path.join(basePath, 'types.ts')]: { - plugins: ['time', 'typescript-common', 'typescript-client'] - } - }, - overwrite: true, - config: path.join(__dirname, 'codegen.json') -}, true).then( - () => console.log('done') -).catch(e => console.error(e)) \ No newline at end of file diff --git a/data/rcsb-graphql/codegen.json b/data/rcsb-graphql/codegen.json deleted file mode 100644 index 999ad7af74c73c723b832e5b2a2410a2b0705c87..0000000000000000000000000000000000000000 --- a/data/rcsb-graphql/codegen.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "flattenTypes": true, - "generatorConfig": { - "immutableTypes": true - } -} \ No newline at end of file diff --git a/data/rcsb-graphql/codegen.yml b/data/rcsb-graphql/codegen.yml new file mode 100644 index 0000000000000000000000000000000000000000..0a8f0c4ced69092282e1f016ac925404e3b609eb --- /dev/null +++ b/data/rcsb-graphql/codegen.yml @@ -0,0 +1,11 @@ +schema: http://data-staging.rcsb.org/graphql +documents: './src/mol-model-props/rcsb/graphql/symmetry.gql.ts' +generates: + './src/mol-model-props/rcsb/graphql/types.d.ts': + plugins: + - add: '/* eslint-disable */' + - time + - typescript + - typescript-operations + config: + immutableTypes: true \ No newline at end of file diff --git a/data/rcsb-graphql/loader.js b/data/rcsb-graphql/loader.js deleted file mode 100644 index 73e76e1c421b88367f334b95621e53710fe5d153..0000000000000000000000000000000000000000 --- a/data/rcsb-graphql/loader.js +++ /dev/null @@ -1,14 +0,0 @@ -const { parse } = require('graphql'); -const { readFileSync } = require('fs'); - -module.exports = function(docString, config) { - const str = readFileSync(docString, { encoding: 'utf-8' }).trim() - .replace(/^export default `/, '') - .replace(/`$/, '') - return [ - { - filePath: docString, - content: parse(str) - } - ]; -}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a7f6d85fbfaf33b2ac20e3687baa7223fdc810a5..df1d45362823f9814a7971554c7655415b20e998 100644 Binary files a/package-lock.json and b/package-lock.json differ diff --git a/package.json b/package.json index 5b07bebe8bf6c7b2963297c4e0067835414d88c0..0a0a11dd3e5820edc189d9f72a3e6a4de70407cc 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,13 @@ ], "license": "MIT", "devDependencies": { + "@graphql-codegen/add": "^1.11.2", + "@graphql-codegen/cli": "^1.11.2", + "@graphql-codegen/time": "^1.11.2", + "@graphql-codegen/typescript": "^1.11.2", + "@graphql-codegen/typescript-graphql-files-modules": "^1.11.2", + "@graphql-codegen/typescript-graphql-request": "^1.11.2", + "@graphql-codegen/typescript-operations": "^1.11.2", "@typescript-eslint/eslint-plugin": "^2.17.0", "@typescript-eslint/eslint-plugin-tslint": "^2.17.0", "@typescript-eslint/parser": "^2.17.0", @@ -75,14 +82,12 @@ "extra-watch-webpack-plugin": "^1.0.3", "file-loader": "^5.0.2", "fs-extra": "^8.1.0", - "graphql-code-generator": "^0.18.2", - "graphql-codegen-time": "^0.18.2", - "graphql-codegen-typescript-template": "^0.18.2", "http-server": "^0.12.1", "jest": "^25.1.0", "jest-raw-loader": "^1.0.1", "mini-css-extract-plugin": "^0.9.0", "node-sass": "^4.13.1", + "pascal-case": "^3.1.1", "raw-loader": "^4.0.0", "resolve-url-loader": "^3.1.1", "sass-loader": "^8.0.2",