Libsass: ๋ฆด๋ฆฌ์Šค 3.4

์— ๋งŒ๋“  2016๋…„ 09์›” 08์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sass/libsass

๊ฑฐ์˜ 2๋…„ ์ „ @mgreter ์™€ @xzyfer๊ฐ€ LibSass์— ํฌ๊ฒŒ ๊ธฐ์—ฌํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ Sass ํŒ€์€ ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ์„ ๋™๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ชฉํ‘œ๋ฅผ ํ–ฅํ•ด ๋งŽ์€ ์ง„์ „์„ ์ด๋ฃจ์—ˆ๊ณ  ๊ฑฐ์˜ ๋™์ผํ•œ ๊ธฐ๋Šฅ ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ๊ณต๊ธ‰์—…์ฒด์— ๋Œ€ํ•œ ES6 ๊ณจ๋“œ ๋Ÿฌ์‹œ์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด CSS ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋Š” Sass 3.4์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ด๋Ÿฌํ•œ ์ƒˆ๋กœ์šด CSS ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ Sass๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ๋ฐ–์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์˜์‹ํ•˜์—ฌ Sass๋Š” ๊ธฐ๋Šฅ ์ •์ง€์—์„œ ๋ฒ—์–ด๋‚ฌ๊ณ  3.5๊ฐ€ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค ํ›„๋ณด์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ 2๋…„ ๋™์•ˆ Node Sass์™€ ํ•จ๊ป˜ LibSass๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฑ„ํƒํ•˜์—ฌ ์›”๊ฐ„ ๋‹ค์šด๋กœ๋“œ ์ˆ˜๊ฐ€ 2๋ฐฑ๋งŒ ๊ฑด ์ด์ƒ์— ๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Sass ์ƒํƒœ๊ณ„์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ๋˜์—ˆ์œผ๋ฉฐ Sass 3.5๋Š” ๊ธฐ๋Šฅ์ด ๋™๋“ฑํ•ด์งˆ ๋•Œ๊นŒ์ง€ ๋ฆด๋ฆฌ์Šค ํ›„๋ณด๋กœ ๋‚จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3.4 ๋ฆด๋ฆฌ์Šค ๋ฐ 3.5 ๊ธฐ๋Šฅ ์ถœ์‹œ๊ฐ€ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ค‘์š”ํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„์„ ์ฐธ์กฐ ๊ตฌํ˜„์— ๋” ๊ฐ€๊น๊ฒŒ ์ด๋™ํ•จ์— ๋”ฐ๋ผ ๊ฐ์†Œํ•˜๋Š” ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์˜ค๋žœ ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 3.4 ์•ˆ์ • ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๊ธฐ ์ „์— ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค ์ „์— ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ์ค‘์š”ํ•œ ๋ฌธ์ œ๋งŒ ํฌํ•จํ•˜๋„๋ก Sass 3.4 ๋งˆ์ผ์Šคํ†ค ์„ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฒ„๊ทธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋กœ ์ธํ•ด LibSass๋ฅผ ์ฑ„ํƒํ•˜๊ฑฐ๋‚˜ ์˜๋ฏธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ์ถ”์ ๊ธฐ์˜ ์ถ”๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์ฃผ์— 3.3.7์„ ๋ฆด๋ฆฌ์Šคํ•˜๊ณ  ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ 3.4๋ฅผ ๋ฆด๋ฆฌ์Šคํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.

