Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
hygen-cook
Advanced tools
A composition tool for hygen templates. Allows you to compose and generate complex services from many small modular hygen generators.
Hygen is great for templating out small bits of boilerplate for specific use cases, but less than ideal for large complex projects with multiple different options. Hygen Cook aims to solve that issue by allowing you to define a recipe for that large complex project by combining multiple small generators in a specific shape and order.
A recipe is composed of two main sections, ingredients
and instructions
. Ingredients specifies which generators will be used in the recipe, either by git url or npm package name. Instructions specifies the calls to those generators and the arguments they require. When you have a recipe file and want to cook the recipe, simply call hygen-cook
and pass it the recipe, pretty soon you'll have a freshly baked project to start working on.
To get the hygen-cook
command available in your terminal you'll need to install the module globally:
npm i -g hygen-cook
name: My API
ingredients:
- https://github.com/hygen-generators/scaffolder-demo-hygen
- github-actions-generators
instructions:
- ingredient: scaffolder-demo-hygen
generator: monorepo
action: new
args:
- option: name
value: simple-service
- ingredient: scaffolder-demo-hygen
generator: monorepo-package
action: new
basePath: packages/api
args:
- option: name
value: api
- ingredient: scaffolder-demo-hygen
generator: monorepo-package
action: lambda
basePath: packages/api
args:
- option: name
value: api-lambda
- option: component
value: api
- ingredient: scaffolder-demo-hygen
generator: monorepo-package
action: new
basePath: packages/ingest
args:
- option: name
value: ingest
- ingredient: scaffolder-demo-hygen
generator: monorepo-package
action: lambda
basePath: packages/ingest
args:
- option: name
value: ingest-lambda
- option: component
value: ingest
- ingredient: github-actions-generators
generator: github-actions
action: build-test-publish
args:
- option: admin-github-token
value: SUPER_SECRET_TOKEN
- option: main-branch
value: main
- option: node-version
value: '14.11'
- option: use-commit-lint
- option: use-lerna
- ingredient: github-actions-generators
generator: github-actions
action: dependabot
args:
- option: admin-github-token
value: SUPER_SECRET_TOKEN
- option: main-branch
value: main
- option: node-version
value: '14.11'
- ingredient: github-actions-generators
generator: github-actions
action: terraform-deploy
args:
- option: admin-github-token
value: SUPER_SECRET_TOKEN
- option: main-branch
value: main
hygen-cook -r path/to/my-api-recipe.yml
hygen-cook --help
Options:
--version Show version number [boolean]
-r, --recipe The recipe to cook up [string] [required]
--overwriteTemplates Should overwrite templates?
[boolean] [default: false]
--help Show help [boolean]
Some example recipes for you to try out using open source generators
name: a-shiny-new-module
node: &vNode '16.14.2'
ingredients:
- &gha hygen-github-action-generators
- &nodemod hygen-node-module-generators
instructions:
- ingredient: *gha
generator: gha-workflows
action: new
args:
- option: name
value: workflows
- option: nodeVersion
value: *vNode
- ingredient: *nodemod
generator: node-module
action: new
args:
- option: name
value: shiny-new-module
- option: description
value: A shiny new module to do awesome things
- option: author
value: You <you@your.com>
- option: repoName
value: https://github.com/bbeesley/awesome-generators
- option: nodeVersion
value: *vNode
- option: supportNodeVersion
value: '14.18.3'
name: a-shiny-set-of-modules
node: &vNode '16.14.2'
repo: &repo 'https://github.com/bbeesley/awesome-generators'
ingredients:
- &gha hygen-github-action-generators
- &nodemod hygen-node-module-generators
instructions:
- ingredient: *gha
generator: gha-workflows
action: new
args:
- option: name
value: workflows
- option: nodeVersion
value: *vNode
- ingredient: *nodemod
generator: node-module
action: new
args:
- option: name
value: root
- option: description
value: Root package for lerna
- option: author
value: You <you@your.com>
- option: repoName
value: *repo
- option: nodeVersion
value: *vNode
- option: supportNodeVersion
value: '14.18.3'
- option: isLernaRoot
value: 'true'
- ingredient: *nodemod
generator: node-module
action: new
basePath: packages/a-monorepo-package
args:
- option: name
value: a-monorepo-package
- option: description
value: One of the packages in my monorepo
- option: author
value: You <you@your.com>
- option: repoName
value: *repo
- option: nodeVersion
value: *vNode
- option: supportNodeVersion
value: '14.18.3'
- option: isLernaChild
value: 'true'
- ingredient: *nodemod
generator: node-module
action: new
basePath: packages/another-monorepo-package
args:
- option: name
value: another-monorepo-package
- option: description
value: Another of the packages in my monorepo
- option: author
value: You <you@your.com>
- option: repoName
value: *repo
- option: nodeVersion
value: *vNode
- option: supportNodeVersion
value: '14.18.3'
- option: isLernaChild
value: 'true'
FAQs
Helps you cook up some delicious hygen recipes
The npm package hygen-cook receives a total of 85 weekly downloads. As such, hygen-cook popularity was classified as not popular.
We found that hygen-cook demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.