Cargo Features

[dependencies]
create-rust-app = { version = "11.0.0", default-features = false, features = ["plugin_dev", "plugin_container", "plugin_auth", "plugin_auth-oidc", "plugin_storage", "plugin_graphql", "plugin_utoipa", "plugin_tasks", "backend_poem", "backend_actix-web", "backend_axum", "database_sqlite", "database_postgres"] }
default = backend_actix-web, database_postgres, plugin_auth, plugin_auth-oidc, plugin_container, plugin_dev, plugin_graphql, plugin_storage, plugin_utoipa

These default features are set whenever create-rust-app is added without default-features = false somewhere in the dependency tree.

plugin_dev default = anyhow, backend_axum, cargo_metadata, cargo_toml, clearscreen, diesel_migrations, futures-util, open, reqwest, watchexec

Affects create-rust-app::dev

plugin_container default
plugin_auth default = anyhow, chrono, dyn-clone, jsonwebtoken, rand, rust-argon2, tsync

Affects create-rust-app::auth, mailer::EmailTemplates, mailer::Mailer.templates, mailer::DefaultMailTemplates

plugin_auth-oidc default = openidconnect

Affects service_actixweb::OIDCLoginQueryParams, auth::oidc, auth::AuthConfig.oidc_providers

plugin_storage default = aws-sdk-s3, aws-types, base64, diesel_derives, futures-util, http, md5, mime_guess, tokio, uuid

Affects create-rust-app::AppData.storage

plugin_graphql default
plugin_utoipa default = backend_actix-web, utoipa

for now, only works with actix-web!

Affects service_actixweb::ApiDoc, auth::JwtSecurityAddon, auth::AuthMessageResponse, auth::AuthTokenResponse

plugin_tasks = fang, tokio

Affects create-rust-app::tasks

backend_poem = anyhow, mime_guess, poem, tokio

Affects create-rust-app::not_found

backend_actix-web default plugin_utoipa = actix-files, actix-http, actix-web, derive_more, futures
backend_axum plugin_dev = axum, tokio

Enables ws of axum ^0.6.18

axum dependencies (not yet released; only used for plugin_dev)

database_sqlite

Enables libsqlite3-sys ^0.26

Database


sqlite dependencies

and returning_clauses_for_sqlite_3_35 and sqlite of diesel

+ plugin_dev, plugin_auth

Affects database::DieselBackend

database_postgres default

Enables postgres of diesel

Affects database::DieselBackend

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

libsqlite3-sys database_sqlite?

Enables libsqlite3-sys ^0.26

rust-argon2 plugin_auth

Enables rust-argon2 ^1.0

PLUGINS


plugin_auth

rand plugin_auth
jsonwebtoken plugin_auth

Enables jsonwebtoken ^8.3.0

tsync plugin_auth

Enables tsync ^1.7.0

chrono plugin_auth
dyn-clone plugin_auth

Enables dyn-clone

needed to allow the Mailer struct to be cloned

diesel_migrations plugin_dev

Enables diesel_migrations

plugin_dev

cargo_metadata plugin_dev

Enables cargo_metadata ^0.15.4

watchexec plugin_dev

Enables watchexec ^2.3.0

clearscreen plugin_dev

Enables clearscreen ^2.0

open plugin_dev

Enables open ^4.1.0

cargo_toml plugin_dev

Enables cargo_toml ^0.15.2

reqwest plugin_dev

Enables reqwest ^0.11.18

aws-types plugin_storage

Enables aws-types ^0.8.0

aws-sdk-s3 plugin_storage

Enables aws-sdk-s3 ^0.8.0

http plugin_storage

Enables http ^0.2.9

diesel_derives plugin_storage
uuid plugin_storage
md5 plugin_storage
base64 plugin_storage

Enables base64 ^0.21.2

openidconnect plugin_auth-oidc

Enables openidconnect

plugin_auth-oidc

utoipa plugin_utoipa

Enables utoipa

plugin_utoipa dependencies

fang plugin_tasks?

Enables fang

plugin_tasks

poem backend_poem?

Enables poem ^1.3.55

BACKENDS


poem dependencies

actix-files backend_actix-web
actix-http backend_actix-web
actix-web backend_actix-web
derive_more backend_actix-web
futures backend_actix-web
axum backend_axum?

Enables axum ^0.6.18

mime_guess backend_poem? plugin_storage

Enables mime_guess

MISC - here, we list deps which are required by multiple features but are not required in all configurations
backend_poem, plugin_storage

anyhow backend_poem? plugin_auth plugin_dev

Enables anyhow

backend_poem, plugin_auth, plugin_dev

tokio backend_axum? backend_poem? plugin_storage plugin_tasks?

Enables tokio

backend_poem, backend_axum, plugin_storage, plugin_tasks

futures-util plugin_dev plugin_storage

Enables futures-util

plugin_dev, plugin_storage