タグ

ブックマーク / efcl.info (7)

  • Babelで書かれたJavaScriptライブラリをTypeScriptへ移行する方法

    Babelを使ってJavaScriptで書いていたライブラリをTypeScriptへマイグレーションする方法についてのメモ書きです。 数十回はライブラリやアプリケーションのコードベースをJavaScriptからTypeScriptへ変換しているので、 ある程度やり方がパターン化されています。 この記事では、自分がよく利用している次の構成のライブラリを元にしています Babel 6 or 7 Mocha + @babel/register この構成を、次のようなTypeScriptを使った構成へと変換していきます。 Babel -> TypeScript Mocha + ts-node + ts-node-test-register Babelで書かれたライブラリをTypeScriptへ変換 今回はtextlint-rule-helperというライブラリを例にしていきます。 このライブラリは

    Babelで書かれたJavaScriptライブラリをTypeScriptへ移行する方法
  • 技術文書を書くためのtextlint校正ルールセット

    技術文書向けのtextlintルールプリセットを作りました。 textlint-ja/textlint-rule-preset-ja-technical-writing: 技術文書向けのtextlintルールプリセット 今、書いているjs-primerで使用しています。 元々, JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャので実験していたルールをまとめたプリセットになっています。 そのため、実際に適応した状態で書けることは確認した内容がベースです。一部オプションで設定をゆるくしたり、textlint-filter-rule-commentsなどで無視する必要がある部分もありますが、許容範囲な感じでした。 そもそもなんでこういうツールが必要なのかについては以下のスライドを参照してください。 Introduction | 技術

    技術文書を書くためのtextlint校正ルールセット
    hiro_y
    hiro_y 2017/08/13
  • JavaScriptのライブラリを徐々にTypeScriptに移行する

    Alminというライブラリは元々JavaScript(+Babel)で書かれていましたが、今年の2月にsrc/下のソースコードはTypeScriptに移行しました。 その時のコミットログは次のPRに残っているため、コミットログを1コづつ見ていけばどのように行われていったが分かると思います。 Convert src/ to TypeScript by saneyuki · Pull Request #68 · almin/almin この時取った方法は大まかに次のような手順でした src/ の TypeScript化 Babel -> JS(js -> js)だったものをTypeScript -> Babel -> JSにビルドスクリプトを変更 TypeScriptはtargetをesnextにすることで単純に型を取り除くだけの変換にする ES2015 -> ES5を実際にやるのは既存のBa

    JavaScriptのライブラリを徐々にTypeScriptに移行する
    hiro_y
    hiro_y 2017/07/25
  • [pdf.js] テキスト選択出来るスライド表示ライブラリを書いた

    pdf.js-controllerというライブラリを書きました。 名前の通りmozilla/pdf.jsを扱うものです。 PDFをスライドのようなページめくりをするものを作るときに簡単に作れるようにする目的で作成しています。 実際に以下のスライドはこのライブラリを使って動作しています。 https://azu.github.io//slide/2015/year-end/pdf.js.html 使い方 インストールして、以下のように書くだけでとりあえずpdfを表示できます。 普通にpdf.jsを扱うと文字列の選択ができない、日語が文字化けする、リンクがクリック出来ないなどハマりどころがたくさんあります。 このライブラリではpdfjs-distのディレクトリをpdfDistDirで指定する以外はあまり意識しなくても自動的にやってくれます。 (pdfjs-distはdependenciesと

    [pdf.js] テキスト選択出来るスライド表示ライブラリを書いた
    hiro_y
    hiro_y 2016/05/20
  • Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について

    GitHubには Releases という機能があります。 Release Your Software Creating Releases · GitHub Help GitHubのリリース機能を使う - Qiita 簡単に言えば、gitのtagやbranchに文章や添付ファイルを追加して公開出来るページです。 基的にはgit tagと連携してるので、tagを付けてgit push --tagsをしていれば、自動的に追加されます。 メリットとしては以下のような事が行えます。 git tagにパーマネントリンクがつく(重要!) メッセージ(リリースノート等)が書ける 添付ファイル(zip)をアップロード出来る(配布するバイナリとか) RSS Feedsが自動的に生成される(TagとReleaseの2種類がある) ライブラリ等にtagがついてると利用しやすい。 git tagとGitHub

    Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について
    hiro_y
    hiro_y 2015/05/25
  • node-webkitで最前面に置けるMarkdownメモアプリを作った

    floating-memo.app 名前の通り最前面に表示されてる事を前提にした簡易なメモアプリです。 node-webkitで最前面なアプリが書けることに気づいたので簡単に作りました。 今のところMacのみのサポートとしています(DayOneに依存してるので)、別の所に保存する実装等があれば他のプラットフォームでも動かせるようになると思います。 以下から、ダウンロードすることが出来ます。 https://github.com/azu/floating-memo/releases/latest 仕組み floating-memo.appはnode-webkitで書かれています。 node-webkitはnode-webkitとは何かでも書いていましたが、ブラウザのcontextとnode.jsのcontextの2つを持っています。 このアプリでは、表示やエディタ部分はブラウザのcontex

    node-webkitで最前面に置けるMarkdownメモアプリを作った
    hiro_y
    hiro_y 2014/08/29
  • 寿司jsでPromisesの基礎について発表してきた

    寿司.js でPromisesのキホンについて発表してきました。 #寿司js – Togetterまとめ Promises Starter Promises StarterではPromiseの基的な部分だけなので、Pormise.all等実際に使うと便利的な話は入れてないです。 PromiseのAPIの概要、Promiseの状態の種類、基的なresolve/rejectの流れ、XHRの例、エラーハンドリングについてがメインな感じです。 続きはウェブで ということで、今azu/promises-bookというものを書いているので、 ここが分かりにくいとかここが間違ってるとか、こういうこと書いたほうがいいとかあったらフィードバックお願いします。 まだ全然書き途中なのですが、書いていく内容については[WIP] この書籍で扱う内容について by azu · Pull Request #1 ·

    寿司jsでPromisesの基礎について発表してきた
    hiro_y
    hiro_y 2014/04/01
  • 1