feat(dev-infra): save invalid commit message attempts to be restored on next commit attempt (#38304)

When a commit message fails validation, rather than throwing out the commit message entirely
the commit message is saved into a draft file and restored on the next commit attempt.

PR Close #38304
This commit is contained in:
Joey Perrott
2020-07-30 14:01:03 -07:00
committed by Andrew Scott
parent 8366effeec
commit f4ced74e3a
6 changed files with 110 additions and 1 deletions

View File

@ -0,0 +1,30 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import {existsSync, readFileSync, unlinkSync, writeFileSync} from 'fs';
/** Load the commit message draft from the file system if it exists. */
export function loadCommitMessageDraft(basePath: string) {
const commitMessageDraftPath = `${basePath}.ngDevSave`;
if (existsSync(commitMessageDraftPath)) {
return readFileSync(commitMessageDraftPath).toString();
}
return '';
}
/** Remove the commit message draft from the file system. */
export function deleteCommitMessageDraft(basePath: string) {
const commitMessageDraftPath = `${basePath}.ngDevSave`;
if (existsSync(commitMessageDraftPath)) {
unlinkSync(commitMessageDraftPath);
}
}
/** Save the commit message draft to the file system for later retrieval. */
export function saveCommitMessageDraft(basePath: string, commitMessage: string) {
writeFileSync(`${basePath}.ngDevSave`, commitMessage);
}