Skip to content

Commit 8034aac

Browse files
authored
fix: fix few panics with latest rust-embed, closes #236 (#237)
1 parent c6ff511 commit 8034aac

4 files changed

Lines changed: 53 additions & 43 deletions

File tree

.changes/fix-cargo.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"create-tauri-app": "patch"
3+
---
4+
5+
Fix a few panics introduced by some changes in latest `rust-embed` crate versions.

Cargo.lock

Lines changed: 37 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ path = "src/main.rs"
2020
anyhow = "1.0"
2121
dialoguer = "0.10.2"
2222
pico-args = "0.5.0"
23-
rust-embed = { version = "6.5.0", features = [ "compression", "interpolate-folder-path" ] }
23+
rust-embed = { version = "6.5", features = [ "compression", "interpolate-folder-path" ] }

packages/cli/src/template.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ impl<'a> Template {
120120
let manifest = Manifest::parse(&manifest_str)?;
121121

122122
let write_file = |file: &str| -> anyhow::Result<()> {
123+
let fragment_file = Fragments::get(file).unwrap();
124+
if fragment_file.metadata.is_dir() {
125+
return Ok(());
126+
}
127+
123128
let manifest = manifest.clone();
124129

125130
// remove the first component, which is certainly the fragment directory they were in before getting embeded into the binary
@@ -154,7 +159,7 @@ impl<'a> Template {
154159
_ => &file_name,
155160
};
156161

157-
let mut data = Fragments::get(file).unwrap().data.to_vec();
162+
let mut data = fragment_file.data.to_vec();
158163

159164
// Only modify specific set of files
160165
if [
@@ -206,8 +211,8 @@ impl<'a> Template {
206211
path::PathBuf::from(e.to_string())
207212
.components()
208213
.next()
209-
.unwrap()
210-
.as_os_str()
214+
.map(|c| c.as_os_str())
215+
.unwrap_or_default()
211216
== "base"
212217
}) {
213218
write_file(&file)?;
@@ -218,8 +223,8 @@ impl<'a> Template {
218223
path::PathBuf::from(e.to_string())
219224
.components()
220225
.next()
221-
.unwrap()
222-
.as_os_str()
226+
.map(|c| c.as_os_str())
227+
.unwrap_or_default()
223228
== path::PathBuf::from(format!("fragment-{}", self))
224229
}) {
225230
write_file(&file)?;

0 commit comments

Comments
 (0)