{"id":27708601,"url":"https://github.com/imyller/meta-nodejs-contrib","last_synced_at":"2026-03-01T13:34:58.289Z","repository":{"id":77645015,"uuid":"61318750","full_name":"imyller/meta-nodejs-contrib","owner":"imyller","description":"OpenEmbedded layer for Node.js based package recipes and BitBake helper classes","archived":false,"fork":false,"pushed_at":"2018-11-28T22:26:19.000Z","size":33,"stargazers_count":12,"open_issues_count":2,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-04T13:49:38.699Z","etag":null,"topics":["nodejs","openembedded","yocto-layer"],"latest_commit_sha":null,"homepage":"","language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imyller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-16T19:03:57.000Z","updated_at":"2018-11-28T22:26:21.000Z","dependencies_parsed_at":"2023-02-23T22:00:13.911Z","dependency_job_id":null,"html_url":"https://github.com/imyller/meta-nodejs-contrib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/imyller/meta-nodejs-contrib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyller%2Fmeta-nodejs-contrib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyller%2Fmeta-nodejs-contrib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyller%2Fmeta-nodejs-contrib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyller%2Fmeta-nodejs-contrib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imyller","download_url":"https://codeload.github.com/imyller/meta-nodejs-contrib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imyller%2Fmeta-nodejs-contrib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29970470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T13:32:00.443Z","status":"ssl_error","status_checked_at":"2026-03-01T13:32:00.084Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nodejs","openembedded","yocto-layer"],"created_at":"2025-04-26T10:35:53.741Z","updated_at":"2026-03-01T13:34:58.266Z","avatar_url":"https://github.com/imyller.png","language":"BitBake","funding_links":[],"categories":[],"sub_categories":[],"readme":"meta-nodejs-contrib \u003cimg src=\"https://github.com/nodejs/nodejs.org/raw/master/static/images/logos/nodejs-new-black.png\" width=\"128\" align=\"right\"\u003e\n====================\n\nThis OpenEmbedded layer is intended to be used as an extension of [`meta-nodejs`](http://layers.openembedded.org/layerindex/branch/master/layer/meta-nodejs/) layer to provide community contributed package recipes and Bitbake helper classes.\n\n[`meta-nodejs`](http://layers.openembedded.org/layerindex/branch/master/layer/meta-nodejs/) provides latest [Node.js](https://nodejs.org/ \"Node.js\") runtime package recipes for current, long-term support, maintenance and legacy release lines.\n\nCommunity contributions to this layer are welcome!\n\nInstallation\n============\n\nLayer installation varies depending on your OpenEmbedded distribution. These instructions are generic.\n\n1. Fetch `meta-nodejs-contrib` layer from `https://github.com/imyller/meta-nodejs-contrib.git`\n\t\n2. Add `meta-nodejs-contrib` layer to `EXTRALAYERS` in `bblayers.conf`. For example:\n\n\t```bitbake\n\t\tEXTRALAYERS +=\" \\\n\t\t\t${TOPDIR}/sources/meta-nodejs-contrib \\\n\t\t\"\n\t```\n\t\n## Dependencies\n\n`meta-nodejs-contrib` depends on following layers:\n\n * [`openembedded-core`](http://layers.openembedded.org/layerindex/branch/master/layer/openembedded-core/)\n * [`meta-nodejs`](http://layers.openembedded.org/layerindex/branch/master/layer/meta-nodejs/)\n\nBitbake classes \n===============\n\n`meta-nodejs-contrib` layer adds few Node.js related helper classes.\n\n## `grunt` class\n\n`grunt` can build a package that is based on grunt.\nFirst it will do an `npm install` during the `do_configure` task to make sure all\ndependencies are available.\nThen it runs `grunt` with the default target during the `do_compile` task.\n\nIt defines the following functions:\n\n  * `oe_rungrunt`: call `grunt`\n\n### Variables\n\n* `NPM_INSTALL_FLAGS`: Extra command line arguments for `npm` calls made in `do_configure` task\n* `GRUNT_TARGET`: The grunt target to run. (default: \"\")\n\n## `gulp` class\n\n`gulp` can build a package that is based on gulp.\nFirst it will do an `npm install` during the `do_configure` task to make sure all\ndependencies are available.\nThen it runs `gulp` with the default target during the `do_compile` task.\n\nThe project being built should have a `devDependency` on `gulp` in its `package.json`.\n\nIt defines the following functions:\n\n  * `oe_rungulp`: call `gulp`\n\n### Variables\n\n* `NPM_INSTALL_FLAGS`: Extra command line arguments for `npm` calls made in `do_configure` task\n* `GULP_TASKS`: The gulp task(s) to run. (default: \"\")\n* `GULP_OPTIONS`: Extra options to pass to gulp (e.g. `--production`). (default: \"\")\n\n## `bower` class\n\n`bower` is a package manager for web applications front-end dependencies: [bower.io](http://bower.io/ \"bower.io\")\n\n`bower` class defines following functions:\n \n  * `oe_runbower`: call `bower` command line utility\n  \n### Variables\n\n * `BOWER`: bower command line utility (default: `bower`)\n * `BOWER_FLAGS`: Extra command line arguments for `bower` calls made by `oe_runbower()`\n * `BOWER_REGISTRY`: override Bower registry URL \n \n## `bower-install` class\n\nSuppose a web application has front-end dependencies which are listed in the file\nbower.json. In this case the web application recipe can auto-install all those\ndependencies during yocto build by inheriting `bower-install` class.\n\n`bower-install` class inherits `bower` class and adds following build tasks:\n\n  * `bower_install`: runs `bower install` in source directory after `do_npm_dedupe` and before `do_install`\n\nNote that front-end dependencies are auto-installed into build directory. They have to be\nexplicitely copied into target image in `do_install` or `do_install_append`. Here is a\nsimple example of web application recipe with nodejs and bower dependencies:\n\n```bitbake\nSUMMARY = \"simple web application with JS front-end dependencies listed in bower.json\"\nLICENSE = \"MIT\"\nLIC_FILES_CHKSUM = \"file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690\"\n\nSRCREV = \"${AUTOREV}\"\n\nPR = \"r0\"\nPV = \"0.0.1+git${SRCPV}\"\n\nSRC_URI = \"git://webapp.example.org/test.git;branch=master;protocol=ssh\"\n\ninherit bower-install\n\nS = \"${WORKDIR}/git\"\n\ndo_install () {\n\tinstall -d ${D}/www/test/public\n\tcp -r ${S}/bower_components ${D}/www/test/public/\n}\n\n```\n\n### Variables\n\n * `BOWER_INSTALL`: Parameters for `bower install` command (such as specific package names)\n * `BOWER_INSTALL_FLAGS`: Extra command line arguments for `bower` calls made in `bower_install` task \n\n## `typings` class\n\n`typings` is a TypeScript definition manager: [typings](https://github.com/typings/typings/ \"typings\")\n\n`typings` class defines following functions:\n \n  * `oe_runtypings`: call `typings` command line utility\n  \n### Variables\n\n * `TYPINGS`: bower command line utility (default: `typings`)\n * `TYPINGS_FLAGS`: Extra command line arguments for `typings` calls made by `oe_runtypings()`\n\n## `typings-install` class\n\nSuppose a web application has TypeScript dependencies which are listed in the file\ntypings.json. In this case the web application recipe can auto-install all those\ndependencies during yocto build by inheriting `typings-install` class.\n\n`typings-install` class inherits `typings` class and adds following build tasks:\n\n  * `typings_install`: runs `typings install` in source directory after `do_configure` and before `do_compile`\n\n### Variables\n\n * `TYPINGS_INSTALL`: Parameters for `typings install` command (such as specific package names)\n * `TYPINGS_INSTALL_FLAGS`: Extra command line arguments for `typings` calls made in `typings_install` task \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyller%2Fmeta-nodejs-contrib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimyller%2Fmeta-nodejs-contrib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimyller%2Fmeta-nodejs-contrib/lists"}