1. #!/usr/bin/env node
    
  2. 
    
  3. 'use strict';
    
  4. 
    
  5. const prompt = require('prompt-promise');
    
  6. const theme = require('../theme');
    
  7. 
    
  8. const run = async () => {
    
  9.   while (true) {
    
  10.     const otp = await prompt('NPM 2-factor auth code: ');
    
  11.     prompt.done();
    
  12. 
    
  13.     if (otp) {
    
  14.       return otp;
    
  15.     } else {
    
  16.       console.log();
    
  17.       console.log(theme.error`Two-factor auth is required to publish.`);
    
  18.       // (Ask again.)
    
  19.     }
    
  20.   }
    
  21. };
    
  22. 
    
  23. module.exports = run;