Conversation
… to Kotlin Co-authored-by: litlfred <662242+litlfred@users.noreply.github.com>
Co-authored-by: litlfred <662242+litlfred@users.noreply.github.com>
…ld instructions Co-authored-by: litlfred <662242+litlfred@users.noreply.github.com>
Co-authored-by: litlfred <662242+litlfred@users.noreply.github.com>
|
isa .eslint and such removed?@copilot |
Yes, all ESLint and TypeScript configuration files have been removed: ✅ The repository is now clean of TypeScript artifacts. You can verify by running |
|
I see this https://github.com/litlfred/fmlrunner/blob/main/.eslintrc.json that I don't think should be there. Please.confirm. Please scan all kitling files to see if there is unimplemented/placeholder/fallback code. I don't want any. |
Co-authored-by: litlfred <662242+litlfred@users.noreply.github.com>
Confirmed that All placeholder/fallback code has been removed from Kotlin files in commit bd764d6: ✅ Removed TODO comments about kotlin-fhirpath integration The Kotlin implementation is now complete without any unimplemented placeholders. |
There was a problem hiding this comment.
Pull Request Overview
This PR completes the migration from TypeScript to Kotlin multiplatform by removing all remaining TypeScript artifacts and implementing missing platform-specific code. The changes focus on test files, TypeScript packages, and completing the Kotlin implementation with proper platform-specific source sets and functionality.
Key Changes
- Removes all remaining TypeScript test files and configuration from root
tests/andpackages/directories - Deletes entire TypeScript packages including
fmlrunner, API server, and MCP interface code - Completes Kotlin platform-specific implementations for JVM and JavaScript targets
- Removes placeholder code and implements proper FHIRPath expression evaluation
Reviewed Changes
Copilot reviewed 91 out of 110 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Multiple test JSON files | Removes test data files from TypeScript implementation |
| Multiple TypeScript test files | Removes Jest test suites for TypeScript functionality |
| Multiple package source files | Removes entire TypeScript library implementation |
| src/commonTest/kotlin/BasicTest.kt | Updates test to use proper constructor parameters |
| src/commonMain/kotlin/.../StructureMapExecutor.kt | Improves expression evaluation implementation |
| src/commonMain/kotlin/.../ValidationService.kt | Enhances constraint evaluation logic |
| src/jsMain/kotlin/Platform.kt | Adds JavaScript platform-specific logger |
| src/jvmMain/kotlin/Platform.kt | Adds JVM platform-specific logger |
| src/jsTest/kotlin/FmlRunnerJsTest.kt | Adds JavaScript-specific tests |
| src/jvmTest/kotlin/FmlRunnerJvmTest.kt | Adds JVM-specific tests |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This PR completes the migration from TypeScript to Kotlin multiplatform that was started in PR #6. The previous PR left several TypeScript artifacts and had incomplete Kotlin implementations that prevented successful builds.
Issues Fixed
TypeScript artifacts removal:
jest.config.js,tsconfig.json,.eslintrc.json) from rootpackages/directory containing TypeScript bridge code, REST API, and MCP interfacepackage.jsonand converted to pure Kotlin multiplatform projectKotlin implementation completion:
fhirPathEnginereference inStructureMapExecutor.ktby implementing a proper expression evaluatorjsMain,jvmMain,jsTest,jvmTest) with proper implementationsDocumentation updates:
README.mdto reflect Kotlin multiplatform architecturegradle jvmTest) and JavaScript (gradle jsNodeTest) targetsVerification
All build targets now work correctly:
The repository is now a clean, production-ready Kotlin multiplatform implementation with no remaining TypeScript artifacts or placeholder code, providing the same FML compilation and StructureMap execution functionality across JVM and JavaScript platforms.
Fixes #7
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.