Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .dev-standards/lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"schemaVersion": 1,
"source": {
"repository": "ydj515/dev-standards",
"requestedRef": "latest-release",
"resolvedRef": "v1.3.0",
"commit": "549f49628fbd83e0d32ca4124025db74daa4e219"
"requestedRef": "v1.5.0",
"resolvedRef": "v1.5.0",
"commit": "52aa44ec3374d0d8d570fec9c26399f39406d5db"
},
"config": {
"path": ".dev-standards/config.yaml",
Expand Down Expand Up @@ -116,27 +116,27 @@
},
".dev-standards/standards/runtime/mise.md": {
"ownership": "managed",
"sha256": "fd66a8ed4ffa1f28ef5537e90cb6c0fdc033e9890bc71935a2a27417eec164f9"
"sha256": "8de0bab13e5c043362e1b2f3053d0a6a049802b94108421121fc956fa8742701"
},
".dev-standards/standards/tools/frameworks/react-ts/eslint-plugin-react-hooks.md": {
"ownership": "managed",
"sha256": "c407f0c0bf55fef2898fb32d3dbd871f28155666d016e1fef54da921683ec8a0"
"sha256": "84bfa9c56036015989988b8d343c728c7804bd942832d77c80ca0883f48180aa"
},
".dev-standards/standards/tools/frameworks/react-ts/vitest.md": {
"ownership": "managed",
"sha256": "7124dce1eb7a6a3e86de686494734211b5d71964896906652d6b9cbd226c12c5"
},
".dev-standards/standards/tools/languages/typescript/eslint.md": {
"ownership": "managed",
"sha256": "714fde02297fb66e7b1438f3176716e6146fe55ed9599b9ccec9156e22f92e98"
"sha256": "460e4428c6f67fb910c85a96308f64c1868b5376d879b75bbbba36b2a4c2df60"
},
".dev-standards/standards/tools/languages/typescript/pnpm.md": {
"ownership": "managed",
"sha256": "d8186c278dc9aa7f7dfa501ea5d16caeec175abed8ee64b930e055211f090d9d"
"sha256": "f9079e5f9c044c560b9535dc236674d90ad27550ec6832d2ab5736b96f1692ef"
},
".dev-standards/standards/tools/languages/typescript/prettier.md": {
"ownership": "managed",
"sha256": "e61c84843cdca1919198fdfe0b1ac9e020c1b515ac23ad45e44cb9048c806415"
"sha256": "e5845fc48eac0ff68d4b8ce3b3e82ff4f4ff6fef2c44dcbb0577ab23285eb825"
},
".dev-standards/standards/workflows/branch.md": {
"ownership": "managed",
Expand All @@ -156,7 +156,7 @@
},
".dev-standards/styleguide.md": {
"ownership": "managed",
"sha256": "86b7675e7431f94003dde360d62f483c36c6489b65b5dd1d7e09e3a47a21df47"
"sha256": "1095ca85be6f8fdd4ef1db7c2520ffc66d3f47bb6246e8ee506f27a9cea86941"
},
".worktreeinclude": {
"ownership": "project-owned"
Expand Down
322 changes: 316 additions & 6 deletions .dev-standards/standards/runtime/mise.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,21 @@
- Next.js의 `eslint-config-next`를 사용하면 React와 React Hooks 규칙이 이미 포함되므로
같은 preset을 중복 등록하지 않습니다.

기존 `eslint.config.mjs`에 다음 preset을 병합합니다.
기존 `eslint.config.mjs`에 다음 preset과 오류 수준을 병합합니다. `recommended`의
`exhaustive-deps`는 warning이므로 본문의 오류 정책에 맞게 명시적으로 재정의합니다.

```js
import { defineConfig } from "eslint/config";
import reactHooks from "eslint-plugin-react-hooks";

export default defineConfig([
reactHooks.configs.flat.recommended,
{
rules: {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
},
},
]);
```

Expand Down
2 changes: 2 additions & 0 deletions .dev-standards/standards/tools/languages/typescript/eslint.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
- 일반 correctness는 recommended rules, TypeScript 의미 분석은
`recommendedTypeChecked`와 `parserOptions.projectService: true`에서 시작합니다.
type-aware lint 비용이 큰 저장소는 측정 결과와 제외 범위를 기록합니다.
- type-aware lint 대상 파일이 해당 `tsconfig`에 포함되는지 확인합니다. 프로젝트 밖의
설정 파일은 대상 glob을 좁히거나 별도 config에서 type-aware 규칙을 해제합니다.
- 시작점은 `templates/eslint/typescript/eslint.config.mjs.example`이며 소비할 때
`.example` suffix를 제거하고 실제 source 및 generated 경로에 맞게 glob을 조정합니다.

Expand Down
3 changes: 1 addition & 2 deletions .dev-standards/standards/tools/languages/typescript/pnpm.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
CI secret이나 승인된 secret manager에서 환경변수로 주입합니다.
- dependency 추가와 upgrade는 `pnpm add` 또는 `pnpm update`로 명시적으로 수행하고
`package.json`과 `pnpm-lock.yaml`을 함께 검토합니다.
- lifecycle script 실행 정책과 registry 인증은 프로젝트 보안 정책에 맞게 별도로
관리하며 token을 `.npmrc`에 기록하지 않습니다.
- lifecycle script 실행 정책은 프로젝트 보안 정책에 맞게 별도로 관리합니다.

```json
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
- Prettier는 `package.json`의 exact devDependency와 lockfile로 버전을 고정합니다.
- 저장소 루트의 `prettier.config.mjs`를 설정 원본으로 사용하고 전역 설정에 의존하지
않습니다.
- `.editorconfig`의 지원 속성도 읽지만 Prettier 설정에 명시한 값이 우선합니다.
들여쓰기와 줄바꿈을 변경하면 두 파일의 같은 값도 맞춥니다.
- lint는 ESLint, format은 Prettier로 역할을 분리하며 style rule을 두 도구에 중복
선언하지 않습니다.
- `templates/prettier/prettier.config.mjs.example`과 `.prettierignore.example`을 복사한 뒤
Expand Down
Loading