Slide 1

Slide 1 text

PostCSS෼͔Μͳ͍͔Β৮ͬͯΈͯ ͍ͭͰʹ stylelintͷconfigΛ࡞͍ͬͯΔ࿩ 4/25 Զͷ࿩Λฉ͚ʂʂLTେձ #13 #chibi_developer

Slide 2

Slide 2 text

ࣗݾ঺հ • νϟϯΧπ(@tyankatsu5, @tyankatsu_en) • ϕΨίʔϙϨʔγϣϯ • LaigͷϑϩϯτΤϯυΤϯδχΞ • Member of Gridsome

Slide 3

Slide 3 text

ࠓ೔࿩͢͜ͱ • PostCSSͱ͸ • PostCSSͰצҧ͍ͯͨ͜͠ͱ • PostCSSͰΦϦδφϧͷϓϥάΠϯΛ࡞Δ • stylelint-config-ecss • ͓·͚

Slide 4

Slide 4 text

PostCSSͱ͸

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

PostCSS • JSʢnode.jsʣͰCSSߏจม׵Ͱ͖Δ΍ͭ • ϓϥάΠϯΛ։ൃ͢ΔϑϨʔϜϫʔΫతͳϊϦ • PostCSSΛ࢖༻ͨ͠ϥΠϒϥϦ͕༗໊ • Autoprefixer • stylelint • postcss-preset-env

Slide 7

Slide 7 text

ௐ΂Δ·Ͱޡղͯͨ͜͠ͱ

Slide 8

Slide 8 text

PostCSSͬͯSASSͷΑ͏ͳ ϓϦϓϩηοαͩΑͶ

Slide 9

Slide 9 text

PostCSSͬͯSASSͷΑ͏ͳϓϦ ϓϩηοαͩΑͶ • ҧ͏ɻ • PostCSSೖΕ·ͨ͠Ͱ͸Կ΋Ͱ͖ͳ͍ɻ • PostCSSΛ࢖ͬͯ࡞ΒΕͨϓϥάΠϯ͕͋ͬͯॳΊͯ ػೳ͢Δɻ

Slide 10

Slide 10 text

PostCSS͕Ͱ͖ͯ ϓϥάΠϯ͕Ͱ͖ͨʁ

Slide 11

Slide 11 text

PostCSS͕Ͱ͖ͯ ϓϥάΠϯ͕Ͱ͖ͨʁ • ҧ͏ɻݩʑAutoprefixerͷͨΊʹPostCSS͸࡞ΒΕ ͨɻ • reworkͱ͍͏cssจࣈྻΛ͝ʹΐ͝ʹΐͰ͖Δ΍͕ͭ ͋ͬͨ • Andrey Sitnik͕reworkΛ༻͍ͯrework-venderΛ ࡞ͬͨ

Slide 12

Slide 12 text

PostCSS͕Ͱ͖ͯ ϓϥάΠϯ͕Ͱ͖ͨʁ • rework-vender͸Autoprefixerʹ໊લΛม͑ͨ https://github.com/postcss/autoprefixer/commit/ 419a77d4d871a1d7be34ff7129e3cbf7fb755b0c • ౰࣌ͷAutoprefixerͷ໾ׂ • ϕϯμʔϓϨϑΟοΫε෇༩ • όϯυϧαΠζॖখʢminifyʣ • code errorͷࢦఠ

Slide 13

Slide 13 text

PostCSS͕Ͱ͖ͯ ϓϥάΠϯ͕Ͱ͖ͨʁ • Ͱ΋ɺͲΕ΋ύʔεͯ͠ɺASTΛ͍͡Δ࡞ۀ͕ඞཁʹ • ͳΒ͍ͬͦreworkΈ͍ͨͳ΍ͭʹ੾Γग़ͯ͠ɺnode ͷલॲཧ͢Δ΍ͭ࡞Ζ͏ PostCSS஀ੜ

Slide 14

Slide 14 text

PostCSS͕Ͱ͖ͯ ϓϥάΠϯ͕Ͱ͖ͨʁ • https://evilmartians.com/chronicles/five-years-of- postcss-state-of-the-union • https://github.com/postcss/autoprefixer/commit/ 419a77d4d871a1d7be34ff7129e3cbf7fb755b0c • https://qiita.com/morishitter/items/ 4a04eb144abf49f41d7d#%E6%AD%B4%E5%8F% B2

