This PR modernizes the Kotlin Cloudflare Worker example in several ways:
Updates Gradle and Kotlin dependencies
Improve build performance and configurability with new Gradle and Kotlin build features
Refactor to use a Gradle submodule to contain worker-app (which makes the following changes easier)
Migrate from Service Workers to ES Modules (enabling future changes to support new Cloudflare features like D1 or Vectorize)
Add integration test with Miniflare by introducing miniflare-lib for the Miniflare external classes, plus worker-integration-test for the test cases. (Note that the integration tests are in a separate module instead of worker-app/jsTest, because worker-app uses the Kotlin browser target to enable Kotlin packaging tasks, while Miniflare requires the nodejs target)
These changes could be broken into independent pull requests in top-to-bottom order, although they'd need to be created one at a time due to later changes depending on earlier changes. Let me know if that would be preferred.
This PR modernizes the Kotlin Cloudflare Worker example in several ways:
worker-integration-test
for the test cases. (Note that the integration tests are in a separate module instead ofworker-app/jsTest
, because worker-app uses the Kotlin browser target to enable Kotlin packaging tasks, while Miniflare requires the nodejs target)These changes could be broken into independent pull requests in top-to-bottom order, although they'd need to be created one at a time due to later changes depending on earlier changes. Let me know if that would be preferred.