JavaScript
npm
reactjs
OSS
React

React用OSSを開発した話。

概要

社内プロジェクトの大半がReactとGoで開発されています。
社内ライブラリが沢山増えてきたので、その中でもOSSをまとめてみました。
画面があるものはStorybookを使って「デモページ」として公開しています。

npm パッケージ

@gemcook/table

Reactのテーブルを簡単に作れるようにしたものです。
大量のデータをさばけるようになっていて、IE11でもサクサク動くように作っています。
7,738ダウンロードされておりよく伸びてるので、もっと開発に力入れていきたいです。

@gemcook/pagination

Reactで簡単にページネーションを表示することができます。
データを流し込めばすぐにページネーション機能を使うことが出来ます。
上記のテーブルライブラリと組み合わせて使うことが多いですが、突発的に5,000ダウンロード突破しておどろきです。

@gemcook/notification

Reactで通知を簡単に表示できます。
成功と失敗時で通知の見た目が変わったり、実用的に使えるようになっています。

@gemcook/modal

Reactで簡単にモーダルを表示できます。
モーダルはよく使うものなので、特に簡単に使えるようにしました。

@gemcook/validates

Redux Formでよく使うバリデーションをまとめています。
メールアドレス検証や必須入力項目チェックするための関数があります。

@gemcook/auth

Amazon Cognitoのサービスを使う時に一通り必要な関数をまとめています。
AWS Amplifyのラッパーです。

@gemcook/utils

汎用的に使える関数があります。
日付やURLクエリパラメータ等を便利に扱えるような関数をまとめています。

その他

React用OSS以外にも出し始めました。
GoとServerlessもどんどん出していきます。

Serverless

cognito-trigger-sls

Cognitoのトリガーで発火するLambdaをslsで作成したライブラリです。よくあるサインアップ後に送るメールなどを簡単に修正できる様になっています。

resize-image-sls

Amazon S3に置いた画像をリサイズやクリッピングできます。

Go

pagination-go

@gemcook/pagination と組み合わせるページング用APIをGoで実装するためのライブラリです。

OSS出してみた後に思うこと

今回OSS出してみて意外とダウンロードされて、びっくりしてます。
便利に使えることを目標に作成していますが、せっかくライブラリに出すなら新しい技術を取り入れたかったのでRollup.jsを導入して、超軽量ライブラリになるように作り込みました。
Flowも導入したり、エンジニアとして楽しんでいければいいなと思っています。