Commit graph

10 commits

Author SHA1 Message Date
PalmDevs
3f60b4dfb7
feat!: more plugin system improvements + API changes + other fixes
BREAKING CHANGES:

- lib/modules!: Renamed `callBridgeMethod*` to `callNativeMethod*` and interface `Methods` to `NativeMethods`. This is to achieve naming consistency with the native API and be more clear.
- lib/storage!: Renamed to `@revenge-mod/json-storage`. A storage can be in any arbitrary format. While there's little potential for non-JSON storage formats, but the naming should allow for it regardless. This is not a drop-in replacements. There are breaking changes in export names and new APIs.
- plugins/revenge.api.storage!: Renamed to `revenge.api.jsonStorage`. Plugin options are renamed and its structure has changed as well.
- Native now holds the path for official storage APIs. This update uses new paths without any migration!
- lib/plugins!: `Plugin.errors` is now read-only. Use `Plugin.reportError(e)` instead.
- lib/plugins!: `Plugin.flags` has been completely removed in favor of these methods: `Plugin.requireReload()`, `Plugin.disable()`.

OTHER CHANGES:

- Fixed sorting for 'Enabled first'
- Updated native method names to be more consistent
- Cleand up dead code
- Make methods more 'safe' by removing non-null assertion casts
2026-07-09 23:47:53 +07:00
PalmDevs
7b651154a2
fix(lib/plugins): prepend API plugins last 2026-04-07 22:34:34 +07:00
PalmDevs
2bc2a9fd08
fix(lib/plugins): expose internal metadata via function instead 2025-10-22 22:19:42 +07:00
PalmDevs
b40e2f51ab
fix(lib/plugins): only run dependencies in runPluginLate 2025-07-26 01:58:17 +07:00
PalmDevs
5d7ac417ba
fix(lib/plugins): some plugins with dependents being duplicated in ordered plugin list 2025-07-25 20:10:33 +07:00
PalmDevs
831636f14c
fix(lib/plugins): fix depedency graphing logic 2025-07-21 21:27:17 +07:00
PalmDevs
a3ebccf1d6
fix(lib/plugins): resolve dependency graph before pushing nodes to ordered list 2025-07-21 15:32:38 +07:00
PalmDevs
72035286a9
feat(lib/plugins): cache resolved dependencies 2025-07-21 14:01:21 +07:00
PalmDevs
2bb51b7782
fix(lib/plugins): internal plugins marked ImplicitDependency not being added to head of list 2025-07-20 23:34:31 +07:00
PalmDevs
2e455cf2c5
feat: add ability to decorate plugin APIs, move private properties to WeakMap stores 2025-07-20 23:06:56 +07:00