miyabihitoの日記

個人的な技術メモ

True & False

概要

JavaScriptの値の真偽値としての評価について

ソース

Truth, Equality and JavaScript

注意点

  • []

    PHPでは、空の配列はFalseと判定されるが、JavaScriptではTrue(オブジェクトは全てTrueなので)

  • {}

    Falseっぽいけど、オブジェクトは全てTrue

  • '0'

    PHPではFlase判定だが、JavaScriptではTrue(空文字列はFalse)

JSHint

概要

JavaScriptのプログラムのエラーや潜在的な問題を検出する静的コード解析ツール
http://www.jshint.com/

オプション

List

  • curly
  • latedef
  • newcap
  • noarg
  • nonew
  • quotmark
  • trailing
  • undef
  • unused
  • node

設定

  • .jshintrc

    オプションの有効・無効を指定するjsonファイル
    --configオプションで、別名のファイルを明示的に指定して使用する事もできる。

  • .jshintignore

    検出対象から外すディレクトリやファイルのリストを記載するファイル

example of .jshintrc

Markdown

概要

簡易なマークアップ記法
メールでの表現をもとにしている。

段落

空行に挟まれた箇所。
段落中で、改行するためには、改行前にスペースが2つ以上必要。

見出し

HTMLのh1~h6にあたるものを、#~######で表現する

リスト

  • *, -, +のいずれかを行頭に

    リスト中の段落は、1つ空行を入れた後、行頭にスペース4つ

    • リストの入れ子も、行頭にスペース4つ

  1. (num). で添字付きリスト

罫線

***


---

リンク

  • [text](url)
  • <url>

強調

text
text

引用

>で引用

コードブロック

行頭にスペース4つで、コードブロック

バッククォートで、code インラインもできる。

資料

package.json - Node.js

package.json

詳細は、ドキュメント参照のこと

name

パッケージの名称。
jsやnodeといった言葉は、含めるべきではない。

version

パッケージのバージョン。

description

パッケージの説明。
npm searchの検索対象。

license

単純な指定であれば、下記の「Identifier」を指定するとよい。
https://spdx.org/licenses/

author

作者
下記のフォーマットがシンプル name (url)

main

パッケージが、requireされた時に実行されるファイル。
指定されていない時は、nodeのルールに従って実行される。

bin

実行可能ファイルの指定。
ここに指定されたファイルは、
グローバルインストールの時、prefix/bin/
ローカルインストールの時、./node_modules/.bin/
シンボリックリンクが張られる。

repository

パッケージのソースコードリポジトリを指定。
指定内容は、下記のフォーマットが推奨。

{ "type" : "git", "url" : "http://github.com/npm/npm.git" }

scripts

様々なタイミングで実行されるスクリプトを指定する項目。
https://www.npmjs.org/doc/misc/npm-scripts.html

実際に使うのは下記くらいか。

  • start
  • test

install,postinsall等を使って、ユーザの環境でセットアップ作業をさせるのは あまり好ましくないため。(全ての環境に対応するのは厳しい)

package.jsonやnpmの設定値を、環境変数として読めるので、色々出来そうではある。

dependencies

パッケージを利用するのに必要な依存パッケージの指定。
キーにパッケージ名、値にバージョン指定またはtarballかgitのURLを記載。

devDependencies

パッケージの開発に必要な依存パッケージの指定。
テスティングフレームワークや他の言語(CoffeeScriptyやTypeScriptなど)のためのパッケージ等。

optionalDependencies

オプションの依存パッケージ
存在しない場合や、インストールに失敗する場合でも許容される。

engines

パッケージを正常にインストールできるnpmのバージョンや、 正常に動作させられるnodeのバージョンの指定。
(engine-strictの設定が、trueになっていない限り、この記述は勧告に過ぎない)

preferGlobal

グローバルモードでのインストールを推奨するための指定。
trueを指定すると、ローカルモードでのインストール時に警告がなされる。

private

レジストリへの登録・公開を防止するための設定。
有効にするには、trueを指定する。

publishConfig

npm publish時の、既存を設定を上書く設定を指定する項目。
関連する設定は下記。

  • tag
  • registry