refactor(manifest): refactor npm package into own mod

master
Ashley Williams 7 years ago
parent 5304a49625
commit 33eccd33d8
  1. 29
      src/manifest/mod.rs
  2. 25
      src/manifest/npm/mod.rs

@ -1,5 +1,7 @@
//! Reading and writing Cargo.toml and package.json manifests.
mod npm;
use std::collections::HashMap;
use std::fs::File;
use std::io::prelude::*;
@ -8,6 +10,7 @@ use std::path::Path;
use console::style;
use emoji;
use error::Error;
use self::npm::{NpmPackage, Repository};
use progressbar::Step;
use serde_json;
use toml;
@ -75,32 +78,6 @@ struct CargoLib {
crate_type: Option<Vec<String>>,
}
#[derive(Serialize)]
struct NpmPackage {
name: String,
#[serde(skip_serializing_if = "Vec::is_empty")]
collaborators: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
description: Option<String>,
version: String,
#[serde(skip_serializing_if = "Option::is_none")]
license: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
repository: Option<Repository>,
#[serde(skip_serializing_if = "Vec::is_empty")]
files: Vec<String>,
main: String,
#[serde(skip_serializing_if = "Option::is_none")]
types: Option<String>,
}
#[derive(Serialize)]
struct Repository {
#[serde(rename = "type")]
ty: String,
url: String,
}
fn read_cargo_toml(path: &Path) -> Result<CargoManifest, Error> {
let manifest_path = path.join("Cargo.toml");
if !manifest_path.is_file() {

@ -0,0 +1,25 @@
#[derive(Serialize)]
pub struct NpmPackage {
pub name: String,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub collaborators: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
pub version: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub license: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository: Option<Repository>,
#[serde(skip_serializing_if = "Vec::is_empty")]
pub files: Vec<String>,
pub main: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub types: Option<String>,
}
#[derive(Serialize)]
pub struct Repository {
#[serde(rename = "type")]
pub ty: String,
pub url: String,
}
Loading…
Cancel
Save