@@ -79,14 +79,36 @@ export default class ReleaseWorker extends Worker {
7979 }
8080 }
8181
82+ /**
83+ * Normalize release identifier (convert Date.toString() format to timestamp if needed)
84+ * @param release - raw release value
85+ * @returns normalized release identifier
86+ */
87+ private normalizeRelease ( release : string ) : string {
88+ // If release looks like Date.toString() output (contains "GMT" or month names)
89+ if ( / G M T | J a n | F e b | M a r | A p r | M a y | J u n | J u l | A u g | S e p | O c t | N o v | D e c / . test ( release ) ) {
90+ const parsed = Date . parse ( release ) ;
91+
92+ if ( ! isNaN ( parsed ) ) {
93+ // Convert to timestamp (milliseconds)
94+ return String ( parsed ) ;
95+ }
96+ }
97+
98+ // Return as-is (semantic version, timestamp, or custom identifier)
99+ return release ;
100+ }
101+
82102 /**
83103 * Save user's release
84104 *
85105 * @param projectId - project id to bind the corresponding release.
86106 * @param payload - release payload
87107 */
88108 private async saveRelease ( projectId : string , payload : ReleaseWorkerAddReleasePayload ) : Promise < void > {
89- this . logger . info ( `saveRelease: save release for project: ${ projectId } , release: ${ payload . release } ` ) ;
109+ const normalizedRelease = this . normalizeRelease ( payload . release ) ;
110+
111+ this . logger . info ( `saveRelease: save release for project: ${ projectId } , release: ${ payload . release } (normalized: ${ normalizedRelease } )` ) ;
90112 try {
91113 const commits = payload . commits ;
92114
@@ -101,7 +123,7 @@ export default class ReleaseWorker extends Worker {
101123
102124 await this . releasesCollection . updateOne ( {
103125 projectId : projectId ,
104- release : payload . release ,
126+ release : normalizedRelease ,
105127 } , {
106128 $set : {
107129 commits : commitsWithParsedDate ,
@@ -113,7 +135,7 @@ export default class ReleaseWorker extends Worker {
113135
114136 // save source maps
115137 if ( payload . files ) {
116- await this . saveSourceMap ( projectId , payload ) ;
138+ await this . saveSourceMap ( projectId , { ... payload , release : normalizedRelease } ) ;
117139 }
118140 } catch ( err ) {
119141 this . logger . error ( `Couldn't save the release due to: ${ err } ` ) ;
0 commit comments