Skip to content

KisaragiEffective/serverless-dts-generator

Repository files navigation

serverless-dts-generator

serverlessserverless.ymlから*.d.tsを生成するプログラムです。

このアプリケーションの使い方

ダウンロード

  1. Releasesからダウンロードします。
  2. 一番上にあるバージョンを見ます。
  3. <プラットフォーム>は以下のとおりです。
    • Windows: x86_64-pc-windows-gnu
    • Linux: unknown-linux-musl
    • macOS: x86_64-apple-darwin
  4. <拡張子>は次のとおりです。
    • Windows: zip
    • Linux: tar.gzまたはtar.xz
    • macOS: zip
  5. serverless-dts-generator_<バージョン>_<プラットフォーム>.<拡張子>serverless-dts-generator_<バージョン>_<プラットフォーム>.<拡張子>.sha256sumをダウンロードします。
  6. (推奨) ハッシュ値を検証します。
  7. serverless-dts-generator_<バージョン>_<プラットフォーム>.<拡張子>を展開します。
  8. 使用を開始するためには、コマンドラインへ移動します。

ハッシュ値の検証

Windows:

  1. Win + Rキーを押して、powershellと入力し、Enterを押します。
  2. 次のコマンドをコピーアンドペーストしてEnterを押します。
$archive_file = "kisaragi-booth-utility_0.1.1_x86_64-pc-windows-gnu.zip"
$hash_file = $archive_file + ".sha256sum"
$actual_hash = if ($PSVersionTable.PSCompatibleVersions -contains [System.Version]::New(4, 0)) {
  $hash_obj = Get-FileHash $archive_file -Algorithm SHA256
  $hash_obj.Hash.ToLower() + " " + $(Split-Path $hash_obj.Path -leaf)
} else {
  # Get-FileHash is unsupported
  $hasher = [System.Security.Cryptography.SHA256]::Create()
  $io = New-Object System.IO.StreamReader $archive_file
  $hash_arr = $hasher.ComputeHash($io.BaseStream)
  $stream.Close()
  $hash = ""
  $hash_arr | %{ $hash += $_.ToString("x2") }
  $hash
}
$expected_hash = (type $hash_file) -join ""
if ($actual_hash -eq $expected_hash) {
  Write-Host "Hash OK"
} else {
  Write-Error "Hash Error: '$actual_hash' != '$expected_hash'"
}
  1. Hash OKと表示された場合、検証が完了しています。

Linux/macOS:

  1. お好みのPOSIX互換シェルを開きます。
  2. 次のコードをコピーアンドペーストして実行します。macOSではsha256sumgsha256sumに変える必要があります。
#!/bin/sh
actual_hash=$(sha256sum kisaragi-booth-utility_0.1.1_x86_64-unknown-linux-musl.tar.gz)
expected_hash=$(cat kisaragi-booth-utility_0.1.1_x86_64-unknown-linux-musl.tar.gz.sha256sum)
if [ "$original_hash" -eq "$expected_hash" ]; then
    echo "Hash OK"
else
    echo "Hash Error: '$actual_hash' != '$expected_hash'" >&2
fi
  1. Hash OKと表示された場合、検証が完了しています。

コマンドライン

serverless-dts-generator [serverless.ymlのパス]
  • [serverless.ymlのパス] - serverless.ymlのパスを指定します。

注意点

  • *.d.tsserverless.ymlなどのスキーマに設定されたパスに応じて生成される場所が変わります。具体的には、handlerプロパティに設定されたパスと同じディレクトリに、ファイル名と同名の.d.tsが生成されます。
    • 例:handlerプロパティにsrc/hoge/piyo.createPiyoが設定されている場合、createPiyoという名前のdeclare constを生成し、src/hoge/piyo.d.tsにそれを書き込みます。
  • 今の所、基本的なHTTPリクエストに対するサポートしかありません。
    • その他のeventがある場合は、ごく弱い型しかつきません。
  • 複数のeventはサポートしていません。
    • 最初のeventだけが考慮され、他のイベントは暗黙に無視されます。

ライセンス

Apache License, Version 2.0とMITライセンスのデュアルライセンスです。どちらかのライセンスを選択することができます。

各ライセンス文はそれぞれLICENSE-Apache-2.0.txtとLICENSE-MIT.txtに同梱してあります。