• ..

Postgresql

    パッケージを公開する

    僕はsindresorhus/npを使った方法が簡単だと思うのでこれを使います。

    np を使う

    これ使うと、

    1. 依存のクリーンインストール
    2. テストの実行
    3. テストが成功したらバージョンタグを振って公開

    というようなことを自動でやってくれます。

    これは以下のようにインストールできます。

    npm i -g np
    # または yarn global add np

    あとはnpと実行するだけです。npとだけ実行すると対話的にオプションを聞いてきます。それは実行時に渡すこともでき、そうすると対話を省略できます。

    $ np
    $ np patch
    $ np minor
    $ np major

    ネームスペースなパッケージをパブリックで公開

    package.jsonに以下を追加します。

    {
      "publishConfig": {
        "access": "public"
      }
    }

    あとはname${自分のnpm名}/${パッケージ名}にしてnpm publishするだけです。

    ちなみに有料 npm で自分だけが見える状態で公開したい場合は、上記のpublishConfig設定をしなくてもネームスペースな名前でpublishできます。

    JSONからCLIで値を取れる locker-keys を作った

    何故作った

    何に使うものなのか分からない方がほとんどだと思いますが、npmに月額7$払ってプライベートパッケージとして自分用にカスタマイズしたものを作れるのが前提みたいな話だったりします。誰にでも見られてもいいならいいやつならパブリックでもいいと思いますが!

    作った理由は、

    1. .dotfilesなんかに書くのはちょっと…
    2. トークンなど諸々引っ張ってこれるものが欲しかった
    3. パブリックじゃない所で というのが主な理由です。

    まず、こんなJSONが配置されているとします。

    {
      "foo": {
        "token": "..."
      }
    }

    その時にこんなコマンドを叩くと、そのパスの値が取れるというだけです。ちなみにパスが途中だった場合はhelpが表示されます。

    locker-keys foo token ...

    自分用ツールを作る

    毎回JSONを作るのは面倒くさいので、自分用の読み込まれている状態のコマンドを作ります。まずlocker-keysをインストールします。

    yarn add locker-files

    コマンド実行時に実行されるファイルcli.jsはこんな感じにします。

    #!/usr/bin/env node
    const lockerKeys = require('locker-keys').default;
    
    (async () => {
      await lockerKeys.process(__dirname);
    })()
      .catch(err => {
        console.error(err);
      })

    あとは、同じディレクトリにlocker.jsonというファイルを置くだけです!
    あ、package.json"bin": {"コマンドになる名前": "cli.js"}はお忘れなく。

    プライベート公開後それをインストールして、コマンドになる名前 <prop> <prop>で想定通りの値が表示されてば完了です!

    syamu さんプロキシを作った

    何故作った

    ProxyAPIに慣れるため。

    どんなの

    プロキシを通るト0 '' [] {}になる。

    const syamuProxy = require('syamu-proxy');
    
    const proxied = syamuProxy({
      num: 28,
      get num2() {
        return this.num;
      },
      str: 'a',
      get str2() {
        return this.str;
      },
      arr: ['foo', 'bar'],
      obj: {
        foo: 'foo',
        bar: 'bar'
      },
      void: undefined
    });
    
    console.log(proxied.num); // 0
    console.log(proxied.num2); // 0
    console.log(proxied.str); // ''
    console.log(proxied.str2); // ''
    console.log(proxied.arr); // []
    console.log(proxied.obj); // {}
    console.log(proxied.null) // null
    console.log(proxied.undefined) // undefined

    リポジトリとnpm

    authToken を取得する

    自身の Profile Setting ページへ行き、 Token タブから「Create New Token」をクリックします。

    そして、アクセスレベルを選択して「Create Token」します。アクセスレベルは自分のマシン以外が対象なら「Read Only」みたいな感じで大丈夫だと思います。

    Token ができたので大切に保管します。この Token は1度しか表示されないので注意です。