{"id":42013604,"url":"https://github.com/runejs/common","last_synced_at":"2026-01-26T02:45:39.038Z","repository":{"id":45967035,"uuid":"306780002","full_name":"runejs/common","owner":"runejs","description":"Common logging, networking, compression, and other functionality for RuneJS applications.","archived":false,"fork":false,"pushed_at":"2025-01-22T01:35:21.000Z","size":379,"stargazers_count":4,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-09-25T22:15:36.660Z","etag":null,"topics":["api","buffer","bytebuffer","common","core-services","logger","runejs","runejs-applications"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runejs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-24T01:11:08.000Z","updated_at":"2025-01-22T01:35:25.000Z","dependencies_parsed_at":"2025-08-23T07:09:32.317Z","dependency_job_id":"9dbbb639-dc04-4a79-b947-fa32058a1f3b","html_url":"https://github.com/runejs/common","commit_stats":null,"previous_names":["runejs/core","rune-js/core"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/runejs/common","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runejs%2Fcommon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runejs%2Fcommon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runejs%2Fcommon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runejs%2Fcommon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runejs","download_url":"https://codeload.github.com/runejs/common/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runejs%2Fcommon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28765352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T02:25:41.078Z","status":"ssl_error","status_checked_at":"2026-01-26T02:24:28.809Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","buffer","bytebuffer","common","core-services","logger","runejs","runejs-applications"],"created_at":"2026-01-26T02:45:37.596Z","updated_at":"2026-01-26T02:45:39.033Z","avatar_url":"https://github.com/runejs.png","language":"TypeScript","readme":"[![RuneJS Discord Server](https://img.shields.io/discord/678751302297059336?label=RuneJS%20Discord\u0026logo=discord)](https://discord.gg/5P74nSh)\n\n[![RuneJS](https://i.imgur.com/QSXNzwC.png)](https://github.com/runejs/)\n\n# Common\n\nCommon logging, networking, compression, and other miscellaneous functionality for RuneJS.\n\n## Exported Modules\n\n### `@runejs/common`\n* `logger` is exported as a singleton Pino logging wrapper.\n  * Methods:\n      * `logger.info(...messages: any[])`\n      * `logger.debug(...messages: any[])`\n      * `logger.warn(...messages: any[])`\n      * `logger.error(...messages: any[])`\n      * `logger.trace(...messages: any[])`\n      * `logger.fatal(...messages: any[])`\n      * `logger.destination(logDir: string)`\n      * `logger.setOptions(options: Pino.LoggerOptions)`\n      * `logger.setPrettyPrint(prettyPrint: boolean)`\n      * `logger.setTimeFormat(format: TimeFn)`\n* `ByteBuffer` is also exported at the root level.\n  * Node `Uint8Array` wrapper with additional utility functions.\n  * Unified configurable `get` and `put` methods to easily move bytes within the buffer.\n  * Int24, Smart, Long and String type support.\n  * Big endian, little endian, and mixed endian support.\n  * Bit access through `openBitBuffer()`, `putBits()`, and `closeBitBuffer()`\n\n### `@runejs/common/color`\nHandles various color conversions needed by the game and tooling.\n* `RGB(A)`\n* `HSL` (Hue, Saturation, Lightness)\n* `HSV` (Hue, Saturation, Value/Brightness)\n* `HCL` (Hue, Chroma, Luminance)\n* `LAB` (Lightness, A, B)\n\n### `@runejs/common/compress`\n* Exported class `Gzip` handles Gzip compression and decompression.\n* Exported class `Bzip2` handles Bzip2 compression and decompression.\n\n### `@runejs/common/crc32`\nExports a single class `Crc32` that generates CRC32 checksums for binary data files.\n\n### `@runejs/common/encrypt`\nProvides XTEA encryption and decryption functionality, as well as a key file loader.\n* Exported as class `Xtea`\n\n### `@runejs/common/net`\n* `SocketServer`\n  * Handles connections made to a RuneJS socket server.\n* `SocketServer.launch(serverName, hostName, port, connectionHandlerFactory)`\n  * Spins up a new Node Socket server with the specified host and port.\n* `ServerConfigOptions`\n  * Options for a configured Socket server, imported using the `parseServerConfig()` function.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunejs%2Fcommon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunejs%2Fcommon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunejs%2Fcommon/lists"}