Skip to content

Commit a76d23d

Browse files
Merge pull request #246 from minji9029/Next-배민지-sprint9
[배민지] Sprint9
2 parents 8d163dd + ec4f80f commit a76d23d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+10290
-2881
lines changed

.eslintrc.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

.gitignore

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33
# dependencies
44
/node_modules
55
/.pnp
6-
.pnp.js
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
712

813
# testing
914
/coverage
@@ -23,9 +28,10 @@
2328
npm-debug.log*
2429
yarn-debug.log*
2530
yarn-error.log*
31+
.pnpm-debug.log*
2632

27-
# local env files
28-
.env*.local
33+
# env files (can opt-in for committing if needed)
34+
.env*
2935

3036
# vercel
3137
.vercel

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm test

.prettierignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 프로젝트 최상단 경로에 .prettierignore 파일 생성
2+
3+
# 빌드 결과물
4+
dist
5+
build
6+
coverage
7+
8+
# 패키지 관리
9+
node_modules
10+
package-lock.json
11+
yarn.lock
12+
pnpm-lock.yaml
13+
14+
# 설정 파일
15+
*.log
16+
17+
# 정적 파일
18+
public
19+
20+
# 환경 파일
21+
.env
22+
.env.*
23+
24+
# 기타 무시할 항목
25+
*.min.js
26+
*.snap

.prettierrc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"tabWidth": 2,
3+
"semi": true,
4+
"singleQuote": true,
5+
"jsxSingleQuote": true,
6+
"printWidth": 100,
7+
"bracketSpacing": true,
8+
"arrowParens": "always",
9+
"proseWrap": "preserve",
10+
"trailingComma": "all"
11+
}

README.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
1+
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
22

33
## Getting Started
44

@@ -16,13 +16,9 @@ bun dev
1616

1717
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
1818

19-
You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
19+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
2020

21-
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
22-
23-
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
24-
25-
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
21+
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
2622

2723
## Learn More
2824

@@ -31,10 +27,10 @@ To learn more about Next.js, take a look at the following resources:
3127
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
3228
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
3329

34-
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
30+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
3531

3632
## Deploy on Vercel
3733

3834
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
3935

40-
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
36+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.

components.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "new-york",
4+
"rsc": true,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "",
8+
"css": "src/app/globals.css",
9+
"baseColor": "neutral",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"aliases": {
14+
"components": "@/components",
15+
"utils": "@/lib/utils",
16+
"ui": "@/components/ui",
17+
"lib": "@/lib",
18+
"hooks": "@/hooks"
19+
},
20+
"iconLibrary": "lucide"
21+
}

eslint.config.mjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// eslint.config.mjs에 규칙 추가
2+
import { dirname } from 'path';
3+
import { fileURLToPath } from 'url';
4+
import { FlatCompat } from '@eslint/eslintrc';
5+
6+
const __filename = fileURLToPath(import.meta.url);
7+
const __dirname = dirname(__filename);
8+
9+
const compat = new FlatCompat({
10+
baseDirectory: __dirname,
11+
});
12+
13+
const eslintConfig = [
14+
...compat.extends('next/core-web-vitals', 'next/typescript'),
15+
{
16+
rules: {
17+
'no-unused-vars': 'off', // JS용 기본 비활성화
18+
'@typescript-eslint/no-unused-vars': [
19+
'error',
20+
{ argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
21+
],
22+
},
23+
},
24+
];
25+
26+
export default eslintConfig;

next.config.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

next.config.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import type { NextConfig } from 'next';
2+
import type { RuleSetRule } from 'webpack';
3+
4+
const nextConfig: NextConfig = {
5+
webpack(config, options) {
6+
const { isServer: _isServer } = options;
7+
8+
// 기존 svg loader 찾기 (타입 단언 추가)
9+
const fileLoaderRule = (config.module.rules as RuleSetRule[]).find(
10+
(rule) => rule.test instanceof RegExp && rule.test.test('.svg'),
11+
);
12+
13+
if (fileLoaderRule) {
14+
fileLoaderRule.exclude = /\.svg$/i;
15+
}
16+
17+
// SVG를 React 컴포넌트로 처리하는 로더 추가
18+
(config.module.rules as RuleSetRule[]).push({
19+
test: /\.svg$/i,
20+
issuer: { and: [/\.(ts|tsx|js|jsx|md|mdx)$/] },
21+
use: [{ loader: '@svgr/webpack' }],
22+
});
23+
24+
return config;
25+
},
26+
};
27+
28+
export default nextConfig;

0 commit comments

Comments
 (0)