fix: improve fetch-schema logging and platform support (#6191)

* fix: improve fetch-schema logging and platform support

* don't use async/await because linter doesn't like it
This commit is contained in:
Jordan Frankfurt 2023-03-22 11:14:07 -04:00 committed by GitHub
parent b2fbba13a2
commit cee19aebe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,22 +1,27 @@
/* eslint-env node */ /* eslint-env node */
require('dotenv').config({ path: '.env.production' }) require('dotenv').config({ path: '.env.production' })
const child_process = require('child_process')
const { exec } = require('child_process') const fs = require('fs/promises')
const { promisify } = require('util')
const dataConfig = require('../graphql.config') const dataConfig = require('../graphql.config')
const thegraphConfig = require('../graphql_thegraph.config') const thegraphConfig = require('../graphql_thegraph.config')
const exec = promisify(child_process.exec)
function fetchSchema(url, outputFile) { function fetchSchema(url, outputFile) {
exec( exec(`npx get-graphql-schema --h Origin=https://app.uniswap.org ${url}`)
`get-graphql-schema --h Origin=https://app.uniswap.org ${url} | tee ${outputFile}.temp`, .then(({ stderr, stdout }) => {
(error, stdout, stderr) => { if (stderr) {
if (error || stderr) { throw new Error(stderr)
console.log(`Failed to fetch schema from ${url}`) } else {
} else if (stdout) { fs.writeFile(outputFile, stdout)
exec(`mv ${outputFile}.temp ${outputFile}`)
} }
} })
) .catch((err) => {
console.error(err)
console.error(`Failed to fetch schema from ${url}`)
})
} }
fetchSchema(process.env.THE_GRAPH_SCHEMA_ENDPOINT, thegraphConfig.schema) fetchSchema(process.env.THE_GRAPH_SCHEMA_ENDPOINT, thegraphConfig.schema)