{"id":20829730,"url":"https://github.com/androidovshchik/angularkt","last_synced_at":"2025-10-11T08:35:18.299Z","repository":{"id":163353405,"uuid":"277760322","full_name":"androidovshchik/AngularKt","owner":"androidovshchik","description":"Write Angular apps with pleasure on Kotlin 😌","archived":false,"fork":false,"pushed_at":"2020-07-14T07:36:10.000Z","size":131,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-03-12T08:14:47.112Z","etag":null,"topics":["angular","angular-cli","kotlin"],"latest_commit_sha":null,"homepage":"","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/androidovshchik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2020-07-07T08:27:15.000Z","updated_at":"2022-01-20T11:45:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"eef9b646-81aa-4382-8352-47e78d00b75b","html_url":"https://github.com/androidovshchik/AngularKt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/androidovshchik/AngularKt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FAngularKt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FAngularKt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FAngularKt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FAngularKt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/androidovshchik","download_url":"https://codeload.github.com/androidovshchik/AngularKt/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FAngularKt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006610,"owners_count":26084148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["angular","angular-cli","kotlin"],"created_at":"2024-11-17T23:21:46.850Z","updated_at":"2025-10-11T08:35:18.281Z","avatar_url":"https://github.com/androidovshchik.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @AngularKt\n\u003e Write Angular apps with pleasure on Kotlin :relaxed:\n\nBenefits:\n* Kotlin itself :sparkles: with no `;`, no `this`, `null` safety\n* Fully customizable webpack\n* Support of [Multiplatform Projects](https://kotlinlang.org/docs/reference/multiplatform.html)\n* Support of [kotlinx.coroutines][2], [Ktor][3], [kotlinx.serialization][4]\n* Fully customizable CLI\n\n[1]: https://kotlinlang.org/docs/reference/multiplatform.html\n[2]: https://github.com/Kotlin/kotlinx.coroutines\n[3]: https://ktor.io/clients/http-client/multiplatform.html\n[4]: https://github.com/Kotlin/kotlinx.serialization\n\n## Basic example\n```kotlin\n@Component(\n    selector = \"app-root\",\n    template = \"\"\"\n        \u003cp\u003e\n          Welcome to {{title}}!\n        \u003c/p\u003e\n    \"\"\",\n    styles = []\n)\nclass AppComponent : OnInit {\n\n    var title = \"example\"\n  \n    override fun ngOnInit() {\n    }\n}\n\n@NgModule\nclass AppModule {\n\n    companion object : NgModuleKt(\n        declarations = arrayOf(\n            AppComponent::class.js\n        ),\n        imports = arrayOf(\n            BrowserModule::class.js\n        ),\n        providers = emptyArray(),\n        bootstrap = arrayOf(AppComponent::class.js)\n    )\n}\n\nfun main() {\n    AngularKt.bootstrap\u003cAppModule\u003e()\n}\n```\nIsn't that awesome? By the way, currently kotlin js does not\nsupport classes in annotations, so somewhere additional code\nlike `companion object : \u003cannotation\u003eKt` is required\n\n## Custom CLI\nAs you may have guessed, it is now impossible to use [Angular CLI](https://cli.angular.io).\nThe gradle plugin can be used as a replacement, which currently supports\nthe [generate](https://angular.io/cli/generate) command. For example, in order to generate a service,\nyou should execute `$ sh gradlew generate service` or shorter\n`$ sh gradlew g service` or even shorter `$ sh gradlew service`\n\n\n## Develop\nSorry, tools are available only for Linux (may be also MacOS)  \nFirst you need to setup environment\n```shell script\n$ bash tools/setup.sh\n$ bash tools/build.sh\n```\n\n## Contribute\nAll issues and pull requests are welcome.  \nIf you need an idea, look for `// todo` comments in code  \nThank you in advance\n\n## Thanks\nThanks Google for its great framework  \nSpecial thanks these guys. Awesome job!\n* [MpApt - Kotlin (Native/JS/JVM) Annotation Processor library](https://github.com/Foso/MpApt) by @Foso\n* [Kotling Angular](https://github.com/Yegair/kotlin-angular) by @Yegair\n* [Angular-Kotlin Starter App](https://github.com/gbaldeck/angular-kotlin-starter) by @gbaldeck\n\n## License\nThis project is licensed under the Apache License, Version 2.0  \nSee the [LICENSE.txt](LICENSE.txt) file for more details\n\n-------\n    Copyright 2020 Vlad Kalyuzhnyu\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidovshchik%2Fangularkt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidovshchik%2Fangularkt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidovshchik%2Fangularkt/lists"}