suguru.dev

バンクーバーで働くエンジニアの備忘録

JavaScript

Node.js + Github Private Registry

概要 Github Private Registryにより、プライベートなモジュールを簡単に作成することができるようになりました。 今回はGithub Actionsを用いてNPMモジュールをGithub Private registryに登録・利用する方法を紹介します。 モジュール化したいリポジトリの…

AST + Prettierで快適にコードを一括変換しよう

概要 この記事はQiita Node.js Advent Calendar 2019 5日の記事です。 「Node.jsのプロジェクトにTypeScriptを導入したい」 ちょうど去年の12月に面接で聞かれたことでした。 あなたならどう答えますか? 今回は面接のネタとしても使える、ASTとPrettierを利…

Async HooksとAsync Resourcesの導入

概要 この記事はNode.js Advent Calendar 2017 15日目の記事です。 カナダから非同期で失礼します。 Async hooksとはNode.jsの非同期イベントをトレースすることができるネイティブライブラリです。まだ試験段階なのでAPIが変わる可能性がありますが、Async …

ESLintのメソッドチェインのindentの設定について

概要 ESLintのメソッドチェイン(chain)のindentの設定に問題があり3 -> 4のアップグレードができなかったのですが、なんとか苦戦してなんとかアップグレードした話です。 もっといい方法知っている方いたら教えて欲しいです、ホントに。 問題のコード 例とし…

classの継承についての考察

概要 ES6の継承が遅すぎると話題なので検証・最適化をしました。 どれくらい遅いのか こちらのベンチマークによると、少しずつ改善は見られるものの、2.3-17倍程度遅い様子です。 実際に検証しました。 Node v6.10.1 benchmark.js v2.1.4 継承 // classes fu…

Benchmark: Async vs Neo-Async

What is Neo-Async? Neo-Async is meant to be used as a drop-in replacement for the Async library. It implements the same API, and adds extra functionality. I have been trying to make it faster and safer than Async. https://github.com/suguru…