この記事は公開から1年以上経過しています。
VSCode Macrosのマクロ(Node環境)から、AWS AppSync(JS API v6)のGraphQL Subscriptionを利用したところ機能しなかったので、その対応についての備忘録。
原因
デフォルトのNode.js環境ではWebSocketが利用できないため、ライブラリ内部で
Exception has occurred: ReferenceError: WebSocket is not defined
のようなエラーが発生している。
対応
Node.jsでWebSocketが使用できるように設定する。
-
wsパッケージをインストール。
npm i ws
-
requireでglobalなWebSocketオブジェクトを設定。
const vscode = require('vscode'); global.WebSocket = require('ws'); // 追加
参考ウェブサイトなど
- npm
ws-npm
以上です。