11// @ts -check
22
3- const { env } = require ( "node:process" ) ;
4- const { appendFileSync } = require ( "node:fs" ) ;
5- const { EOL } = require ( "node:os" ) ;
6- const { randomUUID } = require ( "node:crypto" ) ;
3+ import process from "node:process" ;
4+ import { appendFile } from "node:fs/promises" ;
5+ import { EOL } from "node:os" ;
6+ import { randomUUID } from "node:crypto" ;
77
8- function exportData ( name , value , { log = true , escape = false } = { } ) {
8+ async function exportData ( name , value , { log = true , escape = false } = { } ) {
99 if ( log ) {
1010 console . log ( `semantic-release-export-data: ${ name } =${ value } ` ) ;
1111 }
12- if ( env . GITHUB_OUTPUT ) {
12+ if ( process . env . GITHUB_OUTPUT ) {
1313 let output ;
1414 if ( escape ) {
1515 // Borrowed from https://github.com/actions/toolkit/blob/ddc5fa4ae84a892bfa8431c353db3cf628f1235d/packages/core/src/file-command.ts#L27
@@ -18,22 +18,17 @@ function exportData(name, value, { log = true, escape = false } = {}) {
1818 } else {
1919 output = `${ name } =${ value } ${ EOL } ` ;
2020 }
21- appendFileSync ( env . GITHUB_OUTPUT , output ) ;
21+ await appendFile ( process . env . GITHUB_OUTPUT , output ) ;
2222 }
2323}
2424
25- function verifyConditions ( ) {
26- exportData ( "new-release-published" , "false" ) ;
25+ export async function verifyConditions ( ) {
26+ await exportData ( "new-release-published" , "false" ) ;
2727}
2828
29- function generateNotes ( _pluginConfig , { nextRelease } ) {
30- exportData ( "new-release-published" , "true" ) ;
31- exportData ( "new-release-version" , nextRelease . version ) ;
32- exportData ( "new-release-git-tag" , nextRelease . gitTag ) ;
33- exportData ( "new-release-notes" , nextRelease . notes , { log : false , escape : true } ) ;
29+ export async function generateNotes ( _pluginConfig , { nextRelease } ) {
30+ await exportData ( "new-release-published" , "true" ) ;
31+ await exportData ( "new-release-version" , nextRelease . version ) ;
32+ await exportData ( "new-release-git-tag" , nextRelease . gitTag ) ;
33+ await exportData ( "new-release-notes" , nextRelease . notes , { log : false , escape : true } ) ;
3434}
35-
36- module . exports = {
37- verifyConditions,
38- generateNotes,
39- } ;
0 commit comments