use super::*;
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Default)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(default)]
pub struct PeerDependencyMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
#[serde(flatten, skip_serializing_if = "BTreeMap::is_empty")]
pub extras: JsonValueBTreeMap,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum ResolutionMode {
#[serde(rename = "highest")]
Highest,
#[serde(rename = "lowest-direct")]
LowestDirect,
#[serde(rename = "time-based")]
TimeBased,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum SavePrefix {
#[serde(rename = "")]
Exact,
#[serde(rename = "~")]
Patch,
#[serde(rename = "^")]
Minor,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum SaveWorkspaceProtocol {
Rolling,
#[serde(untagged)]
Bool(bool),
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum LinkWorkspacePackages {
Deep,
#[serde(untagged)]
Bool(bool),
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum VerifyDepsBeforeRun {
Install,
Warn,
Error,
Prompt,
#[serde(untagged)]
Bool(bool),
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
pub enum Color {
Always,
Auto,
Never,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
pub enum LogLevel {
Debug,
Info,
Warn,
Error,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
pub enum PackageImportMethod {
Auto,
Hardlink,
Clone,
#[serde(rename = "clone-or-copy")]
CloneOrCopy,
Copy,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
pub enum NodeLinker {
Isolated,
Hoisted,
Pnp,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
pub struct ExecutionEnv {
#[serde(alias = "node_version")]
pub node_version: Option<String>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Default)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(default)]
#[serde(deny_unknown_fields)]
pub struct SupportedArchitectures {
#[serde(alias = "cpu")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cpu: Option<BTreeSet<String>>,
#[serde(alias = "libc")]
#[serde(skip_serializing_if = "Option::is_none")]
pub libc: Option<BTreeSet<String>>,
#[serde(alias = "os")]
#[serde(skip_serializing_if = "Option::is_none")]
pub os: Option<BTreeSet<String>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Default)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(default)]
#[serde(deny_unknown_fields)]
pub struct AuditConfig {
#[serde(alias = "ignore_cves")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ignore_cves: Option<BTreeSet<String>>,
#[serde(alias = "ignore_ghas")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ignore_ghas: Option<BTreeSet<String>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
pub struct UpdateConfig {
#[serde(alias = "ignore_dependencies")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ignore_dependencies: Option<BTreeSet<String>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Default)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(default)]
#[serde(deny_unknown_fields)]
pub struct PeerDependencyRules {
#[serde(alias = "allowed_versions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_versions: Option<StringBTreeMap>,
#[serde(alias = "allow_any")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_any: Option<BTreeSet<String>>,
#[serde(alias = "ignore_missing")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ignore_missing: Option<BTreeSet<String>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Default)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[serde(rename_all = "camelCase")]
#[serde(default)]
#[serde(deny_unknown_fields)]
pub struct PackageExtension {
#[serde(skip_serializing_if = "Option::is_none")]
pub dependencies: Option<StringBTreeMap>,
#[serde(alias = "dev_dependencies")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dev_dependencies: Option<StringBTreeMap>,
#[serde(alias = "optional_dependencies")]
#[serde(skip_serializing_if = "Option::is_none")]
pub optional_dependencies: Option<StringBTreeMap>,
#[serde(alias = "peer_dependencies")]
#[serde(skip_serializing_if = "Option::is_none")]
pub peer_dependencies: Option<StringBTreeMap>,
#[serde(alias = "peer_dependencies_meta")]
#[serde(skip_serializing_if = "Option::is_none")]
pub peer_dependencies_meta: Option<BTreeMap<String, PeerDependencyMeta>>,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Copy, Eq)]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
pub enum CatalogMode {
Manual,
Strict,
Prefer,
}