parent-project v0.2.1
parent-project
Generates package.json files from a YAML description. Currently does the same as all the other YAML to JSON converters, but will be extended with additional functionality.
Example
At a certain level of complexity, one wishes to use comments in npm project
definitions. Simply rename package.json to package.yaml, add comments!
Before executing any npm related command, simply transform the YAML document
to JSON.
{
"name": "my-project",
"version": "0.1.0",
# Finally, comments!
"dependencies": {
"lodash": "*"
}
}Substitution
parent-project also supports variable substitution. Inside string values, you can use jsonpath syntax to reference other values in the same document.
{
"name": "my-project",
"version": "0.1.0",
"dependencies": {
"my-sub-component": "${version}",
"external-component": "${config.repository}/external-component.git#dev"
},
"config": {
"repository": "git+https://repo.example.com"
}
}If the string referencing a value contains other text (like
$.dependencies.'external-component' in this example), then the value is
converted to string and placed inside.
On the other hand, if the string contains nothing but a reference, then the hole
value gets replaced. This allows you to reference hole objects like author or
contributors.
While recursive variable substitution is supported, it should be used with caution.
Usage
$> npm install -g parent-project
$> parent-project package.yaml > package.json && npm installThis will convert a package.yaml file into the corresponding package.json to
be read by npm install. Most likely you want to .gitignore but not
.npmignore the generated file.
Changelog
0.2.1
- Updated development environment to latest stable parent-project version
- Fixed changelog rendering on GitHub
0.2.0
- Variable substitution
0.1.1
- Became self hosted by the latest stable version hosted on npmjs to translate the package.yaml project definition
0.1.0
- Initial development
- Published to npmjs