Comments (7)
Please make it clear in the Readme. Kotlin does support other targets than the JVM and it would be nice, if others targets could benefit from a binary validator plugin too, although without a built in notation this would be a challenge, I know...
from binary-compatibility-validator.
I’ve created a Gradle plugin that adds support for JS APIs to the KotlinX Binary Compatibility Validator.
Originally made for the Fluxo state management framework, now released for general use.
- Uses generated TypeScript definitions to do so.
- Can be used with any Gradle module with Kotlin/JS target. Either multiplatform or Kotlin/JS.
- Will be supported until the official Kotlin/JS support is added to BCV itself.
Compatibility tested with:
BCV | Kotlin | Gradle |
---|---|---|
0.8 — 0.13 | 1.6.20+ | 7.4+ |
See how to use with the JitPack here:
https://github.com/fluxo-kt/fluxo-bcv-js#readme
Publication on Gradle Plugin Portal is in progress.
Please try to use the plugin. I’d appreciate any feedback.
from binary-compatibility-validator.
To add to this, I believe that's the same for native()
targets
from binary-compatibility-validator.
Binary-compatibility-validator is intended to be used only with JVM targets.
There is no public notion of "binary compatibility" in either JS or K/N, so they are not supported
from binary-compatibility-validator.
Good point, I will update the readme
from binary-compatibility-validator.
@qwwdfsad Nowadays TS declarations can work as a good public ABI for JS.
Already generated in some setups, maybe you can consider supporting it in the binary-compatibility-validator
?
from binary-compatibility-validator.
JS is completely of our focus now, we are working on K2 release and stabilization of KMM, so unfortunately I'm neither ready to accept a contribution for that nor to even do my due diligence and see if that's a reasonable addition for the future
from binary-compatibility-validator.
Related Issues (20)
- Remove case-insensitive dump file names handling logic HOT 16
- Merge JVM and KLib ABI dumps into a single file
- Use a project/module-agnostic name for dump files
- Removing native targets did not cause API check to fail HOT 4
- Support Multi-Release JAR Files HOT 9
- allow apiDumpDirectory outside projectDir if inside rootProjectDir HOT 14
- Allow `apiCheck` to run on all subprojects before failing HOT 2
- Migrate to newer kotlin-metadata-jvm HOT 9
- BCV behavior for an empty module is inconsistent between JVM and KMP
- JVM/Android-only modules create empty klib.api file on 0.15.0-Beta.3 HOT 1
- Include ABI version into dump
- KLib dumps merge: support dumps with different library names HOT 2
- [0.15.0] Enum entries are not part of generated `.api` dump anymore if the enum contains internal companion object HOT 1
- Outer scope's visibility is not considered when dumping `const val`s
- Subprojects that contain the same name will be ignored HOT 1
- Tags and changelog missing for 0.16.1 and 0.16.2 HOT 1
- Stricter mode of API checking w.r.t. API file dump order HOT 1
- BCV checks KLib ABIs under `build` dirs HOT 8
- Error when using version 0.16.2 in projects with a Gradle version older than 8.2 HOT 3
- Allow `apiCheck` for `.klib.api` to pass when not all targets present HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binary-compatibility-validator.