mirror of
https://github.com/danieldemus/openhab-addons
synced 2026-07-29 12:34:21 +02:00
[jsscripting] Upgrade to Graal 25 (#19567)
* [jsscripting] Upgrade to Graal 25.0.1 Signed-off-by: Florian Hotze <dev@florianhotze.com> Co-authored-by: Cody Cutrer <cody@cutrer.us>
This commit is contained in:
co-authored by
Cody Cutrer
parent
af8a01cf76
commit
66264a66b7
@@ -1,6 +1,6 @@
|
||||
# JavaScript Scripting
|
||||
|
||||
This add-on provides support for JavaScript (ECMAScript 2024+) that can be used as a scripting language within automation rules.
|
||||
This add-on provides support for JavaScript (ECMAScript 2025+) that can be used as a scripting language within automation rules.
|
||||
It is based on [GraalJS](https://www.graalvm.org/javascript/) from the [GraalVM project](https://www.graalvm.org/).
|
||||
|
||||
Also included is [openhab-js](https://github.com/openhab/openhab-js/), a fairly high-level ES6 library to support automation in openHAB. It provides convenient access
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<properties>
|
||||
<!-- Remember to check if the fix https://github.com/openhab/openhab-core/pull/4437 still works when upgrading GraalJS -->
|
||||
<graaljs.version>24.2.1</graaljs.version>
|
||||
<node.version>v22.17.1</node.version>
|
||||
<ohjs.version>openhab@5.14.0</ohjs.version>
|
||||
</properties>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<dependency>
|
||||
<groupId>org.openhab.osgiify</groupId>
|
||||
<artifactId>org.graalvm.polyglot.polyglot</artifactId>
|
||||
<version>${graaljs.version}</version>
|
||||
<version>${graalvm.version}</version>
|
||||
<!-- provided as OSGi bundle at runtime, available only at compile time -->
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
@@ -33,7 +33,7 @@
|
||||
<dependency>
|
||||
<groupId>org.openhab.osgiify</groupId>
|
||||
<artifactId>org.graalvm.js.js-scriptengine</artifactId>
|
||||
<version>${graaljs.version}</version>
|
||||
<version>${graalvm.version}</version>
|
||||
<!-- provided as OSGi bundle at runtime, available only at compile time -->
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
@@ -47,7 +47,7 @@
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<version>1.15.4</version>
|
||||
<configuration>
|
||||
<nodeVersion>v22.13.1</nodeVersion>
|
||||
<nodeVersion>${node.version}</nodeVersion>
|
||||
<workingDirectory>target/js</workingDirectory>
|
||||
</configuration>
|
||||
<executions>
|
||||
@@ -65,7 +65,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<!--suppress UnresolvedMavenProperty -->
|
||||
<arguments>install ${ohjs.version} webpack@^5.101.3 webpack-cli@^5.1.4 --prefix .</arguments>
|
||||
<arguments>install ${ohjs.version} webpack@^5.101.3 webpack-cli@^6.0.1 --prefix .</arguments>
|
||||
<!-- webpack & webpack-cli versions should match to the ones from openhab-js -->
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -5,19 +5,19 @@
|
||||
|
||||
<feature name="openhab-automation-jsscripting" description="JavaScript Scripting" version="${project.version}">
|
||||
<feature>openhab-runtime-base</feature>
|
||||
<bundle dependency="true" start-level="78">mvn:org.openhab.osgiify/org.graalvm.js.js-language/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.js.js-scriptengine/24.2.1</bundle>
|
||||
<bundle dependency="true" start-level="78">mvn:org.openhab.osgiify/org.graalvm.regex.regex/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.polyglot.polyglot/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.collections/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.jniutils/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.nativeimage/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.word/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.shadowed.icu4j/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.shadowed.xz/24.2.1</bundle>
|
||||
<bundle dependency="true" start-level="79">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-api/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-compiler/24.2.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-runtime/24.2.1</bundle>
|
||||
<bundle dependency="true" start-level="78">mvn:org.openhab.osgiify/org.graalvm.js.js-language/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.js.js-scriptengine/25.0.1</bundle>
|
||||
<bundle dependency="true" start-level="78">mvn:org.openhab.osgiify/org.graalvm.regex.regex/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.polyglot.polyglot/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.collections/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.jniutils/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.nativeimage/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.sdk.word/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.shadowed.icu4j/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.shadowed.xz/25.0.1</bundle>
|
||||
<bundle dependency="true" start-level="79">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-api/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-compiler/25.0.1</bundle>
|
||||
<bundle dependency="true">mvn:org.openhab.osgiify/org.graalvm.truffle.truffle-runtime/25.0.1</bundle>
|
||||
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.automation.jsscripting/${project.version}</bundle>
|
||||
</feature>
|
||||
</features>
|
||||
|
||||
+2
-2
@@ -249,8 +249,8 @@ public class OpenhabGraalJSScriptEngine
|
||||
// enable Nashorn compat mode as openhab-js relies on accessors, see
|
||||
// https://github.com/oracle/graaljs/blob/master/docs/user/NashornMigrationGuide.md#accessors
|
||||
.option("js.nashorn-compat", "true") //
|
||||
// if Nashorn compat mode is enabled, it will enforce ES5 compatibility, we want ECMA2024
|
||||
.option("js.ecmascript-version", "2024") //
|
||||
// if Nashorn compat mode is enabled, it will enforce ES5 compatibility, we want ECMA2025
|
||||
.option("js.ecmascript-version", "2025") //
|
||||
// enable CommonJS module support
|
||||
.option("js.commonjs-require", "true"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user