yo-cli 0.3.25

The yo command line tool.
[package]
name = "yo-cli"
description = "The yo command line tool."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true

[lints]
workspace = true

[dependencies]
# The global allocator, which is an application's choice and never a library's,
# so this is where it gets made. Off unless YO_ALLOC says otherwise.
yo-alloc = { workspace = true }

# `yodb check` reads the file with the independent reader rather than the engine,
# on purpose. A checker that shares its idea of the format with the thing that
# wrote the file agrees with it about everything, including the mistakes.
yo-reader = { workspace = true }

# `yodb serve` is the socket in front of the engine. The engine writes into a
# sink and this crate is where that sink is a socket, which keeps the protocol
# crate free of any idea of what a network is.
yo-reactor = { workspace = true }
yo-resp = { workspace = true }

# `yodb serve --store` is where the memory engine and the file meet. Neither one
# depends on the other on purpose, so that each can be tested without the other,
# and a program is what decides to put the two together. This is the program.
yo-common = { workspace = true }
yo-file = { workspace = true }
yo-format = { workspace = true }
yo-kv = { workspace = true }
yo-record = { workspace = true }

# `yodb serve` asks the kernel which connections are ready rather than trying
# every one of them, which is `epoll` on Linux and `kqueue` on macOS.
[target.'cfg(unix)'.dependencies]
libc = { workspace = true }

# The same question on Windows, which answers it with `WSAPoll`, plus the console
# handler that Ctrl-C arrives through. Two features and not the whole of
# windows-sys, because the crate is generated from the entire Windows API and the
# default is nothing at all.
[target.'cfg(windows)'.dependencies]
windows-sys = { workspace = true, features = [
    "Win32_Networking_WinSock",
    "Win32_System_Console",
] }

# The executable is `yodb`, not `yo`. `yo` on PATH is Yeoman's, and is Yeoman's
# on Homebrew core, Chocolatey and the AUR, so shipping `yo` means shipping a
# collision into every one of those channels. Only the executable moves: the
# crate is yodb, the library is libyo, the header is yo.h, the symbols are yo_*
# and the extension is .yo. dx/16 section 3.3 has the probe this came from.
[[bin]]
name = "yodb"
path = "src/main.rs"