Skip to content

Commit 4b088d4

Browse files
authored
Merge branch 'main' into 14-feat/TextField-컴포넌트-제작
2 parents f8bcd4a + 7409832 commit 4b088d4

22 files changed

Lines changed: 1596 additions & 51 deletions

.github/workflows/codeql.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CodeQL
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
10+
cancel-in-progress: true
11+
12+
permissions:
13+
contents: read
14+
security-events: write
15+
16+
jobs:
17+
analyze:
18+
name: Analyze
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 10
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Initialize CodeQL
27+
uses: github/codeql-action/init@v3
28+
with:
29+
languages: javascript-typescript
30+
trap-caching: false
31+
32+
- name: Perform CodeQL Analysis
33+
uses: github/codeql-action/analyze@v3

.github/workflows/pr-automation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
3636
// Reviewer 추가
3737
if (currentReviewers.length === 0) {
38-
const reviewers = ['YeBeenChoi', 'jwj0620gcu'].filter(r => r !== prAuthor);
38+
const reviewers = ['YeBeenChoi', 'jwj0620gcu', 'KyeongJooni'].filter(r => r !== prAuthor);
3939
if (reviewers.length > 0) {
4040
try {
4141
await github.rest.pulls.requestReviewers({

.github/workflows/pr-check.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
name: Build Test
1+
name: PR Build Test
22

33
on:
44
pull_request:
55
branches:
66
- main
77

8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
10+
cancel-in-progress: true
11+
812
permissions:
913
contents: read
1014
pull-requests: write
@@ -54,14 +58,12 @@ jobs:
5458
run: |
5559
yarn lint --max-warnings 0 --format json > lint-results.json || {
5660
echo "LINT_FAILED=true" >> $GITHUB_OUTPUT
57-
echo "Lint issues found, but continuing build..."
61+
exit 1
5862
}
59-
continue-on-error: true
6063
6164
- name: Format check
6265
id: format
6366
run: yarn format:check
64-
continue-on-error: true
6567

6668
- name: Run tests
6769
id: test
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: PR Description Check
2+
3+
on:
4+
pull_request:
5+
types: [opened, ready_for_review]
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
9+
cancel-in-progress: true
10+
11+
permissions:
12+
pull-requests: write
13+
14+
jobs:
15+
check-description:
16+
name: Check PR description
17+
runs-on: ubuntu-latest
18+
if: github.event.pull_request.draft == false
19+
20+
steps:
21+
- name: Check if PR has description
22+
id: check
23+
run: |
24+
# 템플릿 텍스트 제거:
25+
# - 제목 (## 로 시작)
26+
# - HTML 주석 (<!-- -->)
27+
# - 체크리스트 (- [ ])
28+
# - 구분선 (---)
29+
# - 빈 줄
30+
# - "- Close #" 만 있는 줄
31+
FILTERED=$(echo "$RAW_BODY" | sed -r \
32+
-e '/^##/d' \
33+
-e '/<!--.*-->/d' \
34+
-e '/^<!--/d' \
35+
-e '/^-->/d' \
36+
-e '/^---$/d' \
37+
-e '/^- \[/d' \
38+
-e '/^- Close #$/d' \
39+
-e '/^$/d')
40+
41+
if [[ -z "${FILTERED//[[:space:]]/}" ]]; then
42+
echo "empty=true" >> $GITHUB_OUTPUT
43+
else
44+
echo "empty=false" >> $GITHUB_OUTPUT
45+
fi
46+
env:
47+
RAW_BODY: ${{ github.event.pull_request.body }}
48+
49+
- uses: actions/checkout@v4
50+
if: steps.check.outputs.empty == 'true'
51+
with:
52+
sparse-checkout: 'README.md'
53+
54+
- name: Comment on PR
55+
if: steps.check.outputs.empty == 'true'
56+
env:
57+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
run: |
59+
gh pr comment ${{ github.event.pull_request.number }} --body \
60+
"👋 @${{ github.actor }} PR 설명이 비어있습니다. 변경 사항에 대한 설명을 추가해주세요."

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ pnpm-debug.log*
88
lerna-debug.log*
99

1010
node_modules
11-
dist
11+
build
1212
dist-ssr
1313
*.local
1414
.react-router
@@ -38,3 +38,7 @@ storybook-static
3838
# Yarn
3939
.yarn/cache
4040
.yarn/install-state.gz
41+
!.yarn/releases
42+
43+
# Vercel
44+
.vercel

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ node_modules
66
pnpm-lock.yaml
77
yarn.lock
88
package-lock.json
9+
lint-results.json

.yarn/releases/yarn-4.10.3.cjs

Lines changed: 942 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
nodeLinker: node-modules
2+
3+
yarnPath: .yarn/releases/yarn-4.10.3.cjs

package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
"type": "module",
66
"packageManager": "yarn@4.10.3",
77
"scripts": {
8-
"dev": "vite",
9-
"build": "tsc -b && vite build",
8+
"dev": "react-router dev",
9+
"build": "react-router build",
1010
"lint": "eslint .",
11-
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
12-
"format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
11+
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
12+
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
1313
"preview": "vite preview",
1414
"test": "vitest",
1515
"test:ui": "vitest --ui",
@@ -23,10 +23,12 @@
2323
"@hookform/resolvers": "^5.2.2",
2424
"@tanstack/react-query": "^5.90.12",
2525
"@tanstack/react-query-devtools": "^5.91.1",
26+
"@vercel/react-router": "^1.2.4",
2627
"axios": "^1.13.2",
2728
"clsx": "^2.1.1",
2829
"dayjs": "^1.11.19",
2930
"es-toolkit": "^1.43.0",
31+
"isbot": "^5.1.32",
3032
"pretendard": "^1.3.9",
3133
"react": "^19.2.3",
3234
"react-dom": "^19.2.3",

react-router.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import { vercelPreset } from '@vercel/react-router/vite';
12
import type { Config } from '@react-router/dev/config';
23

34
export default {
45
appDirectory: 'src/app',
5-
buildDirectory: 'dist',
66
ssr: false,
7+
presets: [vercelPreset()],
78
} satisfies Config;

0 commit comments

Comments
 (0)