ちょいメモ。
Flowtype の Utilty Types を使っていて
type Exact<T> = T & $Shape<T>;
などと書いたら ESLint でエラーになった。
error '$Shape' is not defined no-undef
eslint-plugin-flowtype は導入済みで、各バージョンは以下の通り。
$ npm list --depth=0 | grep eslint ├── babel-eslint@7.2.2 ├── eslint@3.19.0 ├── eslint-config-airbnb@13.0.0 ├── eslint-plugin-flowtype@2.30.4 ├── eslint-plugin-import@2.2.0 ├── eslint-plugin-jsx-a11y@2.2.3 ├── eslint-plugin-react@6.10.3
解決策
.eslintrc
に以下の2行を追加すると出なくなった。
"rules": { ... + "flowtype/define-flow-type": 1, + "flowtype/use-flow-type": 1, }
が、それぞれ何を指しているのか、したがってなぜこれでエラーが出なくなったかはよくわかっていない。
ここにたどり着いたのはたしかこの記事を読んでだったと思う。