This is an automated email from the ASF dual-hosted git repository. bchapuis pushed a commit to branch 774-env in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit 11b4144af6121e2be20a82e1d44a33b5f37c2c73 Author: Bertil Chapuis <[email protected]> AuthorDate: Thu Sep 7 11:32:23 2023 +0200 Expose environment variables to javascript --- .../src/main/java/org/apache/baremaps/config/ConfigReader.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java b/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java index d19e4316..2fbfe0c1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java @@ -18,8 +18,13 @@ import java.io.IOException; import java.io.StringReader; import java.nio.file.Files; import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + import org.graalvm.polyglot.Context; import org.graalvm.polyglot.Source; +import org.graalvm.polyglot.proxy.ProxyObject; public class ConfigReader { @@ -45,6 +50,11 @@ public class ConfigReader { .allowExperimentalOptions(true) .allowIO(true) .build()) { + + // Expose the environment variables to the script + var env = new HashMap<String, Object>(System.getenv()); + context.getBindings("js").putMember("env", ProxyObject.fromMap(env)); + var script = String.format(""" import config from '%s'; export default JSON.stringify(config);
