From 67c3d9ec8dbd3148d3e2a97206590740ab710150 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Tue, 14 Oct 2025 00:37:24 +0700 Subject: [PATCH] chore(lib/plugins): update internal names with correct terminology --- lib/plugins/src/_internal/decorators.ts | 24 +++++++++---------- lib/plugins/src/_internal/index.ts | 11 +++++---- src/plugins/init/api.assets/index.ts | 2 +- src/plugins/init/api.components/index.ts | 2 +- src/plugins/init/api.discord/index.ts | 2 +- src/plugins/init/api.externals/index.ts | 2 +- src/plugins/preinit/api.storage/index.ts | 2 +- src/plugins/preinit/api.utils/index.ts | 2 +- .../screens/RevengePluginsSettingScreen.tsx | 3 +-- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/plugins/src/_internal/decorators.ts b/lib/plugins/src/_internal/decorators.ts index 387bcf8..d524ddf 100644 --- a/lib/plugins/src/_internal/decorators.ts +++ b/lib/plugins/src/_internal/decorators.ts @@ -6,7 +6,7 @@ export type PluginApiDecoratorStore = WeakMap[]> // Set of plugins that will always decorate the API of every other plugin. -export const pImplicitDeps = new Set() +export const pApis = new Set() export const pDecoratorsPreInit: PluginApiDecoratorStore<'PreInit'> = new WeakMap() @@ -32,17 +32,17 @@ export function decoratePluginApi( plugin: Plugin, meta: InternalPluginMeta, ) { - // Don't decorate implicit dependencies - if (pImplicitDeps.has(plugin)) return - - // Decorate the plugin API with implicit dependencies - // Implicit dependencies are internal plugin APIs, so we can run this without try-catch - // If anything fails, everything else would fail anyway - for (const dep of pImplicitDeps) { - const decorators = store.get(dep) - if (decorators) - for (const decorator of decorators) decorator(plugin, meta.options) - } + // Don't decorate API plugins with API plugins... + if (!pApis.has(plugin)) + // Decorate the plugin API with implicit dependencies + // Implicit dependencies are internal plugin APIs, so we can run this without try-catch + // If anything fails, everything else would fail anyway + for (const dep of pApis) { + const decorators = store.get(dep) + if (decorators) + for (const decorator of decorators) + decorator(plugin, meta.options) + } const deps = getPluginDependencies(plugin) const { handleError: handleDependentError } = meta diff --git a/lib/plugins/src/_internal/index.ts b/lib/plugins/src/_internal/index.ts index 5819175..a7e717a 100644 --- a/lib/plugins/src/_internal/index.ts +++ b/lib/plugins/src/_internal/index.ts @@ -14,10 +14,10 @@ import { import { addPluginApiDecorator, decoratePluginApi, + pApis, pDecoratorsInit, pDecoratorsPreInit, pDecoratorsStart, - pImplicitDeps, } from './decorators' import { computePendingNodes, @@ -58,9 +58,10 @@ export const InternalPluginFlags = { */ Essential: 1 << 1, /** - * Marks the plugin as a dependency of all other plugins. + * Marks the plugin as an API plugin, which decorates all other plugins. + * API plugins themselves won't be decorated by other API plugins unless explicitly declared in dependencies. */ - ImplicitDependency: 1 << 2, + API: 1 << 2, } export interface InternalPluginMeta { @@ -159,9 +160,9 @@ export function registerPlugin( pMetadata.set(plugin, meta) pList.set(manifest.id, plugin) - if (iflags & InternalPluginFlags.ImplicitDependency) { + if (iflags & InternalPluginFlags.API) { pLeafOrSingleNodes.add(plugin) - pImplicitDeps.add(plugin) + pApis.add(plugin) } // Only add to pending if the plugin is enabled else if (isPluginEnabled(plugin)) pPending.add(plugin) diff --git a/src/plugins/init/api.assets/index.ts b/src/plugins/init/api.assets/index.ts index 9bf1376..cf0e118 100644 --- a/src/plugins/init/api.assets/index.ts +++ b/src/plugins/init/api.assets/index.ts @@ -19,5 +19,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/init/api.components/index.ts b/src/plugins/init/api.components/index.ts index 9974c32..028e12e 100644 --- a/src/plugins/init/api.components/index.ts +++ b/src/plugins/init/api.components/index.ts @@ -24,5 +24,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/init/api.discord/index.ts b/src/plugins/init/api.discord/index.ts index 3fbfe9a..6b1474c 100644 --- a/src/plugins/init/api.discord/index.ts +++ b/src/plugins/init/api.discord/index.ts @@ -71,5 +71,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/init/api.externals/index.ts b/src/plugins/init/api.externals/index.ts index d70656b..c7bb08a 100644 --- a/src/plugins/init/api.externals/index.ts +++ b/src/plugins/init/api.externals/index.ts @@ -40,5 +40,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/preinit/api.storage/index.ts b/src/plugins/preinit/api.storage/index.ts index 5e3de62..53e6d1a 100644 --- a/src/plugins/preinit/api.storage/index.ts +++ b/src/plugins/preinit/api.storage/index.ts @@ -54,5 +54,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/preinit/api.utils/index.ts b/src/plugins/preinit/api.utils/index.ts index 8d27fd6..ca9a4ea 100644 --- a/src/plugins/preinit/api.utils/index.ts +++ b/src/plugins/preinit/api.utils/index.ts @@ -37,5 +37,5 @@ registerPlugin( // biome-ignore format: Don't format this InternalPluginFlags.Internal | InternalPluginFlags.Essential | - InternalPluginFlags.ImplicitDependency, + InternalPluginFlags.API, ) diff --git a/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx b/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx index 82b7d77..3023442 100644 --- a/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx +++ b/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx @@ -76,8 +76,7 @@ const Filters: FilterAndSortActionSheetProps['filters'] = { 'Non-APIs': { icon: getAssetIdByName('PaperIcon')!, desc: 'Exclude essential plugins that provide APIs for other plugins.', - filter: (_, meta) => - !(meta.iflags & InternalPluginFlags.ImplicitDependency), + filter: (_, meta) => !(meta.iflags & InternalPluginFlags.API), }, } satisfies FilterAndSortActionSheetProps['filters'] const DefaultFilters: FilterAndSortActionSheetProps['filter'] = ['Non-APIs']