Replace the .env deploy command with deploy.json5

An untracked json5 config maps deploy names to a buildFile plus
(subset globs, cmd) entries: the deploy verb builds the named
buildFiles, finishes each, routes the outputs through the subset
globs, and pipes one tar per entry to its command. Every glob must
match an output and every output must be covered by some entry.

The tar no longer carries __key; the upload command names the asset
set itself (smogonctl assets upload sprites).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Christopher Monsanto
2026-08-17 14:51:08 -04:00
parent a3f4dada09
commit 8bf512480a
11 changed files with 237 additions and 41 deletions

View File

@@ -160,12 +160,12 @@ export class ActionQueue {
}
}
pack() : NodeJS.ReadableStream {
pack(filter? : (dst : string) => boolean) : NodeJS.ReadableStream {
if (!this.valid)
throw new Error(`Invalid ActionQueue`);
let t = tar.pack();
for (const entry of this.log) {
if (entry.type !== 'Op')
if (entry.type !== 'Op' || (filter !== undefined && !filter(entry.dst)))
continue;
const op = entry.op;
if (op.type === 'Copy'){