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 install
This 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