es4x

🚀 fast JavaScript 4 Eclipse Vert.x

APACHE-2.0 License

Downloads
14.4K
Stars
881
Committers
29

Bot releases are hidden (Show)

es4x - 0.13.1

Published by pmlopes about 4 years ago

  • Upgraded vert.x to 3.9.3
  • PM will warn about misalign Graal version
  • New docs explaining the details of ES4X
  • es4x-pm npm renamed to @vertx/create
es4x - 0.13.0

Published by pmlopes about 4 years ago

  • Upgraded vert.x to 3.9.2
  • shutdown hook can be async now
  • Initial support for web modules
  • Allow custom logging from logging.properties
es4x - 0.12.0

Published by pmlopes over 4 years ago

  • Upgraded vert.x to 3.9.1
  • Upgraded graalvm to 20.1.0
  • PM can generate security.policy files to sandbox an application
  • Allow .d.ts generation from plain java classes
  • Added interop for byte type
  • Docgen fixed enum to use proper enums, not string values
  • Added interop with Set
  • Fixed overrides on pg-sqlclient
  • Added support for graphql vert.x module
  • Replaced complex console code (which didn't work properly) with a logger
  • All logging is now happening with loggers, so they can be enabled or disabled
es4x - 0.11.0

Published by pmlopes over 4 years ago

  • Upgraded vert.x to 3.9.0
  • Added typedef to generated js files to better hint IDE support
  • Correctly identify graal 20 so jvmci hiperf compile is activated
  • Implemented vert.x docgen to allow generate manuals for modules
  • Created simple React SSR example
  • Bumped graalvm to 20.0.0
  • Graal FS Resolver will allow other files than just js (require for graal 20)
  • Fixed interop with Buffer (Java <=> JS)
  • exposed java Throwable as a type to JS alias for non instantiable Error
es4x - 0.10.1

Published by pmlopes over 4 years ago

  • fix resolver with credentials to process data as UTF8
  • VM version added to the versions command
  • New utility for proxies ASM
  • generated code moved to target
  • Update graal to 19.3
  • Removed promise polyfill (not needed anymore)
  • Update vert.x to 3.8.5
es4x - 0.10.0

Published by pmlopes almost 5 years ago

  • Upgraded Graal to 19.3.0
  • Upgraded Vert.x to 3.8.4
  • Many fixes on module generation reported by tsc
  • Some modules still fail with tsc (but fixes have been pushed upstream)
  • es4x script will also take JAVA_OPTS into consideration when running
  • Build now confirmed to work on aarch64
es4x - 0.9.5

Published by pmlopes about 5 years ago

  • Moved runtime.d.ts to es4x.d.ts and integrated the missing internal modules too.
  • The internal modules can now also be used from .mjs
  • Bump vertx to 3.8.3
  • Fixed jlink split package warning failing the build (ignored for now)
es4x - 0.9.4

Published by pmlopes about 5 years ago

  • Added row override for sql-client (will fix TS errors on next vert.x release)
  • Fix npm package license (SPDX format)
  • Upgrade build plugin versions
  • Added a stack package to allow usage from maven/gradle
  • Bumped GSON
es4x - 0.9.3

Published by pmlopes about 5 years ago

  • Fix Multi Thread regression on 0.9.2
es4x - 0.9.2

Published by pmlopes about 5 years ago

  • Reduced PM size from 11MB to 4MB
  • PM package doesn't depend on GraalVM to run
  • Reduced code
  • Bumped Vertx to 3.8.2
  • Bumped Graal to 19.2.0.1
  • Fix script issues with PM
  • Fix TypeScript definitions that overlapped due to same class name
es4x - 0.9.1

Published by pmlopes about 5 years ago

  • Fix issue with pm launcher that doesn't add itself to the classpath
  • Fix issue with pm lancher that picks the wrong java if GRAALVM_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 Graal ProxyObject (this allows
    using it as a native object)
  • Instrumented JsonArray to be a Graal ProxyArray (this is a
    preparation for hanlding it as a native array)
es4x - 0.9.0

Published by pmlopes about 5 years ago

  • 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 Graal Polyglot access
  • A new flag --prefix allows usage from outside the CWD
  • Generator fixes to allow easier builds
  • Fix broken redeploy/start command.
es4x - 0.8.2

Published by pmlopes about 5 years ago

  • Maven bugfix release (missing parent pom)
es4x - 0.8.1

Published by pmlopes about 5 years ago

  • 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
es4x - 0.8.0

Published by pmlopes over 5 years ago

  • 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 with es4x-pm
  • ESM resolver can resolve npm modules that declare a module property.
es4x - 0.7.3

Published by pmlopes over 5 years ago

  • Fixes bash script for debian like systems
  • Added a version command to list all versions
  • Added a jlink command to create slim packages
  • Updated dependencies
  • Added vscode command to generate launcher scripts
  • Update to graal rc14
es4x -

Published by pmlopes over 5 years ago

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');
es4x - 0.7.1

Published by pmlopes almost 6 years ago

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
es4x - 0.7.0

Published by pmlopes almost 6 years ago

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
es4x - 0.6.0

Published by pmlopes almost 6 years ago

  • Upgraded to Vert.x 3.6.0
  • Code gen extracted to own module