Tmp
GitHub Packages
社内のAPIをGitHub Packesで提供して
Nuxtプロジェクトから利用したい。
プライベートリポジトリの GitHub Packages を使用するために個人アクセストークンでの認証を行う。
作成方法
GitHub上のSettings > Developer settings > Personal access tokens から GitHub Token を作成
※権限にはread:packagesにチェック
個人アクセストークン認証
.npmrc
を作成し、下記記述を加える
//npm.pkg.github.com/:_authToken=[上で発行した個人アクセストークン]
※ .npmrcはコード管理したいので、アクセストークンは.envrc
などに定義した方が良い
export TOKEN=[上で発行した個人アクセストークン]
これだけだと、どこのにパッケージがあるのか情報がたりずyarn install
は失敗する。
.npmrcに書きを追記
@OWNER:registry="https://npm.pkg.github.com"
OWNER: プロジェクトを含むリポジトリを所有するユーザもしくはOrganizationアカウント名
こうすることでGitHubのサイト、OWNERのリポジトリにパッケージを探しにいくようにできる。
OpenApi
generateされたファイル読んでみたらコードが長すぎてわからなかったのだけど、即時関数に引数で関数わたしているという内容だった
(function(factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['ApiClient'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports, like Node.
module.exports = factory(require('./ApiClient'));
}
}(function(ApiClient) {
'use strict';
// https://ja.javascript.info/strict-mode
var exports = {
/**
* The ApiClient constructor.
* @property {module:ApiClient}
*/
ApiClient: ApiClient,
};
return exports;
}));
構文
(function (param1, param2, ...) {
//関数の中身・・・
}('hoge', 'fuga', ...));
OpenApiの設定ファイル
generateする時、-cオプションで指定してあげる
openapitools/openapi-generator-cli:v4.3.1 generate \
-i [spec.ymlへのパス] \
-g [使用するgenerater] \
-o [アウトプット先のパス] \
-c [configファイルのパス]
generate コマンドの--additional-properties
でオプションを設定できる。
使用するジェネレータごとのオプションを確認したい場合はここを参照
今回はtypescript-axiosを使うのでここを参照
yarn upgrade-interactive
今更知った便利コマンド
Yarn will respect the version ranges in package.json when determining the version to upgrade to.
packe.jsonのバージョン範囲を守った上でまとめてアップデート可能パッケージの確認とアップデートができてしまう。
GitHub Actions
dip
概要
- A command-line utility
- docker-composeでの作業を能率的に行えるツール
https://github.com/bibendi/dip
ぱっとみ、package.jsonのscript部分と同じなのかという印象。
コマンドラインのエイリアスつくれるみたいな。
どこらへんがDockerに特化しているのかというのが下記
-
コンテナにログインせずに作業できる
gemの更新のためによく使うbundle install
。これをdip bundle install
でコンテナ内に入らなくても実行できる。 -
コンテナの起動状態を気にしなくてよい
コンテナを起動していないと使えないコマンドなどもあるらしい。
dipを使えばコンテナが起動していなくても使える。
参考