mirror of
https://github.com/esphome/esphome.git
synced 2026-08-24 15:16:20 +00:00
Split out of #18662: the converter/manifest hardening without the download parallelization, which stays there. The PIO extra-script shim moves from espidf/ to platformio/ and gains type checks for every manifest field, capture of the Append variants and CPPPATH, warn-once diagnostics for unmodelled env reads, and uniform shlex quoting so captured values survive the lex_build_flags round-trip. The dependency walk normalizes every spelling PIO accepts, splits the routine cross-platform skip (IncompatiblePlatform) from real manifest problems, validates manifest shape once, and the shared flag lexer warns and drops trailing or empty glued arguments.