grunt-kevoree

6.0.0-alpha.1 • Public • Published

grunt-kevoree

Automatically runs kevoree runtime (works like mvn kev:run plugin)

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-kevoree --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-kevoree');

The "kevoree" task

Overview

In your project's Gruntfile, add a section named kevoree to the data object passed into grunt.initConfig().

grunt.initConfig({
    // all those options are optional because they are the default behavior
    kevoree: {
        options: {
            runtime: 'latest',            // default
            node: 'node0',                // default
            kevscript: 'kevs/main.kevs',  // default
            modulesPath: '.deploy_units', // default
            mergeLocalLibraries: [],      // default
            logLevel: 'debug'             // default
        }
    }
});

Because each options has a default value, you can just add a grunt.loadNpmTasks('grunt-kevoree') without any kevoree task configuration in your Gruntfile.js, and then do a grunt kevoree in a terminal

Options

options.node

Type: String
Default value: 'node0'

A string value that is used to determine the node name of the launched Kevoree runtime platform

options.runtime

Type: String
Default value: 'latest'

A string value that is used to determine the runtime version (kevoree-nodejs-runtime version)

options.kevscript

Type: String
Default value: 'kevs/main.kevs'

A string value that is used to determine the KevScript model that will be used to bootstrap the platform

options.modulesPath

Type: String
Default value: '.deploy_units'

A string value that is used to determine the modulesPath variable for Kevoree resolver (where resolved modules are going to be installed)

options.mergeLocalLibraries

Type: String Default value: []

An array containing the paths to your local Kevoree libraries that are not yet pushed on npm registry nor Kevoree registry Ex:

kevoree: {
    options: {
        mergeLocalLibraries: [
            '/path/to/kevoree-comp-ticker'
        ]
    }
}

NB: Merged local libraries has to be "installed" (i.e npm install must have been run)

options.logLevel

Type: String Default value: 'debug'

A string value that is used to determine the runtime log level. Available values are (all|debug|info|warn|error|quiet)

Kevscript

kevscript

Type: String
Default value: kevs/main.kevs this argument is mandatory, whether from command-line or from Gruntfile.js options

Path that leads to your KevScript file in order to create the Kevoree model to bootstrap on.
KevScript file can be specified from the command-line (if provided, it will be used instead of the file given in the Gruntfile.js)

grunt kevoree --kevscript=/path/to/my/model.kevs

ctxVars

Type: Object
Default value: {}

If set, grunt-kevoree will use the given object as the context variables for the KevScript interpretor.
Example:

options: {
  ctxVars: {
    'NODE_NAME': 'myNode'
  }
}

This will allow you to use %NODE_NAME% that will be converted to myNode within your KevScript files:

add %NODE_NAME% : JavascriptNode
add %NODE_NAME%.foo : Ticker

Command-line arguments

node

Type: String
Default value: node0

If set, grunt-kevoree will use the given node name to start the Kevoree platform.
This argument overrides the given node option in Gruntfile.js

grunt kevoree --node=node1

kevscript

Type: String
Default value: kevs/main.kevs

If set, grunt-kevoree will use the given filepath to load the KevScript model.
This argument overrides the given kevscript option in Gruntfile.js

grunt kevoree --kevscript=/path/to/my/model.kevs

runtime

Type: String Default value: latest

If set, grunt-kevoree will install the specified kevoree-nodejs-runtime version to run the Kevoree platform. This argument overrides the given runtime option in Gruntfile.js

grunt kevoree --runtime=5.1.0

Kevoree Browser Runtime - DevMode

options.browserDevMode

Type: Boolean Default value: false

If set to true, grunt-kevoree will start to statically serve the given path in options.mergeLocalLibraries (+/browser), plus the one specified in browserDevModeOptions.path

options.browserDevModeOptions

Type: Object Default value: { port: 59000, path: './browser' }

Browser Runtime DevMode options
port: port of the static server path: one of the served directory (all mergeLocalLibraries/browser paths are added to this server too)

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Dependencies (16)

Dev Dependencies (3)

Package Sidebar

Install

npm i grunt-kevoree

Weekly Downloads

4

Version

6.0.0-alpha.1

License

LGPL-3.0

Last publish

Collaborators

  • leiko