Merge pull request #2332 from semantic-release/beta
This commit is contained in:
		
						commit
						95af1e40f9
					
				
							
								
								
									
										3
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @ -18,7 +18,8 @@ jobs: | ||||
|       matrix: | ||||
|         node-version: | ||||
|           - 14.17 | ||||
|           - 16 | ||||
|           - 16.0.0 | ||||
|           - 17 | ||||
| 
 | ||||
|     runs-on: ubuntu-latest | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										22
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								index.js
									
									
									
									
									
								
							| @ -1,6 +1,5 @@ | ||||
| const {pick} = require('lodash'); | ||||
| const marked = require('marked'); | ||||
| const TerminalRenderer = require('marked-terminal'); | ||||
| const envCi = require('env-ci'); | ||||
| const hookStd = require('hook-std'); | ||||
| const semver = require('semver'); | ||||
| @ -21,7 +20,16 @@ const {verifyAuth, isBranchUpToDate, getGitHead, tag, push, pushNotes, getTagHea | ||||
| const getError = require('./lib/get-error'); | ||||
| const {COMMIT_NAME, COMMIT_EMAIL} = require('./lib/definitions/constants'); | ||||
| 
 | ||||
| marked.setOptions({renderer: new TerminalRenderer()}); | ||||
| let markedOptionsSet = false; | ||||
| async function terminalOutput(text) { | ||||
|   if (!markedOptionsSet) { | ||||
|     const {default: TerminalRenderer} = await import('marked-terminal'); // eslint-disable-line node/no-unsupported-features/es-syntax
 | ||||
|     marked.setOptions({renderer: new TerminalRenderer()}); | ||||
|     markedOptionsSet = true; | ||||
|   } | ||||
| 
 | ||||
|   return marked.parse(text); | ||||
| } | ||||
| 
 | ||||
| /* eslint complexity: off */ | ||||
| async function run(context, plugins) { | ||||
| @ -207,20 +215,20 @@ async function run(context, plugins) { | ||||
|   if (options.dryRun) { | ||||
|     logger.log(`Release note for version ${nextRelease.version}:`); | ||||
|     if (nextRelease.notes) { | ||||
|       context.stdout.write(marked(nextRelease.notes)); | ||||
|       context.stdout.write(await terminalOutput(nextRelease.notes)); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   return pick(context, ['lastRelease', 'commits', 'nextRelease', 'releases']); | ||||
| } | ||||
| 
 | ||||
| function logErrors({logger, stderr}, err) { | ||||
| async function logErrors({logger, stderr}, err) { | ||||
|   const errors = extractErrors(err).sort((error) => (error.semanticRelease ? -1 : 0)); | ||||
|   for (const error of errors) { | ||||
|     if (error.semanticRelease) { | ||||
|       logger.error(`${error.code} ${error.message}`); | ||||
|       if (error.details) { | ||||
|         stderr.write(marked(error.details)); | ||||
|         stderr.write(await terminalOutput(error.details)); // eslint-disable-line no-await-in-loop
 | ||||
|       } | ||||
|     } else { | ||||
|       logger.error('An error occurred while running semantic-release: %O', error); | ||||
| @ -234,7 +242,7 @@ async function callFail(context, plugins, err) { | ||||
|     try { | ||||
|       await plugins.fail({...context, errors}); | ||||
|     } catch (error) { | ||||
|       logErrors(context, error); | ||||
|       await logErrors(context, error); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -265,7 +273,7 @@ module.exports = async (cliOptions = {}, {cwd = process.cwd(), env = process.env | ||||
|       throw error; | ||||
|     } | ||||
|   } catch (error) { | ||||
|     logErrors(context, error); | ||||
|     await logErrors(context, error); | ||||
|     unhook(); | ||||
|     throw error; | ||||
|   } | ||||
|  | ||||
							
								
								
									
										6877
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6877
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -23,7 +23,7 @@ | ||||
|     "@semantic-release/commit-analyzer": "^9.0.2", | ||||
|     "@semantic-release/error": "^3.0.0", | ||||
|     "@semantic-release/github": "^8.0.0", | ||||
|     "@semantic-release/npm": "^8.0.0", | ||||
|     "@semantic-release/npm": "^9.0.0-beta.1", | ||||
|     "@semantic-release/release-notes-generator": "^10.0.0", | ||||
|     "aggregate-error": "^3.0.0", | ||||
|     "cosmiconfig": "^7.0.0", | ||||
| @ -37,8 +37,8 @@ | ||||
|     "hook-std": "^2.0.0", | ||||
|     "hosted-git-info": "^4.0.0", | ||||
|     "lodash": "^4.17.21", | ||||
|     "marked": "^2.0.0", | ||||
|     "marked-terminal": "^4.1.1", | ||||
|     "marked": "^4.0.10", | ||||
|     "marked-terminal": "^5.0.0", | ||||
|     "micromatch": "^4.0.2", | ||||
|     "p-each-series": "^2.1.0", | ||||
|     "p-reduce": "^2.0.0", | ||||
| @ -70,7 +70,7 @@ | ||||
|     "xo": "0.29.1" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=14.17" | ||||
|     "node": ">=16 || ^14.17" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "bin", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user