12/14 Nihonbashi.js #3 100star以下限定!細かすぎて伝わらない自作ライブラリ選手権。
s2sSource to Source
View Slide
GitHubͰs2sͱݕࡧ͢Δͱग़͖ͯ·͢https://github.com/akameco/s2s
͡Ίʹ
AtomͱteletypeΛ͍·͢ɻڥ͕͋Δਓ४උΛ͍ͯͩ͘͠͞
ߏ• ࣗݾհ• σϞ 3• എܠ• Έ• ͦͷଞ• ϑΟʔυόοΫ 1
ࣗݾհ• ͔͋Ί( @akameco )• ઌ݄༑ਓୡͱϨόχϥΛ৯ʹߦͬͨΒશһΠϧεੑңԌͰ2िؒμϯ͠·ͨ͠• ਐḿΛग़͢ʹԿΑΓ݈߁͕ඞཁͩͱΘ͔Γ·ͨ͠
ޱ಄Ͱઆ໌͢ΔΑΓݟͯΒ͏ํ͕͍ͱࢥ͍·͢ͷͰɺ·ͣσϞ(3ఔ)Λ͠·͢
AtomͷteletypeΛ࣮ͬͯࡍʹίʔσΟϯά͠·͢Atomڥ͕ͳ͍ํը໘ͷํͰ·ͨɺಈ࡞͕ͬ͞Γͨ͠Β࿈ܞΛΓ·͢
https://youtu.be/hPR0SCaz-Wg
എܠ• reduxϘΠϥʔϓϨʔτ͕ଟ͍ɻ• ͔͠͠อकతͳ؍ͰϚΫϩతͳղܾΛͨ͘͠ͳ͍(Ϗϧυ࣌babelplugin)• ͘ॻͨ͘Ί͚ͩʹ͍ͭෆཁʹͳΔ͔Θ͔Βͳ͍ϥΠϒϥϦΛಋೖͨ͘͠ͳ͍
ͰɺͲ͏͢Δ͔ʁ• ࠓ͋Δ࣮ͷ··ɺߴʹॻ͘• ਓؒͰݶք͕͋ΔɺϓϩάϥϜʹΑͬͯϓϩάϥϜΛॻ͘• ͜ΕΛίʔσΟϯάλΠϜίϯύΠϧͱ໋໊ͨ͠• ͜ͷ͋ͨΓ͜ͷεϥΠυ͕͍ͷͰΦεεϝͰ͢ ”͜Ε͔ΒͷϝλϓϩάϥϛϯάJavaScriptͷਖ਼ٛΛޠΖ͏” by erukiti ͞Μ https://speakerdeck.com/erukiti/meta-programming-javascript-is-justice
ۙͳΠϝʔδͩͱs2sfateͰ͍͏ͱ͜ΖͷӨຐज़Ͱ͢
ར• ΤσΟλͷϓϥάΠϯͰͳ͍ͨΊڥͷϩοΫΠϯ͕ͳ͍• λΠϙ͕ݮΔ• มߋʹڧ͍• s2sʹै͏ݶΓ୭͕ॻ͍ͯಉ͡ग़ྗʹͳΔ• ίʔσΟϯάͷߴԽͰ͔͠ͳ͍ͨΊs2sࣗମΛ͍ͭͰࣺͯΒΕΔ
Έ
v0.1~
typescriptʹରԠͯ͠΄͍͠
ϋϯυϥʔϑοΫ(ܗ)v0.14~ݱࡏ
ϋϯυϥʔΛಋೖ
ϋϯυϥʔΛಋೖ• ίʔυΛड͚औͬͯίʔυΛฦ͢ͱ͍͏݅Λຬͨؔ͢Ͱ͋ΕԿͰ͍͍• σϑΥϧτͰɺjsͩͬͨΒBabel͕࣮ߦ͞ΕɺtsͩͬͨΒBabel7+TypeScriptPlugin͕࣮ߦ͞ΕΔ• ͜ΕʹΑͬͯɺ࣮ࡍͲΜͳϑΝΠϧͰ͋ΕίʔσΟϯά࣌ʹॲཧ͕Մೳʹͳͬͨ(md,css,html,...)
Hookʹ͍ͭͯ• ͳͥ͜ͷඞཁ͕͋Δ͔ͱ͍͏ͱBabelͷग़ྗσϑΥϧτͰμϒϧίʔςʔγϣϯͩͬͨΓɺηϛίϩϯ͕͍ͯͨΓ͢Δ͔Β• ओʹίʔυΛग़ྗͨ͠ޙͷܗΛߦ͏• σϑΥϧτͰprettierɻϓϩδΣΫτͷrcʹै͏• ઌtslintʹରԠ by kamijin-fanta ͞Μ
ϓϩδΣΫτʹͲ͏ಋೖ͢Δ͔ʁ• ࣗͷϓϩδΣΫτʹಠࣗͷϓϥάΠϯΛಋೖ͍ͨ͠߹ɺ৽ͨʹϓϥάΠϯΛެ։͢Δඞཁͳ͘ɺs2s.config.js͔Β૬ରతʹrequireͰ͖Δ• ྫ͑ erukiti͞Μͷ https://github.com/erukiti/spike-react-redux-using-s2s ͰscriptsσΟϨΫτϦҎԼʹϓϥάΠϯΛஔͯ͠ར༻͍ͯ͠Δ
ͪΐ͏Ͳ͍͍νϡʔτϦΞϧʁ• cndlhvn ͞Μͷhttps://github.com/cndlhvn/s2s-redux-actions-sample ͕Φεεϝ (redux-saga + redux-actions)• ਖ਼ެࣜͷ100ഒ͙Β͍ஸೡͳreadme͕༻ҙͯ͋͠ΓެࣜͷαϯϓϧΑΓΦεεϝ• ͦͯ͠ؾ͍ͮͨͱ͖ʹࣗΑΓcndlhvn͞Μͷํ͕s2s-pluginΛެ։ͯͨ͠• ৽͘͠ManagerPluginͱݺΕΔ֓೦Λಋೖ͍ͯͯ͠໘ന͍
·ͱΊ
࣭ͱ͍ϑΟʔυόοΫλΠϜ
ࠓճͷΦνteletypeΛͬͯσϞ͢Δ͜ͱͰɺAtomʹϩοΫΠϯ͢Δ͜ͱͰڥʹϩοΫΠϯ͞ΕΔ͜ͱͲ͏͍͏͜ͱ͔Λ࣮ԋͯ͠Έ·ͨ͠s2sʹϩοΫΠϯ͋Γ·ͤΜΑʁͲ͏͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