Skip to content

A grunt task to start a kevoree-js runtime in dev-mode within a kevoree-js project

License

Notifications You must be signed in to change notification settings

kevoree/grunt-kevoree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A grunt task to start a kevoree-js runtime in dev-mode within a kevoree-js project

Resources

License

Stars

Watchers

Forks

Packages

No packages published