Commit graph

68 commits

Author SHA1 Message Date
PalmDevs
e7b4413675
chore: format 2025-08-05 20:39:09 +07:00
PalmDevs
b40e2f51ab
fix(lib/plugins): only run dependencies in runPluginLate 2025-07-26 01:58:17 +07:00
PalmDevs
8eea0d12ea
feat: plugin dependencies and dependent dialogs, refactor plugins library and settings plugin
- Refactored the plugins library
- Refactored the settings plugin
2025-07-25 21:19:59 +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
6852c816d0
chore(lib/plugins): add plugin start order log 2025-07-21 22:04:51 +07:00
PalmDevs
51125ef39f
feat(lib/plugins): return PluginDependency in registerPlugin 2025-07-21 22:04:06 +07:00
PalmDevs
831636f14c
fix(lib/plugins): fix depedency graphing logic 2025-07-21 21:27:17 +07:00
PalmDevs
5bde44a14c
fix(lib/plugins): compile error because arrow async function 2025-07-21 15:35:06 +07:00
PalmDevs
825f29ce52
chore(lib/plugins): cleanup 2025-07-21 15:33:00 +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
601d5a28f5
feat(lib/plugins): improve types and documentation 2025-07-21 14:45:03 +07:00
PalmDevs
f5ed49d4e2
fix: declare unscoped storage API using decorators instead 2025-07-21 14:06:51 +07:00
PalmDevs
7a365f93c7
fix(lib/plugins/apis): spread descriptors instead of values 2025-07-21 14:05:37 +07:00
PalmDevs
84bb9992f5
feat(lib/plugins): do API decorator filtering 2025-07-21 14:02:00 +07:00
PalmDevs
72035286a9
feat(lib/plugins): cache resolved dependencies 2025-07-21 14:01:21 +07:00
PalmDevs
a1316e720e
fix(lib/plugins): error during preinit stage not being logged 2025-07-20 23:34:52 +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
PalmDevs
78614c1cc9
chore: move SettingRendererConfig patches to lib, refactor how lifecycles are run 2025-07-19 23:23:32 +07:00
PalmDevs
d3b754d2cc
feat(lib/plugins): switch to objects for storage 2025-07-18 23:44:08 +07:00
PalmDevs
0095a3e153
feat(lib/plugins): allow accessing react API in preInit 2025-07-16 20:02:18 +07:00
PalmDevs
8d4581f9c1
fix: register start-only plugins during start stage
Previously they were registered on init which may have caused some minor performance issues.
2025-07-14 23:13:52 +07:00
PalmDevs
37a20160db
fix: do not use emitter to emit error event
Discord's EventEmitter handles the `error` event specially for some reason.
2025-07-13 00:26:22 +07:00
PalmDevs
811bd30756
chore: revert 8347e24 2025-07-12 21:05:27 +07:00
PalmDevs
0746db3648
chore(lib/plugins): move utils assignments to own lib 2025-07-11 17:55:54 +07:00
PalmDevs
b3d9f0c9ec
fix(lib/plugins): remove bad assignment 2025-07-11 17:49:30 +07:00
PalmDevs
f591fc7de9
feat(lib/plugins): expose utils, components to unscoped API 2025-07-11 17:43:23 +07:00
PalmDevs
4b2a612374
chore(lib/utils): do not pluralize submodules 2025-07-11 17:33:06 +07:00
PalmDevs
83a3eb53fb
feat(lib/plugins): expose storage lib to unscoped API 2025-07-11 17:02:22 +07:00
PalmDevs
8babd1837a
feat(lib/plugins): log plugin errors in native as well 2025-07-11 15:19:27 +07:00
PalmDevs
2b05b34a28
chore: lint and format 2025-07-11 01:15:50 +07:00
PalmDevs
8347e24e54
chore(lib/react)!: remove jsx-runtime
This has been made because no developer will likely ever require this API.

The current API assumes you already have an instance of the component, which means you can likely already patch that component instance itself.

The API can be made more powerful by taking any string names, and comparing it to the component's type name, type displayName, name, displayName, etc., but it will introduce performance bottlenecks.
2025-07-11 01:15:20 +07:00
PalmDevs
075f33f6c6
chore: cleanup 2025-07-05 13:56:52 +07:00
PalmDevs
77f8d62720
fix: improve perf by not returning implicitly 2025-06-17 19:53:58 +07:00
PalmDevs
256191b8a4
fix(lib/plugins): emit events properly when no lifecycles are present 2025-06-16 18:13:48 +07:00
PalmDevs
598728d195
fix(lib/plugins)!: name types more consistently
skip-checks:true
2025-06-16 09:57:25 +07:00
PalmDevs
fb8cc2d897
feat!: allow plugin API extensions to get runtime options, and allow API extensions to pass options, refactor api.storage to API extensions 2025-06-16 09:51:30 +07:00
PalmDevs
99d7dc0111
fix(lib/plugins): don't catch manually thrown errors, remove useless event 2025-06-14 22:05:26 +07:00
PalmDevs
33bb878c5c
feat(lib/plugins): switch to event-based system 2025-06-14 18:01:39 +07:00
PalmDevs
ca12fac256
feat(lib/plugins): add settings pages for plugins 2025-06-10 22:22:59 +07:00
PalmDevs
2123126aef
fix(lib/plugins): pass storage options correctly 2025-06-10 00:02:18 +07:00
PalmDevs
3619993dc0
fix(lib): export types exports as types-only 2025-06-08 18:47:42 +07:00
PalmDevs
cf38e74338
fix(lib/plugins/apis): use imports instead of require where possible 2025-06-07 10:07:32 +07:00
PalmDevs
2c56aa87c1
fix(lib/plugins): move unscoped.externals to its own pkg 2025-06-06 20:51:07 +07:00
PalmDevs
0ad9454dce
fix: define lazy-loaded APIs without shallow clone 2025-06-06 20:08:25 +07:00
PalmDevs
2b905801c3
chore: format 2025-06-03 16:24:58 +07:00
PalmDevs
aba4fa7242
fix(lib/plugins): use defineLazyProperty to define plugin storage API 2025-06-03 16:13:54 +07:00
PalmDevs
3cc039ae73
feat(lib/plugins): refactor discord plugin API as API extensions
The aim is to reduce Discord-specific code in core libraries.
2025-06-02 15:50:29 +07:00
PalmDevs
6d19de566f
chore: format 2025-06-01 13:52:06 +07:00
PalmDevs
7a1ff7ef0c
feat(lib/plugins): add API for storages 2025-05-22 02:45:38 +07:00