Auto: npm ํ”Œ๋Ÿฌ๊ทธ์ธ์€ package.json์˜ ๋ฒ„์ „์„ ์ถฉ๋Œ์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 10์›” 21์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: intuit/auto

๋ฒ„๊ทธ ์„ค๋ช…

package.json ๋Š” ์‹œํ—˜ํŒ ๋ถ„๊ธฐ์—์„œ (yarn/npx) auto shipit ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
(yarn/npx) auto shipit --dry-run --quiet ๋Š” ์ด ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ๋„์ปค ์ด๋ฏธ์ง€ ๋ฐ ๊ธฐํƒ€ ์•„ํ‹ฐํŒฉํŠธ์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ๋‹ค์šด์ŠคํŠธ๋ฆผ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด

  1. next ์— ์•ฝ์ •
  2. auto shipit ๋Š” Github ์ž‘์—…์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  3. auto ๊ฐ€ github์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  4. ํŒจํ‚ค์ง€ json์ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

package.json ์—…๋ฐ์ดํŠธ ๋˜๋Š” auto shipit --dry-run ๋Š” ์‹œํ—˜ํŒ์šฉ ํƒœ๊ทธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ์ •๋ณด:
"ํ˜„์žฌ ๋ฒ„์ „"์€ ์ด๋ฏธ ์—ฌ๊ธฐ์—์„œ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํƒœ๊ทธ๋Š” v0.2.0-next.11์ž…๋‹ˆ๋‹ค.

yarn run v1.22.10
$ /home/rwa/Project/####/node_modules/.bin/auto info

Environment Information:

"auto" version: v9.59.1
"git"  version: v2.29.0
"node" version: v14.14.0

Project Information:

โœ” Repository:      #####
โœ” Author Name:     Robert Wawrzyniak
โœ” Author Email:    robert.wawrzyniak@###.de
โœ” Current Version: v0.2.0-next.10
โœ” Latest Release:  v0.1.0 (โ€‹https://github.com/####/releases/tag/v0.1.0โ€‹)

โœ” Labels configured on GitHub project

GitHub Token Information:

โœ” Token:            [Token starting with 62de]
โœ” Repo Permission:  admin
โœ” User:             thuringia
โœ” API:              undefined (โ€‹undefinedโ€‹)
โœ” Enabled Scopes:   repo
โœ” Rate Limit:       4772/5000

Done in 3.39s.
Time: 0h:00m:04s

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ
์ด๊ฒƒ์€ #1490๊ณผ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.
https://github.com/intuit/auto/blob/2f03089f43cc098ac2687c7ab3ca5fd8d2502a1c/plugins/npm/src/index.ts#L869
๋ฒ”ํ”„๋Š” ์—ฌ๊ธฐ์—์„œ ๊ธฐ๋ณธ ๋ถ„๊ธฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์‹คํ–‰๋˜์ง€๋งŒ ์ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ตฌ์„ฑ ํ”Œ๋ž˜๊ทธ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

bug released

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•„, ๋‚˜์—๊ฒŒ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ‘œ๋ฅผ ๋˜์ง€๊ณ  ๋“œ๋ผ์ด ๋Ÿฐ ํ–‰๋™์„ ๋นจ๋ฆฌ ๊ณ ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ๋ง์— ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ๊ณผ auto ์‚ฌ์šฉ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋ชจ๋“  14 ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „์ด ์ปค๋ฐ‹๋˜๋ฉด ๋งˆ์Šคํ„ฐ๋กœ ๋ณ‘ํ•ฉํ•  ๋•Œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋œ git ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‚˜์—๊ฒŒ๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „์ด ์ปค๋ฐ‹๋˜๋ฉด ๋งˆ์Šคํ„ฐ๋กœ ๋ณ‘ํ•ฉํ•  ๋•Œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋œ git ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

package.json ๋ฒ„์ „์ด auto shipit ์‚ฌ์šฉํ•˜์—ฌ CI ๋ฐฐํฌ์™€ ๋™๊ธฐํ™”๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๊ถŒ์žฅ๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@smithki ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. @thuringia ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๋ฒ„์ „์ด ํ•„์š”ํ•˜์ง€๋งŒ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์ƒ๋‹นํžˆ ์ฃผ์ €ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋‹ฌ์„ฑํ•˜๋ ค๋Š” ๊ฒƒ์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์˜คํ•ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ๋ฌธ๊ตฌ์—์„œ next ๋ถ„๊ธฐ๋Š” ์—…๋ฐ์ดํŠธ๋œ package.json ๋ฒ„์ „์„ ๋ฐ›์ง€ ์•Š์ง€๋งŒ main ๋ถ„๊ธฐ๋Š” ๋ฐ›์Šต๋‹ˆ๋‹ค(์•„์ง auto ํ•™์Šต ์ค‘ โ€”์—ฌ๊ธฐ์—์„œ ์™„์ „ ์ดˆ๋ณด์ž) . ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ์›๋ž˜ ๋ฌธ์ œ์™€ ๋™์ผํ•˜์ง€๋งŒ ๊ตฌ์ฒด์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ package.json ๋ฒ„์ „์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์‚ฝ์ž…๋  ์ˆ˜ ์žˆ๋„๋ก NPM ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ _build_ ์‹œ๊ฐ„์— package.json ๋ฒ„์ „์„ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋นŒ๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— package.json ํŒŒ์ผ์˜ ๋ฒ„์ „์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ package.json ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ํ˜„์žฌ TypeScript ์„ค์ •์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” tsconfig.json rootDirs ์— ์˜์กดํ•˜๊ณ  package.json ๋Š” rootDirs ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

auto ๊ฐ€ ํ•˜๋Š” ์ผ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310

์ด ๋ฌธ์ œ์˜ ์›๋ž˜ ์ฃผ์ œ๋ฅผ ํƒˆ์„ ์‹œํ‚ค๋ ค๋Š” ์˜๋„๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

auto๊ฐ€ ํ•˜๋Š” ๋Œ€๋กœ๋งŒ ํ•˜๋ฉด ๋ ๊นŒ์š”? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310

๋ถˆํ–‰ํžˆ๋„ ์ฝ”๋“œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—(ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด๊ฒ ์Šต๋‹ˆ๋‹ค).

์•„, ๋‚˜์—๊ฒŒ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ‘œ๋ฅผ ๋˜์ง€๊ณ  ๋“œ๋ผ์ด ๋Ÿฐ ํ–‰๋™์„ ๋นจ๋ฆฌ ๊ณ ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ๋ง์— ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ๊ณผ auto ์‚ฌ์šฉ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@hipstersmoothie ๋น ๋ฅธ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :) ํ•ญ์ƒ

