Language-tools: Svelte ๋ฒ ํƒ€ ๋Œ€ JamesBirtles / UnwriteFun

์— ๋งŒ๋“  2020๋…„ 05์›” 10์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sveltejs/language-tools

์‚ฌ๋žŒ๋“ค์ด https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

https://github.com/sveltejs/integrations ๋Š” https://marketplace.visualstudio.com/items?itemName=JamesBirtles.svelte-vscode ์˜ ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์„ค์น˜ ์ˆ˜๋Š” ์•ฝ 90๋ฐฐ์ž…๋‹ˆ๋‹ค. ์ƒˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ์Œ์„ ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ป๊ฒŒ ์•Œ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ ์ˆœ์„œ๋Œ€๋กœ ๋ช‡ ๊ฐ€์ง€ ์•„์ด๋””์–ด:

  • ์ƒˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ sveltejs๋กœ ์˜ฎ๊ธฐ๊ณ  ๊ณต์‹ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ๋งŒ๋“œ์„ธ์š”. ์ด์ œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ๊ฑฐํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ๊ตญ ์ด์ „ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

  • 1, ๋„ค. prod ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋Š” "ํŒจํ‚ค์ง€ json์„ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋กœ ํŽธ์ง‘; git tag [์ˆซ์ž]; git push --tags"์ž…๋‹ˆ๋‹ค.
  • 2, ์˜ˆ, 100์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ข‹์€ ๋ผ์šด๋“œ ์‹œ์ž‘์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋„ค ํ•œ๋ฒˆ ์ฐ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿพ

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

๋‚˜๋Š” ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์„ ์„ ํ˜ธํ•œ๋‹ค

๋‚˜๋Š” ์–ด๋””์ธ์ง€ ๋ชจ๋ฅด์ง€๋งŒ @orta ๊ฐ€ "์–ด๋Š ์‹œ์ ์—์„œ Svelte Plugin์„ ์ธ์ˆ˜ํ•˜๋ผ"๋Š” ๋ง์„ ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ (ํ˜„์žฌ ์˜ค๋ž˜๋œ) Svelte ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—…๋ฐ์ดํŠธ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ์–ธ์ œ์ธ์ง€์— ๊ด€ํ•ด์„œ: ์ œ ์ƒ๊ฐ์—๋Š” ์•„์ง ์•„๋‹ˆ์ง€๋งŒ ๊ณง. ์•„์ง ๋งŽ์€ ๋ฆฌํŒฉํ† ๋ง/๊ธฐ์ดˆ ์ž‘์—…์ด ์ง„ํ–‰ ์ค‘์ด๋ฏ€๋กœ ์ด ๋ ˆํฌ๊ฐ€ ๋„ˆ๋ฌด ์ด๋ฅธ ์ƒํƒœ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, "Svelte Beta"๊ฐ€ ์•ˆ์ •์ ์ด๊ณ  ํŽธ์•ˆํ•ด์ง€๋ฉด ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ด์งํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ธฐ ์œ„ํ•ด birtle ๋ฒ„์ „์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐœ์†กํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค)

"๋ฒ ํƒ€" ๋ฒ„์ „์ด ๋ฒ ํƒ€ ๋ฒ„์ „์ด ์•„๋‹Œ ๋ฒ„์ „๋ณด๋‹ค ์ด๋ฏธ ๋” ์ž˜ ์ž‘๋™ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. "๋ฒ ํƒ€"๋ฅผ ๋œ ์•ˆ์ •์ ์ด๊ฑฐ๋‚˜ ์ „๋ฐ˜์ ์ธ ๊ฒฝํ—˜์„ ์•…ํ™”์‹œํ‚ค๋Š” ์•Œ๋ ค์ง„ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฒฝํ—˜์€ ํ™•์‹คํžˆ ๋” ์ข‹์ง€๋งŒ ์•„์ง ์•ˆ์ •์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ์ถ”๊ฐ€ํ•˜๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ์ผ๋ถ€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด svelte2tsx ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ script ๋‚ด๋ถ€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ…œํ”Œ๋ฆฟ ๋‚ด๋ถ€์—์„œ๋„ ๋” ๋‚˜์€ ํƒ€์ดํ•‘์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋ณด๊ณ ๋œ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์žฅ๊ธฐ์ ์œผ๋กœ ๋ณผ ๋•Œ๋„ "๋ฒ ํƒ€" ๋ฒ„์ „๊ณผ "์•ˆ์ •์ ์ธ" ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘ธ์‹œํ•˜๊ณ  ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ ์ „์— ์กฐ๊ธฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” James birtles์˜ ์ถœํŒ ํ†ต์ œ๊ถŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋Š” ๊ทธ๊ฒƒ์„ ๋„˜๊ฒจ์ฃผ๊ณ  ์‹ถ์–ด?

