Compatibility
jsass 6 has no native code of its own. What runs where is decided by two things: the JVM, and the Javet native library you put on the classpath.
Java
Java 8 / 11 / 17 unsupported
Java 21 supported — the compile target
Java 25 supported — the full test suite runs on it in CI
Still on Java 8 or 11? jsass 5 remains available for maintenance.
Platforms
Pick the artifact that matches the engine you chose and the platform you deploy to. All of them
are com.caoccao.javet:<artifact>:5.0.5 on Maven Central.
| Platform | V8 engine | Node engine |
|---|---|---|
| Linux x86_64 | javet-v8-linux-x86_64 |
javet-node-linux-x86_64 |
| Linux arm64 | javet-v8-linux-arm64 |
javet-node-linux-arm64 |
| macOS Apple Silicon | javet-v8-macos-arm64 |
javet-node-macos-arm64 |
| macOS Intel | javet-v8-macos-x86_64 |
javet-node-macos-x86_64 |
| Windows x86_64 | javet-v8-windows-x86_64 |
javet-node-windows-x86_64 |
| Android | javet-v8-android |
javet-node-android |
i18n variants
Each artifact also exists with an -i18n suffix. Those carry the full ICU data set, which
matters for locale-aware JavaScript APIs. dart-sass does not need it, so the plain artifact is
the smaller and correct default.
There is nothing to unpack or install: Javet extracts the native library from the JAR at startup. Declaring several platform artifacts side by side is fine — only the matching one is loaded.
dart-sass
jsass does not ship dart-sass. It loads whichever copy your build provides, so the supported Sass feature set is the one of that version:
- V8 engine — the
org.webjars.npm:sassWebJar on the classpath. jsass is developed and tested against 1.86.3, the newest WebJar published at the time of writing. - Node engine —
node_modules/sass, installed bynpm install sassoryarn add sass. No WebJar involved and no upper bound from jsass's side.
Sass language features
Everything dart-sass supports, because dart-sass is the compiler here: the modern module system
(@use, @forward), @mixin / @include, all built-in modules, and the full modern color API
including LAB, LCH, OKLAB, OKLCH and the wide-gamut spaces.
Two things behave differently from jsass 5, both inherited from dart-sass:
- The
NESTEDandCOMPACToutput styles no longer exist. UseEXPANDED(details). @importis deprecated upstream in favour of@use. It still works, and jsass exposessilenceDeprecationsif the warnings get in the way.