at backyard

Color my life with the chaos of trouble.

TypeScript

JavaScriptライブラリをTypeScriptからも型チェックエラーなく呼べるためにやったこと

自分向け備忘録。簡単なメモ。 ES ModulesのCSVパーサーを書いた 車輪の再発明かもしれないが、ES ModulesでのCSVパーサーを書いた github.com JS(ES Modules)で書いたのだが、これをTypeScriptから呼ぶ際には型情報がない場合、型チェックエラーが出てしま…

TypeScript(React)でElement implicitly has an 'any' type because type 'typeof globalThis'というエラーを解消する

vitestを触ってみようと思い、viteで作成したTypeScript(React)プロジェクトを立ち上げてテストを書いていた際、下記の記述に従って、vite.config.ts の defineConfig.test.setupFiles で指定したファイルに下記のような記述を追加した。 reactjs.org global…

日付の比較計算で The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.というエラーが出たときの対処方法

The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.というエラーが出たときの対処方法 趣味で作っていた下記のプログラムで実際に遭遇したエラー。 github.com 下記のような日付をソートするための…

Terminal上で動作するspinnerライブラリ、go-spinをDenoに移植した

Terminal上で動作するGo製のspinnerライブラリであるgo-spinを、Denoに移植したdeno_spinというものを公開しました。 https://deno.land/x/deno_spin 目次 目次 ターミナルで動作するDenoのためspinnerライブラリ、deno_spin TypeScript備忘録 - contructor…

scoped modulesを用いたパッケージをnpmで公開したときに得た知見

目次 目次 scoped modulesについて npmモジュールでscoped modulesを用いるとき 1. パッケージ名は@ユーザ名/パッケージ名とする 2. publishConfigの設定を行う scoped modulesでnpmにリリースを行ったときに気をつけること scoped modulesをインストールし…

ts-loader(webpack)を用いてのTypeScript開発の際、Node.js実行のためのshebangでTypeScriptのコンパイルエラーが起きたときの対応メモ

なんだかタイトルが長ったらしくなってしまった。 Node.js製のCLIツールを作っていた。 npmにてリリースして、globalインストールして使う予定だ。 そちらのツールに関する内容は本題ではないので、一旦そちらは脇にどけておく。 (たぶん、またどこかでそれ…

TypeScriptを使っていて、 Type 'void' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value. というエラーがでたとき

Type 'void' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value. 自分がまだまだTypeScriptを書き慣れていないのと、意外とググってみてもサクッと答えにたどり着かなかったので(…

Headless CMS の Contentful からデータを取得して、Next.jsのページで表示させるメモ

完全なる備忘録です。 Next.js 9 with TypeScript セットアップ 最近 Next.js 9 を余暇を利用して触っているので、今回はそちらの環境のセットアップから行います。 ちなみに最初からTypeScriptで書けるように設定していきます。 以前Qiitaに書いたNext.jsで…