Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
es-hangul package 구조와, 문서 구조를 Initialize합니다

docs폴더에 포함된 .git config file을 제거합니다

단위 테스트를 작성하기 위한 vitest 모듈 설치 및 적용

깃허브 주소에 오타를 수정합니다 stoss => toss

es-hangul의 스토리와 설치방법 작성

테스트 코드 및 문서에서 토스 라는 워딩을 대체합니다

.github 에 여러가지 문서들을 추가합니다

킬링 한줄을 삽입합니다

Light모드에서 접근성이 대응되지 않는 문제를 해결합니다

메인 페이지에서 API버튼을 클릭하면 올바른 주소로 이동하도록 합니다

es-hangul로고 설정 및 다크모드 라이트 모드 대응

패키지매니저를 pnpm으로 변경한 뒤 빌드 및 퍼블리싱 세팅을 진행합니다

배포 자동화(CD) 테스트를 진행합니다 (#1)

github action을 통해 배포 자동화를 진행할 때 pnpm 을 사용할 수 있도록 설정해줍니다

pnpm의 패키지 버전을 명시해줍니다

src폴더 안에 있는 타입스크립트 파일들만 타입체크 하도록 수정합니다

패키지를 1.0.3으로 변경합니다 (#2)

changeset을 활용하기 위해 github action script를 수정합니다 (#3)

changeset 설정을 변경합니다

chore: changeset 자동 배포가 정상적으로 작동하는지 PR을 생성해 테스트를 합니다 (#4)

* changeset PR 테스트를 합니다

* changeset PR 테스트를 합니다

chore: version packages (#5)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

chore: changeset APP이 잘 작동하는지 테스트 하기위해 md파일을 제작하지 않고 푸시해봅니다 (#6)

* changeset APP이 잘 작동하는지 테스트 하기위해 md파일을 제작하지 않고 푸시해봅니다

* Create tender-socks-carry.md

netlify toml 설정 (#8)

pnpm to yarn and add yarn install to toml file

문서 빌드 결과물 폴더를 .next로 지정합니다

netlify에서 plugin-nextjs를 사용

killing sentence를 변경합니다

문서 메인페이지 디자인을 변경하고, 내용을 개선합니다

test6 (#9)

Revert "test6 (#9)" (#10)

This reverts commit c072c35.

chore: github action + changeset을 테스트하기 위함입니다. (#11)

* test6

* Create gold-comics-enjoy.md

corepack 커맨드를 추가합니다:

yarn i 커맨드를 yarn install 로 수정합니다

chore: github action + changeset을 테스트하기 위함입니다. (#12)

* test7

* Create chilled-ducks-clean.md

changeset 의 fixed 옵션을 제거합니다

chore: github action + changeset을 테스트하기 위함입니다. (#13)

* test7

* changeset 의 fixed 옵션을 추가합니다

* package json의 workspace에루트를 포함하게하여 changeset이 작동하도록함

* Create polite-llamas-push.md

chore: version packages (#15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

chore: github action + changeset을 테스트하기 위함입니다.  (#14)

* test7

* Create empty-rice-clap.md

chore: github issue template제작 (#17)

chore: changeset을 devDependency로 옮깁니다 (#19)

Update README.md

chore: OpenGraph이미지를 설정합니다 (#21)

killing sentence를 변경합니다

chore: Update README

chore: Update README

chore: Update README

chore: Update README

docs: Update docs

라우팅을 처리합니다
  • Loading branch information
okinawaa authored and raon0211 committed Apr 11, 2024
0 parents commit 5af6f19
Show file tree
Hide file tree
Showing 73 changed files with 12,402 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": ["@changesets/cli/changelog", { "repo": "toss/es-hangul" }],
"commit": false,
"fixed": [["es-hangul"]],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
5 changes: 5 additions & 0 deletions .changeset/empty-rice-clap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"es-hangul": patch
---

chore: github action + changeset을 테스트하기 위함입니다.
103 changes: 103 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
version: 2.1

parameters:
pull_request:
type: boolean
default: false

orbs:
slack: circleci/[email protected]

commands:
setup:
steps:
- run:
name: Install yarn
command: |
COREPACK_PATH=$HOME/.local/bin
mkdir -p $COREPACK_PATH
eval "$(echo PATH=$COREPACK_PATH:\$PATH | tee -a $BASH_ENV)"
corepack enable --install-directory $COREPACK_PATH
yarn install
jobs:
lint:
docker:
- image: cimg/node:20.12
steps:
- checkout
- setup
- run:
name: Lint
command: yarn eslint -c .eslintrc.js $(git diff --name-only --diff-filter=ACMRUXB origin/main | grep -E "(.js$|.ts$|.tsx$)")
typecheck:
parallelism: 2
docker:
- image: cimg/node:20.12
steps:
- checkout
- setup
- run:
name: Typecheck
command: yarn tsc --noEmit

pre-pack:
parallelism: 2
docker:
- image: cimg/node:20.12
steps:
- checkout
- setup
- run:
name: Build
command: yarn build

check-peer:
docker:
- image: cimg/node:20.12
steps:
- checkout
- setup
- run:
name: Check Peer Dependency
command: ./.scripts/check-peer.sh || (echo "Peer Dependency 오류가 발생했습니다."; exit -1)

test:
docker:
- image: cimg/node:20.12
parallelism: 2
steps:
- checkout
- setup
- run:
name: vitest
command: yarn vitest --reporter=junit > ./.junit
environment:
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
- store_test_results:
path: ./.junit
- store_artifacts:
path: ./.junit

workflows:
main:
jobs:
- test
- lint:
filters:
branches:
ignore: main
- typecheck:
filters:
branches:
ignore: main
- pre-pack:
filters:
branches:
ignore: main
- check-peer:
filters:
branches:
ignore: main
72 changes: 72 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
module.exports = {
root: true,

env: {
es6: true,
node: true,
browser: true,
jest: true,
'shared-node-browser': true,
},

parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: { jsx: true },
},

extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'prettier',
],
plugins: ['@typescript-eslint'],
rules: {
'no-implicit-coercion': 'error',
'no-warning-comments': [
'warn',
{
terms: ['TODO', 'FIXME', 'XXX', 'BUG'],
location: 'anywhere',
},
],
curly: ['error', 'all'],
eqeqeq: ['error', 'always', { null: 'ignore' }],

// Hoisting을 전략적으로 사용한 경우가 많아서
'@typescript-eslint/no-use-before-define': 'off',
// 모델 정의 부분에서 class와 interface를 합치기 위해 사용하는 용법도 잡고 있어서
'@typescript-eslint/no-empty-interface': 'off',
// 모델 정의 부분에서 파라미터 프로퍼티를 잘 쓰고 있어서
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-parameter-properties': 'off',
'@typescript-eslint/no-var-requires': 'warn',
'@typescript-eslint/no-non-null-asserted-optional-chain': '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' },
{ format: ['PascalCase'], selector: 'interface' },
{ format: ['PascalCase'], selector: 'typeAlias' },
],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/array-type': ['error', { default: 'array-simple' }],
'@typescript-eslint/no-unused-vars': ['error', { 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',
],
},
],
},
};
38 changes: 38 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Contributor Covenant Code of Conduct
Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Our Standards

Examples of behavior that contributes to creating a positive environment include:

Using welcoming and inclusive language
Being respectful of differing viewpoints and experiences
Gracefully accepting constructive criticism
Focusing on what is best for the community
Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

The use of sexualized language or imagery and unwelcome sexual attention or advances
Trolling, insulting/derogatory comments, and personal or political attacks
Public or private harassment
Publishing others' private information, such as a physical or electronic address, without explicit permission
Other conduct which could reasonably be considered inappropriate in a professional setting

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4
50 changes: 50 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# es-hangul 라이브러리에 기여하기

커뮤니티의 모든 분들의 기여를 환영합니다.

> 모든 기여자는 우리의 행동 강령을 준수해야 합니다.
> <br/>어떤 행동이 허용되고 허용되지 않는지 이해하려면 [전문](./CODE_OF_CONDUCT.md)을 읽어주세요.
## 1. Issues

다음과 같은 방법으로 es-hangul 라이브러리에 기여할 수 있습니다:

- Improving our [docs](https://slash.page)
- [Reporting a bug in our issues tab](https://github.com/toss/slash/issues/new/choose)
- [Requesting a new feature or package](https://github.com/toss/slash/issues/new/choose)
- [Having a look at our issue list](https://github.com/toss/slash/issues) to see what's to be fixed

## 2. Pull Requests

> [Opening a pull request](https://github.com/toss/slash/compare) <br/>
자신의 PR을 제출할 수 있습니다. PR의 제목은 다음 형식과 일치해야 합니다:

```
<type>: <description>
```

> 우리는 당신의 이력에 있는 커밋의 수나 스타일을 중요시하지 않습니다, 왜냐하면 우리는 모든 PR을 main으로 squash merge하기 때문입니다. <br/>
> 편하게 커밋하세요.
### 2.1 Type

**Type 은 아래의 것들 중 하나여야 합니다.**

배포된 코드를 변경한 경우 :

- feat - 새로운 기능 추가에 대해
- fix - 새로운 기능을 추가하지 않는 수정에 대해

배포된 코드를 변경하지 않은 경우 :

- docs - 문서만 변경한 경우
- test - 테스트만 변경한 경우

그 외 :

- chore - 그 외 모든 것

### 2.2 Description

A clear and concise description of what the pr is about.
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Bug Report
description: Report a bug
labels: [bug]
title: '[Bug]:'
body:
- type: textarea
id: description
attributes:
description: 버그에 대해서 설명해주세요.
label: Bug description
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior

- type: textarea
id: reproduction-steps
attributes:
label: To Reproduce
description: 재현 방법을 자세히 알려주세요. 특정 환경에서만 발생하는 것 같다면, OS와 환경에 대한 정보도 함께 제공해주세요.
placeholder: |
최소한으로 재현 가능한 코드 또는 재현 단계를 설명해주세요. 선택 사항이지만 권장됩니다.
- type: textarea
id: possible-solution
attributes:
label: Possible Solution
placeholder: I think this is probably...
validations:
required: false

- type: textarea
id: etc
attributes:
label: etc.
validations:
required: false
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Feature Request
description: Suggest an idea
labels: [feature]
title: '[Feature]:'
body:
- type: textarea
id: description
attributes:
description: 원하시는 기능을 설명해주세요.
label: Description
validations:
required: true

- type: textarea
id: possible-solution
attributes:
label: Possible Solution
placeholder: I think this is probably...
validations:
required: false

- type: textarea
id: etc
attributes:
label: etc.
validations:
required: false
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Overview

<!--
이 PR이 무엇에 관한 것인지 명확하고 간결하게 설명해주세요.
-->

## PR Checklist

- [ ] I read and included theses actions below

1. I have read the [Contributing Guide](https://github.com/toss/slash/blob/main/.github/CONTRIBUTING.md)
2. I have written documents and tests, if needed.
Loading

0 comments on commit 5af6f19

Please sign in to comment.