3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00

Fix issues with circular dependencies between plugins

This commit is contained in:
Dragory 2021-08-18 19:33:22 +03:00
parent 62a6e59b7a
commit e3b6b017a2
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
23 changed files with 36 additions and 29 deletions

View file

@ -25,7 +25,7 @@ export const AutoDeletePlugin = zeppelinGuildPlugin<AutoDeletePluginType>()({
configurationGuide: "Maximum deletion delay is currently 5 minutes",
},
dependencies: [TimeAndDatePlugin, LogsPlugin],
dependencies: () => [TimeAndDatePlugin, LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -33,7 +33,7 @@ export const AutoReactionsPlugin = zeppelinGuildPlugin<AutoReactionsPluginType>(
`),
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -159,7 +159,7 @@ export const AutomodPlugin = zeppelinGuildPlugin<AutomodPluginType>()({
info: pluginInfo,
// prettier-ignore
dependencies: [
dependencies: () => [
LogsPlugin,
ModActionsPlugin,
MutesPlugin,

View file

@ -18,6 +18,9 @@ import { postCaseToCaseLogChannel } from "./functions/postToCaseLogChannel";
import { CaseArgs, CaseNoteArgs, CasesPluginType, ConfigSchema } from "./types";
import { LogsPlugin } from "../Logs/LogsPlugin";
// Workaround for circular dependency
const AnyTypedLogsPlugin = LogsPlugin as any;
const defaultOptions = {
config: {
log_automatic_actions: true,
@ -39,7 +42,7 @@ export const CasesPlugin = zeppelinGuildPlugin<CasesPluginType>()({
`),
},
dependencies: [TimeAndDatePlugin, LogsPlugin],
dependencies: () => [TimeAndDatePlugin, AnyTypedLogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -55,7 +55,7 @@ export const CensorPlugin = zeppelinGuildPlugin<CensorPluginType>()({
legacy: true,
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -8,7 +8,7 @@ export const ChannelArchiverPlugin = zeppelinGuildPlugin<ChannelArchiverPluginTy
name: "channel_archiver",
showInDocs: false,
dependencies: [TimeAndDatePlugin],
dependencies: () => [TimeAndDatePlugin],
configSchema: t.type({}),
// prettier-ignore

View file

@ -24,7 +24,7 @@ export const CompanionChannelsPlugin = zeppelinGuildPlugin<CompanionChannelsPlug
`),
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -52,5 +52,5 @@ export const ContextMenuPlugin = zeppelinGuildPlugin<ContextMenuPluginType>()({
loadAllCommands(pluginData);
},
dependencies: [MutesPlugin, LogsPlugin, UtilityPlugin],
dependencies: () => [MutesPlugin, LogsPlugin, UtilityPlugin],
});

View file

@ -108,6 +108,10 @@ import { logVoiceChannelLeave } from "./logFunctions/logVoiceChannelLeave";
import { logVoiceChannelMove } from "./logFunctions/logVoiceChannelMove";
import { logMemberTimedUnban } from "./logFunctions/logMemberTimedUnban";
import { logDmFailed } from "./logFunctions/logDmFailed";
import { CasesPlugin } from "../Cases/CasesPlugin";
// Workaround for circular dependency
const AnyTypedCasesPlugin = CasesPlugin as any;
const defaultOptions: PluginOptions<LogsPluginType> = {
config: {
@ -139,7 +143,7 @@ export const LogsPlugin = zeppelinGuildPlugin<LogsPluginType>()({
prettyName: "Logs",
},
dependencies: [TimeAndDatePlugin],
dependencies: () => [TimeAndDatePlugin, AnyTypedCasesPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -122,7 +122,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
`),
},
dependencies: [TimeAndDatePlugin, CasesPlugin, MutesPlugin, LogsPlugin],
dependencies: () => [TimeAndDatePlugin, CasesPlugin, MutesPlugin, LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -70,7 +70,7 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
},
configSchema: ConfigSchema,
dependencies: [CasesPlugin, LogsPlugin],
dependencies: () => [CasesPlugin, LogsPlugin],
defaultOptions,
// prettier-ignore

View file

@ -27,7 +27,7 @@ export const PersistPlugin = zeppelinGuildPlugin<PersistPluginType>()({
`),
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -36,7 +36,7 @@ export const PostPlugin = zeppelinGuildPlugin<PostPluginType>()({
prettyName: "Post",
},
dependencies: [TimeAndDatePlugin, LogsPlugin],
dependencies: () => [TimeAndDatePlugin, LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -108,7 +108,7 @@ export const ReactionRolesPlugin = zeppelinGuildPlugin<ReactionRolesPluginType>(
prettyName: "Reaction roles",
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -29,7 +29,7 @@ export const RemindersPlugin = zeppelinGuildPlugin<RemindersPluginType>()({
prettyName: "Reminders",
},
dependencies: [TimeAndDatePlugin],
dependencies: () => [TimeAndDatePlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -42,7 +42,7 @@ export const RolesPlugin = zeppelinGuildPlugin<RolesPluginType>()({
},
configSchema: ConfigSchema,
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
defaultOptions,
// prettier-ignore

View file

@ -42,7 +42,7 @@ export const SlowmodePlugin = zeppelinGuildPlugin<SlowmodePluginType>()({
prettyName: "Slowmode",
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -54,7 +54,7 @@ export const SpamPlugin = zeppelinGuildPlugin<SpamPluginType>()({
legacy: true,
},
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -61,7 +61,7 @@ export const TagsPlugin = zeppelinGuildPlugin<TagsPluginType>()({
},
configSchema: ConfigSchema,
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
defaultOptions,
// prettier-ignore

View file

@ -119,7 +119,7 @@ export const UtilityPlugin = zeppelinGuildPlugin<UtilityPluginType>()({
prettyName: "Utility",
},
dependencies: [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
dependencies: () => [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -21,7 +21,7 @@ export const WelcomeMessagePlugin = zeppelinGuildPlugin<WelcomeMessagePluginType
},
configSchema: ConfigSchema,
dependencies: [LogsPlugin],
dependencies: () => [LogsPlugin],
defaultOptions,
// prettier-ignore