{"id":37423424,"url":"https://github.com/mzlnk/javalin-xt","last_synced_at":"2026-01-16T06:09:41.039Z","repository":{"id":266908097,"uuid":"867334388","full_name":"mzlnk/javalin-xt","owner":"mzlnk","description":"Simple and very lightweight set of extension features dedicated to Javalin","archived":false,"fork":false,"pushed_at":"2025-01-23T19:58:34.000Z","size":483,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T20:19:24.894Z","etag":null,"topics":["extension","javalin","kotlin","library"],"latest_commit_sha":null,"homepage":"https://github.com/mzlnk/javalin-xt","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mzlnk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-03T21:37:15.000Z","updated_at":"2025-01-23T19:58:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"920a6463-f588-48e1-bab6-4cf1d26ad43e","html_url":"https://github.com/mzlnk/javalin-xt","commit_stats":null,"previous_names":["mzlnk/javalin-xt"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/mzlnk/javalin-xt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzlnk%2Fjavalin-xt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzlnk%2Fjavalin-xt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzlnk%2Fjavalin-xt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzlnk%2Fjavalin-xt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mzlnk","download_url":"https://codeload.github.com/mzlnk/javalin-xt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzlnk%2Fjavalin-xt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"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":["extension","javalin","kotlin","library"],"created_at":"2026-01-16T06:09:40.234Z","updated_at":"2026-01-16T06:09:41.031Z","avatar_url":"https://github.com/mzlnk.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# javalin-xt\n\n[![Licence: Apache 2.0](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](https://shields.io/)\n[![Open Source](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n[![Javalin](https://img.shields.io/badge/Javalin-6.3.0-008abb.svg)](https://javalin.io/)\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.0.21-purple.svg)](https://kotlinlang.org/)\n[![Java](https://img.shields.io/badge/Java-17-f5222f.svg)](https://www.java.com/)\n[![Gradle](https://img.shields.io/badge/Gradle-8.5-27c2b7.svg)](https://gradle.org/)\n\n[![Version](https://img.shields.io/badge/version-1.0.0-397ee6)](https://central.sonatype.com/artifact/io.mzlnk/javalin-xt/overview)\n[![Build](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fjavalin-xt-bot%2F896b6842fd99039b5a14141bd2e80f41%2Fraw%2Fbuild.json)](#)\n[![Code coverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fjavalin-xt-bot%2F896b6842fd99039b5a14141bd2e80f41%2Fraw%2Fcode-coverage.json\n)](#)\n\n## About 🌐\n\n**javalin-xt** is a very lightweight set of extension features dedicated to [Javalin](https://javalin.io/).\n\n### Key concepts\n\nKey concepts of **javalin-xt** include:\n\n#### ▶ Lightweight\n\nDesigned to be as lightweight as possible. It does not introduce any additional dependencies to your project. Just the\nmost basic and useful features that can enhance working with Javalin.\n\n#### ▶ No reflection\n\nNo use of reflection in its features. Everything is done at compile time.\n\n#### ▶ Not over-engineered\n\nNo heavy use of proxies, annotations, or other complex mechanisms under the hood. Everything is kept simple in order to\nmake\nany potential debugging or troubleshooting easier.\n\n#### ▶ Invisible\n\nCan be considered as an extension to Javalin. Using it, you can still use Javalin as you would normally do, but with the\nadded benefit of javalin-xt features accessible via Javalin  `app`.\n\n#### ▶ Dedicated to Javalin\n\nSpecifically designed to work with Javalin which allows for a more streamlined and efficient integration.\n\n### Key features\n\n| Feature                    | Description                                                                                                                     |\n|----------------------------|---------------------------------------------------------------------------------------------------------------------------------|\n| **Dependency injection**   | Simple and lightweight dependency injection (DI) framework that uses no reflection.                                             |\n| **Application properties** | Simple engine to read and access application properties in a Spring Boot-like way via application.yml stored in your resources. |\n| **Declarative routing**    | Simple way to define routes in a declarative way using minimized set of annotations and no reflection                           |\n\n## Notes 📄\n\nCurrently, javalin-xt is still in development 🚧. Therefore:\n\n- Kotlin support only (support for Java is planned in the future)\n- Some features may have limited functionality\n- Gradle support only\n\n## Quickstart 🚀\n\n### Installation 🔧\n\n#### Gradle\n\n```kotlin\nplugins {\n    id(\"io.mzlnk:javalin-xt\") version \"1.0.0\"\n}\n```\n\n#### Maven\n\nTo be announced soon.\n\n### Enabling javalin-xt 🔓\n\nTo enable javalin-xt, you just need to invoke dedicated method on `JavalinConfig` instance during Javalin creation. For\nexample:\n\n```kotlin\nfun main(args: Array\u003cString\u003e) {\n    val app = Javalin.create { config -\u003e\n        // enables IoC container and dependency injection\n        config.enableIoC()\n        // enables application properties engine\n        config.enableApplicationProperties { propertiesConfig -\u003e\n            propertiesConfig.profile = \"dev\"\n        }\n    }\n\n    // registers declaratively defined endpoint\n    app.registerEndpoint(SampleEndpoint())\n\n    app.start(8080)\n}\n```\n\n### Explore javalin-xt features 🎯\n\nNow you can start exploring javalin-xt features. All the features are described in details in\nthe [Wiki](https://github.com/mzlnk/javalin-xt/wiki) section:\n\n- [Dependency injection](https://github.com/mzlnk/javalin-xt/wiki/Dependency-injection)\n- [Application properties](https://github.com/mzlnk/javalin-xt/wiki/Application-properties)\n- [Declarative routing](https://github.com/mzlnk/javalin-xt/wiki/Declarative-routing)\n\n## Examples 📂\n\nThere are example project using different build tools available in the `examples` directory.\n\n## License 🎫\n\njavalin-xt is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for more information.\n\n## Contributing 💪\n\nContributions are welcome! Please see [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n## Authors ⚗️\n\njavalin-xt is developed by:\n\n- [Marcin Zielonka](https://github.com/mzlnk)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzlnk%2Fjavalin-xt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmzlnk%2Fjavalin-xt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzlnk%2Fjavalin-xt/lists"}