naver์์ ๋ฐํํ๋ FE News๋ผ๋ ๋ด์ค๋ฅผ ๊ตฌ๋ ์ค์ธ๋ฐ, ์ต๊ทผ์ ๋ฐ์ ์ด๋ฉ์ผ ์ค์์ ํฅ๋ฏธ๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ๊ฒฌํด์ ํ๋ฒ ์ฝ์ด๋ณด์๋ค.
es-hangul ์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ๋ฐ, toss์์ ๊ณต๊ฐํ ๊ฒ์ผ๋ก ํ๊ธ์ ์ฝ๊ฒ ๋ค๋ฃฐ์ ์๋๋ก ๋๋ Javascript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋๋๋ค.
์ด์ฑ๊ฒ์, ์กฐ์ฌ๋ถ์ด๊ธฐ ๊ฐ์ ํ๊ธ์์ ์ ๊ฐ๋จํ๊ฒ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๋งค๋ฒ ์คํ์์ค ๊ธฐ์ฌํ๊ธฐ๋ฅผ ํด๋ด์ผ์ง, ํน์ ์คํ์์ค๋ฅผ ์ฝ์ด๋ด์ผ์ง! ์๊ฐํ๋ฉฐ ํด๋ณผ๋ ค๊ณ ์๋๋ฅผ ํ๋ฉด ์์์ง๋ ์์ด์ ์์ฒญ๋ ๋์ ํ์ผ์์ ์๋๋์ด์ ๋ back์ ๋๋ ๋๋ฐ ์ด๋ฒ์๋ ์ ์ง ์๋ํด๋ณผ๋งํ๋ฐ? ๋ผ๋ ์๊ฐ์ด ๋ค์ด์ ํ๋ฒ ์ ์ฒด์ ์ธ ํ๋ก์ ํธ๋ฅผ ์ดํด๋ดค์ต๋๋ค.
์คํ์์ค ํ๋ก์ ํธ ๋ณด๋ ๋ฐฉ๋ฒ
1. README ๋ฅผ ์ฒ์ฒํ ์ฝ์ด๋ด๋ผ
2. ์ฒซ๋ฒ์งธ๋ก ๋ด์ผ ํ ํ์ผ์ package.json
3. ์ ์ฒด ํ๋ก๊ทธ๋จ์ด ์์ฑ๋ ๋
ผ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํ์
ํ์
4. ์ฐพ์๋ธ ๋ก์ง์์ญ์ ํ ์ค ํ ์ค ์ฝ์ด๋ณด์
5. ์ดํด ๋ชปํ๋ ๊ฑธ ์ฐพ์ผ๋ฉด ๊ฑฐ๊ธฐ์ ๋ํด์ง ์ฃผ์์ ์ฝ์ด๋ผ
์ ๊ฐ ์์ฃผ ๋ณด๋ ํ์ํ๋์ ์ ํ๋ธ์ ์๋ ์์์ ๋๋ค. ์์ ์์ฝ๋ ๋ด์ฉ์ด ๋ํ ์ผํ๊ฒ ์๋ ์์์ ์ค๋ช ๋์ด์์ต๋๋ค.
์์ ๋์จ ์์์ ์ฐธ๊ณ ํด์ es-hangul ํ๋ก์ ํธ๋ฅผ ์ฝ์ด๋ดค์ต๋๋ค.
์ฐ์ package.json์ ํ์ธํด๋ณด๋
"scripts": {
"build": "tsup",
...}
build ๋ถ๋ถ์ tsup ์ด ์๋๋ผ๊ณ ์. TypeScript ๋ฅผ ์ํ ๋ฒ๋ค๋ฌ.TSUP์ ์ฃผ์ ํน์ง ์ค ํ๋๋ ๋ณ๋์ ํ๋ฌ๊ทธ์ธ ์ค์น ์์ด๋ TypeScript๋ฅผ CommonJS์ ESM ํ์์ JavaScript๋ก ์ปดํ์ผ ํ ์ ์๊ณ , ํ์ ์ ์ ํ์ผ๋ ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. ์ด ํ์ผ์ ํ์ธํด๋ณด๋ entry ํ์ผ์ด index.ts ์์ต๋๋ค.
import { defineConfig } from 'tsup';
export default defineConfig({
entry: ['src/index.ts'],
format: ['cjs', 'esm'],
dts: true,
});
index.ts์๋ ๊ฐ์ข ์ฃผ์ ts ํ์ผ๋ค์ด export ๋์ด์์์ด์.
๊ทธ๋์ ํ๋์ฉ ๋ค์ด๊ฐ๋ณด๋ ์ฃผ์ ํจ์๋ค์ด ๋ฑ์ฅํ์ต๋๋ค.
์๋ฅผ ๋ค์๋ฉด chosungIncludes.ts ํ์ผ์ด ์ด์ฑ๊ฒ์์ ๋์์ฃผ๋ ํจ์๊ฐ ๋ค์ด๊ฐ์๋ ํ์ผ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์๋ก ๊ฐ์ ์ด๋ฆ์ spec.ts ๋ผ๋ ๋ช ์ด ๋ถ์ ํ์ผ์ด ํ๋ ๋ ์์ต๋๋ค. ํด๋ฆญํด๋ณด์๋ฉด test ์ฝ๋๋ผ๋ ๊ฑธ ํ์ธํ์ค ์ ์๋ต๋๋ค
๋ค์ ์ด์ฑ๊ฒ์ ํ์ผ๋ก ๋์์์ ๋ณด๋ฉด, ๋ ๋ค๋ฅธ util ํ์ผ์์ ๊ฐ์ ธ์จ ํจ์๋ค์ด ๋ฑ์ฅํฉ๋๋ค.
๊ทธ ์ธ์๋ ํ์ผ ์์์ ์ด๋ค ํจ์๋ค์ด ์ฐ์ฌ์๋์ง ํ์ธํ์ค ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ์ฒ์๋ถํฐ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฝ์ด๋ณด๋๊ฑด ์ฒ์์ด์์ต๋๋ค.
์ด๋ฐ์์ผ๋ก ์ฝ๋๋ฅผ ์งค ์ ์๊ตฌ๋, ์ ์ด๋ ๊ฒ ํจ์์ ๋ํ ์ค๋ช ์ ๋ง๋ถ์ด๋๊ตฌ๋, ํ ์คํธ ์ฝ๋๋ ์ด๋ ๊ฒ๋ ์ธ ์ ์๊ตฌ๋ ๋ฑ ๋ค์ํ ์๊ฐ์ด ๊ต์ฐจํ์ต๋๋ค. ์คํ์์ค๋ฅผ ์ฝ์ด๋ณด๊ณ ๊ธฐ์ฌํด๋ณด๋ ์ต๊ด์ ๊ฐ์ง๋ฉด ์ข๋ค๊ณ ์ด์ผ๊ธฐํ๋ ํฌ์ธํธ๋ฅผ ์ ๊ฒ ๊ฐ์์ต๋๋ค.
๋ก์ง์ ํ๋ํ๋ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ณด๋ ค๊ณ ํ๋ ์ฌ๋ฌ ํ์ผ์ ๋๋๋ค๋ฉฐ ์ฝ์ด์ผํ๊ณ ์์ฐ์ค๋ ๊ตฌ์กฐ๋ ๋ณด๊ฒ ๋๊ณ ๋ก์ง์ ํ๋ฆ๋ ๋ฐ๋ผ๊ฐ๋ ค๊ณ ์๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ ํบ์๋ณด๊ณ ์ถ์ด์ง ํ๋ก์ ํธ์ ๋๋ค.
'๊ฐ๋ฐ > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ios/React-Native] ์ฑ ์คํ ์ด์ ์ฑ ์ถ์ ํ๊ธฐ (0) | 2024.12.18 |
---|---|
2024๋ 2์ ํ๊ณ (2) | 2024.03.05 |
240122 TWID - MON (0) | 2024.01.22 |
240118 TWID - Thur (0) | 2024.01.19 |
240117 TWID - WED (0) | 2024.01.18 |