saschpe / Kase64

Base64 encoder/decoder for Kotlin/Multiplatform. Supports Android, iOS, JavaScript and plain JVM environments.
Apache License 2.0
30 stars 4 forks source link

JS IR is not supported #8

Closed tonisives closed 1 year ago

tonisives commented 1 year ago

I'm using kotlin 1.9, which defaults to js IR

kotlin {
      js {
        useEsModules()
        nodejs {

        }
        binaries.library()
        generateTypeScriptDefinitions()
    }

Compiler finds js component, but it is in legacy format. ir is actually required.

          - Variant 'jsApiElements-published' capability de.peilicke.sascha:kase64:1.0.6 declares a library, as well as attribute 'or
g.jetbrains.kotlin.platform.type' with value 'js':
              - Incompatible because this component declares a usage of 'kotlin-api' of a component, as well as attribute 'org.jetbrains.kotlin.js.compiler' with value 'legacy' and the consumer needed a usage of 'kotlin-runtime' of a component, as well as attribute 'org.jetbrains.kotlin.js.compiler' with value 'ir'
              - Other compatible attributes:
                  - Doesn't say anything about its target Java environment (preferred optimized for non-jvm)
                  - Doesn't say anything about org.jetbrains.kotlin.js.public.package.json (required 'public-package-json')
          - Variant 'jsRuntimeElements-published' capability de.peilicke.sascha:kase64:1.0.6 declares a usage of 'kotlin-runtime' of
a library, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js':
              - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.js.compiler' with value 'legacy' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.js.compiler' with value 'ir'                      - Other compatible attributes:
                  - Doesn't say anything about its target Java environment (preferred optimized for non-jvm)
                  - Doesn't say anything about org.jetbrains.kotlin.js.public.package.json (required 'public-package-json')
          - Variant 'jvmApiElements-published' capability de.peilicke.sascha:kase64:1.0.6 declares a library:
              - Incompatible because this component declares an API of a component, as well as attribute 'org.jetbrains.kotlin.platfo
tonisives commented 1 year ago

could solution be to update kotlin version to 1.9.0?

plugins {
    kotlin("jvm") version "1.7.10" apply false

https://github.com/saschpe/Kase64/blob/main/build.gradle.kts

saschpe commented 1 year ago

I'll address that and provide a new release soon