首先要將原本cypress中部分邏輯獨立出來作成套件,而部分程式碼因為有用到cypress中的describe與it,因此參考npm ts package製作的介紹與Cypress官網建議的配置製作出以下檔案:
也就是如下圖,已經藉由在types中加入cypress,已使得vsc可以讀到全局定義了,而vsc中無顯示任何錯誤了。
不過實際上使用tsc編譯時,卻會發生錯誤:
error TS2688: Cannot find type definition file for 'cypress'.
發生錯誤的版本,是使用[email protected],然而更新成[email protected],則錯誤就不見了,究其原因,發現其package.json有關鍵差異。
為了驗證是否就是因為該行(上圖紅框處)導致錯誤發生,我故意將[email protected]的該行砍掉,就會發生跟[email protected]版一樣的錯誤了。
未來製作套件要如何正確處理type,可以從這篇找到些線索。