TypeScript

Lernaコマンド実行時は、毎回`--reject-cycles`をつけておくと幸せになれるかもしれない。

Lerna 小メモ Lernaコマンド実行時にデフォルトで--reject-cyclesを付けとくとよいかも。 ヘルプの解説は以下のとおり --reject-cycles Fail if a cycle is detected among dependencies. 依存関係にサイクルがあるとコマンドに失敗。 サイクルがある場合、…

【lodash】memoizeのデフォルトキャッシュキーは対象関数の第一引数のみ!第二引数以降も対象としたい場合は?

lodashのmemoizeで引っかかったので、メモ残し。 目次 resolver? memoizeのキャッシュキーは、デフォルトだとメモ化の対象となる関数の第一引数のみ 第二引数以降もキャッシュキーの対象としたい場合

JestでテストファイルごとにtestEnvironmentを切り替える方法

目次 前段 (動機) リサーチ 対処法 参考ページ

@testing-library/react で「ReferenceError: document is not defined」みたいなエラーが出たときの対処法

enzymeから@testing-library/reactに転向しようとしたところ、出鼻で以下のエラーに遭遇 ReferenceError: document is not defined 「@testing-library/react document is not defined」で検索したところ、公式リポジトリにissueあり ↓ React Testing Librar…

Visual Studio CodeにJest拡張を入れてみた

フロントもバックもJavaScriptに統一して、PHPを使う事がなくなったので、PhpStormからVSCodeへ移行中です。 しばらく、テスト(Jest)はコマンドラインとCIに任せていましたが、ちょっと辛くなってきたので、拡張機能を導入する事にしました。 目次 導入した…

Storybook 6 で Console アドオンが動作しないときの対処法

StorybookのConsoleアドオンを使おうと思ったら、ちょっとひっかかったので、以下、備忘録として簡単にまとめたいと思います。 目次 Consoleアドオンページをチェック ドキュメント通りにセットアップ => 動作せず リサーチ リポジトリページをチェック conf…

【TypeScript】interfaceをオーバライドするには?

以下のような、オーバーライドをしようとすると interface A { x: string y: number } interface B extends A { x: number } 以下のようなエラーメッセージが表示されました。 TS2430: Interface 'B' incorrectly extends interface 'A'. Types of property …

【TypeScript】Union Types から特定の型を取り除くには?

Union Types から特定の型を取り除く => Exclude type Sample1 = Exclude<string | number | boolean, string | boolean>; // number 逆に、Union Types から特定の型を抽出する場合は => Extract type Sample2 = Extract<string | number | boolean, string | boolean>; // string | boolean 参考ページ</string></string>

【Storybook】「TypeError: (tag.text || "").trim is not a function」エラーの対処法まとめ

Storybookで以下のようなエラーが出たので、以下、対処法を備忘録としてメモ。 TypeError: (tag.text || "").trim is not a function なにはともあれ、まずはグーグル先生に質問。 TypeError: (tag.text || "").trim is not a functionで入力した所、storybo…

Firebase で The default Firebase app already exists みたいなエラーが出たときの対処法

Firebaseを使っていて、 The default Firebase app already exists. This means you called initializeApp() more than once みたいなエラーが出たときの対処法。 エラーの内容の通り、initializeApp()を複数回呼び出しているとダメという事なので、initiali…

firebase-functions-test で Module '"firebase-functions"' has no exported member 'crashlytics' と怒られたときの対処法

firebase-functions-test を使っていたら、以下のようなエラーが出たので、対処法などを簡単にメモ Module '"firebase-functions"' has no exported member 'crashlytics' Googleで検索したところ、同様のエラー情報があったのでチェック It seems this is c…

eslint-config-prettier v8.0.0 の変更についてのメモ

eslint-config-prettierのバージョン8.0.0 (2021-02-21) で All configs have been merged into one! という事らしいです。 具体的には { "extends": [ "some-other-config-you-use", "prettier", "prettier/@typescript-eslint", "prettier/babel", "pretti…

Immer.js トライアル まとめ (サンプルコード置き場)

Immer.js のトライアルとして、公式ドキュメントのサンプルコードをトレースしてみました。 トレースしたコードは、以下の公式ドキュメント、Basicsパートのサンプルコードです。 ※ 一部、飛ばしている部分や、動作しない部分を調整している所があります。 ※…

Ramda.js 入門まとめ (サンプルコード付き)

関数型プログラミング入門の一環として、Ramda.js を試してみました。 Ramda.js の入門記事をいくつかトレースしてサンプルコードにまとめてみたので、簡単に紹介したいと思います。 目次 参考ページ トレースコード 感想とか、諸々 まとめ

Lerna を2週間使ってみての感想 (Pros/Cons)

Lerna を使い始めて2週間たったので、簡単に Pros/Cons メモ。 ちなみに、Lerna の入門記事まとめは以下より 目次 【Pros】 パッケージ整理が楽 monorepo内パッケージの相互利用が自動更新 リアルタイム更新 【Cons】 開いてるファイルが散らかる まとめ

Lerna 入門 まとめ

ここ2日ほど、Lerna に入門してみたので簡単にまとめ 目次 サンプルパッケージの作成 Github Packagesを使う場合 TypeScript を使う場合 まとめ