VeturにTypeScript3.7のOptional Chainingを適用してみる
TL;DR
settings.json
{
// Use dependencies from workspace. Currently only for TypeScript.
"vetur.useWorkspaceDependencies": true,
}
概要
{
// Use dependencies from workspace. Currently only for TypeScript.
"vetur.useWorkspaceDependencies": true,
}
TypeScript 3.7のOptional Chainingは最高!!
いつも「なんで?.
で書けないんだ」って思っていたけど、ついに来た!
ただ...VueというかVeturで使うには...
Veturは固定のTypeScriptバージョンに依存している1。
最新サポートしているバージョンはVetur0.22.3のTypeScript3.6.3。
このままTypeScript 3.7のOptional Chainingを書いたら、Veturに怒られる!
トランスパイルしているのはあくまでtsc
なので、実害があるわけじゃないが、Intelligenceが効かなくなるのは相当な痛手だ。
解決策
探してみたらちゃんとあった、
Allow using workspace typescript version#682
how can i use optionalChaining?#1438
Vetur 0.17.0以降、"vetur.useWorkspaceDependencies"
のオプションを設定できるらしい。
字面通りの意味なら、この設定をしたら、ワークスペースのTypeScriptバージョンを使ってくれるみたい!
ワークスペースのTypeScript
のバージョンを3.7.2に上げて、
$ npm install [email protected] --save-dev
ESLintのparserの@typescript-eslint/parser
を最新バージョンの2.7.0に更新する。(3.7.2対応のparserにしないと表示が色々おかしくなる)
$ npm install @typescript-eslint/[email protected] --save-dev
VSCodeのsettings.json
に
{
// Use dependencies from workspace. Currently only for TypeScript.
"vetur.useWorkspaceDependencies": true,
}
を追加したら、Optional Chainをちゃんと認識してくれるようになった!(VSCodeの再起動必須)
使用環境
TypeScript 3.7.2
VSCode 1.40.0
Vetur 0.22.6
ESLint 5.16.0
ESLint 設定
module.exports = {
parserOptions: {
parser: '@typescript-eslint/parser',
},
extends: [
// ...
],
};
-
how can i use optionalChaining?#1438 Comment https://github.com/vuejs/vetur/issues/1438#issuecomment-533952010 ↩
Author And Source
この問題について(VeturにTypeScript3.7のOptional Chainingを適用してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/ibara1454/items/10d6091858db106e717b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .