Skip to content

Commit

Permalink
Merge pull request #34 from dnd-side-project/release/0.0.1
Browse files Browse the repository at this point in the history
Release/0.0.1
  • Loading branch information
guesung authored Aug 25, 2023
2 parents e87b9e2 + 3872dc4 commit 6260543
Show file tree
Hide file tree
Showing 192 changed files with 12,161 additions and 4,996 deletions.
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
dist
.yarn
yarn.lock
*.sh
196 changes: 196 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
module.exports = {
root: true,
env: {
es6: true,
node: true,
},
parser: '@typescript-eslint/parser',
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'eslint-config-prettier',
'next/core-web-vitals',
],
plugins: ['@typescript-eslint', 'import', 'prettier', 'react', 'react-hooks', 'jsx-a11y'],
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},

rules: {
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],

'react-hooks/exhaustive-deps': 'error',

// TypeScript에서 이미 잡고 있는 문제이기 때문에 + location, document 등의 global variable도 잡아서
'no-undef': 'off',

// 아래 3개의 경우, Prettier가 이미 잘 해 주고 있는 부분이기 때문에
indent: 'off',
'@typescript-eslint/indent': 'off',
semi: 'off',

// 이미 널리 쓰이고 있어 에러 수가 감당이 되지 않아 잠시 꺼둡니다.
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-explicit-any': 'off',

// Strict-boolean-expression을 사용할지 아직 결론이 나지 않아서
'no-extra-boolean-cast': 'off',

// union type을 받는 함수에서 모든 경우의 수에 대해 return 해도 eslint가 추론하지 못하고 있어서 warn만 하고 있음
'getter-return': 'warn',

// 대부분의 경우 필요가 없어서
'@typescript-eslint/explicit-function-return-type': 'off',

// Hoisting을 전략적으로 사용한 경우가 많아서
'@typescript-eslint/no-use-before-define': 'off',

// 모델 정의 부분에서 class와 interface를 합치기 위해 사용하는 용법도 잡고 있어서
'@typescript-eslint/no-empty-interface': 'off',

// 모델 정의 부분에서 파라미터 프로퍼티를 잘 쓰고 있어서
'@typescript-eslint/no-parameter-properties': 'off',

// TypeScript에서 이미 잘 해주고 있어서
'react/prop-types': 'off',

// React.memo, React.forwardRef에서 사용하는 경우도 막고 있어서
'react/display-name': 'off',

// 탭내빙 어택 방지
'react/jsx-no-target-blank': 'error',

// 불필요한 Fragment 방지
'react/jsx-no-useless-fragment': 'warn',

'no-async-promise-executor': 'warn',

'@typescript-eslint/prefer-as-const': 'warn',
'@typescript-eslint/no-non-null-asserted-optional-chain': 'warn',
'@typescript-eslint/ban-types': 'warn',
'@typescript-eslint/no-inferrable-types': 'warn',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/naming-convention': [
'error',
{
format: ['camelCase', 'UPPER_CASE', 'PascalCase'],
selector: 'variable',
leadingUnderscore: 'allow',
},
{
format: ['camelCase', 'PascalCase'],
selector: 'function',
filter: { regex: '[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]', match: false },
},
{
format: ['PascalCase'],
selector: 'interface',
filter: { regex: '[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]', match: false },
},
{
format: ['PascalCase'],
selector: 'typeAlias',
filter: { regex: '[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]', match: false },
},
],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/array-type': ['error', { default: 'array-simple' }],
'@typescript-eslint/no-unused-vars': ['warn', { ignoreRestSiblings: true }],
'@typescript-eslint/member-ordering': [
'error',
{
default: [
'public-static-field',
'private-static-field',
'public-instance-field',
'private-instance-field',
'public-constructor',
'private-constructor',
'public-instance-method',
'private-instance-method',
],
},
],
'no-warning-comments': [
'warn',
{
terms: ['TODO', 'FIXME', 'XXX', 'BUG'],
location: 'anywhere',
},
],
'object-shorthand': ['error', 'always'],
'prefer-const': 'error',
'no-var': 'error',
eqeqeq: ['error', 'always', { null: 'ignore' }],
'import/no-duplicates': 'off',

'sort-imports': [
'error',
{
ignoreDeclarationSort: true,
ignoreMemberSort: false,
},
],
'import/newline-after-import': ['error'],

'react-hooks/rules-of-hooks': 'error',

'react/jsx-uses-react': 'off',
'react/react-in-jsx-scope': 'off',

'react/jsx-key': 'warn',

