@@ -33,12 +33,16 @@ export default class SecurityReleaseSteward {
33
33
const req = new Request ( credentials ) ;
34
34
const release = new PrepareSecurityRelease ( req ) ;
35
35
const releaseDate = await release . promptReleaseDate ( cli ) ;
36
- validateDate ( releaseDate ) ;
36
+ if ( releaseDate !== 'TBD' ) {
37
+ validateDate ( releaseDate ) ;
38
+ }
39
+
37
40
const createVulnerabilitiesJSON = await release . promptVulnerabilitiesJSON ( cli ) ;
38
41
39
42
let securityReleasePRUrl ;
40
43
if ( createVulnerabilitiesJSON ) {
41
- securityReleasePRUrl = await this . createVulnerabilitiesJSON ( req , release , { cli } ) ;
44
+ securityReleasePRUrl = await this . createVulnerabilitiesJSON (
45
+ req , release , releaseDate , { cli } ) ;
42
46
}
43
47
44
48
const createIssue = await release . promptCreateRelaseIssue ( cli ) ;
@@ -51,7 +55,7 @@ export default class SecurityReleaseSteward {
51
55
cli . ok ( 'Done!' ) ;
52
56
}
53
57
54
- async createVulnerabilitiesJSON ( req , release , { cli } ) {
58
+ async createVulnerabilitiesJSON ( req , release , releaseDate , { cli } ) {
55
59
// checkout on the next-security-release branch
56
60
checkoutOnSecurityReleaseBranch ( cli , this . repository ) ;
57
61
@@ -61,8 +65,7 @@ export default class SecurityReleaseSteward {
61
65
const deps = _ . groupBy ( depUpdates , 'name' ) ;
62
66
63
67
// create the vulnerabilities.json file in the security-release repo
64
- const filePath = await release . createVulnerabilitiesJSON ( reports , deps , { cli } ) ;
65
-
68
+ const filePath = await release . createVulnerabilitiesJSON ( reports , deps , releaseDate , { cli } ) ;
66
69
// review the vulnerabilities.json file
67
70
const review = await release . promptReviewVulnerabilitiesJSON ( cli ) ;
68
71
@@ -127,7 +130,7 @@ class PrepareSecurityRelease {
127
130
nextWeekDate . setDate ( nextWeekDate . getDate ( ) + 7 ) ;
128
131
// Format the date as YYYY/MM/DD
129
132
const formattedDate = nextWeekDate . toISOString ( ) . slice ( 0 , 10 ) . replace ( / - / g, '/' ) ;
130
- return cli . prompt ( 'Enter target release date in YYYY/MM/DD format:' , {
133
+ return cli . prompt ( 'Enter target release date in YYYY/MM/DD format (TBD if not defined yet) :' , {
131
134
questionType : 'input' ,
132
135
defaultAnswer : formattedDate
133
136
} ) ;
@@ -217,9 +220,10 @@ class PrepareSecurityRelease {
217
220
return selectedReports ;
218
221
}
219
222
220
- async createVulnerabilitiesJSON ( reports , dependencies , { cli } ) {
223
+ async createVulnerabilitiesJSON ( reports , dependencies , releaseDate , { cli } ) {
221
224
cli . separator ( 'Creating vulnerabilities.json...' ) ;
222
225
const file = JSON . stringify ( {
226
+ releaseDate,
223
227
reports,
224
228
dependencies
225
229
} , null , 2 ) ;
0 commit comments