💣

TSDXで作成したプロジェクトのexampleでyarn startしたらInvalid Version: undefined

2021/06/03に公開

はじめに

TSDXはTypeScriptを用いてnpm packageを作る際、開発環境の構築を非常に楽にしてくれます。

Custom Hooksを作るため、こちらを使用して開発をしていたのですが、exampleアプリを動かすところでエラーに遭遇しました。

Invalid Version: undefined

cd example
yarn install
yarn start

したのですが、上記のエラーが出ました。

ここで手短に解決策を述べると、package.jsonを編集して"parcel": "^1.12.3"を"parcel-bundler": "1.12.5"にしましょう。

この先は上記の説明です。
エラーで検索すると、こちらのissueが引っかかりました。
こちらのコメントによると、どうやらTSDXではなく、アプリをバンドルし動かすために使用しているParcelの問題だったようです。
上記コメントではv2へのアップグレードや別のworkaroundが紹介されていますが、前者はHMRが効かなくなる問題があり、また"parcel-bundler": "1.12.5"で問題が修正されたので、こちらを使うのが良いと思います。
私もこの方法で解決しました。

ちなみに、"parcel": "1.12.5"ではダメです。
Parcelは、npm packageとしてはparcel-bundlerでした。すでにparcelの名前が使われていたためです(と読んだ記憶があるのですが出典が見つからない・・・)。
ですが、v2を開発中の現在では、packageもparcelの名前になっています。
で、v1についても、1.12.3まではparcelの方にもあります
しかし、そのあとの1.12.4~はparcel-bundlerの方にしかないのです。

おわりに

初めてnpm packageの開発をしましたが、TSDXで環境構築のセットアップが本当に楽でした。
これからも使いたいと思います。

Discussion