yo-cli 0.3.8

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` 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`. One feature 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"] }

# The tests are the one place both sides are allowed in the same binary. They
# build real files with the engine and then check them with the tool, which is
# the only way to find out whether the tool would notice anything.
[dev-dependencies]
yo-file = { workspace = true }
yo-format = { workspace = true }
yo-record = { workspace = true }

# 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"