Skip to content

OpenEmbedded layer for Node.js based package recipes and BitBake helper classes

License

Notifications You must be signed in to change notification settings

imyller/meta-nodejs-contrib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-nodejs-contrib

This OpenEmbedded layer is intended to be used as an extension of meta-nodejs layer to provide community contributed package recipes and Bitbake helper classes.

meta-nodejs provides latest Node.js runtime package recipes for current, long-term support, maintenance and legacy release lines.

Community contributions to this layer are welcome!

Installation

Layer installation varies depending on your OpenEmbedded distribution. These instructions are generic.

  1. Fetch meta-nodejs-contrib layer from https://github.com/imyller/meta-nodejs-contrib.git

  2. Add meta-nodejs-contrib layer to EXTRALAYERS in bblayers.conf. For example:

    	EXTRALAYERS +=" \
    		${TOPDIR}/sources/meta-nodejs-contrib \
    	"
    

Dependencies

meta-nodejs-contrib depends on following layers:

Bitbake classes

meta-nodejs-contrib layer adds few Node.js related helper classes.

grunt class

grunt can build a package that is based on grunt. First it will do an npm install during the do_configure task to make sure all dependencies are available. Then it runs grunt with the default target during the do_compile task.

It defines the following functions:

  • oe_rungrunt: call grunt

Variables

  • NPM_INSTALL_FLAGS: Extra command line arguments for npm calls made in do_configure task
  • GRUNT_TARGET: The grunt target to run. (default: "")

gulp class

gulp can build a package that is based on gulp. First it will do an npm install during the do_configure task to make sure all dependencies are available. Then it runs gulp with the default target during the do_compile task.

The project being built should have a devDependency on gulp in its package.json.

It defines the following functions:

  • oe_rungulp: call gulp

Variables

  • NPM_INSTALL_FLAGS: Extra command line arguments for npm calls made in do_configure task
  • GULP_TASKS: The gulp task(s) to run. (default: "")
  • GULP_OPTIONS: Extra options to pass to gulp (e.g. --production). (default: "")

bower class

bower is a package manager for web applications front-end dependencies: bower.io

bower class defines following functions:

  • oe_runbower: call bower command line utility

Variables

  • BOWER: bower command line utility (default: bower)
  • BOWER_FLAGS: Extra command line arguments for bower calls made by oe_runbower()
  • BOWER_REGISTRY: override Bower registry URL

bower-install class

Suppose a web application has front-end dependencies which are listed in the file bower.json. In this case the web application recipe can auto-install all those dependencies during yocto build by inheriting bower-install class.

bower-install class inherits bower class and adds following build tasks:

  • bower_install: runs bower install in source directory after do_npm_dedupe and before do_install

Note that front-end dependencies are auto-installed into build directory. They have to be explicitely copied into target image in do_install or do_install_append. Here is a simple example of web application recipe with nodejs and bower dependencies:

SUMMARY = "simple web application with JS front-end dependencies listed in bower.json"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"

SRCREV = "${AUTOREV}"

PR = "r0"
PV = "0.0.1+git${SRCPV}"

SRC_URI = "git://webapp.example.org/test.git;branch=master;protocol=ssh"

inherit bower-install

S = "${WORKDIR}/git"

do_install () {
	install -d ${D}/www/test/public
	cp -r ${S}/bower_components ${D}/www/test/public/
}

Variables

  • BOWER_INSTALL: Parameters for bower install command (such as specific package names)
  • BOWER_INSTALL_FLAGS: Extra command line arguments for bower calls made in bower_install task

typings class

typings is a TypeScript definition manager: typings

typings class defines following functions:

  • oe_runtypings: call typings command line utility

Variables

  • TYPINGS: bower command line utility (default: typings)
  • TYPINGS_FLAGS: Extra command line arguments for typings calls made by oe_runtypings()

typings-install class

Suppose a web application has TypeScript dependencies which are listed in the file typings.json. In this case the web application recipe can auto-install all those dependencies during yocto build by inheriting typings-install class.

typings-install class inherits typings class and adds following build tasks:

  • typings_install: runs typings install in source directory after do_configure and before do_compile

Variables

  • TYPINGS_INSTALL: Parameters for typings install command (such as specific package names)
  • TYPINGS_INSTALL_FLAGS: Extra command line arguments for typings calls made in typings_install task

About

OpenEmbedded layer for Node.js based package recipes and BitBake helper classes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •