This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
The following commit(s) were added to refs/heads/main by this push:
new 49a84c96 Expose environment variables to javascript (#776)
49a84c96 is described below
commit 49a84c96c6efd888602964c24af32a59c7a2b595
Author: Bertil Chapuis <[email protected]>
AuthorDate: Fri Sep 8 10:56:04 2023 +0200
Expose environment variables to javascript (#776)
---
.../src/main/java/org/apache/baremaps/config/ConfigReader.java | 7 +++++++
1 file changed, 7 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..a4bead3c 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,10 @@ import java.io.IOException;
import java.io.StringReader;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.util.HashMap;
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Source;
+import org.graalvm.polyglot.proxy.ProxyObject;
public class ConfigReader {
@@ -45,6 +47,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);