Scriptify is a JVM library for embedding JavaScript execution into Java applications. It provides script runtimes, Java function exports, constants, modules, host-access control, and security-aware file access.
This library is designed to execute JavaScript scripts and has the ability to register global functions and constants. It also allows you to configure security for executing scripts.
import org.densy.scriptify.api.exception.ScriptException;
import org.densy.scriptify.js.graalvm.script.JsScript;
public class Main {
public static void main(String[] args) throws ScriptException {
JsScript script = new JsScript();
Object result = script.evalOneShot("1 + 2 + 3");
System.out.println(result);
}
}For Rhino use org.densy.scriptify.js.rhino.script.JsScript instead.
Full documentation is available in docs/index.md.
- TypeScript - TS support using swc4j
- TypeScript Declaration Generator - Declaration generator for JS or TS
- Kotlin Script - Kotlin Script support
Adding repository:
<repositories>
<repository>
<id>densy-repository-snapshots</id>
<url>https://repo.densy.org/snapshots</url>
</repository>
</repositories>For adding a library only:
<dependency>
<groupId>org.densy.scriptify</groupId>
<artifactId>core</artifactId>
<version>1.6.0-SNAPSHOT</version>
</dependency>For adding a library with JS for Rhino or GraalVM:
<dependency>
<groupId>org.densy.scriptify</groupId>
<artifactId>script-js-rhino</artifactId>
<version>1.6.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.densy.scriptify</groupId>
<artifactId>script-js-graalvm</artifactId>
<version>1.6.0-SNAPSHOT</version>
</dependency>Adding repository:
maven {
name "densyRepositorySnapshots"
url "https://repo.densy.org/snapshots"
}For adding a library only:
implementation "org.densy.scriptify:core:1.6.0-SNAPSHOT"For adding a library with JS for Rhino or GraalVM:
implementation "org.densy.scriptify:script-js-rhino:1.6.0-SNAPSHOT"
implementation "org.densy.scriptify:script-js-graalvm:1.6.0-SNAPSHOT"