Zależności wtyczek i zakresy wersji
Zależność wtyczki to inna wtyczka, na której opiera się Twoja wtyczka. Przykładem jest wtyczka, której serwer MCP albo umiejętność jest wywoływana przez Twoją wtyczkę. Domyślnie zależność śledzi najnowszą wersję dostępną w marketplace; możesz zamiast tego zadeklarować przetestowany zakres semver, taki jak ^2.0 lub ~2.1.0.
Zależności deklaruje się w plugin.json, a mechanizm jest przeznaczony dla autorów wtyczek oraz opiekunów marketplace’ów tagujących wydania. Jeśli nie określisz zakresu wersji, zależność przejdzie na każde nowe wydanie opublikowane przez marketplace przy następnej aktualizacji użytkownika. To może zepsuć Twoją wtyczkę: nowe wydanie zależności może zmienić nazwę narzędzia MCP, które wywołujesz.
Zakres ~2.1.0 dla zależności pochodzącej ze źródła opartego na Git pozwala użytkownikom z zainstalowaną wtyczką otrzymywać poprawki 2.1.x, bez przejścia na 2.2. Aby przeprowadzić aktualizację według własnego harmonogramu, najpierw przetestuj nowsze wydanie. Następnie opublikuj nową wersję swojej wtyczki z szerszym zakresem ograniczenia.
Jeśli utrzymujesz wtyczkę, od której zależą inni, taguj jej wydania, aby ich zakresy wersji mogły zostać rozwiązane. Zakres powinien odzwierciedlać wersję, z którą Twoja wtyczka została przetestowana, ponieważ właśnie tak opisany jest semverowy warunek zależności. Zależności wtyczek to osobny temat od deklarowania pakietów npm i Bun potrzebnych kodowi samej wtyczki.
plugin.json.^2.0
2.1.x i nie przesuwa ich na 2.2.~2.1.0
Zastosowanie w praktyce
Zadeklaruj zależność, gdy Twoja wtyczka polega na innej wtyczce, na przykład wywołuje jej serwer MCP lub umiejętność. Wybierz ograniczenie wersji, jeśli chcesz przypiąć zależność do zakresu, z którym Twoja wtyczka została przetestowana, zamiast podążać za najnowszym wydaniem marketplace’u. Przy zależności ze źródła opartego na Git możesz użyć ~2.1.0, jeśli chcesz otrzymywać poprawki z tej linii i nie przechodzić na 2.2. Gdy zechcesz przejść na nowsze wydanie, przetestuj je, opublikuj nową wersję swojej wtyczki z szerszym zakresem, a jako jej opiekun taguj wydania, by zależności mogły rozwiązać swoje ograniczenia.