Last updated
插件安裝包中的敏感檔案、開發產物、壓縮包與二進位檔案標準。
提交的 .eagleplugin 應是乾淨、可發佈且只包含執行所需檔案的安裝包。審核會盤點可能屬於敏感資料、開發環境、不必要產物、巢狀壓縮包或二進位程式的內容,再依實際用途判斷是否需要修改。
被列入檢查不代表檔案一定違規。例如,插件確實可能需要本機二進位元件或執行階段相依套件;開發者必須能夠說明其來源、用途與必要性。
最終安裝包通常不應包含與執行無關的版本控制、編輯器、虛擬環境或快取目錄,例如:
.git/、.svn/、.hg/、.bzr/;
.idea/、.vscode/;
__pycache__/、.pytest_cache/;
.venv/、venv/。
不要把完整專案目錄原樣打包。node_modules/ 或其他相依套件目錄如果確實是執行所需,可以保留必要內容;如果插件已經完成建置,建議移除不會在發佈版本中使用的開發相依套件與重複套件。
安裝包不得包含真實憑證或私人密鑰。請特別檢查:
.env 及其變體;
.pem、.key、.p12、.pfx 等密鑰或憑證檔案;
credentials.json、secrets.json;
包含 Token 或私有 Registry 憑證的 .npmrc;
測試帳號、個人資料、內部網址或開發資料庫。
如果敏感資料曾經被打包或公開,請不要只刪除檔案;還應立即停用並更換相關密鑰或憑證。
請移除不會影響插件執行的系統與暫存檔案,例如:
.DS_Store、Thumbs.db、desktop.ini;
.log、.tmp、.swp、.swo;
測試輸出、除錯記錄、截圖草稿與本機快取;
重複的 dist/、舊版本建置或同時存在的原始與發佈產物。
安裝包內容越精簡,越容易確認使用者最終會安裝什麼,也能降低意外洩漏與供應鏈風險。
不要在 .eagleplugin 內再放入與執行無關的 .zip、.rar、.7z、.tar、.tgz、.gz、.dmg、.iso 等壓縮包或磁碟映像。
如果壓縮包是插件功能必需的資源,請在審核說明中解釋內容、來源及使用方式。夾帶原始碼壓縮包、舊安裝包、備份檔案或另一份完整插件,會讓審核無法確認實際發佈範圍,並可能阻擋投稿。
.exe、.dll、.msi、.dylib、.so、.app、.pkg、.bin 等檔案會接受額外檢查,但不會只因為是二進位格式就自動被拒絕。
插件需要二進位元件時,請確保:
檔案直接服務於插件宣稱的功能;
來源可信,並由開發者有權重新發佈;
支援的平台與架構已清楚說明;
不會執行未向使用者說明的安裝、下載或系統變更;
安裝包沒有同時夾帶無關平台或舊版本的重複檔案。
安裝包包含版本控制目錄、編輯器設定或虛擬環境。
.env、私鑰或憑證檔案被一起打包。
包含巢狀原始碼壓縮包、舊安裝包或重複建置產物。
夾帶大量與執行無關的日誌、快取、測試或系統檔案。
二進位檔案來源與用途無法說明,或會執行未揭露的系統操作。
建議從全新的發佈目錄建立安裝包,並在投稿前解開一份副本,逐項確認裡面只剩使用者實際需要安裝的內容。
Last updated