From f082df923f7f5218364ddea2a95339d117b2f837 Mon Sep 17 00:00:00 2001 From: Florian Hotze Date: Tue, 3 Jan 2023 20:45:23 +0100 Subject: [PATCH] [jsscripting] Fix regressions from #14135 & Log stack on `IllegalArgumentException` (#14142) * [jsscripting] Fix bundling of global script & regression from #14135 Fixes the regression from https://github.com/openhab/openhab-addons/pull/14135#issuecomment-1369231126. While working on this, I also noticed that the cache openhab-js does not work because of wrong webpack commandline args in the pom (wrong entrypoint). * [jsscripting] Enable stack logging for IllegalArgumentExceptions * [jsscripting] Upgrade openhab-js to 3.2.4 * [jsscripting] Update README for recent PR Signed-off-by: Florian Hotze --- .../org.openhab.automation.jsscripting/README.md | 2 +- .../org.openhab.automation.jsscripting/pom.xml | 16 ++++++++++++++-- .../internal/DebuggingGraalScriptEngine.java | 3 +++ .../internal/OpenhabGraalJSScriptEngine.java | 4 +--- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/bundles/org.openhab.automation.jsscripting/README.md b/bundles/org.openhab.automation.jsscripting/README.md index 9d1841b9f..45f86299f 100644 --- a/bundles/org.openhab.automation.jsscripting/README.md +++ b/bundles/org.openhab.automation.jsscripting/README.md @@ -1,6 +1,6 @@ # JavaScript Scripting -This add-on provides support for JavaScript (ECMAScript 2021+) that can be used as a scripting language within automation rules. +This add-on provides support for JavaScript (ECMAScript 2022+) that can be used as a scripting language within automation rules. 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 to common openHAB functionality within rules including items, things, actions, logging and more. diff --git a/bundles/org.openhab.automation.jsscripting/pom.xml b/bundles/org.openhab.automation.jsscripting/pom.xml index f51ed442e..4817609df 100644 --- a/bundles/org.openhab.automation.jsscripting/pom.xml +++ b/bundles/org.openhab.automation.jsscripting/pom.xml @@ -24,7 +24,7 @@ 22.0.0.2 ${project.version} - openhab@3.2.1 + openhab@3.2.4 @@ -66,11 +66,23 @@ npm + install ${ohjs.version} webpack@5.75.0 webpack-cli@4.10.0 - npx webpack + npx webpack (openhab-js globals injection) + + npx + + + + webpack -c ./node_modules/openhab/@globals-webpack.config.js --entry + ./node_modules/openhab/@openhab-globals.js -o ./dist + + + + npx webpack (openhab-js) npx diff --git a/bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/DebuggingGraalScriptEngine.java b/bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/DebuggingGraalScriptEngine.java index 3cedaead0..1791a62e8 100644 --- a/bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/DebuggingGraalScriptEngine.java +++ b/bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/DebuggingGraalScriptEngine.java @@ -39,6 +39,9 @@ class DebuggingGraalScriptEngine