graphql-s2s icon indicating copy to clipboard operation
graphql-s2s copied to clipboard

Feature request: add a flag to transpileSchema to skip schema checks

Open healqq opened this issue 6 years ago • 4 comments

Hello! I was trying to make type inheritance work in graphql and your library is perfect for this. There is just one small issue that doesn't let me use it out of the box: when I call transpileSchema - it runs some checks, for example this one: https://github.com/nicolasdao/graphql-s2s/blob/master/src/graphqls2s.js#L894. And it breaks in case of schema stiching. In my pipeline I use .graphql files and I made a very simple loader:

const { transpileSchema } = require('graphql-s2s').graphqls2s;

module.exports = (source) => {
  const schema = transpileSchema(source);
  console.log(schema);
  return schema;
}

this runs before graphql-tag loader and it works just fine if I comment out those interface checks. Would be nice if there was a flag that could ignore those checks if it's passed. I can probably contribute, but would be nice if you could point what other places should be affected by that flag.

healqq avatar Oct 17 '19 11:10 healqq

Thanks a lot for your feature request @healqq. We're glad to hear that you find our lib helpful.

We'll deal with your request asap.

Have a great weekend.

Cheers,

Nic

nicolasdao avatar Oct 19 '19 00:10 nicolasdao

Hi @healqq ,

Do you think you could give me some examples to recreate that issue? I need that example to build some unit tests and make sure all is ok.

Thanks.

Nic

nicolasdao avatar Oct 23 '19 00:10 nicolasdao

@nicolasdao something like that should work:

// index.js
import { transpileSchema } from 'graphql-s2s';
const type = `
type Entity implements Identifiable {
  id: Int!
}
`;
// Should not throw an exception that Identifiable is not defined
const schema = transpileSchema(type);

healqq avatar Oct 23 '19 15:10 healqq

Awesome @healqq. Thanks.

nicolasdao avatar Oct 23 '19 20:10 nicolasdao