Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[안소연] week12 #350

Merged
merged 17 commits into from
Jan 13, 2024
Merged
Show file tree
Hide file tree
Changes from 5 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
42 changes: 41 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,43 @@
{
"extends": "next/core-web-vitals"
"root": true, // ESLint가 프로젝트의 상위 디렉토리에서 설정 파일을 찾지 않도록 하는 옵션
"env": {
//프로젝트에서 사용되는 환경을 정의합니다. 여기서는 브라우저, ECMAScript 2020, 그리고 Node.js 환경에서 코드를 실행하는 것으로 설정
"browser": true,
"es2020": true,
"node": true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아하 node에서도 실행가능한가보군요? 사실 Nextjs에서는 컴포넌트 별로, 또는 특정 위치의 함수의 경우에 server/ client 한 곳에서만 동작하게 의도되기도해서, 이렇게 eslint설정으로 드러낼 필요는 없어 보여요. 혹시 특정 코드에서, 특정 런타임 환경이 제공하는 host 객체를 사용해서 이 처리가 필요했던 걸까요?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이전 프로젝트 때 사용했던 세팅 코드를 가져온 건데 미처 뜻을 알지 못하고 사용한 부분들이 있습니다.. 😅 이참에 공부해봐야겠네욥

},
"extends": [
//다양한 ESLint 규칙 세트를 확장하는데 사용
"next/core-web-vitals",
"eslint:recommended", //ESLint에서 기본으로 권장하는 규칙들을 포함,
"plugin:@typescript-eslint/eslint-recommended"
],
"parserOptions": {
//코드를 파싱하는 데 사용되는 옵션을 설정
"ecmaVersion": "latest",
"sourceType": "module"
},
"settings": {
"react": {
"version": "18.2"
}
},
// ESLint에서 무시할 파일 또는 디렉토리 패턴을 지정합니다.
// 여기서는 .next 디렉토리를 무시하도록 설정
"ignorePatterns": [".next"],

"plugins": ["react-refresh", "simple-import-sort", "@typescript-eslint"],
"rules": {
//코드 검사 규칙을 지정
"no-unused-vars": "off",
"react-refresh/only-export-components": [
"warn", //아래 규칙에 위배되었을 때 경고를 출력
{
"allowConstantExport": true
}
],
"simple-import-sort/imports": "error", //import 구문을 알파벳순으로 정렬하도록 하는 규칙
"simple-import-sort/exports": "error", //export 구문을 알파벳순으로 정렬하도록 하는 규칙,
"@typescript-eslint/no-unused-vars": "error"
}
}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage
Expand Down Expand Up @@ -33,3 +34,4 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
node_modules
13 changes: 13 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
// 파일을 저장할 때마다 `eslint` 규칙에 따라 자동으로 코드를 수정
sozign marked this conversation as resolved.
Show resolved Hide resolved
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
// `prettier`를 기본 포맷터로 지정
"editor.defaultFormatter": "esbenp.prettier-vscode",
// 파일을 저장할 때마다 포매팅 실행
"editor.formatOnSave": true,

//상대 경로 비선호
"javascript.preferences.importModuleSpecifier": "non-relative"
}
Loading