diff --git a/Cargo.lock b/Cargo.lock index 622df0c..41cca31 100644 Binary files a/Cargo.lock and b/Cargo.lock differ diff --git a/Cargo.toml b/Cargo.toml index 8d9ea1e..395f440 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["crates/*", "xtask"] +members = ["crates/*", "packages/*", "xtask"] exclude = ["crates/pinakes-core/tests/fixtures/test-plugin"] resolver = "3" @@ -11,35 +11,44 @@ readme = true rust-version = "1.95.0" # follows nightly Rust [workspace.dependencies] -# Crate components for Pinakes. +# Crate components for Pinakes. Those are the internal dependencies that are built +# while building any package. pinakes-core = { path = "./crates/pinakes-core" } -pinakes-server = { path = "./crates/pinakes-server" } pinakes-plugin-api = { path = "./crates/pinakes-plugin-api" } -pinakes-ui = { path = "./crates/pinakes-ui" } -pinakes-tui = { path = "./crates/pinakes-tui" } -tokio = { version = "1.49.0", features = ["full"] } +# Pinakes itself is a REST API server. UI and TUI are official visual components +# that connect to the server. Using the API documentation, the user can write +# their own clients, but we separate "crates" and "packages" to establish the +# distinction properly. +pinakes-server = { path = "./packages/pinakes-server" } +pinakes-ui = { path = "./packages/pinakes-ui" } +pinakes-tui = { path = "./packages/pinakes-tui" } + +# Other dependencies. Declaring them in the virtual manifests lets use reuse the crates +# without having to track individual crate version across different types of crates. This +# also includes *dev* dependencies. +tokio = { version = "1.50.0", features = ["full"] } tokio-util = { version = "0.7.18", features = ["rt"] } serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.149" -toml = "1.0.3" -clap = { version = "4.5.60", features = ["derive", "env"] } +toml = "1.0.7" +clap = { version = "4.6.0", features = ["derive", "env"] } chrono = { version = "0.4.44", features = ["serde"] } -uuid = { version = "1.21.0", features = ["v7", "serde"] } +uuid = { version = "1.22.0", features = ["v7", "serde"] } thiserror = "2.0.18" anyhow = "1.0.102" tracing = "0.1.44" -tracing-subscriber = { version = "0.3.22", features = ["env-filter", "json"] } +tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } blake3 = "1.8.3" rustc-hash = "2.1.1" -ed25519-dalek = { version = "2.1.1", features = ["std"] } -lofty = "0.23.2" -lopdf = "0.39.0" +ed25519-dalek = { version = "2.2.0", features = ["std"] } +lofty = "0.23.3" +lopdf = "0.40.0" epub = "2.1.5" matroska = "0.30.0" gray_matter = "0.3.2" kamadak-exif = "0.6.1" -rusqlite = { version = "=0.37.0", features = ["bundled", "column_decltype"] } +rusqlite = { version = "0.37.0", features = ["bundled", "column_decltype"] } tokio-postgres = { version = "0.7.16", features = [ "with-uuid-1", "with-chrono-0_4", @@ -52,7 +61,7 @@ native-tls = "0.2.18" refinery = { version = "0.9.0", features = ["rusqlite", "tokio-postgres"] } walkdir = "2.5.0" notify = { version = "8.2.0", features = ["macos_fsevent"] } -winnow = "0.7.14" +winnow = "1.0.0" axum = { version = "0.8.8", features = ["macros", "multipart"] } axum-server = { version = "0.8.0" } tower = "0.5.3" @@ -67,7 +76,7 @@ dioxus = { version = "0.7.3", features = ["desktop", "router"] } dioxus-core = { version = "0.7.3" } async-trait = "0.1.89" futures = "0.3.32" -image = { version = "0.25.9", default-features = false, features = [ +image = { version = "0.25.10", default-features = false, features = [ "jpeg", "png", "webp", @@ -75,7 +84,7 @@ image = { version = "0.25.9", default-features = false, features = [ "tiff", "bmp", ] } -pulldown-cmark = "0.13.1" +pulldown-cmark = "0.13.3" ammonia = "4.1.2" argon2 = { version = "0.5.3", features = ["std"] } mime_guess = "2.0.5" @@ -84,17 +93,18 @@ dioxus-free-icons = { version = "0.10.0", features = ["font-awesome-solid"] } rfd = "0.17.2" gloo-timers = { version = "0.3.0", features = ["futures"] } rand = "0.10.0" -moka = { version = "0.12.14", features = ["future"] } +moka = { version = "0.12.15", features = ["future"] } urlencoding = "2.1.3" image_hasher = "3.1.1" percent-encoding = "2.3.2" http = "1.4.0" -wasmtime = { version = "42.0.1", features = ["component-model"] } -wit-bindgen = "0.53.1" -tempfile = "3.26.0" +wasmtime = { version = "43.0.0", features = ["component-model"] } +wit-bindgen = "0.54.0" +tempfile = "3.27.0" utoipa = { version = "5.4.0", features = ["axum_extras", "uuid", "chrono"] } utoipa-axum = { version = "0.2.0" } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } +http-body-util = "0.1.3" # See: # diff --git a/crates/pinakes-core/Cargo.toml b/crates/pinakes-core/Cargo.toml index c4ba043..51b1dab 100644 --- a/crates/pinakes-core/Cargo.toml +++ b/crates/pinakes-core/Cargo.toml @@ -4,6 +4,9 @@ edition.workspace = true version.workspace = true license.workspace = true +[features] +ffmpeg-tests = [] + [dependencies] tokio = { workspace = true } serde = { workspace = true } @@ -43,18 +46,13 @@ moka = { workspace = true } urlencoding = { workspace = true } image_hasher = { workspace = true } rustc-hash = { workspace = true } - -# Plugin system -pinakes-plugin-api.workspace = true -wasmtime.workspace = true -ed25519-dalek.workspace = true - -[features] -ffmpeg-tests = [] - -[lints] -workspace = true +pinakes-plugin-api = { workspace = true } +wasmtime = { workspace = true } +ed25519-dalek = { workspace = true } [dev-dependencies] tempfile = { workspace = true } rand = { workspace = true } + +[lints] +workspace = true diff --git a/crates/pinakes-plugin-api/Cargo.toml b/crates/pinakes-plugin-api/Cargo.toml index 51a6686..b8e8f49 100644 --- a/crates/pinakes-plugin-api/Cargo.toml +++ b/crates/pinakes-plugin-api/Cargo.toml @@ -4,32 +4,25 @@ version.workspace = true edition.workspace = true license.workspace = true +[features] +default = [] +wasm = ["wit-bindgen"] + [dependencies] -# Core dependencies serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } async-trait = { workspace = true } tracing = { workspace = true } - -# For plugin manifest parsing toml = { workspace = true } - -# For media types and identifiers uuid = { workspace = true } chrono = { workspace = true } mime_guess = { workspace = true } rustc-hash = { workspace = true } - -# WASM bridge types wit-bindgen = { workspace = true, optional = true } -[lints] -workspace = true - -[features] -default = [] -wasm = ["wit-bindgen"] - [dev-dependencies] tokio = { workspace = true, features = ["rt", "rt-multi-thread", "macros"] } + +[lints] +workspace = true diff --git a/crates/pinakes-server/Cargo.toml b/packages/pinakes-server/Cargo.toml similarity index 96% rename from crates/pinakes-server/Cargo.toml rename to packages/pinakes-server/Cargo.toml index 14e329e..aacccdf 100644 --- a/crates/pinakes-server/Cargo.toml +++ b/packages/pinakes-server/Cargo.toml @@ -36,10 +36,10 @@ utoipa = { workspace = true } utoipa-axum = { workspace = true } utoipa-swagger-ui = { workspace = true } -[lints] -workspace = true - [dev-dependencies] -http-body-util = "0.1.3" +http-body-util = { workspace = true } reqwest = { workspace = true } tempfile = { workspace = true } + +[lints] +workspace = true diff --git a/crates/pinakes-server/src/api_doc.rs b/packages/pinakes-server/src/api_doc.rs similarity index 100% rename from crates/pinakes-server/src/api_doc.rs rename to packages/pinakes-server/src/api_doc.rs diff --git a/crates/pinakes-server/src/app.rs b/packages/pinakes-server/src/app.rs similarity index 100% rename from crates/pinakes-server/src/app.rs rename to packages/pinakes-server/src/app.rs diff --git a/crates/pinakes-server/src/auth.rs b/packages/pinakes-server/src/auth.rs similarity index 100% rename from crates/pinakes-server/src/auth.rs rename to packages/pinakes-server/src/auth.rs diff --git a/crates/pinakes-server/src/dto/analytics.rs b/packages/pinakes-server/src/dto/analytics.rs similarity index 100% rename from crates/pinakes-server/src/dto/analytics.rs rename to packages/pinakes-server/src/dto/analytics.rs diff --git a/crates/pinakes-server/src/dto/audit.rs b/packages/pinakes-server/src/dto/audit.rs similarity index 100% rename from crates/pinakes-server/src/dto/audit.rs rename to packages/pinakes-server/src/dto/audit.rs diff --git a/crates/pinakes-server/src/dto/batch.rs b/packages/pinakes-server/src/dto/batch.rs similarity index 100% rename from crates/pinakes-server/src/dto/batch.rs rename to packages/pinakes-server/src/dto/batch.rs diff --git a/crates/pinakes-server/src/dto/collections.rs b/packages/pinakes-server/src/dto/collections.rs similarity index 100% rename from crates/pinakes-server/src/dto/collections.rs rename to packages/pinakes-server/src/dto/collections.rs diff --git a/crates/pinakes-server/src/dto/config.rs b/packages/pinakes-server/src/dto/config.rs similarity index 100% rename from crates/pinakes-server/src/dto/config.rs rename to packages/pinakes-server/src/dto/config.rs diff --git a/crates/pinakes-server/src/dto/enrichment.rs b/packages/pinakes-server/src/dto/enrichment.rs similarity index 100% rename from crates/pinakes-server/src/dto/enrichment.rs rename to packages/pinakes-server/src/dto/enrichment.rs diff --git a/crates/pinakes-server/src/dto/media.rs b/packages/pinakes-server/src/dto/media.rs similarity index 100% rename from crates/pinakes-server/src/dto/media.rs rename to packages/pinakes-server/src/dto/media.rs diff --git a/crates/pinakes-server/src/dto/mod.rs b/packages/pinakes-server/src/dto/mod.rs similarity index 100% rename from crates/pinakes-server/src/dto/mod.rs rename to packages/pinakes-server/src/dto/mod.rs diff --git a/crates/pinakes-server/src/dto/playlists.rs b/packages/pinakes-server/src/dto/playlists.rs similarity index 100% rename from crates/pinakes-server/src/dto/playlists.rs rename to packages/pinakes-server/src/dto/playlists.rs diff --git a/crates/pinakes-server/src/dto/plugins.rs b/packages/pinakes-server/src/dto/plugins.rs similarity index 100% rename from crates/pinakes-server/src/dto/plugins.rs rename to packages/pinakes-server/src/dto/plugins.rs diff --git a/crates/pinakes-server/src/dto/scan.rs b/packages/pinakes-server/src/dto/scan.rs similarity index 100% rename from crates/pinakes-server/src/dto/scan.rs rename to packages/pinakes-server/src/dto/scan.rs diff --git a/crates/pinakes-server/src/dto/search.rs b/packages/pinakes-server/src/dto/search.rs similarity index 100% rename from crates/pinakes-server/src/dto/search.rs rename to packages/pinakes-server/src/dto/search.rs diff --git a/crates/pinakes-server/src/dto/sharing.rs b/packages/pinakes-server/src/dto/sharing.rs similarity index 100% rename from crates/pinakes-server/src/dto/sharing.rs rename to packages/pinakes-server/src/dto/sharing.rs diff --git a/crates/pinakes-server/src/dto/social.rs b/packages/pinakes-server/src/dto/social.rs similarity index 100% rename from crates/pinakes-server/src/dto/social.rs rename to packages/pinakes-server/src/dto/social.rs diff --git a/crates/pinakes-server/src/dto/statistics.rs b/packages/pinakes-server/src/dto/statistics.rs similarity index 100% rename from crates/pinakes-server/src/dto/statistics.rs rename to packages/pinakes-server/src/dto/statistics.rs diff --git a/crates/pinakes-server/src/dto/subtitles.rs b/packages/pinakes-server/src/dto/subtitles.rs similarity index 100% rename from crates/pinakes-server/src/dto/subtitles.rs rename to packages/pinakes-server/src/dto/subtitles.rs diff --git a/crates/pinakes-server/src/dto/sync.rs b/packages/pinakes-server/src/dto/sync.rs similarity index 100% rename from crates/pinakes-server/src/dto/sync.rs rename to packages/pinakes-server/src/dto/sync.rs diff --git a/crates/pinakes-server/src/dto/tags.rs b/packages/pinakes-server/src/dto/tags.rs similarity index 100% rename from crates/pinakes-server/src/dto/tags.rs rename to packages/pinakes-server/src/dto/tags.rs diff --git a/crates/pinakes-server/src/dto/transcode.rs b/packages/pinakes-server/src/dto/transcode.rs similarity index 100% rename from crates/pinakes-server/src/dto/transcode.rs rename to packages/pinakes-server/src/dto/transcode.rs diff --git a/crates/pinakes-server/src/dto/users.rs b/packages/pinakes-server/src/dto/users.rs similarity index 100% rename from crates/pinakes-server/src/dto/users.rs rename to packages/pinakes-server/src/dto/users.rs diff --git a/crates/pinakes-server/src/error.rs b/packages/pinakes-server/src/error.rs similarity index 100% rename from crates/pinakes-server/src/error.rs rename to packages/pinakes-server/src/error.rs diff --git a/crates/pinakes-server/src/lib.rs b/packages/pinakes-server/src/lib.rs similarity index 100% rename from crates/pinakes-server/src/lib.rs rename to packages/pinakes-server/src/lib.rs diff --git a/crates/pinakes-server/src/main.rs b/packages/pinakes-server/src/main.rs similarity index 100% rename from crates/pinakes-server/src/main.rs rename to packages/pinakes-server/src/main.rs diff --git a/crates/pinakes-server/src/routes/analytics.rs b/packages/pinakes-server/src/routes/analytics.rs similarity index 100% rename from crates/pinakes-server/src/routes/analytics.rs rename to packages/pinakes-server/src/routes/analytics.rs diff --git a/crates/pinakes-server/src/routes/audit.rs b/packages/pinakes-server/src/routes/audit.rs similarity index 100% rename from crates/pinakes-server/src/routes/audit.rs rename to packages/pinakes-server/src/routes/audit.rs diff --git a/crates/pinakes-server/src/routes/auth.rs b/packages/pinakes-server/src/routes/auth.rs similarity index 100% rename from crates/pinakes-server/src/routes/auth.rs rename to packages/pinakes-server/src/routes/auth.rs diff --git a/crates/pinakes-server/src/routes/backup.rs b/packages/pinakes-server/src/routes/backup.rs similarity index 100% rename from crates/pinakes-server/src/routes/backup.rs rename to packages/pinakes-server/src/routes/backup.rs diff --git a/crates/pinakes-server/src/routes/books.rs b/packages/pinakes-server/src/routes/books.rs similarity index 100% rename from crates/pinakes-server/src/routes/books.rs rename to packages/pinakes-server/src/routes/books.rs diff --git a/crates/pinakes-server/src/routes/collections.rs b/packages/pinakes-server/src/routes/collections.rs similarity index 100% rename from crates/pinakes-server/src/routes/collections.rs rename to packages/pinakes-server/src/routes/collections.rs diff --git a/crates/pinakes-server/src/routes/config.rs b/packages/pinakes-server/src/routes/config.rs similarity index 100% rename from crates/pinakes-server/src/routes/config.rs rename to packages/pinakes-server/src/routes/config.rs diff --git a/crates/pinakes-server/src/routes/database.rs b/packages/pinakes-server/src/routes/database.rs similarity index 100% rename from crates/pinakes-server/src/routes/database.rs rename to packages/pinakes-server/src/routes/database.rs diff --git a/crates/pinakes-server/src/routes/duplicates.rs b/packages/pinakes-server/src/routes/duplicates.rs similarity index 100% rename from crates/pinakes-server/src/routes/duplicates.rs rename to packages/pinakes-server/src/routes/duplicates.rs diff --git a/crates/pinakes-server/src/routes/enrichment.rs b/packages/pinakes-server/src/routes/enrichment.rs similarity index 100% rename from crates/pinakes-server/src/routes/enrichment.rs rename to packages/pinakes-server/src/routes/enrichment.rs diff --git a/crates/pinakes-server/src/routes/export.rs b/packages/pinakes-server/src/routes/export.rs similarity index 100% rename from crates/pinakes-server/src/routes/export.rs rename to packages/pinakes-server/src/routes/export.rs diff --git a/crates/pinakes-server/src/routes/health.rs b/packages/pinakes-server/src/routes/health.rs similarity index 100% rename from crates/pinakes-server/src/routes/health.rs rename to packages/pinakes-server/src/routes/health.rs diff --git a/crates/pinakes-server/src/routes/integrity.rs b/packages/pinakes-server/src/routes/integrity.rs similarity index 100% rename from crates/pinakes-server/src/routes/integrity.rs rename to packages/pinakes-server/src/routes/integrity.rs diff --git a/crates/pinakes-server/src/routes/jobs.rs b/packages/pinakes-server/src/routes/jobs.rs similarity index 100% rename from crates/pinakes-server/src/routes/jobs.rs rename to packages/pinakes-server/src/routes/jobs.rs diff --git a/crates/pinakes-server/src/routes/media.rs b/packages/pinakes-server/src/routes/media.rs similarity index 100% rename from crates/pinakes-server/src/routes/media.rs rename to packages/pinakes-server/src/routes/media.rs diff --git a/crates/pinakes-server/src/routes/mod.rs b/packages/pinakes-server/src/routes/mod.rs similarity index 100% rename from crates/pinakes-server/src/routes/mod.rs rename to packages/pinakes-server/src/routes/mod.rs diff --git a/crates/pinakes-server/src/routes/notes.rs b/packages/pinakes-server/src/routes/notes.rs similarity index 100% rename from crates/pinakes-server/src/routes/notes.rs rename to packages/pinakes-server/src/routes/notes.rs diff --git a/crates/pinakes-server/src/routes/photos.rs b/packages/pinakes-server/src/routes/photos.rs similarity index 100% rename from crates/pinakes-server/src/routes/photos.rs rename to packages/pinakes-server/src/routes/photos.rs diff --git a/crates/pinakes-server/src/routes/playlists.rs b/packages/pinakes-server/src/routes/playlists.rs similarity index 100% rename from crates/pinakes-server/src/routes/playlists.rs rename to packages/pinakes-server/src/routes/playlists.rs diff --git a/crates/pinakes-server/src/routes/plugins.rs b/packages/pinakes-server/src/routes/plugins.rs similarity index 100% rename from crates/pinakes-server/src/routes/plugins.rs rename to packages/pinakes-server/src/routes/plugins.rs diff --git a/crates/pinakes-server/src/routes/saved_searches.rs b/packages/pinakes-server/src/routes/saved_searches.rs similarity index 100% rename from crates/pinakes-server/src/routes/saved_searches.rs rename to packages/pinakes-server/src/routes/saved_searches.rs diff --git a/crates/pinakes-server/src/routes/scan.rs b/packages/pinakes-server/src/routes/scan.rs similarity index 100% rename from crates/pinakes-server/src/routes/scan.rs rename to packages/pinakes-server/src/routes/scan.rs diff --git a/crates/pinakes-server/src/routes/scheduled_tasks.rs b/packages/pinakes-server/src/routes/scheduled_tasks.rs similarity index 100% rename from crates/pinakes-server/src/routes/scheduled_tasks.rs rename to packages/pinakes-server/src/routes/scheduled_tasks.rs diff --git a/crates/pinakes-server/src/routes/search.rs b/packages/pinakes-server/src/routes/search.rs similarity index 100% rename from crates/pinakes-server/src/routes/search.rs rename to packages/pinakes-server/src/routes/search.rs diff --git a/crates/pinakes-server/src/routes/shares.rs b/packages/pinakes-server/src/routes/shares.rs similarity index 100% rename from crates/pinakes-server/src/routes/shares.rs rename to packages/pinakes-server/src/routes/shares.rs diff --git a/crates/pinakes-server/src/routes/social.rs b/packages/pinakes-server/src/routes/social.rs similarity index 100% rename from crates/pinakes-server/src/routes/social.rs rename to packages/pinakes-server/src/routes/social.rs diff --git a/crates/pinakes-server/src/routes/statistics.rs b/packages/pinakes-server/src/routes/statistics.rs similarity index 100% rename from crates/pinakes-server/src/routes/statistics.rs rename to packages/pinakes-server/src/routes/statistics.rs diff --git a/crates/pinakes-server/src/routes/streaming.rs b/packages/pinakes-server/src/routes/streaming.rs similarity index 100% rename from crates/pinakes-server/src/routes/streaming.rs rename to packages/pinakes-server/src/routes/streaming.rs diff --git a/crates/pinakes-server/src/routes/subtitles.rs b/packages/pinakes-server/src/routes/subtitles.rs similarity index 100% rename from crates/pinakes-server/src/routes/subtitles.rs rename to packages/pinakes-server/src/routes/subtitles.rs diff --git a/crates/pinakes-server/src/routes/sync.rs b/packages/pinakes-server/src/routes/sync.rs similarity index 100% rename from crates/pinakes-server/src/routes/sync.rs rename to packages/pinakes-server/src/routes/sync.rs diff --git a/crates/pinakes-server/src/routes/tags.rs b/packages/pinakes-server/src/routes/tags.rs similarity index 100% rename from crates/pinakes-server/src/routes/tags.rs rename to packages/pinakes-server/src/routes/tags.rs diff --git a/crates/pinakes-server/src/routes/transcode.rs b/packages/pinakes-server/src/routes/transcode.rs similarity index 100% rename from crates/pinakes-server/src/routes/transcode.rs rename to packages/pinakes-server/src/routes/transcode.rs diff --git a/crates/pinakes-server/src/routes/upload.rs b/packages/pinakes-server/src/routes/upload.rs similarity index 100% rename from crates/pinakes-server/src/routes/upload.rs rename to packages/pinakes-server/src/routes/upload.rs diff --git a/crates/pinakes-server/src/routes/users.rs b/packages/pinakes-server/src/routes/users.rs similarity index 100% rename from crates/pinakes-server/src/routes/users.rs rename to packages/pinakes-server/src/routes/users.rs diff --git a/crates/pinakes-server/src/routes/webhooks.rs b/packages/pinakes-server/src/routes/webhooks.rs similarity index 100% rename from crates/pinakes-server/src/routes/webhooks.rs rename to packages/pinakes-server/src/routes/webhooks.rs diff --git a/crates/pinakes-server/src/state.rs b/packages/pinakes-server/src/state.rs similarity index 100% rename from crates/pinakes-server/src/state.rs rename to packages/pinakes-server/src/state.rs diff --git a/crates/pinakes-server/tests/api.rs b/packages/pinakes-server/tests/api.rs similarity index 100% rename from crates/pinakes-server/tests/api.rs rename to packages/pinakes-server/tests/api.rs diff --git a/crates/pinakes-server/tests/books.rs b/packages/pinakes-server/tests/books.rs similarity index 100% rename from crates/pinakes-server/tests/books.rs rename to packages/pinakes-server/tests/books.rs diff --git a/crates/pinakes-server/tests/common/mod.rs b/packages/pinakes-server/tests/common/mod.rs similarity index 100% rename from crates/pinakes-server/tests/common/mod.rs rename to packages/pinakes-server/tests/common/mod.rs diff --git a/crates/pinakes-server/tests/e2e.rs b/packages/pinakes-server/tests/e2e.rs similarity index 100% rename from crates/pinakes-server/tests/e2e.rs rename to packages/pinakes-server/tests/e2e.rs diff --git a/crates/pinakes-server/tests/enrichment.rs b/packages/pinakes-server/tests/enrichment.rs similarity index 100% rename from crates/pinakes-server/tests/enrichment.rs rename to packages/pinakes-server/tests/enrichment.rs diff --git a/crates/pinakes-server/tests/media_ops.rs b/packages/pinakes-server/tests/media_ops.rs similarity index 100% rename from crates/pinakes-server/tests/media_ops.rs rename to packages/pinakes-server/tests/media_ops.rs diff --git a/crates/pinakes-server/tests/notes.rs b/packages/pinakes-server/tests/notes.rs similarity index 100% rename from crates/pinakes-server/tests/notes.rs rename to packages/pinakes-server/tests/notes.rs diff --git a/crates/pinakes-server/tests/plugin.rs b/packages/pinakes-server/tests/plugin.rs similarity index 100% rename from crates/pinakes-server/tests/plugin.rs rename to packages/pinakes-server/tests/plugin.rs diff --git a/crates/pinakes-server/tests/shares.rs b/packages/pinakes-server/tests/shares.rs similarity index 100% rename from crates/pinakes-server/tests/shares.rs rename to packages/pinakes-server/tests/shares.rs diff --git a/crates/pinakes-server/tests/sync.rs b/packages/pinakes-server/tests/sync.rs similarity index 100% rename from crates/pinakes-server/tests/sync.rs rename to packages/pinakes-server/tests/sync.rs diff --git a/crates/pinakes-server/tests/users.rs b/packages/pinakes-server/tests/users.rs similarity index 100% rename from crates/pinakes-server/tests/users.rs rename to packages/pinakes-server/tests/users.rs diff --git a/crates/pinakes-server/tests/webhooks.rs b/packages/pinakes-server/tests/webhooks.rs similarity index 100% rename from crates/pinakes-server/tests/webhooks.rs rename to packages/pinakes-server/tests/webhooks.rs diff --git a/crates/pinakes-tui/Cargo.toml b/packages/pinakes-tui/Cargo.toml similarity index 100% rename from crates/pinakes-tui/Cargo.toml rename to packages/pinakes-tui/Cargo.toml diff --git a/crates/pinakes-tui/src/app.rs b/packages/pinakes-tui/src/app.rs similarity index 100% rename from crates/pinakes-tui/src/app.rs rename to packages/pinakes-tui/src/app.rs diff --git a/crates/pinakes-tui/src/client.rs b/packages/pinakes-tui/src/client.rs similarity index 100% rename from crates/pinakes-tui/src/client.rs rename to packages/pinakes-tui/src/client.rs diff --git a/crates/pinakes-tui/src/event.rs b/packages/pinakes-tui/src/event.rs similarity index 100% rename from crates/pinakes-tui/src/event.rs rename to packages/pinakes-tui/src/event.rs diff --git a/crates/pinakes-tui/src/input.rs b/packages/pinakes-tui/src/input.rs similarity index 100% rename from crates/pinakes-tui/src/input.rs rename to packages/pinakes-tui/src/input.rs diff --git a/crates/pinakes-tui/src/main.rs b/packages/pinakes-tui/src/main.rs similarity index 100% rename from crates/pinakes-tui/src/main.rs rename to packages/pinakes-tui/src/main.rs diff --git a/crates/pinakes-tui/src/ui/admin.rs b/packages/pinakes-tui/src/ui/admin.rs similarity index 100% rename from crates/pinakes-tui/src/ui/admin.rs rename to packages/pinakes-tui/src/ui/admin.rs diff --git a/crates/pinakes-tui/src/ui/audit.rs b/packages/pinakes-tui/src/ui/audit.rs similarity index 100% rename from crates/pinakes-tui/src/ui/audit.rs rename to packages/pinakes-tui/src/ui/audit.rs diff --git a/crates/pinakes-tui/src/ui/books.rs b/packages/pinakes-tui/src/ui/books.rs similarity index 100% rename from crates/pinakes-tui/src/ui/books.rs rename to packages/pinakes-tui/src/ui/books.rs diff --git a/crates/pinakes-tui/src/ui/collections.rs b/packages/pinakes-tui/src/ui/collections.rs similarity index 100% rename from crates/pinakes-tui/src/ui/collections.rs rename to packages/pinakes-tui/src/ui/collections.rs diff --git a/crates/pinakes-tui/src/ui/database.rs b/packages/pinakes-tui/src/ui/database.rs similarity index 100% rename from crates/pinakes-tui/src/ui/database.rs rename to packages/pinakes-tui/src/ui/database.rs diff --git a/crates/pinakes-tui/src/ui/detail.rs b/packages/pinakes-tui/src/ui/detail.rs similarity index 100% rename from crates/pinakes-tui/src/ui/detail.rs rename to packages/pinakes-tui/src/ui/detail.rs diff --git a/crates/pinakes-tui/src/ui/duplicates.rs b/packages/pinakes-tui/src/ui/duplicates.rs similarity index 100% rename from crates/pinakes-tui/src/ui/duplicates.rs rename to packages/pinakes-tui/src/ui/duplicates.rs diff --git a/crates/pinakes-tui/src/ui/import.rs b/packages/pinakes-tui/src/ui/import.rs similarity index 100% rename from crates/pinakes-tui/src/ui/import.rs rename to packages/pinakes-tui/src/ui/import.rs diff --git a/crates/pinakes-tui/src/ui/library.rs b/packages/pinakes-tui/src/ui/library.rs similarity index 100% rename from crates/pinakes-tui/src/ui/library.rs rename to packages/pinakes-tui/src/ui/library.rs diff --git a/crates/pinakes-tui/src/ui/metadata_edit.rs b/packages/pinakes-tui/src/ui/metadata_edit.rs similarity index 100% rename from crates/pinakes-tui/src/ui/metadata_edit.rs rename to packages/pinakes-tui/src/ui/metadata_edit.rs diff --git a/crates/pinakes-tui/src/ui/mod.rs b/packages/pinakes-tui/src/ui/mod.rs similarity index 100% rename from crates/pinakes-tui/src/ui/mod.rs rename to packages/pinakes-tui/src/ui/mod.rs diff --git a/crates/pinakes-tui/src/ui/playlists.rs b/packages/pinakes-tui/src/ui/playlists.rs similarity index 100% rename from crates/pinakes-tui/src/ui/playlists.rs rename to packages/pinakes-tui/src/ui/playlists.rs diff --git a/crates/pinakes-tui/src/ui/queue.rs b/packages/pinakes-tui/src/ui/queue.rs similarity index 100% rename from crates/pinakes-tui/src/ui/queue.rs rename to packages/pinakes-tui/src/ui/queue.rs diff --git a/crates/pinakes-tui/src/ui/search.rs b/packages/pinakes-tui/src/ui/search.rs similarity index 100% rename from crates/pinakes-tui/src/ui/search.rs rename to packages/pinakes-tui/src/ui/search.rs diff --git a/crates/pinakes-tui/src/ui/settings.rs b/packages/pinakes-tui/src/ui/settings.rs similarity index 100% rename from crates/pinakes-tui/src/ui/settings.rs rename to packages/pinakes-tui/src/ui/settings.rs diff --git a/crates/pinakes-tui/src/ui/statistics.rs b/packages/pinakes-tui/src/ui/statistics.rs similarity index 100% rename from crates/pinakes-tui/src/ui/statistics.rs rename to packages/pinakes-tui/src/ui/statistics.rs diff --git a/crates/pinakes-tui/src/ui/tags.rs b/packages/pinakes-tui/src/ui/tags.rs similarity index 100% rename from crates/pinakes-tui/src/ui/tags.rs rename to packages/pinakes-tui/src/ui/tags.rs diff --git a/crates/pinakes-tui/src/ui/tasks.rs b/packages/pinakes-tui/src/ui/tasks.rs similarity index 100% rename from crates/pinakes-tui/src/ui/tasks.rs rename to packages/pinakes-tui/src/ui/tasks.rs diff --git a/crates/pinakes-ui/Cargo.toml b/packages/pinakes-ui/Cargo.toml similarity index 100% rename from crates/pinakes-ui/Cargo.toml rename to packages/pinakes-ui/Cargo.toml index 6c52e77..1142850 100644 --- a/crates/pinakes-ui/Cargo.toml +++ b/packages/pinakes-ui/Cargo.toml @@ -4,6 +4,12 @@ edition.workspace = true version.workspace = true license.workspace = true +[features] +default = ["web"] +web = ["dioxus/web"] +desktop = ["dioxus/desktop"] +mobile = ["dioxus/mobile"] + [dependencies] serde = { workspace = true } serde_json = { workspace = true } @@ -32,9 +38,3 @@ rustc-hash = { workspace = true } [lints] workspace = true - -[features] -default = ["web"] -web = ["dioxus/web"] -desktop = ["dioxus/desktop"] -mobile = ["dioxus/mobile"] diff --git a/crates/pinakes-ui/Dioxus.toml b/packages/pinakes-ui/Dioxus.toml similarity index 100% rename from crates/pinakes-ui/Dioxus.toml rename to packages/pinakes-ui/Dioxus.toml diff --git a/crates/pinakes-ui/assets/css/main.css b/packages/pinakes-ui/assets/css/main.css similarity index 100% rename from crates/pinakes-ui/assets/css/main.css rename to packages/pinakes-ui/assets/css/main.css diff --git a/crates/pinakes-ui/assets/styles/_audit.scss b/packages/pinakes-ui/assets/styles/_audit.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_audit.scss rename to packages/pinakes-ui/assets/styles/_audit.scss diff --git a/crates/pinakes-ui/assets/styles/_base.scss b/packages/pinakes-ui/assets/styles/_base.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_base.scss rename to packages/pinakes-ui/assets/styles/_base.scss diff --git a/crates/pinakes-ui/assets/styles/_components.scss b/packages/pinakes-ui/assets/styles/_components.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_components.scss rename to packages/pinakes-ui/assets/styles/_components.scss diff --git a/crates/pinakes-ui/assets/styles/_graph.scss b/packages/pinakes-ui/assets/styles/_graph.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_graph.scss rename to packages/pinakes-ui/assets/styles/_graph.scss diff --git a/crates/pinakes-ui/assets/styles/_layout.scss b/packages/pinakes-ui/assets/styles/_layout.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_layout.scss rename to packages/pinakes-ui/assets/styles/_layout.scss diff --git a/crates/pinakes-ui/assets/styles/_media.scss b/packages/pinakes-ui/assets/styles/_media.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_media.scss rename to packages/pinakes-ui/assets/styles/_media.scss diff --git a/crates/pinakes-ui/assets/styles/_mixins.scss b/packages/pinakes-ui/assets/styles/_mixins.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_mixins.scss rename to packages/pinakes-ui/assets/styles/_mixins.scss diff --git a/crates/pinakes-ui/assets/styles/_plugins.scss b/packages/pinakes-ui/assets/styles/_plugins.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_plugins.scss rename to packages/pinakes-ui/assets/styles/_plugins.scss diff --git a/crates/pinakes-ui/assets/styles/_sections.scss b/packages/pinakes-ui/assets/styles/_sections.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_sections.scss rename to packages/pinakes-ui/assets/styles/_sections.scss diff --git a/crates/pinakes-ui/assets/styles/_themes.scss b/packages/pinakes-ui/assets/styles/_themes.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_themes.scss rename to packages/pinakes-ui/assets/styles/_themes.scss diff --git a/crates/pinakes-ui/assets/styles/_variables.scss b/packages/pinakes-ui/assets/styles/_variables.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/_variables.scss rename to packages/pinakes-ui/assets/styles/_variables.scss diff --git a/crates/pinakes-ui/assets/styles/main.scss b/packages/pinakes-ui/assets/styles/main.scss similarity index 100% rename from crates/pinakes-ui/assets/styles/main.scss rename to packages/pinakes-ui/assets/styles/main.scss diff --git a/crates/pinakes-ui/src/app.rs b/packages/pinakes-ui/src/app.rs similarity index 100% rename from crates/pinakes-ui/src/app.rs rename to packages/pinakes-ui/src/app.rs diff --git a/crates/pinakes-ui/src/client.rs b/packages/pinakes-ui/src/client.rs similarity index 100% rename from crates/pinakes-ui/src/client.rs rename to packages/pinakes-ui/src/client.rs diff --git a/crates/pinakes-ui/src/components/audit.rs b/packages/pinakes-ui/src/components/audit.rs similarity index 100% rename from crates/pinakes-ui/src/components/audit.rs rename to packages/pinakes-ui/src/components/audit.rs diff --git a/crates/pinakes-ui/src/components/backlinks_panel.rs b/packages/pinakes-ui/src/components/backlinks_panel.rs similarity index 100% rename from crates/pinakes-ui/src/components/backlinks_panel.rs rename to packages/pinakes-ui/src/components/backlinks_panel.rs diff --git a/crates/pinakes-ui/src/components/books.rs b/packages/pinakes-ui/src/components/books.rs similarity index 100% rename from crates/pinakes-ui/src/components/books.rs rename to packages/pinakes-ui/src/components/books.rs diff --git a/crates/pinakes-ui/src/components/breadcrumb.rs b/packages/pinakes-ui/src/components/breadcrumb.rs similarity index 100% rename from crates/pinakes-ui/src/components/breadcrumb.rs rename to packages/pinakes-ui/src/components/breadcrumb.rs diff --git a/crates/pinakes-ui/src/components/collections.rs b/packages/pinakes-ui/src/components/collections.rs similarity index 100% rename from crates/pinakes-ui/src/components/collections.rs rename to packages/pinakes-ui/src/components/collections.rs diff --git a/crates/pinakes-ui/src/components/database.rs b/packages/pinakes-ui/src/components/database.rs similarity index 100% rename from crates/pinakes-ui/src/components/database.rs rename to packages/pinakes-ui/src/components/database.rs diff --git a/crates/pinakes-ui/src/components/detail.rs b/packages/pinakes-ui/src/components/detail.rs similarity index 100% rename from crates/pinakes-ui/src/components/detail.rs rename to packages/pinakes-ui/src/components/detail.rs diff --git a/crates/pinakes-ui/src/components/duplicates.rs b/packages/pinakes-ui/src/components/duplicates.rs similarity index 100% rename from crates/pinakes-ui/src/components/duplicates.rs rename to packages/pinakes-ui/src/components/duplicates.rs diff --git a/crates/pinakes-ui/src/components/graph_view.rs b/packages/pinakes-ui/src/components/graph_view.rs similarity index 100% rename from crates/pinakes-ui/src/components/graph_view.rs rename to packages/pinakes-ui/src/components/graph_view.rs diff --git a/crates/pinakes-ui/src/components/image_viewer.rs b/packages/pinakes-ui/src/components/image_viewer.rs similarity index 100% rename from crates/pinakes-ui/src/components/image_viewer.rs rename to packages/pinakes-ui/src/components/image_viewer.rs diff --git a/crates/pinakes-ui/src/components/import.rs b/packages/pinakes-ui/src/components/import.rs similarity index 100% rename from crates/pinakes-ui/src/components/import.rs rename to packages/pinakes-ui/src/components/import.rs diff --git a/crates/pinakes-ui/src/components/library.rs b/packages/pinakes-ui/src/components/library.rs similarity index 100% rename from crates/pinakes-ui/src/components/library.rs rename to packages/pinakes-ui/src/components/library.rs diff --git a/crates/pinakes-ui/src/components/loading.rs b/packages/pinakes-ui/src/components/loading.rs similarity index 100% rename from crates/pinakes-ui/src/components/loading.rs rename to packages/pinakes-ui/src/components/loading.rs diff --git a/crates/pinakes-ui/src/components/login.rs b/packages/pinakes-ui/src/components/login.rs similarity index 100% rename from crates/pinakes-ui/src/components/login.rs rename to packages/pinakes-ui/src/components/login.rs diff --git a/crates/pinakes-ui/src/components/markdown_viewer.rs b/packages/pinakes-ui/src/components/markdown_viewer.rs similarity index 100% rename from crates/pinakes-ui/src/components/markdown_viewer.rs rename to packages/pinakes-ui/src/components/markdown_viewer.rs diff --git a/crates/pinakes-ui/src/components/media_player.rs b/packages/pinakes-ui/src/components/media_player.rs similarity index 100% rename from crates/pinakes-ui/src/components/media_player.rs rename to packages/pinakes-ui/src/components/media_player.rs diff --git a/crates/pinakes-ui/src/components/mod.rs b/packages/pinakes-ui/src/components/mod.rs similarity index 100% rename from crates/pinakes-ui/src/components/mod.rs rename to packages/pinakes-ui/src/components/mod.rs diff --git a/crates/pinakes-ui/src/components/pagination.rs b/packages/pinakes-ui/src/components/pagination.rs similarity index 100% rename from crates/pinakes-ui/src/components/pagination.rs rename to packages/pinakes-ui/src/components/pagination.rs diff --git a/crates/pinakes-ui/src/components/pdf_viewer.rs b/packages/pinakes-ui/src/components/pdf_viewer.rs similarity index 100% rename from crates/pinakes-ui/src/components/pdf_viewer.rs rename to packages/pinakes-ui/src/components/pdf_viewer.rs diff --git a/crates/pinakes-ui/src/components/playlists.rs b/packages/pinakes-ui/src/components/playlists.rs similarity index 100% rename from crates/pinakes-ui/src/components/playlists.rs rename to packages/pinakes-ui/src/components/playlists.rs diff --git a/crates/pinakes-ui/src/components/search.rs b/packages/pinakes-ui/src/components/search.rs similarity index 100% rename from crates/pinakes-ui/src/components/search.rs rename to packages/pinakes-ui/src/components/search.rs diff --git a/crates/pinakes-ui/src/components/settings.rs b/packages/pinakes-ui/src/components/settings.rs similarity index 100% rename from crates/pinakes-ui/src/components/settings.rs rename to packages/pinakes-ui/src/components/settings.rs diff --git a/crates/pinakes-ui/src/components/statistics.rs b/packages/pinakes-ui/src/components/statistics.rs similarity index 100% rename from crates/pinakes-ui/src/components/statistics.rs rename to packages/pinakes-ui/src/components/statistics.rs diff --git a/crates/pinakes-ui/src/components/tags.rs b/packages/pinakes-ui/src/components/tags.rs similarity index 100% rename from crates/pinakes-ui/src/components/tags.rs rename to packages/pinakes-ui/src/components/tags.rs diff --git a/crates/pinakes-ui/src/components/tasks.rs b/packages/pinakes-ui/src/components/tasks.rs similarity index 100% rename from crates/pinakes-ui/src/components/tasks.rs rename to packages/pinakes-ui/src/components/tasks.rs diff --git a/crates/pinakes-ui/src/components/utils.rs b/packages/pinakes-ui/src/components/utils.rs similarity index 100% rename from crates/pinakes-ui/src/components/utils.rs rename to packages/pinakes-ui/src/components/utils.rs diff --git a/crates/pinakes-ui/src/main.rs b/packages/pinakes-ui/src/main.rs similarity index 100% rename from crates/pinakes-ui/src/main.rs rename to packages/pinakes-ui/src/main.rs diff --git a/crates/pinakes-ui/src/plugin_ui/actions.rs b/packages/pinakes-ui/src/plugin_ui/actions.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/actions.rs rename to packages/pinakes-ui/src/plugin_ui/actions.rs diff --git a/crates/pinakes-ui/src/plugin_ui/data.rs b/packages/pinakes-ui/src/plugin_ui/data.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/data.rs rename to packages/pinakes-ui/src/plugin_ui/data.rs diff --git a/crates/pinakes-ui/src/plugin_ui/expr.rs b/packages/pinakes-ui/src/plugin_ui/expr.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/expr.rs rename to packages/pinakes-ui/src/plugin_ui/expr.rs diff --git a/crates/pinakes-ui/src/plugin_ui/mod.rs b/packages/pinakes-ui/src/plugin_ui/mod.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/mod.rs rename to packages/pinakes-ui/src/plugin_ui/mod.rs diff --git a/crates/pinakes-ui/src/plugin_ui/registry.rs b/packages/pinakes-ui/src/plugin_ui/registry.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/registry.rs rename to packages/pinakes-ui/src/plugin_ui/registry.rs diff --git a/crates/pinakes-ui/src/plugin_ui/renderer.rs b/packages/pinakes-ui/src/plugin_ui/renderer.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/renderer.rs rename to packages/pinakes-ui/src/plugin_ui/renderer.rs diff --git a/crates/pinakes-ui/src/plugin_ui/widget.rs b/packages/pinakes-ui/src/plugin_ui/widget.rs similarity index 100% rename from crates/pinakes-ui/src/plugin_ui/widget.rs rename to packages/pinakes-ui/src/plugin_ui/widget.rs diff --git a/crates/pinakes-ui/src/state.rs b/packages/pinakes-ui/src/state.rs similarity index 100% rename from crates/pinakes-ui/src/state.rs rename to packages/pinakes-ui/src/state.rs diff --git a/crates/pinakes-ui/src/styles.rs b/packages/pinakes-ui/src/styles.rs similarity index 100% rename from crates/pinakes-ui/src/styles.rs rename to packages/pinakes-ui/src/styles.rs