feat(npm): add flag for creating and resolving npm packages to a local node_modules folder (#15971)

This commit is contained in:
David Sherret 2022-09-22 11:17:02 -04:00 committed by GitHub
parent 9a216806d5
commit 716005a0d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 744 additions and 126 deletions

View file

@ -22,6 +22,7 @@ pub struct PackageJson {
main: Option<String>, // use .main(...)
module: Option<String>, // use .main(...)
pub name: Option<String>,
pub version: Option<String>,
pub path: PathBuf,
pub typ: String,
pub types: Option<String>,
@ -37,6 +38,7 @@ impl PackageJson {
main: None,
module: None,
name: None,
version: None,
path,
typ: "none".to_string(),
types: None,
@ -71,6 +73,7 @@ impl PackageJson {
let main_val = package_json.get("main");
let module_val = package_json.get("module");
let name_val = package_json.get("name");
let version_val = package_json.get("version");
let type_val = package_json.get("type");
let bin = package_json.get("bin").map(ToOwned::to_owned);
let exports = package_json.get("exports").map(|exports| {
@ -88,6 +91,7 @@ impl PackageJson {
.map(|imp| imp.to_owned());
let main = main_val.and_then(|s| s.as_str()).map(|s| s.to_string());
let name = name_val.and_then(|s| s.as_str()).map(|s| s.to_string());
let version = version_val.and_then(|s| s.as_str()).map(|s| s.to_string());
let module = module_val.and_then(|s| s.as_str()).map(|s| s.to_string());
// Ignore unknown types for forwards compatibility
@ -116,6 +120,7 @@ impl PackageJson {
path,
main,
name,
version,
module,
typ,
types,