TypeScript
tsyringe による依存注入 tsyringe を使うと TypeScript アプリケーションにて依存注入を実現することができます。 GitHub - microsoft/tsyringe: Lightweight dependency injection container for JavaScript/TypeScript アプリケーションコードは以下のよ…
yup でカスタムバリデータを追加する方法です。 サンプルとして「日付っぽい文字列かどうか」のバリデータを追加しました。 Dateライブラリには dayjs を利用しています。 import * as yup from 'yup'; import dayjs from 'dayjs'; import customParseFormat…
概要 ネイティブアプリを開発する際に一部のページをウェブで表示する、という要件はあると思います。(いわゆるウェブビュー) その際に、ウェブビューを React.js と Next.js で作成する方法です。 ※ちなみに筆者はネイティブアプリ開発の経験はありません…
概要 Lighthouse でパフォーマンス計測 計測値を Datadog に送信 以上の2つを severless framework 上で定期実行する仕組みを構築していきます。またコードは TypeScript で書けるようにします。 パッケージ バージョン 本記事の執筆時点での serverless fra…
本記事の執筆時点での TypeScript のバージョンは 4.1.5。 localStorage.setItem の型定義を見てみると、 setItem(key: string, value: string): void; となっている。 なので、以下のように number 型を渡すと型エラーとなる。 localStorage.setItem('ここ…
タイトルのようなエラーが出た時の対応方法。 自分の場合は、Date 型同士を比較しようとして、このエラーに遭遇しました。 指示通りに number 化することで解決。 const a = "1970/01/01" const b = "1970/01/02" // 誤) const result = new Date(a) - new …
概要 Next.js v9 で TypeScript プロジェクトを作成する方法について。 環境 このブログ記事の内容は、以下の環境をベースにしています。 OS: MacOS Mojave 10.14.6 Node.js: v10.15.0 next.js: v9.0.5 方法 Next.js アプリケーションの作成 まずは普通に Ne…
td;dr VSCode で Prettier の設定を行い、 import 文を自動改行する。 概要 ESLint/TSLint によって1行のコードの長さを制限することができます。 ESLint: max-len TSLin: max-line-length import 文もこの対象になりますが、auto fix が効かないので手動で…