์šฐ๋ฆฌ๋Š” ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์ง€๋งŒ ๊ทธ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ์ถ”์ง„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Svelte Beta๋Š” ๋งค์ผ ๋” ์•ˆ์ •์ ์ด๊ณ  ์‚ฌ๋žŒ๋“ค์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ด์ „ ๋ฒ„์ „(ํ˜„์žฌ ๊ฑฐ์˜ 100k)์„ ๋„ˆ๋ฌด ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž, ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. - ์ž, TODO IMO:

  • ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” GH ์›Œํฌํ”Œ๋กœ๋ฅผ ๋งŒ๋“ค์–ด ์“ฐ๊ธฐ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค( make-monaco-builds ์—์„œ ์ˆ˜ํ–‰).

    • ํŒจํ‚ค์ง€ json ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ svelte.svelte-vscode ์— svelte-vscode๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

  • ์ƒ์ ์˜ ์ƒˆ ํ™•์žฅ์ด ๋  ์ƒˆ ์‹๋ณ„์ž( svelte.svelte-vscode-nightly )๋กœ ์•ผ๊ฐ„ CI ํ‘ธ์‹œ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • https://github.com/UnwriteFun/svelte-vscode ๋Š” ์ด์ œ ์ฝ๊ธฐ ์ „์šฉ์ด๋ฏ€๋กœ PR์„ ๋งŒ๋“ค ์ˆ˜ ์—†์ง€๋งŒ ํฌํฌ๋ฅผ ๋งŒ๋“ค์–ด ์ตœ์ข… "์ด ํ™•์žฅ์œผ๋กœ ์ด๋™" ํŒ์—…์„ ๋งŒ๋“  ๋‹ค์Œ @UnwriteFun ์„ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹คโค๏ธ

์ถ”๋ฆฌ:

  • ํ˜„์žฌ ๋ฒ ํƒ€ ํ™•์žฅ์€ svelte.svelte-vscode ์ž…๋‹ˆ๋‹ค. prod ๋ฒ„์ „์— ๋Œ€ํ•ด ํ•ด๋‹น ์‹๋ณ„์ž๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚˜๋Š” semver์— ์•ฝ๊ฐ„ ์†์„ ๋Œ€์—ˆ์œผ๋ฏ€๋กœ 1.0 = v100 :D

์ข‹์€ ์†Œ๋ฆฌ!

๋‚˜ ์ž์‹ ์„ ๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด :

  • GH ์›Œํฌํ”Œ๋กœ๋Š” ํ™•์žฅ๋งŒ ๋ฐฐํฌํ•˜๊ณ  ์•ผ๊ฐ„์ด ์•„๋‹Œ ํƒœ๊ทธ์—์„œ ์‹คํ–‰๋œ๋‹ค๋Š” ์ ๋งŒ ์ œ์™ธํ•˜๋ฉด ํ˜„์žฌ ์›Œํฌํ”Œ๋กœ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์“ฐ๊ธฐ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์ƒˆ ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฆ‰์‹œ ์ž‘์—…์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • package.json ์•ˆ์— ์žˆ๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฒ„์ „์€ ์ด์ œ ์•ˆ์ • ๋ฒ„์ „์— ๋Œ€ํ•ด ์˜๋ฏธ๊ฐ€ ์žˆ์œผ๋ฉฐ 100.0.0์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. IT๊ฐ€ ๊ต‰์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ๊ฐ•์ œ๋กœ :P ).

์ด ์ผ์„ ์ฃผ๋„ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‹น์‹ ์€ ์ด๋ฏธ @UnwrittenFun ๊ณผ ์ ‘์ด‰ํ•œ ์ ์ด ์žˆ์œผ๋ฉฐ ํ™•์žฅ ๋ฐฐํฌ์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • 1, ๋„ค. prod ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋Š” "ํŒจํ‚ค์ง€ json์„ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋กœ ํŽธ์ง‘; git tag [์ˆซ์ž]; git push --tags"์ž…๋‹ˆ๋‹ค.
  • 2, ์˜ˆ, 100์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ข‹์€ ๋ผ์šด๋“œ ์‹œ์ž‘์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋„ค ํ•œ๋ฒˆ ์ฐ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿพ

@orta ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ "Svelte Beta"๋ฅผ "Svelte (Official)"๋กœ ์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Birtle์˜ ํ™•์žฅ ๊ธฐ๋Šฅ์€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋” ์ด์ƒ ์ด์— ๋Œ€ํ•œ ํ˜ผ๋ž€์ด ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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