@naverpay/code-style-cli
v0.1.0
Published
NaverPay code-style CLI tool
Readme
@naverpay/code-style-cli
네이버페이 코드 스타일 패키지를 쉽게 설치하고 설정할 수 있는 CLI 도구입니다.
pnpm v10+에서는 보안상의 이유로 postinstall 스크립트가 기본적으로 실행되지 않습니다. 이 CLI를 사용하면 패키지 설치와 설정 파일 생성을 한 번에 처리할 수 있습니다.
사용 방법
프로젝트 루트에서 실행합니다.
npx @naverpay/code-style-cli- 패키지 매니저를 자동으로 감지합니다. (npm, yarn, pnpm)
- 설치할 패키지를 선택합니다.
- 선택한 패키지가 설치되고 설정 파일이 자동으로 생성됩니다.
지원 패키지
| 패키지 | 설정 파일 |
|--------|-----------|
| @naverpay/eslint-config | - |
| @naverpay/eslint-plugin | - |
| @naverpay/prettier-config | .prettierrc |
| @naverpay/stylelint-config | stylelint.config.mjs |
| @naverpay/markdown-lint | .markdownlint.jsonc |
| @naverpay/editorconfig | .editorconfig |
| @naverpay/oxlint-config | .oxlintrc.json |
| @naverpay/biome-config | biome.json |
| oxfmt | .oxfmtrc.json |
eslint-config, eslint-plugin은 설정이 복잡하여 설정 파일을 자동 생성하지 않습니다.
설치 후 설정
CLI는 기본 설정 파일만 생성합니다. 추가 설정이 필요한 경우:
- 설정 변경: 생성된 설정 파일을 직접 수정하세요.
- CLI 명령어: 각 패키지 README의 "CLI" 섹션을 참고하세요.
- IDE 설정: 각 패키지 README의 "Integrating with IDE" 섹션을 참고하세요.
주의 사항
- 프로젝트 루트에
package.json이 있어야 합니다. - 이미 설정 파일이 존재하는 경우 덮어쓰지 않습니다.
oxfmt 가이드
oxfmt는 Prettier 호환 포매터로, Rust로 작성되어 빠른 속도를 제공합니다.
Note: oxfmt는 현재 alpha 단계입니다. VSCode Extension 지원도 experimental 상태입니다.
oxfmt는 현재 extends 옵션을 지원하지 않아 별도 config 패키지가 없습니다. CLI에서 네이버페이 권장 설정이 포함된 .oxfmtrc.json을 생성합니다.
설정
필요에 따라 ignorePatterns를 추가합니다.
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"singleQuote": true,
"semi": false,
"useTabs": false,
"tabWidth": 4,
"endOfLine": "lf",
"bracketSpacing": false,
"arrowParens": "always",
"bracketSameLine": false,
"printWidth": 120,
"trailingComma": "all",
"ignorePatterns": ["dist", "pnpm-lock.yaml", ".github"]
}CLI
package.json에 스크립트를 추가하여 format 검사를 할 수 있습니다.
{
"scripts": {
"format": "oxfmt",
"format:check": "oxfmt --check"
}
}Integrating with IDE
VSCode
Warning: oxfmt의 VSCode 지원은 현재 experimental 단계입니다.
- oxc Extension을 설치합니다.
settings.json에 아래 설정을 추가합니다.
{
"oxc.enable": true,
"oxc.fmt.experimental": true,
"editor.defaultFormatter": "oxc.oxc-vscode",
"editor.formatOnSave": true,
"[typescript]": {
"editor.defaultFormatter": "oxc.oxc-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "oxc.oxc-vscode"
}
}WebStorm
oxc-intellij-plugin (v0.0.21 이상)을 설치하여 사용할 수 있습니다.
