JavaScript
Node.js
vue.js
VSCode
Vuex

JavascriptでVuex.Storeのmoduleを書く際、VS Codeのコードアシストを効かせる

概要

Vuex.Storeのmoduleはplain objectで記述する必要があります。
しかしこれだとVSCodeの補完が効かなくて悲しくなってきます。

image.png

Vuex.Storeのコンストラクタだと具合良く補完が効くのですが・・

解決策: JSDocを記述した薄いラッパーをかませる

そこで、こんな感じの薄いfunctionを用意しました。

store_module.js
import {StoreOptions} from 'vuex' // eslint-disable-line

/**
 * @template T
 * @param {StoreOptions<T>} options
 * @returns {StoreOptions<T>}
 */
export default function StoreModule(options) {
  return options
}

これをかますと、いい感じで補完が効くようになります。

image.png

素直にTypeScriptを使ったほうがいいんでしょうけど。。