diff --git a/lib/plugins/src/apis/index.ts b/lib/plugins/src/apis/index.ts index 0e2cec0..5768fe9 100644 --- a/lib/plugins/src/apis/index.ts +++ b/lib/plugins/src/apis/index.ts @@ -1,5 +1,4 @@ import * as patcher from '@revenge-mod/patcher' -import * as storage from '@revenge-mod/storage' import { modules } from './modules' import { plugins } from './plugins' import { react } from './react' @@ -18,7 +17,6 @@ export const pUnscopedApi: patcher, plugins, react, - storage, } export function spreadDescriptors( diff --git a/lib/plugins/src/types.ts b/lib/plugins/src/types.ts index f88af40..d5028a0 100644 --- a/lib/plugins/src/types.ts +++ b/lib/plugins/src/types.ts @@ -19,7 +19,6 @@ export interface UnscopedPreInitPluginApi< patcher: typeof import('@revenge-mod/patcher') plugins: PluginApiPlugins react: PluginApiReact - storage: typeof import('@revenge-mod/storage') } /** diff --git a/lib/storage/src/types.ts b/lib/storage/src/types.ts index c89ee09..82ced9d 100644 --- a/lib/storage/src/types.ts +++ b/lib/storage/src/types.ts @@ -2,6 +2,10 @@ import type { AnyObject } from '@revenge-mod/utils/types' import type { Storage, StorageOptions } from '.' declare module '@revenge-mod/plugins/types' { + export interface UnscopedPreInitPluginApi { + storage: typeof import('.') + } + export interface PluginApiExtensionsOptions { storage?: AnyObject } diff --git a/src/plugins/preinit/api.storage/index.ts b/src/plugins/preinit/api.storage/index.ts index e7cd4d8..91829a6 100644 --- a/src/plugins/preinit/api.storage/index.ts +++ b/src/plugins/preinit/api.storage/index.ts @@ -3,6 +3,7 @@ import { PluginFlags, PluginsStorageDirectory, } from '@revenge-mod/plugins/constants' +import * as storage from '@revenge-mod/storage' import { getStorage } from '@revenge-mod/storage' import { defineLazyProperty } from '@revenge-mod/utils/object' import type { AnyPlugin } from '@revenge-mod/plugins/_' @@ -19,7 +20,9 @@ registerPlugin( icon: 'PollsIcon', }, { - preInit({ decorate }) { + preInit({ decorate, unscoped }) { + unscoped.storage = storage + decorate((plugin, { storage }) => { if (storage) storageOptions.set(plugin, storage) })