Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place

cli: add comprehensive file exclusion list and update deps

Prevent accidentally uploading unwanted files during site deployment:
- OS metadata (.DS_Store, Thumbs.db, etc.)
- Environment files (.env*)
- Dependencies (node_modules)
- Python artifacts (__pycache__, venvs)
- Cache and temp directories
- Editor swap files

Also updates Jacquard dependency source references in Cargo.lock.

Changed files
+48 -9
cli
-8
cli/Cargo.lock
···
[[package]]
name = "jacquard"
version = "0.9.3"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"bytes",
"getrandom 0.2.16",
···
[[package]]
name = "jacquard-api"
version = "0.9.2"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"bon",
"bytes",
···
[[package]]
name = "jacquard-common"
version = "0.9.2"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"base64 0.22.1",
"bon",
···
[[package]]
name = "jacquard-derive"
version = "0.9.3"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"heck 0.5.0",
"jacquard-lexicon",
···
[[package]]
name = "jacquard-identity"
version = "0.9.2"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"bon",
"bytes",
···
[[package]]
name = "jacquard-lexicon"
version = "0.9.2"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"cid",
"dashmap",
···
[[package]]
name = "jacquard-oauth"
version = "0.9.2"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"base64 0.22.1",
"bytes",
···
[[package]]
name = "mini-moka"
version = "0.10.99"
-
source = "git+https://tangled.org/@nonbinary.computer/jacquard#324cbb45078fe2f77b60ae2bd7765c5306ec8b5e"
dependencies = [
"crossbeam-channel",
"crossbeam-utils",
+48 -1
cli/src/main.rs
···
.ok_or_else(|| miette::miette!("Invalid filename: {:?}", name))?
.to_string();
-
// Skip .git directories
+
// Skip unwanted files and directories
+
+
// .git directory (version control - thousands of files)
if name_str == ".git" {
+
continue;
+
}
+
+
// .DS_Store (macOS metadata - can leak info)
+
if name_str == ".DS_Store" {
+
continue;
+
}
+
+
// .env files (environment variables with secrets)
+
if name_str.starts_with(".env") {
+
continue;
+
}
+
+
// node_modules (dependency folder - can be 100,000+ files)
+
if name_str == "node_modules" {
+
continue;
+
}
+
+
// OS metadata files
+
if name_str == "Thumbs.db" || name_str == "desktop.ini" || name_str.starts_with("._") {
+
continue;
+
}
+
+
// macOS system directories
+
if name_str == ".Spotlight-V100" || name_str == ".Trashes" || name_str == ".fseventsd" {
+
continue;
+
}
+
+
// Cache and temp directories
+
if name_str == ".cache" || name_str == ".temp" || name_str == ".tmp" {
+
continue;
+
}
+
+
// Python cache
+
if name_str == "__pycache__" || name_str.ends_with(".pyc") {
+
continue;
+
}
+
+
// Python virtual environments
+
if name_str == ".venv" || name_str == "venv" || name_str == "env" {
+
continue;
+
}
+
+
// Editor swap files
+
if name_str.ends_with(".swp") || name_str.ends_with(".swo") || name_str.ends_with("~") {
continue;
}