0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Serverless Framework pluginのデバッグ

Posted at

Serverless Framworkのplugin内で発生したエラーの原因を調べるための手順をまとめます。
試したことはないですが、pluginを開発したい人向けにも使えると思います。
ググってもヒットしなかったので、参考になれば幸いです。

以下、serverless-laysers pluginを例に記載します。

環境

  • VSCode
  • TypeScript: 4.8.4
  • Serverless Framework: 3.24.1
  • nodejs: 16.17.0

手順

  1. 既存のpluginはインストールされていても良いとは思うが、デバッグ対象をはっきりさせるために削除。
    npm uninstall serverless-layers -D
  2. serverless pluginのソースコードをプロジェクト内にgit clone。
     mkdir test
     cd test
     git clone https://github.com/agutoli/serverless-layers.git
    
  3. pluginのソースコードをserverelss.yamlやserverelss.tsからの相対パスで指定。
    serverelss.ts
    plugins: [
        ...,
        './test/serverless-layers',
        ...
    ]
    
  4. pluginsのソースコードのpackage.jsonを編集。(lib/index.js -> src/index.js)
    test/serverless-layers/package.json
    "main": "src/index.js",
    
  5. プロジェクトのDebug Configurationを追加。
    .vscode/launch.json
         {
             "name": "debug serverless plugin",
             "type": "node",
             "request": "launch",
             "runtimeArgs": [
                 "--inspect"
             ],
             "program": "${workspaceFolder}/node_modules/serverless/bin/serverless",
             "args": [
                 "deploy"
             ],
             "console": "integratedTerminal"
         },
    
  6. ブレークポイントを設定し、デバッグ実行。
         スクリーンショット 2022-12-12 9.34.34.png

※結局、serverless-layersの不具合ではありませんでした!

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?