์”จํ‹ฐ์ง€์— 

  • [x] ์•ˆ๊ฒฝ(sass-eyeglass/eyeglass/pull/145)
  • [x] ์‚ฌ์Šค๋Œ€์‹œ
  • [ ] ๋ถ€ํŠธ์ŠคํŠธ๋žฉ v4-dev
  • [ ] ๊ธฐ๋ฐ˜

    ํšŒ๊ท€

  • [x] @at-root ํšŒ๊ท€(#2198)

  • [x] @extends ํšŒ๊ท€(#2200)

/cc @chrisepstein @nex3

Sass 3.4

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

3.3.7์€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 3.4 ๋ฆด๋ฆฌ์Šค ํ›„๋ณด์ž…๋‹ˆ๋‹ค.
์–ธ์ œ ์ผ์–ด๋‚ ์ง€ ์žฅ๋‹ดํ•  ์ˆ˜ ์—†์ง€๋งŒ ํ˜„์žฌ ์ผ๋ถ€ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ž‘์—….

2016๋…„ 10์›” 7์ผ ์˜ค์ „ 7์‹œ 29๋ถ„์— "Anthony Sottile" [email protected]์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @xzyfer https://github.com/xzyfer ๋ชจ๋“  ๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

3.3.7์„ ์–ธ์ œ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜์—ฌ ํ›„์† ์กฐ์น˜๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ„์„ ๊ณ„ํšํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/sass/libsass/issues/2174#issuecomment -252079100 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AAjZWNIV0ryXFjvKj2q1q3sRsUXzRHU_ks5qxVoXgaJpZM4J4BOt
.

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

๋ชจ๋“  3.4 ์ฐจ๋‹จ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค ๐ŸŽ‰
๋‚˜๋Š” CITGM 3.4๋ฅผ ํ•  ๊ฒƒ์ด๊ณ  ์ด๋ฒˆ ์ฃผ์— RC๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

CITGM์„ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ฐพ์€

  • ์•ˆ๊ฒฝ ํ…Œ์ŠคํŠธ ์‹คํŒจ(#2197)๋ฅผ ์œ ๋ฐœํ•˜๋Š” ํšŒ๊ท€(#2171)
  • sass-spec์ด ์ž๋™์œผ๋กœ ์‹คํŒจํ•˜๋„๋ก ํ•˜๋Š” ํšŒ๊ท€(#2189)(sass/sass-spec#932)

๋‚˜๋Š” ์—ฌ์ „ํžˆ ํšŒ๊ท€ ๊ธฐ์ดˆ์™€ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์ด ์—†๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @xzyfer ๋ชจ๋“  ๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

3.3.7์„ ์–ธ์ œ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜์—ฌ ํ›„์† ์กฐ์น˜๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ„์„ ๊ณ„ํšํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.3.7์€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 3.4 ๋ฆด๋ฆฌ์Šค ํ›„๋ณด์ž…๋‹ˆ๋‹ค.
์–ธ์ œ ์ผ์–ด๋‚ ์ง€ ์žฅ๋‹ดํ•  ์ˆ˜ ์—†์ง€๋งŒ ํ˜„์žฌ ์ผ๋ถ€ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ž‘์—….

2016๋…„ 10์›” 7์ผ ์˜ค์ „ 7์‹œ 29๋ถ„์— "Anthony Sottile" [email protected]์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @xzyfer https://github.com/xzyfer ๋ชจ๋“  ๋ฉ‹์ง„ ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)

3.3.7์„ ์–ธ์ œ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜์—ฌ ํ›„์† ์กฐ์น˜๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ„์„ ๊ณ„ํšํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/sass/libsass/issues/2174#issuecomment -252079100 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AAjZWNIV0ryXFjvKj2q1q3sRsUXzRHU_ks5qxVoXgaJpZM4J4BOt
.

์ด๋ฒˆ ์ฃผ๋ง์— CITGM์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  3.4 RC1์„ ์น˜๋ฅผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ฒดํฌ์ธํ–ˆ๋Š”๋ฐ 3.4 RC1 ์ถœ์‹œ๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ์š”์†Œ๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?

3.4.0RC1์ด ์ถœ์‹œ๋˜์—ˆ์œผ๋‹ˆ ํ…Œ์ŠคํŠธ ํ•ด๋ณด์„ธ์š”. ์ด๋ฒˆ์ฃผ๋‚ด๋กœ ์•ˆ์ •๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค
์ •๋„. node-sass@beta ๋ฅผ ํ†ตํ•ด ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2016๋…„ 12์›” 7์ผ ์˜ค์ „ 11์‹œ 29๋ถ„์— "stepmr" [email protected]์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒดํฌ์ธ๋งŒ ํ•˜๋ฉด 3.4 RC1 ์ถœ์‹œ๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/sass/libsass/issues/2174#issuecomment-265318079 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AAjZWGXV2JehgkKRdT0irrZmxmEoHVhiks5rFf3QgaJpZM4J4BOt
.

fwiw, https://github.com/dahlia/libsass-python์˜ ๋งˆ์Šคํ„ฐ๋ฅผ ํ†ตํ•ด ~70kloc์˜ scss์— ๋Œ€ํ•œ ์ถœ๋ ฅ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! :๋”ฐ๋‹ค:

๋˜ํ•œ node-sass, gulp-sass ๋ฐ grunt-sass์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค.

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