{"_id":"@dan_koyuki/xrohrjs","_rev":"5-cabfe85766d007a0c9e9636607ef316c","name":"@dan_koyuki/xrohrjs","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@dan_koyuki/xrohrjs","version":"1.0.0","keywords":["express","express.js","framework","typescript"],"author":{"name":"Dan"},"license":"MIT","_id":"@dan_koyuki/xrohrjs@1.0.0","maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"homepage":"https://github.com/Danang-Bahtiar/DiscrafterJS?tab=readme-ov-file#discrafterjs","bugs":{"url":"https://github.com/Danang-Bahtiar/DiscrafterJS/issues"},"dist":{"shasum":"bd1706e10329bf145137540a9ba7defe0fde7621","tarball":"https://registry.npmjs.org/@dan_koyuki/xrohrjs/-/xrohrjs-1.0.0.tgz","fileCount":70,"integrity":"sha512-LXICZ/F3xkQcE3G/bRN7cHGXaEe6kxzo/JkURFACoMwjhuE9Qu4/xiTMvvQ+Zvrj5M00nGn7qsbp2grOfZ4sDg==","signatures":[{"sig":"MEYCIQDOO/+S27qHYMu3AJM+Kq8bLQQv9ceLXK/0LXCXS82pQAIhAJRKkIOIuxd9dglNFa7a7Va9gK0ONUoqCDRgBACnmh/V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68634},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.11.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"57843d770ad4a458657c0bcd08bd6dacd3b45f5c","scripts":{"dev":"ts-node --esm src/index.ts","build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"repository":{"url":"git+https://github.com/Danang-Bahtiar/DiscrafterJS.git","type":"git"},"_npmVersion":"11.4.1","description":"An express.js framework built with TypeScript","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"cors":"^2.8.5","axios":"^1.13.2","express":"^5.1.0","ts-node":"^10.9.2","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.1","@types/axios":"^0.9.36","@types/express":"^5.0.3"},"peerDependencies":{"cors":"^2.8.5","glob":"^11.0.3","axios":"^1.13.2","express":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/xrohrjs_1.0.0_1763173638091_0.8354471936207508","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dan_koyuki/xrohrjs","version":"1.0.1","keywords":["express","express.js","framework","typescript"],"author":{"name":"Dan"},"license":"MIT","_id":"@dan_koyuki/xrohrjs@1.0.1","maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"homepage":"https://github.com/Danang-Bahtiar/XrohrJS?tab=readme-ov-file#xrohrjs","bugs":{"url":"https://github.com/Danang-Bahtiar/XrohrJS/issues"},"dist":{"shasum":"e313b441172ae71a2f32a08d4cd3bbd4a52c5b3a","tarball":"https://registry.npmjs.org/@dan_koyuki/xrohrjs/-/xrohrjs-1.0.1.tgz","fileCount":70,"integrity":"sha512-o7srYkM3qzeycmmqpmtFyJ5mH16wdtG61rB1TOdwn3ifkqWKc35iNG2ftwLdLnoJSz/LMHoy+C3zgjB5zxvBjg==","signatures":[{"sig":"MEYCIQD49vnl3b1W9OeviwIsOMsTC0bVKTmakThOXo1wg05VYAIhAPRhQWZzXnhy57WFdwHKxMmp6bY4MbF669wI/qGEx7Lo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68614},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.11.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"69b786c844271d30102d4275fa3ded47cd427e7c","scripts":{"dev":"ts-node --esm src/index.ts","build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"repository":{"url":"git+https://github.com/Danang-Bahtiar/XRohrJS.git","type":"git"},"_npmVersion":"11.4.1","description":"An express.js framework built with TypeScript","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"cors":"^2.8.5","axios":"^1.13.2","express":"^5.1.0","ts-node":"^10.9.2","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.1","@types/axios":"^0.9.36","@types/express":"^5.0.3"},"peerDependencies":{"cors":"^2.8.5","glob":"^11.0.3","axios":"^1.13.2","express":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/xrohrjs_1.0.1_1763188413486_0.27783614162904535","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@dan_koyuki/xrohrjs","version":"1.0.7","keywords":["express","express.js","framework","typescript"],"author":{"name":"Dan"},"license":"MIT","_id":"@dan_koyuki/xrohrjs@1.0.7","maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"homepage":"https://portfolio.irwantodan.dev/project/xrohr","bugs":{"url":"https://github.com/Danang-Bahtiar/XrohrJS/issues"},"dist":{"shasum":"0c43da85b184f746596bae86ee5fc94e1c5e089c","tarball":"https://registry.npmjs.org/@dan_koyuki/xrohrjs/-/xrohrjs-1.0.7.tgz","fileCount":70,"integrity":"sha512-28Ty7v27ynNrKSoHCu7Jaqf97vjBnput9Jz+aZ03tf6z720wO0i+tZCvm1HEgtH9BLhuAiD6syFaj9SBO1iI6g==","signatures":[{"sig":"MEUCIBfQ+UTVcpuHSnZDpkbt9LQhiik72PNx03e/27CgEU9nAiEA9WEF5Hk9e66Udvn8SVIMOFmGm/18Mz3wfIEGI8DFAuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81876},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.11.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"48b4da42dd73566d3e0614365db4fedd4187d140","scripts":{"dev":"ts-node --esm src/index.ts","build":"tsc","start":"node dist/index.js","prepare":"npm run build"},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"repository":{"url":"git+https://github.com/Danang-Bahtiar/XRohrJS.git","type":"git"},"_npmVersion":"11.4.1","description":"An express.js framework built with TypeScript","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"cors":"^2.8.5","axios":"^1.13.2","express":"^5.1.0","ts-node":"^10.9.2","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.1","@types/axios":"^0.9.36","@types/express":"^5.0.3"},"peerDependencies":{"cors":"^2.8.5","glob":"^11.0.3","axios":"^1.13.2","express":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/xrohrjs_1.0.7_1763717110177_0.7181439605503483","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@dan_koyuki/xrohrjs","version":"2.0.0","keywords":["express","express.js","framework","typescript"],"author":{"name":"Dan"},"license":"MIT","_id":"@dan_koyuki/xrohrjs@2.0.0","maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"homepage":"https://portfolio.irwantodan.dev/project/xrohr","bugs":{"url":"https://github.com/Danang-Bahtiar/XrohrJS/issues"},"dist":{"shasum":"acc1aef7980f0b22e79d4ec674aabc8426ca616b","tarball":"https://registry.npmjs.org/@dan_koyuki/xrohrjs/-/xrohrjs-2.0.0.tgz","fileCount":98,"integrity":"sha512-l7P7K3abyGF9GvaN+zAbhxhKKczk7DCbcNEk4/MOQ2V/HTx+2nIRtodl3Mpg7zaUzH+BOh2cxWfuXIU1aNFLng==","signatures":[{"sig":"MEUCIC3t0CT5/OfpzV2a8Gv3AskCsAICOJ+Eouhl4ZJ8XjLBAiEAkbJn8n4sxTodjndy3LIsp8PRM7Ln6lg0ZBwBIhproac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172505},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.11.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5519279d5dfbd6a5703bbbf43a956bd12f631ae1","scripts":{"dev":"ts-node --esm src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"repository":{"url":"git+https://github.com/Danang-Bahtiar/XRohrJS.git","type":"git"},"_npmVersion":"11.7.0","description":"An express.js framework built with TypeScript","directories":{},"_nodeVersion":"24.12.0","dependencies":{"cors":"^2.8.5","glob":"^13.0.0","express":"^5.1.0","@dan_koyuki/xrohrjs":"file:.yalc/@dan_koyuki/xrohrjs"},"_hasShrinkwrap":false,"devDependencies":{"cors":"^2.8.5","axios":"^1.13.2","express":"^5.1.0","ts-node":"^10.9.2","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.1","@types/axios":"^0.9.36","@types/express":"^5.0.3"},"peerDependencies":{"axios":"^1.13.2"},"_npmOperationalInternal":{"tmp":"tmp/xrohrjs_2.0.0_1773894579660_0.18418965161047796","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@dan_koyuki/xrohrjs","version":"2.0.1","description":"An express.js framework built with TypeScript","main":"dist/index.js","types":"dist/index.d.ts","type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"engines":{"node":">=16.11.0"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"ts-node --esm src/index.ts"},"keywords":["express","express.js","framework","typescript"],"author":{"name":"Dan"},"license":"MIT","dependencies":{"@dan_koyuki/xrohrjs":"file:.yalc/@dan_koyuki/xrohrjs","cors":"^2.8.5","express":"^5.1.0","glob":"^13.0.0"},"peerDependencies":{"axios":"^1.13.2"},"devDependencies":{"@types/axios":"^0.9.36","@types/cors":"^2.8.19","@types/express":"^5.0.3","@types/node":"^24.3.1","axios":"^1.13.2","cors":"^2.8.5","express":"^5.1.0","ts-node":"^10.9.2","typescript":"^5.9.2"},"repository":{"type":"git","url":"git+https://github.com/Danang-Bahtiar/XRohrJS.git"},"bugs":{"url":"https://github.com/Danang-Bahtiar/XrohrJS/issues"},"homepage":"https://new-web-profile.vercel.app/Projects/XRohrjs#docs","gitHead":"ad7e3585c7967ee1e35ebabd7151d571d1e4d4bd","_id":"@dan_koyuki/xrohrjs@2.0.1","_nodeVersion":"24.12.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-YpPkwgKG7tXSSVXR3Fhh3ewlMF7SWmh+XRlo+GHbSl4A1qwyJUbd110QTN1TwiPhvdXgJ7V4ZbfSUdNrdwRbtA==","shasum":"9fd5779b7844bc9c8f18b0a5e0a52851f228877f","tarball":"https://registry.npmjs.org/@dan_koyuki/xrohrjs/-/xrohrjs-2.0.1.tgz","fileCount":98,"unpackedSize":172949,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGl1HKtV3UCYllCZFRaNUEKbt64/HSIpXigRjvnWZYvHAiBIolrBWzBbygpDISOaHSOE8HZwn3FCigdR9DYxfGA5Sg=="}]},"_npmUser":{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"},"directories":{},"maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xrohrjs_2.0.1_1774223695927_0.23191338125046235"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-15T02:27:17.978Z","modified":"2026-03-22T23:54:56.187Z","1.0.0":"2025-11-15T02:27:18.282Z","1.0.1":"2025-11-15T06:33:33.696Z","1.0.7":"2025-11-21T09:25:10.396Z","2.0.0":"2026-03-19T04:29:39.803Z","2.0.1":"2026-03-22T23:54:56.082Z"},"bugs":{"url":"https://github.com/Danang-Bahtiar/XrohrJS/issues"},"author":{"name":"Dan"},"license":"MIT","homepage":"https://new-web-profile.vercel.app/Projects/XRohrjs#docs","keywords":["express","express.js","framework","typescript"],"repository":{"type":"git","url":"git+https://github.com/Danang-Bahtiar/XRohrJS.git"},"description":"An express.js framework built with TypeScript","maintainers":[{"name":"dan_koyuki","email":"dankoyuki398@gmail.com"}],"readme":"# XRohrJS\r\n\r\n---\r\n\r\n## 1. Overview\r\n\r\nA lightweight, opinionated, and highly flexible Node.js backend framework built on top of Express.js. XRohrJS is designed to streamline the development of resilient, live-service APIs by enforcing a centralized configuration structure and providing a modular, event-driven architecture.\r\n\r\n## 2. Key Features\r\n\r\n- Centralized Configuration: Single source of truth for server settings, origins, and module enablement.\r\n- Dynamic Route Handling: Automates API endpoint registration for seamless content updates (e.g., via metadata \"recipes\").\r\n- Built-in In-Memory Caching: Includes the `Memoria` module for fast, local data storage when a dedicated caching service (like Redis) is unavailable.\r\n- Event-Driven Communication: Leverages the `SparkLite` module for creating event based activity.\r\n- Managed HTTP Client: Includes the `Rheos` module, a pre-configured Axios wrapper for easy external API calls.\r\n- Typescript Support: types are available, however im testing the package mostly on plain JavaScript. Could use some help on TypeScript Testing.\r\n\r\n## 3. Installation\r\n\r\n- Github Direct\r\n  ```sh\r\n  npm i https://github.com/Danang-Bahtiar/XrohrJS.git\r\n  ```\r\n- NPM Registry\r\n  ```sh\r\n  npm i @dan_koyuki/xrohrjs\r\n  ```\r\n\r\n## 4. Docs\r\n\r\n[XRohrJS](https://new-web-profile.vercel.app/Projects/XRohrjs#docs)\r\n","readmeFilename":"README.md"}