npm モジュール作成入門してみた

npm モジュール作成してみたいとおもい

こちらの記事を実践してみた
本当にやさしいnpmライブラリ開発入門 - Qiita

前提

  • npm がインストールされている
  • npmjs.com のアカウントはある

作業記録

# npm にログイン 

mitsuaki@SURFACE-GO:~$ npm login
Username: quwahara
Password:
Email: (this IS public) quwahara@gmail.com
mitsuaki@SURFACE-GO:~$ npm whoami
quwahara

# プロジェクトディレクトリ作成

mitsuaki@SURFACE-GO:~$ cd git
mitsuaki@SURFACE-GO:~/git$
mitsuaki@SURFACE-GO:~/git$ mkdir jhtrans
mitsuaki@SURFACE-GO:~/git$ cd jhtrans/

# プロジェクトディレクトリ初期化

mitsuaki@SURFACE-GO:~/git/jhtrans$ npm init .
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: (jhtrans)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC) MIT
About to write to /mnt/c/Users/mitsuaki/git/jhtrans/package.json:

{
  "name": "jhtrans",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "MIT"
}


Is this ok? (yes) yes

# 中身をけずる

mitsuaki@SURFACE-GO:~/git/jhtrans$ vim package.json
mitsuaki@SURFACE-GO:~/git/jhtrans$ cat package.json
{
  "name": "jhtrans",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

# 公開する

mitsuaki@SURFACE-GO:~/git/jhtrans$ npm publish
+ jhtrans@1.0.0


# 公開したモジュールを試してみる

# テストプロジェクトディレクトリ作成

mitsuaki@SURFACE-GO:~/git/jhtrans$ cd ..
mitsuaki@SURFACE-GO:~/git$ mkdir jhtrans-test
mitsuaki@SURFACE-GO:~/git$ cd jhtrans-test/

# テストプロジェクトディレクトリ初期化

mitsuaki@SURFACE-GO:~/git/jhtrans-test$ npm init .
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: (jhtrans-test)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC) MIT
About to write to /mnt/c/Users/mitsuaki/git/jhtrans-test/package.json:

{
  "name": "jhtrans-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "MIT"
}


Is this ok? (yes) yes

# 作成したモジュールをテストプロジェクトへインストール

mitsuaki@SURFACE-GO:~/git/jhtrans-test$ npm install --save jhtrans
jhtrans-test@1.0.0 /mnt/c/Users/mitsuaki/git/jhtrans-test
└── jhtrans@1.0.0

npm WARN jhtrans-test@1.0.0 No description
npm WARN jhtrans-test@1.0.0 No repository field.

# テスト用実行ファイル作成

mitsuaki@SURFACE-GO:~/git/jhtrans-test$ touch test.js
mitsuaki@SURFACE-GO:~/git/jhtrans-test$ vim test.js
mitsuaki@SURFACE-GO:~/git/jhtrans-test$ cat test.js
const jhtrans = require("jhtrans");

jhtrans();

# 実行。モジュールがロードされた

mitsuaki@SURFACE-GO:~/git/jhtrans-test$ node test.js
Hello World

作成したお試しプロジェクトのページ
https://www.npmjs.com/package/jhtrans

  • 2019-12-14 追記

公開後の更新

# Login

quwahara@QWH-LG:~/git/jhtrans$ npm login
Username: quwahara
Password:
Email: (this IS public) quwahara@gmail.com

# Make sure logged in

quwahara@QWH-LG:~/git/jhtrans$ npm whoami
quwahara

# Update version number

quwahara@QWH-LG:~/git/jhtrans$ npm version minor
v1.1.0

# Publish the updates
quwahara@QWH-LG:~/git/jhtrans$ npm publish
+ jhtrans@1.1.0

参考記事
npmでパッケージを公開してみた手順の記録 - Qiita