UNPKG

yeoman-test

Version:

Test utilities for Yeoman generators

31 lines (30 loc) 877 B
import process from 'node:process'; class TestContext { runResult; runContext; startNewContext(runContext) { this.runContext?.cleanupTemporaryDir(); this.runContext = runContext; this.runResult = undefined; } } const testContext = new TestContext(); const cleanupTemporaryDir = () => { testContext.startNewContext(); }; process.on('exit', cleanupTemporaryDir); process.on('SIGINT', cleanupTemporaryDir); process.on('SIGTERM', cleanupTemporaryDir); export default testContext; const handler2 = { get(_target, prop, receiver) { if (testContext.runResult === undefined) { throw new Error('Last result is missing.'); } return Reflect.get(testContext.runResult, prop, receiver); }, }; /** * Provides a proxy for last executed context result. */ export const result = new Proxy({}, handler2);