Skip to content

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:sass WebJar on the classpath. jsass is developed and tested against 1.86.3, the newest WebJar published at the time of writing.
  • Node enginenode_modules/sass, installed by npm install sass or yarn 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 NESTED and COMPACT output styles no longer exist. Use EXPANDED (details).
  • @import is deprecated upstream in favour of @use. It still works, and jsass exposes silenceDeprecations if the warnings get in the way.