4 Commits

Author SHA1 Message Date
416cada9f4 fix: unix permissions properly fixed with 7z 2025-10-28 19:31:59 +11:00
97312585db fix: fix to unix permissions with 7z 2025-10-28 19:29:25 +11:00
538aa3bb57 fix: update license 2025-10-14 12:11:24 +11:00
7ec09bee1e feat: fix 7zip integration 2025-10-13 11:29:30 +11:00
2 changed files with 16 additions and 13 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@drop-oss/droplet",
"version": "3.1.0",
"version": "3.2.2",
"main": "index.js",
"types": "index.d.ts",
"napi": {
@ -20,7 +20,7 @@
]
}
},
"license": "MIT",
"license": "AGPL-3.0-only",
"devDependencies": {
"@napi-rs/cli": "3.0.0-alpha.91",
"@types/node": "^22.13.10",

View File

@ -168,19 +168,22 @@ impl VersionBackend for ZipVersionBackend {
let files = raw_result.split("\n").filter(|v| v.len() > 0).map(|v| v.split(" ").filter(|v| v.len() > 0));
let mut results = Vec::new();
for mut file in files {
let (date, time, attrs, size, compress, name) = (
file.next().unwrap(),
file.next().unwrap(),
file.next().unwrap(),
file.next().unwrap(),
file.next().unwrap(),
file.next().unwrap(),
for file in files {
let mut values = file.collect::<Vec<&str>>();
values.reverse();
let mut iter = values.iter();
let (name, compress, size, attrs) = (
iter.next().expect("failed to fetch name"),
iter.next().expect("failed to read compressed size"),
iter.next().expect("failed to read file size"),
iter.next().expect("failed to fetch attrs")
);
println!("got line: {} {} {} {} {} {}", date, time, attrs, size, compress, name);
if attrs.starts_with("D") {
continue;
}
results.push(VersionFile {
relative_filename: name.to_owned(),
permission: 0,
relative_filename: name.to_owned().to_owned(),
permission: 0o744, // owner r/w/x, everyone else, read
size: size.parse().unwrap(),
});
}