10. Stylelint

  • Intro

    • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด, ๋น„์ฆˆ๋‹ˆ์Šค์— ๋ชฐ๋‘ํ•œ ๋‚˜๋จธ์ง€ ์ผ๊ด€๋œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

    • ์ฝ”๋”ฉ์„ ํ•จ๊ป˜ ๋งŒ๋“œ๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด, ํŒ€๋ฌธํ™”์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์ง€๋งŒ ์‹ ๊ฒฝ์จ์•ผํ•œ๋‹ค.

    • ํ‘œํ˜„์˜ ์ผ๊ด€์„ฑ์„ ๋งž์ถ”๊ณ , ๋ฌธ๋ฒ•์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

    • ์ด๋ฅผ ๋„์™€์ฃผ๋Š” stylelint๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ!!

  • ์‹ค์Šต

    • ๋ชจ๋“ˆ์„ค์น˜

      npm i stylelint stylelint-scss stylelint-webpack-plugin stylelint-config-standard -D
    • ํ•ด์•ผํ•  ๊ฒƒ

      • stylint๊ฐ€ webpack์—์„œ ๋™์ž‘๋ ์ˆ˜์žˆ๋„๋ก ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€

        • webpack.dev.jsํŒŒ์ผ(๊ฐœ๋ฐœ๊ณผ์ •์— ์“ฐ๊ธฐ ๋•Œ๋ฌธ)

          • style-webpack-plugin ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ณ , plugins ์„ค์ •

        • .stylelintrcํŒŒ์ผ ์ƒ์„ฑ

          • stylelint-config-standard ์„ค์ • ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ผ

          • ๋งˆ์ง€๋ง‰์ด rc๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์€ CLI๊ฐ€ ๋™์ž‘๋  ๋•Œ ์„ค์ •๋“ค์ด ๋ฐ˜์˜๋  ์ˆ˜์žˆ๋„๋ก ํ•˜๋Š” ๊ณตํ†ต ํŒŒ์ผ์ด๋ฆ„.

          • ๋‚˜์˜ ๊ฒฝ์šฐ prettier ์„ค์ •๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„์„ ํ•ด๊ฒฐํ•ด๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€ํ•จ

            {
            "extends": "stylelint-config-standard",
            "rules": {
                    "indentation": 4,
                    "number-leading-zero": null,
                    "no-missing-end-of-source-newline": null,
                }
            }
            • iindentation: prettier๋Š” 4์ธ๋ฐ, default๊ฐ€ 2์˜€๋Š”์ง€ error๋‚˜์„œ 4๋กœ ์ˆ˜์ •

            • no-missing-end-of-source-newline:null => ๋ฌธ์„œ ๋งจ ๋งˆ์ง€๋ง‰๋‹จ์— \n์•ˆ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š” ์„ค์ •

      • stylint-config-standard๋ผ๊ณ  ํ•˜๋Š” ์„ค์ •๋‚ด์šฉ์ด lint๊ฐ€ ์ž‘๋™ํ–ˆ์„๋•Œ ๋ฐ˜์˜๋˜๊ฒŒ๋” ์—ฐ๊ฒฐ

Last updated