// 접근성, 충분히 잡히면 error로 올릴 예정
'jsx-a11y/alt-text': [
'warn',
{
img: ['Image', 'Dialog.Image'],
},
],
'jsx-a11y/aria-props': 'error', // 제대로된 aria-* 이름인지 확인
'jsx-a11y/aria-proptypes': 'error', // 제대로된 aria-*의 value 인지 검사
'jsx-a11y/aria-role': 'warn', // 표준 role 값인지 확인하는 룰
'jsx-a11y/role-supports-aria-props': 'warn', // 서로 같이 쓰면 안되는 aria-* 가 있는지 확인하는룰
'jsx-a11y/aria-unsupported-elements': 'warn', // 해당 element에서 미지원하는 aria가 들어있는지 확인하는 룰
'jsx-a11y/img-redundant-alt': [
'warn',
{
components: ['Image', 'Dialog.Image'],
words: ['사진', '이미지'],
},
],
'import/order': [
'warn',
{
groups: [
['builtin', 'external'],
['internal', 'parent', 'sibling', 'index'],
['object'],
['type'],
],
'newlines-between': 'always',
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
},
overrides: [
{
files: ['**/*.js', 'scripts/**/*.ts'],
rules: {
'@typescript-eslint/no-var-requires': 'warn',
},
},
],
};
3 changes: 0 additions & 3 deletions .eslintrc.json

This file was deleted.

1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @guesung @seondal
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/trouble-shooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Trouble Shooting
about: 발견한 문제와 문제의 원인, 해결 방안을 제시해주세요.
title: '[Trouble Shooting]'
labels: fix
assignees: ''
---

## 원인

<!-- 문제의 원인을 정확하게 파악하고 기록하는 것이 중요함 -->

## 접근 방법

<!-- 해당 방법으로 시도한 이유와 어디서 찾았는지 출처정도를 레퍼런스 달면 좋음 -->

## 해결 과정

<!-- - 그래서 이걸 어떻게 구현할지?
- 어떻게 해결할지 어떤 방법으로 접근했고 어떻게 시도했는지?
- 구현하거나 버그를 해결하는 과정을 구체적으로 순서대로 기술
- 사진이나 구조도 플로우 차트 등 다양하게 활용해도 좋음 -->
<!-- LucidChart -->
<!-- 다이어그램이나 코드 조각 등 다양하게 활용해서 쓰면 된다. -->

## 결론

<!-- 이 부분은 자유롭게 현 이슈를 마무리하면 된다. -->
9 changes: 5 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
## 💡 왜 PR을 올렸나요?

<!-- 예: 이슈대응, 신규피쳐, 리팩토링 ... -->

- 신규 피처

## 💁 무엇이 어떻게 바뀌나요?

1.
2.
3.
1.
2.
3.

## 📆 작업 예정인 것이 있나요 ?

-
-

## 💬 리뷰어분들께

Expand Down
2 changes: 2 additions & 0 deletions .github/auto_assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
addReviewers: false
addAssignees: author
41 changes: 41 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# enable labeler on issues, prs, or both.
enable:
issues: true
prs: true

comments:
prs: |
Labeler가 제목과 설명에 있는 특별한 텍스트와 일치하는 레이블을 적용했습니다.
Label을 검토하고 필요한 변경 사항을 적용해 주세요.
labels:
'Component':
include:
- '\bComponent\b'
'Fix':
include:
- '\bFix\b'
'Bug':
include:
- '\bBug\b'
'Page':
include:
- '\bPage\b'
'Docs':
include:
- '\bDocs\b'
'Setting':
include:
- '\bSetting\b'
'Refactoring':
include:
- '\bRefactoring\b'
'Help wanted':
include:
- '\binclude\b'
'Test':
include:
- '\bTest\b'
'Featuring':
include:
- '\bFeaturing\b'
19 changes: 19 additions & 0 deletions .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Auto Label
on:
pull_request:
types: [opened, reopened, edited]
issues:
types: [opened, reopened, edited]

jobs:
labeler:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Check Labels
id: labeler
uses: jimschubert/labeler-action@v1
with:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
27 changes: 27 additions & 0 deletions .github/workflows/cd-develop-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: CD-develop branch

on:
push:
branches:
- 'develop'

jobs:
build:
runs-on: ubuntu-latest
container: pandoc/latex
steps:
- uses: actions/checkout@v2
- name: Pushes to another repository
id: push_directory
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.PERSONAL_TOKEN }}
with:
source-directory: '.'
destination-github-username: guesung
destination-repository-name: posepicker-for-publish
user-email: gueit214@naver.com
commit-message: ${{ github.event.commits[0].message }}
target-branch: develop
- name: Test get variable exported by push-to-another-repository
run: echo $DESTINATION_CLONED_DIRECTORY
27 changes: 27 additions & 0 deletions .github/workflows/cd-feature-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: CD-feature branch

on:
push:
branches:
- 'OZ-**'

jobs:
build:
runs-on: ubuntu-latest
container: pandoc/latex
steps:
- uses: actions/checkout@v2
- name: Pushes to another repository
id: push_directory
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.PERSONAL_TOKEN }}
with:
source-directory: '.'
destination-github-username: guesung
destination-repository-name: posepicker-for-publish
user-email: gueit214@naver.com
commit-message: ${{ github.event.commits[0].message }}
target-branch: feature
- name: Test get variable exported by push-to-another-repository
run: echo $DESTINATION_CLONED_DIRECTORY
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
node_modules
/node_modules
/.pnp
.pnp.js
/.next/
/build
.DS_Store
.env

# Next-PWA
public/sw.js
public/workbox-*.js
public/sw.js.map
Loading

0 comments on commit 6260543

Please sign in to comment.