33 * Webiny release version by reading the changelog MDX file and using Claude.
44 *
55 * Usage:
6- * yarn generate:slack-announcement --version 6.1.0
6+ * yarn generate:announcements --version 6.1.0
77 */
88
99import "dotenv/config" ;
1010import Anthropic from "@anthropic-ai/sdk" ;
11- import { readFileSync , existsSync } from "fs" ;
11+ import { readFileSync , existsSync , writeFileSync , mkdirSync } from "fs" ;
1212import { join } from "path" ;
1313
1414// ---------------------------------------------------------------------------
@@ -19,8 +19,8 @@ function parseArgs(): { version: string } {
1919 const args = process . argv . slice ( 2 ) ;
2020 const versionIdx = args . indexOf ( "--version" ) ;
2121 if ( versionIdx === - 1 || ! args [ versionIdx + 1 ] ) {
22- console . error ( "Usage: yarn generate:slack-announcement --version <version>" ) ;
23- console . error ( "Example: yarn generate:slack-announcement --version 6.1.0" ) ;
22+ console . error ( "Usage: yarn generate:announcements --version <version>" ) ;
23+ console . error ( "Example: yarn generate:announcements --version 6.1.0" ) ;
2424 process . exit ( 1 ) ;
2525 }
2626 return { version : args [ versionIdx + 1 ] } ;
@@ -220,6 +220,20 @@ async function main(): Promise<void> {
220220 generate ( client , LINKEDIN_PROMPT , changelog , version , "LinkedIn" )
221221 ] ) ;
222222
223+ const outDir = join ( process . cwd ( ) , "docs" , "release-notes" , version , "announcements" ) ;
224+ mkdirSync ( outDir , { recursive : true } ) ;
225+
226+ const files : Array < [ string , string ] > = [
227+ [ "slack.md" , slack ] ,
228+ [ "twitter.md" , twitter ] ,
229+ [ "linkedin.md" , linkedin ]
230+ ] ;
231+
232+ for ( const [ filename , content ] of files ) {
233+ writeFileSync ( join ( outDir , filename ) , content + "\n" , "utf-8" ) ;
234+ console . log ( ` ✓ docs/release-notes/${ version } /announcements/${ filename } ` ) ;
235+ }
236+
223237 printSection ( "SLACK" , slack ) ;
224238 printSection ( "TWITTER" , twitter ) ;
225239 printSection ( "LINKEDIN" , linkedin ) ;
0 commit comments