Где я могу найти информацию о том, какие версии Discourse поддерживают какие версии API плагинов? В настоящее время я использую плагин API v0.8, так как нашел его в руководстве по темам Discourse. Однако мне не удалось найти версии API плагинов и их соответствие версиям Discourse.
keegan
(Keegan George)
18.Сентябрь.2021 16:23:58
2
@Usman_Shahid
Не уверен, что это лучший способ, но, возможно, стоит посмотреть в файл plugin-api.js (строка 89), где указан номер версии:
const PLUGIN_API_VERSION = "0.12.3"
и сравнить это число в разных коммитах Discourse?
Спасибо, это очень полезно
bitmage
(Brandon Mason)
13.Июнь.2024 00:56:23
4
Похоже, что текущий файл для версии, на которой я нахожусь (3.2.0), находится здесь:
replaceIcon,
} from "discourse-common/lib/icon-library";
import { CUSTOM_USER_SEARCH_OPTIONS } from "select-kit/components/user-chooser";
import { modifySelectKit } from "select-kit/mixins/plugin-api";
// If you add any methods to the API ensure you bump up the version number
// based on Semantic Versioning 2.0.0. Please update the changelog at
// docs/CHANGELOG-JAVASCRIPT-PLUGIN-API.md whenever you change the version
// using the format described at https://keepachangelog.com/en/1.0.0/.
export const PLUGIN_API_VERSION = "1.24.0";
// This helper prevents us from applying the same `modifyClass` over and over in test mode.
function canModify(klass, type, resolverName, changes) {
if (!changes.pluginId) {
// eslint-disable-next-line no-console
console.warn(
consolePrefix(),
"To prevent errors in tests, add a `pluginId` key to your `modifyClass` call. This will ensure the modification is only applied once."
);
return true;
Это действительно запутанный способ определения версии API, которую мы должны использовать.
Мой опыт показывает, что если вы ошибётесь, скрипт просто не загрузится без каких-либо сообщений об ошибке.