Skip to content
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
93a0e93
chore: 머지 후 브랜치 삭제 github action 추가
withyj-codeit Sep 3, 2023
b2e37bd
reset
hanseulhee Oct 10, 2023
6f8bbb0
Merge branch 'codeit-bootcamp-frontend:main' into main
hanseulhee Oct 10, 2023
e11e25f
fix: 머지 후 브랜치 삭제 github action 수정
hanseulhee Oct 10, 2023
212e864
env: workflows 폴더로 이동
hanseulhee Oct 10, 2023
4dc5dd0
Merge pull request #237 from hanseulhee/fix-github-actions
withyj-codeit Nov 6, 2023
3058caa
Merge branch 'Next-배수민' of https://github.com/codeit-bootcamp-fronten…
Aug 6, 2025
c6f423e
feat: 초기 세팅
Aug 6, 2025
51dbf5e
chore: package.json 수정
Aug 6, 2025
2f20d61
feat: 투두 리스트 기능 추가
Aug 9, 2025
e7470dd
chore: 파일 구조 변경
Aug 9, 2025
d93c945
refactor: 투두 리스트 컴포넌트 및 훅 분리
Aug 9, 2025
f4fec3b
chore: git actions 파일 추가
Aug 10, 2025
adfe989
chore: 테스트 커밋
Aug 10, 2025
df901de
chore: workflows 폴더로 파일 이동
Aug 10, 2025
6c62f39
fix: 빌드 오류 수정
Aug 10, 2025
5a4923f
fix: 빌드 오류 수정
Aug 10, 2025
dfd9e18
fix: 빌드 오류 최종 수정
summerDev96 Aug 10, 2025
5a03a8c
feat: 로딩 컴포넌트 추가
summerDev96 Aug 10, 2025
cb9a5fd
refactor: todo 추가 시 api 재호출 삭제
summerDev96 Aug 10, 2025
9a2329e
feat: GA 코드 추가
summerDev96 Aug 10, 2025
d505dcb
fix: input onChange시 에러 체크하도록 수정
summerDev96 Aug 10, 2025
9d24411
fix: 체크리스트 말줄임 적용
summerDev96 Aug 10, 2025
19f046f
chore: GA 코드 GTM으로 변경
summerDev96 Aug 10, 2025
8980320
fix: 체크리스트 레이아웃 깨지는 현상 수정
summerDev96 Aug 13, 2025
7867577
feat: HydrationWrapper 컴포넌트 추가 및 낙관적 업데이트 수정
summerDev96 Aug 13, 2025
0b3d055
fix: 낙관적 업데이트 시 오류 수정
summerDev96 Aug 13, 2025
3c03024
feat: 서버사이드 렌더링 시 route 추가
summerDev96 Aug 13, 2025
358c70f
refactor: 조건부 클래스 수정
summerDev96 Aug 14, 2025
8abb409
style: 로딩 스피너 디자인 수정
summerDev96 Aug 14, 2025
6d5155a
style: 체크 리스트 클래스 오타 수정
summerDev96 Aug 14, 2025
838af18
test: 무한 호출 오류 확인중
summerDev96 Aug 14, 2025
370056b
test: route 수정 테스트
summerDev96 Aug 14, 2025
3bdf811
fix: 서버사이드 렌더링 시 초기데이터 최신화
summerDev96 Aug 14, 2025
2ab6db9
fix: route 파일 공통화
summerDev96 Aug 14, 2025
7f735a1
fix: 데이터 업데이트 시 오류 수정
summerDev96 Aug 14, 2025
0fc7613
fix: 인터셉터 수정
summerDev96 Aug 15, 2025
bf07bbc
refactor: 프리패치 시 로직 수정
summerDev96 Aug 15, 2025
f4b8164
fix: 체크리스트 disable시 클래스 수정
summerDev96 Aug 15, 2025
eab9f68
fix: maximum callstack 오류 수정
summerDev96 Aug 18, 2025
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
88 changes: 88 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// .eslintrc.js
const globals = require('globals');

module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'eslint:recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
'plugin:@typescript-eslint/recommended',
'prettier',
'next/core-web-vitals',
],
overrides: [
{
files: ['*.ts', '*.tsx'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
sourceType: 'module',
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
},
},
{
files: ['.eslintrc.js', 'next.config.js'],
rules: {
'@typescript-eslint/no-require-imports': 'off',
},
},
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
ecmaFeatures: { jsx: true },
},
plugins: ['react', '@typescript-eslint', 'react-hooks', 'import', 'prettier'],
globals: {
...globals.browser,
...globals.node,
},
rules: {
'no-var': 'warn',
'no-extra-semi': 'error',
'react/jsx-filename-extension': [2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
'react-hooks/exhaustive-deps': ['warn'],
'react/jsx-pascal-case': 'warn',
'react/prop-types': 'off',
'react-hooks/rules-of-hooks': 'error',
'react/react-in-jsx-scope': 'off',
'import/no-named-as-default': 'off',
'import/order': [
'error',
{
groups: [
'builtin',
'external',
'internal',
['parent', 'sibling', 'index'],
'object',
'type',
],
pathGroups: [
{
pattern: 'react',
group: 'external',
position: 'before',
},
{
pattern: '@src/**',
group: 'internal',
position: 'after',
},
],
pathGroupsExcludedImportTypes: ['react'],
'newlines-between': 'always',
alphabetize: { order: 'asc', caseInsensitive: true },
},
],
'prettier/prettier': ['error', { endOfLine: 'auto' }],
semi: ['error', 'always'],
},
};
3 changes: 0 additions & 3 deletions .eslintrc.json

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: summerdev-sprint-mission

on: push

jobs:
build:
runs-on: ubuntu-latest

env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}

steps:
- uses: actions/checkout@v3

- name: Node.js 20.17.0
uses: actions/setup-node@v3
with:
node-version: 20.x
cache: npm

- name: Build
run: |
npm install
npm run build

- name: Install Vercel CLI
run: npm install -g vercel@latest

- name: Pull Vercel environment variables (production)
run: vercel pull --yes --environment=production --token=$VERCEL_TOKEN

- name: Build project with Vercel
run: vercel build --prod --token=$VERCEL_TOKEN

- name: Deploy to Vercel production
run: vercel deploy --prebuilt --prod --yes --token=$VERCEL_TOKEN
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,5 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts

.vercel
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
12 changes: 12 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"jsxSingleQuote": true,
"printWidth": 100,
"bracketSpacing": true,
"arrowParens": "always",
"proseWrap": "preserve",
"trailingComma": "all",
"endOfLine": "lf"
}
36 changes: 34 additions & 2 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,38 @@
/** @type {import('next').NextConfig} */
const path = require('path');

const nextConfig = {
reactStrictMode: true,
}
webpack: (config) => {
// alias 추가
config.resolve.alias['@'] = path.resolve(__dirname, 'src');

const fileLoaderRule = config.module.rules.find((rule) => rule.test?.test?.('.svg'));

config.module.rules.push(
{
...fileLoaderRule,
test: /\.svg$/i,
resourceQuery: /url/,
},
{
test: /\.svg$/i,
issuer: fileLoaderRule.issuer,
resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] },
use: [
{
loader: '@svgr/webpack',
options: {
typescript: true,
ext: 'tsx',
},
},
],
},
);
fileLoaderRule.exclude = /\.svg$/i;
return config;
},
};

module.exports = nextConfig
module.exports = nextConfig;
Loading