package_json_schema
Load a
package.json
file as a PackageJsonstruct
.
Why?
You want to load a package.json
file and interact with it as a struct.
Installation
Add this line to the dependencies
section of your Cargo.toml
:
= "0.1.0"
If you would like to include validation then add the validate
feature. This will validate all the fields the loaded json. Emails, the package name, the version.
= { = "0.1.0", = ["validate"] }
Usage
The following example shows how to load a package.json
file and use it as a struct.
use PackageJson;
let contents = r###"
{
"name": "my-package",
"version": "0.1.0",
"dependencies": {
"@sveltejs/kit": "1.0.0-next.396"
},
"peerDependencies": {
"aws-sdk": "2.1185.0"
}
}
"###;
let package_json = try_from.unwrap;
assert_eq!;
assert_eq!;
This crate leaves it to the user to load the package.json
content from the filesystem. Here is an example of loading the file contents and parsing the contents into a struct.
use read_to_string;
use PackageJson;
let contents = read_to_string.unwrap;
let package_json = try_from.unwrap;
assert_eq!;
A package.json
file can also be created from a builder.
use PackageJson;
use AdditionalFields;
use Person;
use IndexMap;
let mut additional_fields: AdditionalFields = new;
additional_fields.insert;
let package_json = builder
.name
.author
.other
.build;
let string_value = package_json.try_to_string.unwrap;
assert_eq!;
To validate the package.json
fields, enable the validate
feature.
= { = "0.1.0", = ["validate"] }
And then use the validate
method.
use read_to_string;
use PackageJson;
use Validate;
let contents = read_to_string.unwrap;
let package_json = try_from.unwrap;
package_json.validate.unwrap;
License
This project is licensed under the Unlicense license.