音の鳴るブログ

鳴らないこともある

オレのATOM

僕はエディタにAtomを使っている。ほぼデフォルトのまま使っているのだけど、atom-runner というAtomパッケージは超重宝している。これは開いているファイルを Ctrl+R だか Alt+RAtomの中で実行してくれるというもので少し設定して次のように使っている。

textlint

textlintというテキスト向けLintツールをatom-runnerで実行する。

Atomconfig.cson を次のように設定して *.md ファイルを対象にtextlintを実行している。

"*"
  runner:
    extensions:
      md: "textlint"

textlint自体はグローバルインストールしてある。ルールはプロジェクトルートの .textlintrc を参照してくれる。

$ npm i -g textlint textlint-rule-preset-ja-technical-writing

テスト

僕はJavaScriptのテストランナーに Mocha を使うことが多い。しかし、MochaはグローバルスコープにAPIを置くので、そのままだと実行できない。困る。例えば単純に次のようなテストコードを実行しようとすると describe がないと怒られる。

const assert = require("assert");

describe("test", () => {
  it("ok?", () => {
    assert(true);
  });
});
ReferenceError: describe is not defined

そこで run-with-mocha というモジュールを作った。

これは、テストコードを実行した時にMochaのAPIが見つからないと、そのファイルを引数に mocha コマンドで再実行してくれる。説明を変えると、このモジュールを require しておくと node test.jsmocha test.js を実行できる。

require("run-with-mocha");

const assert = require("assert");

describe("test", () => {
  it("ok?", () => {
    assert(true);
  });
});
  test
    ✓ ok?

  1 passing (132ms)

気軽な気持ちでテストができて大変便利。

日常的に Babel を使っていて、Mocha以前にシンタックスエラーだよ〜(^_^;)という人は次のように設定すると良い。

"*"
  runner:
    extensions:
      js: "babel-node"
$ npm i -g babel-cli