Slide 1

Slide 1 text

TSLint will be deprecated Migration to typescript-eslint Masashi Hirano @shisama kansai.ts #2

Slide 2

Slide 2 text

ฏ໺ ণ࢜ / Masashi Hirano αΠϘ΢ζגࣜձࣾ ɹɹ ϑϩϯτΤϯυΤΩεύʔτνʔϜ @shisama_ @shisama Node.js Core Collaborator ؔ੢NodeֶԂOrganizer

Slide 3

Slide 3 text

Agenda • TSLint Roadmap • typescript-eslint • Migration to typescript-eslint

Slide 4

Slide 4 text

https://palantir.github.io/tslint/

Slide 5

Slide 5 text

TSLint • TypeScript༻ͷ੩తղੳπʔϧ • CLIΛ࣮ߦ͢ΔͱTypeScriptͷϑΝΠϧͷղੳΛͯ͠ఆٛͨ͠ ϧʔϧΛνΣοΫ͢Δ͜ͱ͕Ͱ͖Δπʔϧ • Πϯσϯτͱ͔ίʔυͷελΠϧͷνΣοΫͳͲ • ϩδοΫͷෳࡶ౓ͳͲ΋νΣοΫͰ͖Δ

Slide 6

Slide 6 text

ΊͬͪΌศརͳΜ͚ͩͲɺ 2019೥ϝϯςφϯεΛऴྃ͠·͢

Slide 7

Slide 7 text

https://github.com/Microsoft/TypeScript/issues/29288

Slide 8

Slide 8 text

https://github.com/Microsoft/TypeScript/issues/29288 54-JOU͸ύϑΥʔϚϯε͕ѱ͍ɻΞʔΩς Ϋνϟ্ʹ໰୊͕͋Δ͔Β5ZQF4DSJQUͱͯ͠͸ &4-JOUΛ࢖͍ͬͯ͘Α

Slide 9

Slide 9 text

https://github.com/palantir/tslint 54-JOUXJMMCFEFQSFDBUFETPNFUJNFJO

Slide 10

Slide 10 text

https://github.com/palantir/tslint/issues/4534

Slide 11

Slide 11 text

https://github.com/palantir/tslint/issues/4534

Slide 12

Slide 12 text

TSLint Roadmap • 2019/8/1ɾɾɾίΞͷϧʔϧ௥ՃΛετοϓ • 2019/11/1ɾɾɾػೳ௥Ճɺϧʔϧ֦ுΛετοϓ • 2020/1/1ɾɾɾηΩϡϦςΟҎ֎ͷߋ৽Λ͢΂ͯετοϓ • 2020/12/1ɾɾɾ͢΂ͯͷPull Requestͷड෇Λετοϓ

Slide 13

Slide 13 text

https://github.com/typescript-eslint/typescript-eslint

Slide 14

Slide 14 text

typescript-eslintͱ͸ • TypeScriptΛESLintͰνΣοΫ͢ΔͨΊͷϓϥάΠϯͳͲΛ؅ཧ ͍ͯ͠Δ • ESLintνʔϜͱTypeScriptνʔϜ͕ڠྗ͍ͯ͠Δ • ΋ͱ΋ͱ͋ͬͨeslint/typescript-eslint-parserͳͲ͸Deprecated

Slide 15

Slide 15 text

https://teppeis.hatenablog.com/entry/2019/02/typescript-eslint UZQFTDSJQUFTMJOUͷ࢖͍ํͳͲ͸ͪ͜Β΁

Slide 16

Slide 16 text

Migrate to typescript-eslint • ҎԼͷύοέʔδ͕ඞཁ • @typescript-eslint/eslint-plugin • tslint.jsonΛ.eslintrcʹॻ͖׵͑Δඞཁ͕͋Δ

Slide 17

Slide 17 text

https://teppeis.hatenablog.com/entry/2019/02/typescript-eslint QMVHJOTɺQBSTFSɺQBSTFS0QUJPOTͷઃఆ͕ඞཁ

Slide 18

Slide 18 text

https://github.com/typescript-eslint/tslint-to-eslint-config

Slide 19

Slide 19 text

tslint-to-eslint-configͱ͸ • tslint.jsonΛ.eslintʹίϯόʔτ͢ΔCLIπʔϧ • typescript-eslintνʔϜ͕։ൃ • ੜ੒͢Δܗࣜ͸JSΦϒδΣΫτͱJSONΛαϙʔτ • npx tslint-to-eslint-configΛ࣮ߦ͢Δͱtslint.jsonΛಡΜͰeslintrc.js ͱ͍͏ϑΝΠϧΛੜ੒͠·͢

Slide 20

Slide 20 text

https://qiita.com/shisama/items/b3d63142797b07cb554e ϑΝΠϧ໊ͷࢦఆ΍+40/ग़ྗͳͲ Φϓγϣϯʹ͍ͭͯ͸ͪ͜Β΁

Slide 21

Slide 21 text

https://qiita.com/shisama/items/b3d63142797b07cb554e ͱ͸͍͑ɺ׬ᘳͰ͸ͳ͍ʂ ੜ੒͞ΕͨFTMJOUSDΛ खͰमਖ਼͢Δඞཁ͕͋ΔͷͰ஫ҙʂ

Slide 22

Slide 22 text

·ͱΊ • TSLint࢖͍ͬͯΔਓ͸ૣΊʹESLintʹҠߦ͢Δඞཁ͕͋Δ • ࠓޙ͸typescript-eslint + ESLintͰTypeScriptͷLintΛ͠·͠ΐ͏ • tslint-to-eslint-configΛ࢖͏ͱҠߦ͸ΘΓͱεϜʔζʹ͍͔͘΋ • typescript-eslintνʔϜ։ൃͳͷͰվળ͞Ε͍ͯ͘ͷΛظ଴

Slide 23

Slide 23 text

Thanks. @shisama_ @shisama