npmで配布しているJavaScriptライブラリ、 Copipe.js ですが
npmモジュール、html Script タグリンク、WSH、JavaScriptプラットホームにフルで対応しました。
他に同じようなことをしている人がいるかどうかわかりませんが、結構レアなことやっている気がします。そんなところにエネルギーを注いで開発している人が少ないのかもしれません。
元コードは TypeScript で書いていて、今まで、npm で配布していて、HTML ファイルの Script タグに対応もしていました。
今回 WSH = Window Script Host という Windows のみでうごくバッチファイルのような仕組みの環境にも対応しました。
WSH は異様に古いJavaScriptでしか動かないのですが TypeScript をコンパイル(トランスパイル)したり Polyfill で対応して動くようにしています。
WSH なんて Windows 固有なので Mac では動きませんし、そんなのに対応する意味がどこにあるのか、とかいう考えもあります。node に対応するのが大事で WSH に対応するのなんて無意味だとか。
しかし、こういう古い環境に対応していることによって、同じく古い JavaScript 環境としての、GoogleSpreadSheet の Google App Script でもちゃんと動くものができていると思います。まだ動作確認できてないですが、近いうちにやっておこうと思っています。
Copipe.js の実現している仕組みを使うと自分の書いた関数ライブラリやクラスライブラリを既存のほぼすべてのJavaScriptプラットホームで動作させることができるので、自分で作るプログラムをマルチプラットホーム対応する場合にも参考になるでしょう。
せっかく書いたプログラムが古いJavaScriptだと動かないと悲しい話です。動かない理由はあれやこれやと迷いたくもないので常にすべての環境に対応させていくのがエンジニアのこだわりと思っています。
Copipe.js これからいろいろ機能追加していくので、よろしくです。