Slide 15

Slide 15 text

PostCSSͰ ΦϦδφϧͷ ϓϥάΠϯΛ࡞Δ

Slide 16

Slide 16 text

ͨͿΜ࣌ؒແ͍ͷͰ

Slide 17

Slide 17 text

https://github.com/ tyankatsu0105/try-postcss

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

PostCSSͰϓϥάΠϯ࡞ͬͯΈ ͯ • ϓϩύςΟͷ૸͕ࠪ؆୯ • ΦϒδΣΫτΛΦϓγϣϯͱͯ͠؆୯ʹઃఆͰ͖Δ • ΨΠυϥΠϯ͋ͬͨ https://github.com/postcss/ postcss/blob/master/docs/guidelines/plugin.md • ηϛίϩϯͷऔಘํ๏෼͔Βͳ͔ͬͨ(semicolon: ɹͳΒ͋ͬͨ)

Slide 21

Slide 21 text

stylelint-config-ecss

Slide 22

Slide 22 text

https://github.com/ tyankatsu0105/stylelint- config-ecss

Slide 23

Slide 23 text

stylelint-config-ecss • namespace-ModuleName_ChildNode-variant • namespace-ComponentName_ChildNode-variant • modulename-ComponentName_ChildNode-variant

Slide 24

Slide 24 text

stylelint-config-ecss • ECSS޲͚ͷstylelintϧʔϧ܈ • ͜ΕΈͯ޷͖ʹͳͬͨϧʔϧ (Vueίϯϙʔωϯτʹ ߹ΘͤͨCSSͷ໋໊نଇΛߟ͑ͨ - Qiita) • ҰԠstylelintͷ঺հ΋ECSSΨΠυ಺Ͱ΍ͬͯΔ͚ Ͳɺϧʔϧ͕ݹ͍͠ϧʔϧηοτʢconfigʣ͕ͳ͍ (http://ecss.io/chapter9.html#stylelint)

Slide 25

Slide 25 text

·ͱΊ • PostCSS͸࿉ۚज़ͱѱຐͷੈք؍ • PostCSS͸CSSߏจͷύʔεͱηϨΫλΛఏڙ • PostCSSͷྺ࢙͸Autoprefixerͱڞʹ͋Δ • PostCSSϓϥάΠϯ͸؆୯ʹ࡞ΕΔ • ECSS޲͚ͷstylelint config࡞ͬͯ·͢

Slide 26

Slide 26 text

͓ΘΓ

Slide 27

Slide 27 text

͓·͚

Slide 28

Slide 28 text

stylelint-plugin-ecss

Slide 29

Slide 29 text

https://github.com/ tyankatsu0105/stylelint- plugin-ecss

Slide 30

Slide 30 text

stylelint-plugin-ecss • طଘͷstylelintϧʔϧ͚ͩͰ͸ແཧͳܯࠂΛࣗ෼Ͱ ϧʔϧ࡞ͬͯࢦఠ͢ΔΑ͏ʹͨ͠ɻ • ecss/ ͷωʔϜεϖʔεͰ࢖༻Մೳ • stylelint-config-ecssͱͷซ༻Λ૝ఆͨ͠plugin

Slide 31

Slide 31 text

͔Βͷ

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

stylelint organization JOIN

Slide 34

Slide 34 text

ࣗݾ঺հ • νϟϯΧπ(@tyankatsu5, @tyankatsu_en) • ϕΨίʔϙϨʔγϣϯ • LaigͷϑϩϯτΤϯυΤϯδχΞ • Member of Gridsome • Member of stylelint ← NEW !!

Slide 35

Slide 35 text

ຊ୊ͱશؔ͘܎ͳ͍ߏ૝

Slide 36

Slide 36 text

ESLintͱstylelint Ͳͬͪ΋plugin࡞ͬͨ

Slide 37

Slide 37 text

ମܥతʹ෼͔Δ configͱpluginͷ࡞Γํ ͋ͱTIPS ·ͱ·ͬͯͨΒخ͍͠ʁʁ

Slide 38

Slide 38 text

࠶౓͓ΘΓ