JavaScript

React Native Expo に Firestore を導入して開発していたところ、Date型を入れた時に Timestamp 型へと変換されてしまうことに気付きました。Firestore で JavaScript の Date 型を使いたい場合は、WithConverter で Timestamp 型から Date 型に戻してあげる必要があります。
GitHubリポジトリにプッシュした時、GitHub Actionsのワークフローで自動的にJestを走らせるようにしています。自動で走るJestと、手動で直接叩くJestの違いはタイムゾーンとロケールです。ここでは、GitHub上でJestを動かすときに環境変数としてタイムゾーンとロケールを指定する方法について説明します。
ユニークなIDを利用するためにUUIDを生成しようとしたのですが、少しだけつまずきました。TypeScript/JavaScriptでUUIDを使うための手順をまとめます。
React Native Expoアプリの多言語・多通貨対応にJavaScriptライブラリIntlを利用しています。iOS版はすんなり動いたのですが、Android版では2つのエラー対応が必要でした。発生したエラーと対応についてまとめます。
多言語・多通貨対応のためJavaScriptライブラリIntlを利用しています。単体テストのためにIntlをJestで動かそうとしたのですが、エラー RangeError: Incorrect locale information provided が発生しました。エラーの内容と対応方法についてまとめます。
アプリの多言語化でJavaScriptライブラリのIntlを利用しました。Intlで多言語/多通貨対応するためには、ロケール情報を理解するとともに、Intlのパラメータとして指定する通貨コードをロケールから導き出す必要があります。