Type-graphql - это конструктор схемы на декораторах повешанных на js классы. Готовая методология по созданию схем с уже заданными ограничениями.
Graphql-compose - это регистр типов, который позволяет создавать и изменять типы программным путем. Это фактически набор методов с помощью которых вы сами генерируете свои типы и схему. Пишите свои генераторы. Поверх пишите свою методологию и ограничения.
Грубо говоря, тот же type-graphql можно написать на graphql-compose.
Он просто удобно позволяет работать с типами. Например:
const UserTC = schemaComposer.createObjectTC(
type User { name: String password: String }
);
UserTC.removeField('password');
UserTC.makeFieldNonNull('name');
UserTC.addFields({
age: {
type: 'Int!',
resolve: () => 21,
}
});
console.log(UserTC.toSDL());
Получим
type User {
name: String!
age: Int!
}
Т.е. graphql-compose инструмент для работы с типами. И на его него базе можно строить свои генераторы схем. К примеру его юзает Gatsby, чтоб свои схемы собирать.