8000 GitHub - TriangleMountain/Javet: Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

TriangleMountain/Javet

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Javet

Maven Central Discord Donate

Linux x86_64 Build MacOS x86_64 Build MacOS arm64 Build Windows x86_64 Build Android Node Build Android V8 Build

Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.

If you like my work, please Star this project. And, you may follow me @sjtucaocao, or visit https://blog.caoccao.com/ or https://caoccao.blogspot.com/. And the official support channel is at discord.

πŸ’– If you like my work, please donate to support me. By the way, I'm no longer able to renew my JetBrains open-source license with this project. Thank you for supporting Javet.

Major Features

CPU Arch Android Linux MacOS Windows
x86 βœ”οΈ ❌ ❌ ❌
x86_64 βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ
arm βœ”οΈ ❌ ❌ ❌
arm64 βœ”οΈ βœ”οΈ βœ”οΈ ❌
  • Node.js v22.15.1 + V8 v13.7.152.9
  • i18n and non-i18n
  • Dynamic switch between Node.js and V8 mode
  • Polyfill V8 mode with Javenode
  • V8 API exposure in JVM
  • JavaScript and Java interop
  • Native BigInt and Date
  • Javet engine pool
  • Easy spring integration
  • Live debug with Chrome DevTools
  • AST analysis with swc4j
  • JS, TS, JSX, TSX transformation and transpilation with swc4j
  • Enhance JVM via Byte-code with JavetBuddy
  • Live interaction with JavetShell

Quick Start

Dependency

Maven

<!-- Core (Must-have) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- Node.js Linux (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-node-linux-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- Node.js Linux (arm64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-node-linux-arm64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- Node.js Mac OS (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-node-macos-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- Node.js Mac OS (arm64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-node-macos-arm64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- Node.js Windows (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-node-windows-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- V8 Linux (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-v8-linux-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- V8 Linux (arm64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-v8-linux-arm64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- V8 Mac OS (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-v8-macos-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- V8 Mac OS (arm64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-v8-macos-arm64</artifactId>
    <version>4.1.4</version>
</dependency>

<!-- V8 Windows (x86_64) -->
<dependency>
    <groupId>com.caoccao.javet</groupId>
    <artifactId>javet-v8-windows-x86_64</artifactId>
    <version>4.1.4</version>
</dependency>

Gradle Kotlin DSL

implementation("com.caoccao.javet:javet:4.1.4") // Core (Must-have)
implementation("com.caoccao.javet:javet-node-linux-arm64:4.1.4")
implementation("com.caoccao.javet:javet-node-linux-x86_64:4.1.4")
implementation("com.caoccao.javet:javet-node-macos-arm64:4.1.4")
implementation("com.caoccao.javet:javet-node-macos-x86_64:4.1.4")
implementation("com.caoccao.javet:javet-node-windows-x86_64:4.1.4")
implementation("com.caoccao.javet:javet-v8-linux-arm64:4.1.4")
implementation("com.caoccao.javet:javet-v8-linux-x86_64:4.1.4")
implementation("com.caoccao.javet:javet-v8-macos-arm64:4.1.4")
implementation("com.caoccao.javet:javet-v8-macos-x86_64:4.1.4")
implementation("com.caoccao.javet:javet-v8-windows-x86_64:4.1.4")

Gradle Groovy DSL

implementation 'com.caoccao.javet:javet:4.1.4' // Core (Must-have)
implementation 'com.caoccao.javet:javet-node-linux-arm64:4.1.4'
implementation 'com.caoccao.javet:javet-node-linux-x86_64:4.1.4'
implementation 'com.caoccao.javet:javet-node-macos-arm64:4.1.4'
implementation 'com.caoccao.javet:javet-node-macos-x86_64:4.1.4'
implementation 'com.caoccao.javet:javet-node-windows-x86_64:4.1.4'
implementation 'com.caoccao.javet:javet-v8-linux-arm64:4.1.4'
implementation 'com.caoccao.javet:javet-v8-linux-x86_64:4.1.4'
implementation 'com.caoccao.javet:javet-v8-macos-arm64:4.1.4'
implementation 'com.caoccao.javet:javet-v8-macos-x86_64:4.1.4'
implementation 'com.caoccao.javet:javet-v8-windows-x86_64:4.1.4'

For more detail, please visit the installation page.

Hello Javet

// Node.js Mode
try (V8Runtime v8Runtime = V8Host.getNodeInstance().createV8Runtime()) {
    System.out.println(v8Runtime.getExecutor("'Hello Javet'").executeString());
}

// V8 Mode
try (V8Runtime v8Runtime = V8Host.getV8Instance().createV8Runtime()) {
    System.out.println(v8Runtime.getExecutor("'Hello Javet'").executeString());
}

Sponsors

HiveMQ | SheetJS | momen.app

License

APACHE LICENSE, VERSION 2.0

Blog

Documents

About

Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 82.4%
  • C++ 13.9%
  • Dockerfile 1.4%
  • Python 0.9%
  • CMake 0.6%
  • JavaScript 0.5%
  • Other 0.3%
0