Crate package_json
source ·Expand description
Use the package-json
crate to manage your package.json
file.
How to locate the closest package.json
file
use package_json::PackageJsonManager;
use std::path::Path;
let mut manager = PackageJsonManager::new();
// based on the current working directory
manager.locate_closest()?;
// based on the given path
manager.locate_closest_from(&Path::new("/path/to/working_dir"))?;
Use with_file_path
to create a PackageJsonManager
instance with the give file path.
use std::path::Path;
use package_json::PackageJsonManager;
let mut manager = PackageJsonManager::with_file_path(&Path::new("/path/to/package.json"));
Use set_file_path
to change file path.
How to read or write the current package.json
file
We can use read_mut
or read_ref
to read the current package.json
file after file located.
use package_json::PackageJsonManager;
let mut manager = PackageJsonManager::new();
if manager.locate_closest().is_ok() {
assert!(manager.read_mut().is_ok());
assert!(manager.read_ref().is_ok());
}
On the other hand, we should use as_mut
and as_ref
to get a mutable reference or a immutable reference if we have read it before.
manager.as_mut(); // or manager.as_ref();
Use write
to write the current package.json
file to the disk. If we want to change the output path, eg. create a new package.json
, we should use write_to
instead.
use package_json::PackageJsonManager;
use std::path::Path;
let mut manager = PackageJsonManager::new();
assert!(manager.write().is_ok());
assert!(manager.write_to(&Path::new("/path/to/package.json")).is_ok());
Structs
- A
package.json
is a JSON file that exists in the root of a JavaScript/Node.js project. It holds metadata relevant to the project and it’s used for managing the project’s dependencies, scripts, version and a whole lot more. - A manager for manipulating
package.json
file. - Options used for writing a file.
- Builder for
WriteOptions
.
Enums
- see PackageJson::bin
- see PackageJson::man