Commit graph

64 commits

Author SHA1 Message Date
PalmDevs
46d7cda223
chore: add build flag to debug lookups 2025-06-12 23:24:19 +07:00
PalmDevs
000e5f4514
feat(lib/modules/finders/filters): add strict option for moduleStateAware and preferExports, update docs 2025-06-11 23:17:16 +07:00
PalmDevs
ebad969eec
feat(lib/modules/finders/get): add options.max to getModule 2025-06-10 11:06:15 +07:00
PalmDevs
b3b41e260b
fix(lib/modules/finders/lookup): correct types for lookup results 2025-06-10 11:04:23 +07:00
PalmDevs
3619993dc0
fix(lib): export types exports as types-only 2025-06-08 18:47:42 +07:00
PalmDevs
7074e256c1
fix(lib/modules/metro): default initializing module ID to null 2025-06-07 15:14:37 +07:00
PalmDevs
2b905801c3
chore: format 2025-06-03 16:24:58 +07:00
PalmDevs
f56309f448
chore(lib/modules/finders/filters): update docs 2025-05-22 00:00:11 +07:00
PalmDevs
8437c224cd
fix(modules/finders/get): mismatched args for getModule 2025-05-19 02:20:00 +07:00
PalmDevs
37664aaa55
chore: format 2025-05-19 01:43:41 +07:00
PalmDevs
a43cd5d564
feat!: plugins page, tons of API changes, and bug fixes
Plugins
- Settings: Plugins page is now semi-functional
- No Track: Added new plugin
- Developer Settings: Clean up properly
- Logging: Log in preInit stage
- Staff Settings: Add ReloadRequired flags when late-running

@revenge-mod/init
- Moved to the top-level src/index.ts instead

@revenge-mod/modules
- Switch `exports` and `id` parameters in finders APIs
- Lookups now return an array of exports and ID instead of just exports
  - Lookup ID APIs have been removed
- Add `finders.get` helper, a new alternative for `finders.find`
- Corrected documentation for subscription APIs

@revenge-mod/plugins
- Added new APIs for plugins to allow running during pre-init stages
- Added `unscoped.modules.finders.get*`
- Added `unscoped.react.native`

@revenge-mod/react
- native: Added `onRunApplication` and `onRunApplicationFinished`

@revenge-mod/utils
- callbacks: Add `noopFalse`
- promises: Fix `allSettled`
- promises: Add `sleep`
2025-05-18 22:24:48 +07:00
PalmDevs
4d31b7016c
chore(lib/modules/metro/subscriptions): update documentation 2025-05-15 16:47:02 +07:00
PalmDevs
331f509f8d
feat(lib/modules/finders/lookup): warn about bad filters in development builds 2025-05-15 15:12:29 +07:00
PalmDevs
273294df82
fix(lib/modules/finders)!: remove find* apis
- `find` APIs are merely a wrapper for `wait` and `lookup` APIs. I think the developer should already know whether the module they're trying to get is initialized already or not by the time their plugin runs.
In the `init` phase, most important packages such as React, React Native, React JSX Runtime, Native modules, etc. are already initialized. So, the `lookup` APIs can be used here instead.

- While I am not sure what exactly gets initialized after `init` until `start`, you can simply do trial and error to see if the module is initialized or not. If it is not, you can use `wait` API to wait for it to be initialized.

- `lookup` can also be used inside `wait` if you know a certain module would be initialized after another module.

