Remove auto option

This commit is contained in:
YuKun Liu committed 2022-05-10 22:58:48 +08:00
1 parent 551d2477ff
commit 9ddaa773d9
1 file changed
+73 -38
+73 -38
View File
@@ -362,48 +362,54 @@ fn build_assets(config: &CrateConfig) -> Result<()> {
"--no-source-map"
}
} else {
"--no-source-map"
"--source-map"
};
if tab.contains_key("auto") && tab.get("auto").unwrap().as_bool().unwrap_or(false) {
// if the sass open auto, we need auto-check the assets dir.
let asset_dir = config.asset_dir.clone();
if asset_dir.is_dir() {
for entry in walkdir::WalkDir::new(&asset_dir)
.into_iter()
.filter_map(|e| e.ok())
{
let temp = entry.path();
if temp.is_file() {
let suffix = temp.extension().unwrap().to_str().unwrap();
if suffix == "scss" {
// if file suffix is `scss` we need transform it.
let out_file =
format!("{}.css", temp.file_stem().unwrap().to_str().unwrap());
let target_path = config
.out_dir
.join(temp.strip_prefix(&asset_dir).unwrap().parent().unwrap())
.join(out_file);
sass.call(
"sass",
vec![
temp.to_str().unwrap(),
target_path.to_str().unwrap(),
source_map,
],
)?;
if tab.contains_key("files") {
if tab.get("files").unwrap().is_str() {
let file = tab.get("files").unwrap().as_str().unwrap().trim();
if file == "*" {
// if the sass open auto, we need auto-check the assets dir.
let asset_dir = config.asset_dir.clone();
if asset_dir.is_dir() {
for entry in walkdir::WalkDir::new(&asset_dir)
.into_iter()
.filter_map(|e| e.ok())
{
let temp = entry.path();
if temp.is_file() {
let suffix = temp.extension().unwrap().to_str().unwrap();
if suffix == "scss" {
// if file suffix is `scss` we need transform it.
let out_file = format!(
"{}.css",
temp.file_stem().unwrap().to_str().unwrap()
);
let target_path = config
.out_dir
.join(
temp.strip_prefix(&asset_dir)
.unwrap()
.parent()
.unwrap(),
)
.join(out_file);
sass.call(
"sass",
vec![
temp.to_str().unwrap(),
target_path.to_str().unwrap(),
source_map,
],
)?;
}
}
}
}
}
}
} else if tab.contains_key("files") && tab.get("files").unwrap().is_array() {
// check files list.
let list = tab.get("files").unwrap().as_array().unwrap();
for i in list {
if i.is_str() {
let path = i.as_str().unwrap();
let path = PathBuf::from(path);
let path = config.asset_dir.join(path);
} else {
// just transform one file.
let path = config.asset_dir.join(file);
if path.is_file() {
sass.call(
"sass",
@@ -422,10 +428,39 @@ fn build_assets(config: &CrateConfig) -> Result<()> {
)?;
}
}
} else if tab.get("files").unwrap().is_array() {
// check files list.
let list = tab.get("files").unwrap().as_array().unwrap();
for i in list {
if i.is_str() {
let path = i.as_str().unwrap();
let path = PathBuf::from(path);
let path = config.asset_dir.join(path);
if path.is_file() {
sass.call(
"sass",
vec![
path.to_str().unwrap(),
path.parent()
.unwrap()
.join(format!(
"{}.css",
path.file_stem().unwrap().to_str().unwrap()
))
.to_str()
.unwrap(),
source_map,
],
)?;
}
}
}
}
}
}
}
// SASS END
Ok(())
}