๋‚˜๋Š” ์ง€๊ธˆ auto shipit --dry-run --plugins git-tag ๊ฝค ๊ฒฌ๊ณ ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ํ”„๋ฆฌ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•ด ์ด๋Ÿฐ ์‹์œผ๋กœ ๋‹ค์Œ ๋ฒ„์ „์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋น ๋ฅธ ์‹œ์ผ ๋‚ด์— ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ฐœ์„ ์„ ์‹œ๋„ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹œํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ์นด๋‚˜๋ฆฌ์•„ ๋นŒ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  auto ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๊ฒƒ์€ ๋‚ด ์‚ถ์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค

@thuringia @smithki v10์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@hipstersmoothie ์ด๊ฒƒ์€ v10์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘
๋ˆˆ์— ๋„๊ฒŒ ๋Š๋ฆฌ๊ฑฐ๋‚˜ shipit ์—†์ด --dry-run shipit ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋งŒํผ ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋นจ๋ฆฌ ํ’€์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฒ„๊ทธ์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
yarn add -D auto@next ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์„ ๋•Œ auto shipit --dry-run ์‹คํ–‰ํ•œ ํ›„ package.json ๋ฐ yarn.lock ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. v10์€ ์—ฌ์ „ํžˆ node_modules ์žˆ์œผ๋ฏ€๋กœ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žฌ์„ค์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ˆˆ์— ๋„๊ฒŒ ๋Š๋ฆฌ๊ฑฐ๋‚˜ --dry-run ์—†์ด shipit์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋งŒํผ ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๋‹ค์Œ ๋ฒ„์ „์„ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•ด ํ›จ์”ฌ ๋” ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

auto shipit --dry-run์„ ์‹คํ–‰ํ•œ ํ›„ package.json ๋ฐ yarn.lock์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

์•„ ์ด๊ฒƒ์€ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ๋“œ๋ผ์ด ๋Ÿฐ์˜ ๊ฒฝ์šฐ ๊นจ๋—ํ•œ ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ ๋›ฐ์—ˆ์ง€๋งŒ git reset์€ ๊ฑด๋„ˆ ๋›ฐ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@thuringia ์–ด๋–ค ์œ ํ˜•์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ถœ์‹œํ•ฉ๋‹ˆ๊นŒ?

@hipstersmoothie ์ง€๊ธˆ์€ ๋“œ๋ผ์ด ๋Ÿฐ์ด ๋Š๋ ค์ ธ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํฐ ์ฐจ์ด๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋ณ€ํ™”๋ฅผ ๋Š๋ผ์‹ ๋‹ค๋Š” ๋ง์”€์ด ๋Œ€๋ถ€๋ถ„์ด์—ˆ๋Š”๋ฐ ๊ฑฐ๊ธฐ์— ์ด๋ชจํ‹ฐ์ฝ˜์„ ์ถ”๊ฐ€ํ–ˆ์–ด์•ผ ํ–ˆ๋‚˜ ๐Ÿ˜„
์„ฑ๋Šฅ ํ–ฅ์ƒ์€ ํ•ญ์ƒ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์—๋Š” ์ฃผ๋ณ€์— ๋žŒ๋‹ค๊ฐ€ ํฌํ•จ๋œ ๋Œ€๋ถ€๋ถ„์˜ Java ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ˜ผํ•ฉ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • gradle์„ ์‹คํ–‰ํ•˜์—ฌ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋กœ jar ๋นŒ๋“œ
  • ํ•ด๋‹น jar๋ฅผ ๋„์ปค ์ด๋ฏธ์ง€์— ํŒจํ‚ค์ง•ํ•˜๊ณ  ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ํƒœ๊ทธ ์ง€์ • ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์„ฑ์— ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋žŒ๋‹ค ๋ฐฐํฌ

auto ์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๐Ÿ˜‚
์ผ๋ฐ˜์ ์œผ๋กœ ์„ค์ •์ด ๋” ๊ฐ„์†Œํ™”๋œ Node ๋˜๋Š” React ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ด ํŠน์ • ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์‹ค์ œ๋กœ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์–ป์„ ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.


:rocket: v10.0.0 ์—์„œ ๋ฐœํ–‰๋œ ๋ฌธ์ œ :rocket:

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