enginedetector

An engine detector for javascript and related helpers and requirejs plugins. Detect the engine (node, browser) used to run the current script.

npm install enginedetector
42 downloads in the last month

engineDetector

Build Status

Introduction

An engine detector for javascript and related require-js plugins. Detect the engine (node, browser) used to run the current script.

Usage

var engine = require('enginedetector') ( or see installation below )
engine.isNode // boolean
engine.isBrowser // boolean

engine.ifNode(function( ){

    // called if node 

})

engine.ifNodeNode(function( ){

})

engine.ifBrowser(function( ){

})

engine.ifNotBrowser(function( ){


})

Demo

See cagosta.github.io/engineDetector

Install

engineDetector is coded as AMD module but can be installed with npm, bower or old-fashioned src=".min.js".

With npm:

npm install enginedetector

and use it with nodejs:

var engineDetector = require('enginedetector')

With bower:

bower install engineDetector

Point engineDetector to [bower_components_path]/engineDetector/app/engineDetector.js into your requirejs path config and load it with requirejs:

require(['engineDetector/engineDetector'], function( engineDetector ){

})

With src=" .min.js"

Inside the dist folder, download latest standalone minified version or development version and include it in your html page:

<script src="[path_to_source]/engineDetector-latest-standalone-min.js%>"></script>

The module is available via the scope

window.engineDetector

To do

  • Use requirejs plugins and stabilize them
  • Finish fakeWindowOnNode plugin

Documentation

See jsdoc-generated documentation in /documentation

Folder Structure

app         ->  development files
|- bower_components          ->  [bower](https://github.com/bower/bower) front-end packages
|- main.js                   ->  main file for browser and node.js, handle AMD config
|- engine_detector   -> main AMD module
test        ->  unit tests
|
tasks       -> [Grunt](http://gruntjs.com/) tasks, see [generator-mangrove-module](https://github.com/cagosta/generator-mangrove-module)
|
dist        ->  distribution & build files
|
node_modules -> node packages
|
documentation  -> [jsdoc](http://usejsdoc.org/about-jsdoc3.html) generated documentation 

Run unit tests

On the browser

Run grunt test:browser and open test/ on your browser.

On a headless browser

grunt test:headless will run your tests in a headless browser, with phantomjs and mocha

On node

grunt test:node will run your tests with node and mocha.

Because of requirejs, the mocha command does not work.

Build your own

This project uses Node.js, Grunt and Require.js for the build process. If for some reason you need to build a custom version install Node.js, npm install and run:

grunt build

Yeoman Mangrove module Generator

This module is based on a Yeoman generator: Generator-mangrove-module
Check it for task-related references such as build, deploy etc ..

Authors

License

MIT License

npm loves you