Как передать переменную через stdin команде cli программно? - PullRequest
0 голосов
/ 25 августа 2018

Я использую пакет graphql-schema-linter для проверки схемы GraphQL.

Интересно, можно ли выполнить проверку программно, передавая определения типа в стандартный ввод, как это или нет ...

const { exec } = require('child_process');

const typeDefs = require('./type-defs');
exec(`graphql-schema-linter --stdin "${typeDefs}"`, (err, stdout, stderr) => {
    if (err) console.log('ERROR: ', err);
    if (stdout) console.log('STDOUT: ', stdout);
    if (stderr) console.log('STDERR: ', stderr);    
});

const server = new ApolloServer({
    typeDefs
});

Следующий код выдает ошибку, потому что я не совсем уверенкак правильно передать определение типа через стандартный ввод

1 Ответ

0 голосов
/ 25 августа 2018

Хорошо, после некоторого копания я нашел решение. Оказалось, что я должен был использовать spawnSync, который бы принимал ввод в качестве ввода

const command = spawnSync('graphql-schema-linter', ['-s'], { input: typeDefs, encoding: 'utf-8' });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...