import assert from 'node:assert/strict' import { readFileSync } from 'node:fs' import { spawnSync } from 'node:child_process' import test from 'node:test' test('generated remote deployment payload is valid bash', () => { const source = readFileSync(new URL('./git-incremental-deploy.ps1', import.meta.url), 'utf8') const match = source.match(/\$remoteTemplate = @'\r?\n([\s\S]*?)\r?\n'@\r?\n\r?\nWrite-Step/) assert.ok(match, 'remote deployment template should be present') const payload = match[1].replace(/__[A-Z0-9_]+__/g, "''") const result = spawnSync('bash', ['-n'], { input: payload, encoding: 'utf8', }) assert.equal(result.status, 0, result.stderr || result.stdout) })