(cwd)
| 56 | } |
| 57 | |
| 58 | export function loadState(cwd) { |
| 59 | const stateFile = resolveStateFile(cwd); |
| 60 | if (!fs.existsSync(stateFile)) { |
| 61 | return defaultState(); |
| 62 | } |
| 63 | |
| 64 | try { |
| 65 | const parsed = JSON.parse(fs.readFileSync(stateFile, "utf8")); |
| 66 | return { |
| 67 | ...defaultState(), |
| 68 | ...parsed, |
| 69 | config: { |
| 70 | ...defaultState().config, |
| 71 | ...(parsed.config ?? {}) |
| 72 | }, |
| 73 | jobs: Array.isArray(parsed.jobs) ? parsed.jobs : [] |
| 74 | }; |
| 75 | } catch { |
| 76 | return defaultState(); |
| 77 | } |
| 78 | } |
| 79 | |
| 80 | function pruneJobs(jobs) { |
| 81 | return [...jobs] |
no test coverage detected