{"id":19032501,"url":"https://github.com/rokkit-ts/rokkit.ts-core","last_synced_at":"2026-04-28T17:02:32.874Z","repository":{"id":39659425,"uuid":"223124235","full_name":"rokkit-ts/rokkit.ts-core","owner":"rokkit-ts","description":"A Framework to build microservices based on TypeScript and Node.js","archived":false,"fork":false,"pushed_at":"2023-01-06T02:43:44.000Z","size":492,"stargazers_count":1,"open_issues_count":14,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-18T12:01:14.094Z","etag":null,"topics":["backend","framework","microservice","microservices","nodejs","rokkit","typescript"],"latest_commit_sha":null,"homepage":"https://rokkit.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rokkit-ts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-21T08:23:56.000Z","updated_at":"2024-10-11T13:32:18.000Z","dependencies_parsed_at":"2023-02-05T03:30:55.286Z","dependency_job_id":null,"html_url":"https://github.com/rokkit-ts/rokkit.ts-core","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rokkit-ts/rokkit.ts-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokkit-ts%2Frokkit.ts-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokkit-ts%2Frokkit.ts-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokkit-ts%2Frokkit.ts-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokkit-ts%2Frokkit.ts-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rokkit-ts","download_url":"https://codeload.github.com/rokkit-ts/rokkit.ts-core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rokkit-ts%2Frokkit.ts-core/sbom","scorecard":{"id":783215,"data":{"date":"2025-08-11","repo":{"name":"github.com/rokkit-ts/rokkit.ts-core","commit":"4277b5bf3c28d0a58758d32b6a01fcdd04925223"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"37 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-jgrh-5m3h-9c5f","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-79jw-6wg7-r9g4","Warn: Project is vulnerable to: GHSA-r5cq-9537-9rpf","Warn: Project is vulnerable to: GHSA-84p7-fh9c-6g8h","Warn: Project is vulnerable to: GHSA-8hfj-j24r-96c4","Warn: Project is vulnerable to: GHSA-wc69-rhjr-hc9g","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T05:24:47.569Z","repository_id":39659425,"created_at":"2025-08-23T05:24:47.569Z","updated_at":"2025-08-23T05:24:47.569Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: 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":["backend","framework","microservice","microservices","nodejs","rokkit","typescript"],"created_at":"2024-11-08T21:29:03.015Z","updated_at":"2026-04-28T17:02:32.859Z","avatar_url":"https://github.com/rokkit-ts.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Rokkit.ts Core](https://rokkit.dev)\n\n![GitHub](https://img.shields.io/github/license/rokkit-ts/rokkit.ts-core)\n![npm (scoped)](https://img.shields.io/npm/v/@rokkit.ts/core)\n[![Build Status](https://travis-ci.com/rokkit-ts/rokkit.ts-core.svg?branch=master)](https://travis-ci.com/rokkit-ts/rokkit.ts-core)\n\nRokkit.ts a microservice framework build in TypeScript for Node.js.\nIt focuses on a modular component system, developer exerience and good designed APIs to build any application without making restrictions.  \nRokkit.ts tries to be adaptable for all needs.\nIf you want to know more about the framework check out our [Website](https://rokkit.dev/).  \nThe Framework is still in an early phase but allready provides functionality to build basic applications.\n\nThis is the core module of the Rokkit.ts Framwork, it enable the dependency injection for user components and handles other found Rokkit.ts modules on the project. The core module is just the entry point into the Rokkit.ts environment.\n\n## Install\n\nInstall rokkit.ts as an npm package:\n\n```bash\nnpm install @rokkit.ts/core\n```\n\n### Rokkit-CLI\n\nCreate your first Rokkit.ts project with the rookit-cli. The cli helps you to bootstrap your project and create a lightweight template to start the development.\n\n```bash\nnpx -p @rokkit.ts/core rokkit-cli init -n \u003cyour-project-name\u003e\n```\n\nYou can easily build your app using the rokkit-cli. it automates all needed steps and you can just run the app afterwards.\n\n```bash\n# Projects created with rokkit-cli\nnpm run build\n\n# Projects created manually\nnpx rokkit-cli build\n```\n\nRun your app in development or production mode with the cli.\nYou have to specify the entrypoint in order to start the app. Therefore use the parameter `-e` followed by the path to your root class.\n\n```bash\n# Development mode\nnpm run start-dev # Projects created with rokkit-cli\nnpx rokkit-cli start -e ./src/app.ts\n\n# Production mode\nnpm start # Projects created with rokkit-cli\nnpx rokkit-cli start -e ./build/app.js -p\n```\n\n### [Getting Started](https://rokkit.dev/#getting-started)\n\nIn order to start your first project check out the [Getting Started](https://rokkit.dev/#getting-started) section on our website and try out our cli to create your first project. For a detailed example have a look at our [sample application repository](https://github.com/rokkit-ts/sample-application).\n\n## API\n\nThe core module expose only two major functionalities by now:\n\n- The entrypoint to start the framework\n- Dependency Injection utilities\n\nBoth will be explained in the following.\n\n### The Entrypoint\n\nThe entrypoint to the framework is a simple class that would be used to configure and run the framework. Therefore Rokkit exposes a simple API to configure its modules.\nTo configure a module you have two options. The first option would be to use the default configuration provided by Rokkit.ts. The second solution is to define your own configuration object. Rokkit exports there needed type definition that you would need to provide.\n\nThe last step next to the configuration of the module would be to run the framework. you can simply call the method `run` at the end of the call!\n\n```TypeScript\nimport { RokkitRunner, Rokkit, RokkitModules } from  \"@rokkit.ts/core\"\n\n@RokkitRunner\nexport class SampleApplication {\n  constructor{\n    Rokkit.useModule(RokkitModules.WEB)\n      .useDefaultConfiguration()\n      .run()\n  }\n}\n```\n\n### Dependency Injection Utilities\n\nIn order to use or apply dependency injection the core module provides further annotations.\nCurrently there are three different decorator you could use. Let's have a look a the example below to understand the usage.\n\n```TypeScript\nimport { Component, Service, Inject } from  \"@rokkit.ts/core\"\n\nexport class SimpleClass{\n\n}\n\n@Component()\nexport class SampleComponent{\n}\n\n@Service()\nexport class SampleService {\n  constructor(sampleComponent: SampleComponent,\n              @Inject(new SimpleClass()) simpleClass: SimpleClass)\n}\n```\n\nThe example shows the different usecase of the dependency injection decorators. First lets start with the `SimpleClass`, this class is not marked with any decorator and therefore not recognized by the dependency injection of Rokkit.ts.  \nRokkit.ts core module will only search for classes with the decorators `@Component` or `@Service`. Each class annotated with one of these is able to be automatically injected into another class because Rokkit.ts will create an injection definition and a related instance on start up.\nAs you can see at the `SampleService` the constructor contains two parameters. The first one is an object of the `SampleComponent`, this object will be injected at start up.  \nYou do not need to provide more information at this point the core module is able to determine that this object is an injectable component. The second parameter is an object with the type `SimpleClass`, because the class is not annotated the core does not know how to inject the object (create an instance of it).  \nBut we can tell the framework to how to do this by using `@Inject`. This decorator will injection the provided value to the exact parameter we you used it.\n\n## Contribution\n\nAll kinds of contributions are welcome, no matter how big or small.\nBefore you start to contribute please read our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\nIn order to submit any contribution check out our [contribution guidelines](./CONTRIBUTION.md).\n\n## License\n\nRokkit.ts Core is Open Source software released under the [MIT license](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frokkit-ts%2Frokkit.ts-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frokkit-ts%2Frokkit.ts-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frokkit-ts%2Frokkit.ts-core/lists"}