Releases: reactiverse/es4x
0.9.1
- Fix issue with
pm
launcher that doesn't add itself to the classpath - Fix issue with
pm
lancher that picks the wrong java ifGRAALVM_HOME
was defined - Moved
esm
,polyglot
, etc... run flags to jvm flags in order to be
usable from any command - Updated codegen to support more temporal types as they are supported
by graal itself - Added a few more tests to ES4X
- Instrumented
JsonObject
to be a GraalProxyObject
(this allows
using it as a native object) - Instrumented
JsonArray
to be a GraalProxyArray
(this is a
preparation for hanlding it as a native array)
0.9.0
- Upgrade to Graal 19.2.0
- Upgrade to Vert.x 3.8.1
- New website that allow multi language
- es4x command can now merge the classpath of the project
allowing sharing commands during development - ES4X commands are now properly registered using the service loader
- A new flag
--polyglot
enables GraalPolyglot
access - A new flag
--prefix
allows usage from outside theCWD
- Generator fixes to allow easier builds
- Fix broken redeploy/start command.
0.8.2
0.8.1
- Upgraded vertx to 3.8.0
- Upgraded graalvm to 19.1.1
- Fixed start scripts for Windows
- Fixed es4x npm installer for Windows
- Added support for vendor jars
- Started removing abstraction code needed during nashorn time
- Added support for vert.x Future/Promise as JS Thenable
0.8.0
- Simple ESM module app boots
- VSCode command generates a working debug config
- Debugger is working again
- Ugrade to Vert.x 3.7.1
- Avoid calling graaljs APIs from the EventBus codec
- Global log formatter used across graal and vert.x
- Fixed EventBus codec for Graal objects
- Removed Nashorn
- Update to Graal 19.0.0
- Verticle events are now triggered from the
process.on
event emitter. - Updated to Graal rc16
- Removed
es4x-cli
as it has been replaced withes4x-pm
- ESM resolver can resolve npm modules that declare a
module
property.
0.7.3
0.7.2
This release introduces TypeScript
as a valid language to write vert.x code. Given the following package.json
:
{
"name": "example-ts",
"version": "0.0.1",
"private": true,
"main": "dist/index.js",
"scripts": {
"prestart": "tsc",
"start": "example-ts",
"postinstall": "es4x install"
},
"devDependencies": {
"typescript": "^3.2.2",
"es4x-pm": "^0.7.2"
},
"dependencies": {
"@vertx/core": "^3.6.3"
}
}
And the tsconfig.json
:
{
"compilerOptions": {
"outDir": "dist",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"allowJs": true
}
}
You can code:
/// <reference types="@vertx/core/runtime" />
vertx
.createHttpServer()
.requestHandler((req: any) => {
req.response()
.putHeader("content-type", "text/plain")
.end("Hello!");
}).listen(8080);
console.log('Listening at http://127.0.0.1:8080');
0.7.1
This release marks the departure from maven as a toolchain tool. A small runtime should be installed either globally (recommended) or per project.
npm install -g es4x-pm
With the runtime you can use ES4X on your simple scripts e.g.:
#!/usr/bin/env es4x
vertx
.createHttpServer()
.requestHandler(function (req) {
req.response().end("Hello from ES4X!");
})
.listen(8080);
And run as:
./index.js
Docker is now the preferred way to deploy applications, once you're happy with your code:
es4x dockerfile
A `Dockerfile will be available in the current path.
docker build -t my-project:1.0.0 .
# Run your application with:
docker run --rm -it --net=host my-project:1.0.0
0.7.0
This release marks the departure from maven as a toolchain tool. A small runtime should be installed either globally (recommended) or per project.
npm install -g es4x-pm
With the runtime you can use ES4X on your simple scripts e.g.:
#!/usr/bin/env es4x
vertx
.createHttpServer()
.requestHandler(function (req) {
req.response().end("Hello from ES4X!");
})
.listen(8080);
And run as:
./index.js
Docker is now the preferred way to deploy applications, once you're happy with your code:
es4x dockerfile
A `Dockerfile will be available in the current path.
docker build -t my-project:1.0.0 .
# Run your application with:
docker run --rm -it --net=host my-project:1.0.0