# 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` / `.hdcache` - `module-paths.json` — `[{id, path}]` extracted from `code.js` via `fileFinishedImporting("...")` - `source.jsonl` — `{file, size}` index - `source/` — `16492` modules (`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/` — `~460` Babel/RN helpers (`_typeof`, `_isNativeReflectConstruct:182`, `__INTERNAL_VIEW_CONFIG`) - `__vendor/NNxxx/` — `~2558` vendor/barrels (`1000_feedbackAsyncIntegration`, `items`, `prop`, `formatDistance`, Sentry/Reanimated) - `__polyfill/NNxxx/` — `~3439` opaque `module_*.js` - `6` root files with path but no `/` (`index.native.tsx:0`, `Constants.tsx:653` etc) 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=true` to re-shard)