1.9 KiB
decord — data branch
Auto-generated by main's update (hourly) workflow (src/update/tasks/decompile.ts + code.ts). Do not edit manually.
Layout
Data is split per Discord release channel: alpha/, beta/, stable/. Each channel has the same contents:
code.js.gz— full decompiled bundle (hermes-decomp decompile)index.android.bundle/.hdcachemodule-paths.json—[{id, path}]extracted fromcode.jsviafileFinishedImporting("...")source.jsonl—{file, size}indexsource/—16492modules (hermes-decomp extract+ path mapping)version.txt
version.txt is written only after a successful decompile. A placeholder 0 signals "never decompiled" (forces the first run).
source/ layout
10030 Discord-owned modules have a real path (fileFinishedImporting) and are placed at their source path: modules/ (7291), discord_common/ (501), discord_assets/, utils/, actions/, etc.
6468 modules have no path in the bundle and are sharded semantically to avoid GitHub's 1000-file dir limit (NNxxx = id//1000):
__helpers/NNxxx/—~460Babel/RN helpers (_typeof,_isNativeReflectConstruct:182,__INTERNAL_VIEW_CONFIG)__vendor/NNxxx/—~2558vendor/barrels (1000_feedbackAsyncIntegration,items,prop,formatDistance, Sentry/Reanimated)__polyfill/NNxxx/—~3439opaquemodule_*.js6root files with path but no/(index.native.tsx:0,Constants.tsx:653etc) stay at root
Each NNxxx bucket is <1000 (max 961 in 02xxx polyfill).
Why some are "unmapped"
fileFinishedImporting is only emitted for Discord source. Helpers/vendor are required at runtime (dependencyMap) but are not part of Discord's repo, so no path exists. See src/update/tasks/code.ts:54 resolveDest() and classifyUnmapped().
Links
- Main: https://github.com/lvwmwm/decord
- Workflow:
.github/workflows/update.yml(workflow_dispatch force=trueto re-shard)