Skip to content

Commit e46cd4d

Browse files
authored
Merge pull request #1 from Team-INSERT/feature/BMWK-0001
Project setup
2 parents 5911cde + e5bdd3c commit e46cd4d

33 files changed

+4241
-0
lines changed

.editorconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
7+
[*.{js,json,yml}]
8+
charset = utf-8
9+
indent_style = space
10+
indent_size = 2

.eslintrc.js

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
module.exports = {
2+
root: true,
3+
parser: "@typescript-eslint/parser",
4+
plugins: ["@typescript-eslint", "prettier"],
5+
parserOptions: {
6+
project: "./tsconfig.json",
7+
},
8+
env: {
9+
node: true,
10+
},
11+
extends: [
12+
"next/core-web-vitals",
13+
"plugin:@typescript-eslint/recommended",
14+
"airbnb",
15+
"airbnb-typescript",
16+
"plugin:prettier/recommended",
17+
],
18+
rules: {
19+
"import/extensions": [
20+
"error",
21+
"ignorePackages",
22+
{
23+
js: "never",
24+
jsx: "never",
25+
ts: "never",
26+
tsx: "never",
27+
},
28+
],
29+
// 'React' must be in scope when using JSX in Next.JS
30+
"react/react-in-jsx-scope": "off",
31+
"react/jsx-no-useless-fragment": 0,
32+
"react/jsx-key": 1,
33+
"react/no-danger": 0,
34+
"react/button-has-type": 0,
35+
"@typescript-eslint/no-use-before-define": "off",
36+
"react/jsx-filename-extension": [1, { extensions: [".ts", ".tsx"] }], // should add ".ts" if typescript project
37+
"no-unused-vars": "off",
38+
"no-param-reassign": "off",
39+
"react/function-component-definition": [
40+
2,
41+
{ namedComponents: ["arrow-function", "function-declaration"] },
42+
],
43+
"@typescript-eslint/no-unused-vars": "warn",
44+
"jsx-a11y/click-events-have-key-events": 0,
45+
"jsx-a11y/no-static-element-interactions": 0,
46+
"import/no-cycle": 0,
47+
"react/require-default-props": 0,
48+
"react/jsx-props-no-spreading": 0,
49+
"no-empty-interface": 0,
50+
"import/prefer-default-export": "off",
51+
"jsx-a11y/label-has-associated-control": [
52+
2,
53+
{
54+
labelAttributes: ["htmlFor"],
55+
},
56+
],
57+
"react/no-array-index-key": 0,
58+
"consistent-return": 0,
59+
"react-hooks/exhaustive-deps": "off",
60+
"no-restricted-imports": [
61+
"warn",
62+
{
63+
paths: [
64+
{
65+
name: "react",
66+
importNames: ["default"],
67+
message: "import React from 'react' is increases bundling size without the need.",
68+
},
69+
],
70+
},
71+
],
72+
},
73+
};

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @5ewon @ubinquitous

.github/assign.yml

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

.github/labeler.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
pages:
2+
- changed-file:
3+
- any-glob-to-any-file: 'app/**'
4+
shared:
5+
- changed-files:
6+
- any-glob-to-any-file: 'src/**'
7+
feature:
8+
- head-branch: ['^feature', 'feature']
9+
release:
10+
- head-branch: ['^release', 'release']
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Application Build
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
deploy_env:
6+
type: choice
7+
description: '배포 환경'
8+
options:
9+
- production
10+
required: true
11+
push:
12+
branches:
13+
- main
14+
paths:
15+
- 'app/**'
16+
- 'src/**'
17+
env:
18+
SERVICE_NAME: bumawiki
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/checkout@v3
25+
with:
26+
persist-credentials: false
27+
28+
- name: Setup Node.js
29+
uses: actions/setup-node@v3
30+
with:
31+
node-version: 22.9.0
32+
33+
- name: Use NextJS Cache
34+
uses: actions/cache@v4
35+
with:
36+
path: |
37+
${{ github.workspace }}/bumawiki/.next/cache
38+
key: nextjs-bumawiki-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('apps/finance/**.[jt]s', 'apps/finance/**.[jt]sx') }}
39+
restore-keys: |
40+
nextjs-bumawiki-${{ hashFiles('**/yarn.lock') }}-
41+
nextjs-bumawiki-
42+
43+
- name: Set Package Manager
44+
run: |
45+
npm install -g pnpm
46+
pnpm install
47+
48+
- name: Check Lint
49+
run: pnpm lint
50+
51+
- name: Application Build
52+
run: pnpm build

.github/workflows/auto-assign.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: 'Auto Assign'
2+
on:
3+
pull_request:
4+
types: [opened, ready_for_review]
5+
6+
jobs:
7+
add-reviews:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: kentaro-m/[email protected]
11+
with:
12+
configuration-path: '.github/assign.yml'

.github/workflows/auto-labeler.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Auto Labeler
2+
on: [pull_request_target]
3+
4+
jobs:
5+
label:
6+
runs-on: ubuntu-latest
7+
permissions:
8+
contents: read
9+
pull-requests: write
10+
11+
steps:
12+
- uses: actions/labeler@v5
13+
with:
14+
repo-token: '${{ secrets.GITHUB_TOKEN }}'

.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
12+
13+
# testing
14+
/coverage
15+
16+
# next.js
17+
/.next/
18+
/out/
19+
20+
# production
21+
/build
22+
23+
# misc
24+
.DS_Store
25+
*.pem
26+
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
32+
33+
# env files (can opt-in for committing if needed)
34+
.env*
35+
36+
# vercel
37+
.vercel
38+
39+
# typescript
40+
*.tsbuildinfo
41+
next-env.d.ts

.prettierrc

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

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Insert
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)