With all the above reasons, I think the `find*` APIs are redundant and should be removed.
2025-05-13 10:35:07 +07:00
PalmDevs
c811e9e302
feat(lib/modules/finders/filters): add bySingleProp filter 2025-05-10 18:12:38 +07:00
PalmDevs
bea3439c5e
fix(lib): refactor modules, react, utils 2025-05-09 21:21:06 +07:00
PalmDevs
15154c05fe
feat(lib/modules/finders/filters): allow specifying custom types in byDependencies 2025-05-08 19:10:39 +07:00
PalmDevs
c0a853b2fb
fix(lib/modules/finders/filters): correct cache key generation for byDependencies 2025-05-07 17:34:55 +07:00
PalmDevs
6407b0518f
fix: optimize typechecking performance 2025-05-07 17:34:19 +07:00
PalmDevs
930f8221c0
chore: format 2025-05-05 21:17:42 +07:00
PalmDevs
7789c26d86
feat(lib/modules/finders/filters): add withoutProps 2025-05-05 19:22:58 +07:00
PalmDevs
c379d815a6
fix(lib/modules/finders/filters)!: change how relative dependency comparisons work 2025-05-01 12:57:15 +07:00
PalmDevs
384f669c68
feat(lib/modules/finders)!: check namespace before default exports, improve performance marginally 2025-05-01 00:18:42 +07:00
PalmDevs
b785bc574a
feat(lib/modules/finders)!: make filters work with returning CJS modules 2025-04-30 23:46:21 +07:00
PalmDevs
639ffbf1f0
fix(lib/modules/finders/lookup): get correct exports for uninitialized modules 2025-04-30 23:45:15 +07:00
PalmDevs
a87c3f167a
fix(lib/modules/finders/filters): fix moduleStateAware always failing 2025-04-30 23:44:32 +07:00
PalmDevs
729ff59fd9
feat(lib/modules/finders/filters): add relative dependency comparisons 2025-04-30 23:44:00 +07:00
PalmDevs
ede2a582a0
chore: remove unnecessary returns and blocks 2025-04-30 18:53:41 +07:00
PalmDevs
20af127254
fix(lib)!: move modules/native/discord and its types to discord/native 2025-04-29 18:41:22 +07:00
PalmDevs
7a7f470ff4
fix(lib)!: move modules/common to own libs 2025-04-29 18:25:55 +07:00
PalmDevs
653ef550ae
fix(lib/modules/common/discord/flux): access _stores directly 2025-04-27 22:05:13 +07:00
PalmDevs
87ff29a36a
feat(lib/modules/common)!: export more commons 2025-04-27 21:14:41 +07:00
PalmDevs
54b45dfd93
fix(lib/modules/types/discord): correct typings for DiscordModules.Logger 2025-04-27 21:03:05 +07:00
PalmDevs
fd1f41f3b9
fix(lib/modules/common)!: make exports capitalization consistent 2025-04-27 20:58:41 +07:00
PalmDevs
d251b401c9
chore(lib): refactor libs for preinits and inits 2025-04-27 20:58:40 +07:00
PalmDevs
89b9fa7958
chore(lib): migrate usage of .d.ts to .ts 2025-04-27 20:58:33 +07:00
PalmDevs
0ff9c83f5b
feat(lib/modules): export common 2025-04-27 14:45:14 +07:00
PalmDevs
c4fbbb61d8
fix(lib/modules/native)!: prepare dir structure for native interop 2025-04-27 14:44:59 +07:00
PalmDevs
ad9c532f09
fix(lib/modules/metro/patches): remove non-existent import 2025-04-27 14:43:13 +07:00
PalmDevs
727afef487
fix(lib/modules): only do hot blacklisting, fix bad module checks 2025-04-27 14:42:24 +07:00
PalmDevs
f3f9dbbd17
fix(lib/modules/finders/filters): add type checks for byProps, use for loops in combined filters 2025-04-16 16:19:13 +07:00
PalmDevs
8da47da0f9
fix(lib): simplify type checks 2025-04-16 16:17:43 +07:00
PalmDevs
b29e1bc2f6
fix(lib/modules): fix subscriptions not having correct module ids 2025-04-16 16:16:29 +07:00
PalmDevs
0fcd77eb9c
fix(lib/modules/finders/filters): add import 2025-04-16 14:56:34 +07:00
PalmDevs
af23c2352e
feat(lib/modules/finders)!: add ability to use finders with blacklisted modules, add isModuleInitialized Metro util, added and changed filters 2025-04-16 14:23:48 +07:00
PalmDevs
424ecfbed0
feat(lib/modules/metro/utils)!: change non-existent imports, blacklisting behavior, removed and separated some fns 2025-04-15 15:06:48 +07:00
PalmDevs
8fcbcb5792
feat(lib/modules/metro/subscriptions): clean up specific subscriptions once called 2025-04-15 15:04:35 +07:00
PalmDevs
e6e46a175d
feat(lib/modules/metro/subscriptions): add ability to subscribe when modules are first required 2025-04-15 15:02:44 +07:00
PalmDevs
7452be9d9a
fix(lib/modules/finders/lookup)!: reorder type params for consistency 2025-04-12 00:14:30 +07:00
PalmDevs
626cc6db8d
fix(lib/modules/finders/find): correct types for filtering uninitialized modules 2025-04-12 00:13:32 +07:00