npmパッケージ製作に関するあれこれ
by
Tyankatsu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
npmύοέʔδ࡞ʹؔ͢Δ ͋Ε͜Ε
Slide 2
Slide 2 text
ͨͿΜ࣌ؒΓͳ͍ͷͰ ৄࡉϒϩάʹॻ͖·͢ɻ
Slide 3
Slide 3 text
ࣗݾհ • νϟϯΧπ(@tyankatsu5) • ϑϩϯτΤϯυΤϯδχΞ • ࠷ۙGridsomeʹϋϚͬͯΔ • ޮԽେ͖Ϛϯ
Slide 4
Slide 4 text
cz-format-extension ΛೋਓͰ࡞ͬͯ·͢ɻ
Slide 5
Slide 5 text
࣍ • ύοέʔδ໊Λߟ͑Δ • ެ։ܗࣜΛߟ͑Δ • ϒϥοΫϦετͱϗϫΠτϦετ • npm publishͷ᠘ • CHANGELOG.mdΛ࡞Δ • CONTRIBUTING.mdΛ࡞Δ • TemplateͰissueͱPRΛ͖Ε͍ʹग़ͤΔΑ͏ʹ͢Δ • travisͰnpmʹύοέʔδެ։ͯ͠Β͏ • travisͰσϓϩΠ࣌ͷnpmͷೋஈ֊ೝূͷ᠘
Slide 6
Slide 6 text
ͷpackageͷ࡞ۀͷྲྀΕ • τϐοΫϒϥϯνͰ࡞ۀ • commitʢcommitizenͬͯͬͯ·͢✌ʣ • betaϒϥϯνʹऔΓࠐΉϓϧϦΫΛग़͢ • ࠷ऴతʹbeta͔ΒmasterʹऔΓࠐΉ • ϦϦʔεόʔδϣϯʹ֘͢ΔscriptΛଧͭ • travisͰnpmʹެ։ͯ͠Β͏ m b t
Slide 7
Slide 7 text
ύοέʔδ໊Λߟ͑Δ
Slide 8
Slide 8 text
໊લͳʔ ӳޠͳʔ
Slide 9
Slide 9 text
ʮਥೋපશ։Ͱߟ͑ͨΒ͍͍Αʯ
Slide 10
Slide 10 text
ͳΔ΄Ͳ
Slide 11
Slide 11 text
ީิߟ͑ͨ • cz-customizable-format • cz-starter-format • cz-custom-format • cz-origin-format • cz-format-extension
Slide 12
Slide 12 text
શ෦͔ͬͪΐ͍͍
Slide 13
Slide 13 text
cz-format-extension • Β͕࡞Γ͍ͨύοέʔδʹ߹ͬͯΔ • ໊લ͔Βਪଌ͍͢͠ • ࣅͨύοέʔδ໊͕ͳ͍
Slide 14
Slide 14 text
ެ։ܗࣜΛߟ͑Δ
Slide 15
Slide 15 text
scope͢Δ͔൱͔
Slide 16
Slide 16 text
// scoped package yarn add @tyankatsu0105/package-name //unique name package yarn add package-name ҧ͍
Slide 17
Slide 17 text
༻్ʹΑΔ
Slide 18
Slide 18 text
அج४ scope͢Δ߹ • ͱΓ͕͍͍͔͋͑ͣࣗͨΒ • ໊͍͍ͨલطʹ͚͋ͬͨͲৡΕͳ͍ scope͠ͳ͍߹ • ΈΜͳʹͬͯ΄͍͠ • ͳΜ͔͔ͬͪΐ͍͍✌
Slide 19
Slide 19 text
அج४ scope͢Δ߹ • ͱΓ͕͍͍͔͋͑ͣࣗͨΒ • ໊͍͍ͨલطʹ͚͋ͬͨͲৡΕͳ͍ scope͠ͳ͍߹ɹˡ࠾༻✌✌✌✌ • ΈΜͳʹͬͯ΄͍͠ • ͳΜ͔͔ͬͪΐ͍͍✌
Slide 20
Slide 20 text
ϒϥοΫϦετͱ ϗϫΠτϦετ
Slide 21
Slide 21 text
.npmignore • ͍ΘΏΔϒϥοΫϦετ • publish࣌ʹআ֎͍ͨ͠ϑΝΠϧΛॻ͘
Slide 22
Slide 22 text
package.json filesϑΟʔϧυ • ͍ΘΏΔϗϫΠτϦετ • publishͷରʹ͍ͨ͠ϑΝΠϧΛॻ͘
Slide 23
Slide 23 text
ซ༻Ͱ͖Δ package.jsonͷfilesͰରʹͨ͠ϑΥϧμͷ த͔Βɺ .npmignoreͰɺର֎ϑΝΠϧΛࢦఆՄೳ Έ͍ͨͳ͜ͱ͕Ͱ͖Δɻ
Slide 24
Slide 24 text
package.json files ͚ͩͰࣄΓͯ·͢ɻ
Slide 25
Slide 25 text
travisͰσϓϩΠ࣌ͷ npmͷೋஈ֊ೝূͷ᠘
Slide 26
Slide 26 text
ηΩϡϦςΟͷͨΊʹ npmʹ2FAઃఆͯ͠·͢
Slide 27
Slide 27 text
npmͷ E-mail,token travisͷڥมʹ
Slide 28
Slide 28 text
ʮOTP!!OTP!!OTP!!OTP!!ʯ
Slide 29
Slide 29 text
travisͰOTPฉ͔Ε·ͨ͠ɻ ຊʹ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
Slide 30
Slide 30 text
2FAʹLevel͕͋Δ
Slide 31
Slide 31 text
npm profile enable-2fa auth-only https://tailordev.fr/blog/2018/03/15/automated-npm-releases-with-travis-ci/
Slide 32
Slide 32 text
auth-onlyͰOTPฉ͔ΕΔ࣌ • npmʹϩάΠϯ͢Δ࣌ • 2FAΛআ͢Δ࣌
Slide 33
Slide 33 text
ଓ͖ ϒϩάͰʂʂʂ
Slide 34
Slide 34 text
࠷ޙʹ
Slide 35
Slide 35 text
ԬͰnpmͷ ύοέʔδ։ൃ͘͘ձ ͠·͠ΐ͏ɻ
Slide 36
Slide 36 text
͜Εͱ͔ʂʂ
Slide 37
Slide 37 text
https://cdg.connpass.com/event/109381/
Slide 38
Slide 38 text
͓ΘΓ