Skip to content

apache/openwhisk-runtime-deno

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Apache OpenWhisk Runtime for Deno

License

This repository contains sources files needed to build the Deno runtimes for Apache OpenWhisk. The build system will produce a Docker image for each runtime version. These images are used in the platform to execute Deno actions.

Try it out using Docker image:

wsk action create hello main.ts --docker=openwhisk/action-deno-1.3.0

The content of the main.ts is shown below.

export default (args: any) => {
  return {
    message: `Hello, ${args.name || 'World'}!`
  }
}

For the return result, not only support dictionary but also support array

So a very simple hello array function would be:

export default (args: any) => {
   return ["a", "b"]
}

And support array result for sequence action as well, the first action's array result can be used as next action's input parameter.

So the function can be:

func main(args: Any) -> Any {
    return args
}

When invokes above action, we can pass an array object as the input parameter.

Development

A Dockerfile for each runtime image is defined in its respective runtime version directory. Modify this file if you need to add extra dependencies to a runtime version.

Build

  • Run the distDocker command to generate local Docker images for the different runtime versions.
./gradlew distDocker

Test

  1. Build the local Docker images for the Deno runtime (see the instructions above).

  2. Install project dependencies from the top-level Apache OpenWhisk project, which ensures correct versions of dependent libraries are available in the Maven cache.

./gradlew install

This command MUST BE run from the directory containing the main Apache OpenWhisk repository, not this repository's directory.

  1. Run the project tests.
./gradlew :tests:test