빠른 참조

Nopt 옵션 파서 치트시트

npm 내부에서 사용하는 Node.js 옵션 파서 Nopt 빠른 참조 가이드: 타입 정의, 단축 별칭, 잔여 argv 처리 및 유효성 검사를 정리합니다.

· 게시일

nopt는 npm 및 여러 명령줄 도구 내부에서 사용되는 옵션 파서입니다.

기본 사용법

const nopt = require('nopt');

// 1. Define expected option types
const knownOpts = {
  foo: [String, null],
  size: ['big', 'medium', 'small'],
  many: [String, Array],
  debug: Boolean,
  version: Boolean,
  help: Boolean
};

// 2. Define short aliases
const shortHands = {
  h: '--help',
  v: '--version',
  d: '--debug'
};

// 3. Parse arguments
const parsed = nopt(knownOpts, shortHands, process.argv, 2);

출력 구조

다음과 같은 CLI 명령이 주어졌을 때:

node app.js --size big -d input1.txt input2.txt

파싱된 결과 객체:

{
  size: 'big',
  debug: true,
  argv: {
    remain: ['input1.txt', 'input2.txt'], // Non-option positional arguments
    cooked: ['--size', 'big', '--debug', 'input1.txt', 'input2.txt'],
    original: ['--size', 'big', '-d', 'input1.txt', 'input2.txt']
  }
}

지원되는 타입

  • String
  • Boolean
  • Number
  • Array
  • Date
  • path (경로 문자열 정규화)
  • url (URL 문자열 유효성 검사)
  • 열거형 (Enums): ['small', 'medium', 'large']

참고 자료

관련 주제