Skip to content

spawn(hookName, args, {stdio: 'inherit'}) will skip user input by inquirer.js #63

@shiftj2019

Description

@shiftj2019

same as SBoudrias/Inquirer.js#518,
spawn(hookName, args, {stdio: 'inherit'}) will finish, not wait for user input(by inquirer.js).

my code is:

// .githooks/pre-commit/hello.js
#!/usr/bin/env node 
console.log('start select ...');

'use strict';
var inquirer = require('inquirer');
var config = require('../../config/var-app');
var fs = require('fs');
var path = require('path');

inquirer
  .prompt([
    {
      type: 'list',
      name: 'appid',
      message: 'What mini application do you want?',
      choices: config.APPS
    }
  ])
  .then(answers => {
    var appId = answers.appid;
    var filePath = path.resolve(__dirname, '../../config/var-app.js');
    console.log('appid: ' + appId);

    fs.readFile(filePath, 'utf8', function(err, data) {
      if (err) return console.log(err);
      var res = data.replace(/\$appid\s*=\s*\'[^']*\'/g, "$appid = '" + appId + "'");
      fs.writeFile(filePath, res, 'utf8', function(err) {
        if (err) return console.log(err);
        console.log('select mini application finished!')
      });
    });
  });

entry code is:

git add -A && git commit -m "test"  // this will skip user input; but use 'node ./.githooks/pre-commit/hello.js', everything is ok.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions