Bläddra i källkod

Upgrade to es4x 0.9.0 and replace template engine with rocker (#5018)

Paulo Lopes 6 år sedan
förälder
incheckning
fcbd7ed59e

+ 3 - 1
frameworks/JavaScript/es4x/es4x.dockerfile

@@ -1,4 +1,4 @@
-FROM oracle/graalvm-ce:19.0.2
+FROM oracle/graalvm-ce:19.2.0
 # Set working dir
 RUN mkdir /app
 WORKDIR /app
@@ -7,6 +7,8 @@ COPY ./ /app
 
 # Get dependencies
 RUN npm --unsafe-perm install
+# Compile the template
+RUN npm run template
 
 # Run the code
 CMD java \

+ 3 - 3
frameworks/JavaScript/es4x/index.js

@@ -5,14 +5,14 @@ import {Router} from '@vertx/web';
 
 import {PgClient, Tuple} from '@reactiverse/reactive-pg-client';
 import {PgPoolOptions} from '@reactiverse/reactive-pg-client/options';
-import {HandlebarsTemplateEngine} from '@vertx/web-templ-handlebars'
+import {RockerTemplateEngine} from '@vertx/web-templ-rocker'
 
 const util = require('./util');
 
 const SERVER = 'vertx.js';
 
 const app = Router.router(vertx);
-const template = HandlebarsTemplateEngine.create(vertx);
+const template = RockerTemplateEngine.create();
 let date = new Date().toUTCString();
 
 vertx.setPeriodic(1000, t => date = new Date().toUTCString());
@@ -147,7 +147,7 @@ app.get("/fortunes").handler(ctx => {
     });
 
     // and now delegate to the engine to render it.
-    template.render({fortunes: fortunes}, "templates/fortunes.hbs", res => {
+    template.render({fortunes: fortunes}, "Fortunes.rocker.html", res => {
       if (res.succeeded()) {
         ctx.response()
           .putHeader("Server", SERVER)

+ 13 - 8
frameworks/JavaScript/es4x/package.json

@@ -4,23 +4,28 @@
   "private": true,
   "main": "index.js",
   "devDependencies": {
-    "es4x-pm": "0.8.0"
+    "es4x-pm": "0.9.0"
   },
   "dependencies": {
-    "@vertx/core": "3.7.1",
-    "@vertx/web": "3.7.1",
-    "@vertx/web-templ-handlebars": "3.7.1",
-    "@reactiverse/reactive-pg-client": "0.11.3"
+    "@vertx/core": "3.8.1",
+    "@vertx/web": "3.8.1",
+    "@vertx/web-templ-rocker": "3.8.1",
+    "@reactiverse/reactive-pg-client": "0.11.4"
   },
   "mvnDependencies": [
-    "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.34.Final"
+    "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.39.Final",
+    "com.fizzed:rocker-runtime:1.2.1",
+    "xyz.jetdrone:vertx.command.rocker.compiler:0.1.0"
   ],
   "files": [
     "util.js",
     "templates/fortunes.hbs"
   ],
   "scripts": {
-    "start": "benchmark",
-    "postinstall": "es4x install -f"
+    "start": "es4x-launcher",
+    "postinstall": "es4x install -v node_modules/.lib/vendor-templates.jar",
+    "pretemplate": "es4x rocker -d node_modules/.rocker templates",
+    "template": "javac -cp node_modules/.bin/es4x-launcher.jar @node_modules/.rocker/templates.lst -d node_modules/.rocker/classes",
+    "posttemplate": "jar cvf node_modules/.lib/vendor-templates.jar -C node_modules/.rocker/classes ."
   }
 }

+ 20 - 0
frameworks/JavaScript/es4x/templates/Fortunes.rocker.html

@@ -0,0 +1,20 @@
+@import java.util.*
+@args(List fortunes)
+<!DOCTYPE html>
+<html>
+<head><title>Fortunes</title></head>
+<body>
+<table>
+  <tr>
+    <th>id</th>
+    <th>message</th>
+  </tr>
+  @for ((ForIterator i, Map fortune) : fortunes) {
+    <tr>
+      <td>@fortune.get("id")</td>
+      <td>@fortune.get("message")</td>
+    </tr>
+  }
+</table>
+</body>
+</html>

+ 0 - 15
frameworks/JavaScript/es4x/templates/fortunes.hbs

@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head><title>Fortunes</title></head>
-<body>
-<table>
-  <tr>
-    <th>id</th>
-    <th>message</th>
-  </tr> {{#each fortunes}}
-  <tr>
-    <td>{{id}}</td>
-    <td>{{message}}</td>
-  </tr> {{/each}} </table>
-</body>
-</html>