https://github.com/intuit/auto-release/issues/176 ์์ ์ด๋
@aleclarson ์ ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค.
์ง๊ธ ๋น์ฅ ํ์ํ ํ๋ฌ๊ทธ์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
semantic-release
์คํ์ผ ์ ๋์ฌ(์:fix:
,feat:
,BREAKING
)์ ๋ํ PR์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๊ฒ์ํ๊ณ ์ ์ ํpatch
๋ฅผ ์๋์ผ๋ก ์ ์ฉํฉ๋๋ค. PR์minor
/major
๋ ์ด๋ธ์ ๋ถ์ ๋๋ค.
์ด ํธ์ํฐ ์ค๋ ๋์์ ์๊ฐ์ ์ป์์ต๋๋ค.์ด๊ฒ์ ๊ณต์์ ์ผ๋ก ์ง์๋๋ ํ๋ฌ๊ทธ์ธ์ด๋ผ๊ณ ์๊ฐํ์๊ฒ ์ต๋๊น?
@hipstersmoothie ๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค.
์, ์ข์ ํ๋ฌ๊ทธ์ธ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค! ๊ณต์์ ์ด๋ผ ๊ด์ฐฎ์ต๋๋ค. ์ด ๋์์ ์ํด ํ๋ ๊ฐ์ ์ถ๊ฐ ํํฌ๋ฅผ ์ถ๊ฐํด์ผ ํ ์๋ ์์ง๋ง
์ด๋ฆ์ด
parseCommit
์ธ ํํฌ๋ ์ฌ๊ธฐ์์ ํ์ฑํํ ์ ์์ต๋๋ค.
@aleclarson ์ ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค.
parse-commit-message ๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋ฐ ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ถฉ๋ถํ ๊ท์ฐฎ๊ฒ ํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ํฌํฌํ๊ณ
esm
์ข ์์ฑ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ํฌํฌํ์ง ์๋๋ผ๋semantic-release
๊ฐ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ฌ์ ํ ~6๋ฐฐ ์ ์ต๋๋ค.
ESM์ ์์กดํ๋ ๋ฐฉ์์ด ์๋นํ ์ด์ํฉ๋๋ค.
ํ๋ก๋์ ์ด ์๋ ๋น๋์ esm์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋น๋ํ๊ณ dist ํด๋๋ฅผ ๊ฒ์ํ๋ ๋์ babel-register๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ ์ฒ์์๋ ๊ฐ์ ์๊ฐ์ ํ์ง๋ง ์์ค ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋ค๋ฅด๊ฒ ๋์ ์์ต๋๋ค.
ํธ์ง: ์ค nvm, ๊ฒ์ํ๊ธฐ ์ ์ esm
๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผํ ์ ์๋ค๊ณ ๋ง์ํ์
จ์ต๋๋ค. PR์ ๋ณด๋ด์ผ ํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ์ข์ ๋ชจ๋์ฒ๋ผ ๋ณด์ ๋๋ค. ์ฐฉํ๊ณ ๋ง๋ฅธ
esm
๊ฐ ์ปดํ์ผ์ฉ์ผ๋ก ๋ง๋ค์ด์ง์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค: https://github.com/standard-things/esm/issues/13#issuecomment -321710199
์ง๊ธ์ ๋ถ๊ธฐํ๊ณ import
๋ฐ export
๊ตฌ๋ฌธ์ CommonJS๋ก ๋ณํํฉ๋๋ค.
ํ ์, ๋ฐฉ๊ธ readme๋ฅผ ์ฝ๊ณ ์์์ต๋๋ค. ์ ๊ฐ ์๋ชป ์ดํดํ๋ฏ
esm์ 65kb๋ฅผ ์ถ๊ฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค ๐ฎ
https://packagephobia.now.sh/result?p=parse-commit-message
https://bundlephobia.com/[email protected]
https://github.com/developit/microbundle ๋ก ์ ํํ๋ ํ๋ณด๋ฅผ ๋ง๋ค๊ณ ์๋ง๋ ์ถ๊ฐํ ๊ฒ์ ๋๋ค.
๋์ https://github.com/egoist/bili ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ค์น ํฌ๊ธฐ๋ ์ ๋ฐ์ด์ง๋ง ๋ค๋ฅธ ์ ์ถฉ ์ฌํญ์ด ์์ ์ ์์ต๋๋ค. ํ์คํ์ง ์๋ค.
Btw, ํํฐ์ ์ฐธ์ฌํฉ๋๋ค. git-commits-since
๋ฐ detect-next-version
๊ฐ ์ฌ๊ธฐ์ ๋ ๋์์ด ๋ ๊น์?
๋ณด์ฅ๊ณผ ๋
ธ๋์ esm ๊ธฐ๋ฅ ํ๋๊ทธ ๋ค์ ์๊ธฐ ๋๋ฌธ์ esm
๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ascjs ๋ rewrite-imports ์ ๊ฐ์ ์ ์ฌํ ๊ฒ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ง๋ง esm
๋ ๊ฐ์ ธ์ค๊ธฐ/๋ด๋ณด๋ด๊ธฐ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ๊ฒ์ ์ง์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋น๋ ๋จ๊ณ๋ ๋ค๋ฅธ ๊ฒ์ _์๋ฌด__ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ํ
์คํธ๋ฅผ ์ํด ๋ฌ๋์ ๋ํ ํํฌ๋ก๋ง ์ฌ์ฉํฉ๋๋ค.
์ด๋ฅผ ํตํด ascjs
๋๋ asbundle
๋ก ์ ํํ ์ ์์ต๋๋ค.
@aleclarson ํฌ๊ธฐ๊ฐ ์ ๊ทธ๋ ๊ฒ ํฐ ๋ฌธ์ ์ ๋๊น? ๋ ธ๋ ๋๋์์๋ ํจํค์ง ๊ด๋ฆฌ์๋ ์ด๋ฏธ ์ค๋ณต์ ์ ๊ฑฐํ ๋งํผ ๋๋ํฉ๋๋ค.
@aleclarson ํฌ๊ธฐ๊ฐ ์ ๊ทธ๋ ๊ฒ ํฐ ๋ฌธ์ ์ ๋๊น? ๋ ธ๋ ๋๋์์๋ ํจํค์ง ๊ด๋ฆฌ์๋ ์ด๋ฏธ ์ค๋ณต์ ์ ๊ฑฐํ ๋งํผ ๋๋ํฉ๋๋ค.
์ค๋ณต ์์กด์ฑ์ ์ฐ๋ คํ ์ ์ด ์์ต๋๋ค. ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถํ๋ ค์ง ๋๊ตฌ๋ฅผ ์กฐ์ฌํ ๋ฟ์ ๋๋ค. "๊ฐ๋ฒผ์ธ์๋ก ์ข๋ค"๋ ๋์ ๊ฒฝํ ๋ฒ์น์ด์ง๋ง, ๊ฐ์์ ๊ธฐ์ค์ ๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ํ ๋ก ํ๋ ๋ฐ ๋ณ๋ก ๊ด์ฌ์ด ์์ต๋๋ค. :)
Btw, ํํฐ์ ์ฐธ์ฌํฉ๋๋ค.
git-commits-since
๋ฐdetect-next-version
๊ฐ ์ฌ๊ธฐ์ ๋ ๋์์ด ๋ ๊น์?
๋๋ parse-commit-message
ํจํค์ง๊ฐ ์ด๋ฏธ auto-release
์ ์กด์ฌํ๋ ๋ก์ง์ ๋ณต์ ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ parse-commit-message ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํ์ง๋ง @hipstersmoothie ๋ ์ ์ง ๊ด๋ฆฌ ๋ถ๋ด์ ์ค์ด๊ธฐ ์ํด ๊ธฐ์กด ๋ก์ง์ ํด๋น ํจํค์ง๋ก ๊ต์ฒดํ ๊ฒ์
๋๋ค.
:rocket: ๋ฌธ์ ๊ฐ 10.0.0์์ ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ค๋ณต ์์กด์ฑ์ ์ฐ๋ คํ ์ ์ด ์์ต๋๋ค. ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถํ๋ ค์ง ๋๊ตฌ๋ฅผ ์กฐ์ฌํ ๋ฟ์ ๋๋ค. "๊ฐ๋ฒผ์ธ์๋ก ์ข๋ค"๋ ๋์ ๊ฒฝํ ๋ฒ์น์ด์ง๋ง, ๊ฐ์์ ๊ธฐ์ค์ ๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ํ ๋ก ํ๋ ๋ฐ ๋ณ๋ก ๊ด์ฌ์ด ์์ต๋๋ค. :)
๋๋
parse-commit-message
ํจํค์ง๊ฐ ์ด๋ฏธauto-release
์ ์กด์ฌํ๋ ๋ก์ง์ ๋ณต์ ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ parse-commit-message ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํ์ง๋ง @hipstersmoothie ๋ ์ ์ง ๊ด๋ฆฌ ๋ถ๋ด์ ์ค์ด๊ธฐ ์ํด ๊ธฐ์กด ๋ก์ง์ ํด๋น ํจํค์ง๋ก ๊ต์ฒดํ ๊ฒ์ ๋๋ค.