24 lines
		
	
	
		
			652 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			652 B
		
	
	
	
		
			JavaScript
		
	
	
| const fs = require('fs');
 | |
| 
 | |
| module.exports = function getChangelog(file, version) {
 | |
|   const lines = fs.readFileSync(file).toString().split('\n');
 | |
|   const changeLog = [];
 | |
|   const startPattern = new RegExp(`^## ${version}`);
 | |
|   const stopPattern = /^## /; // åä¸ä¸ĒįæŦ
 | |
|   const skipPattern = /^`/; // æĨæ
 | |
|   let begin = false;
 | |
|   for (let i = 0; i < lines.length; i += 1) {
 | |
|     const line = lines[i];
 | |
|     if (begin && stopPattern.test(line)) {
 | |
|       break;
 | |
|     }
 | |
|     if (begin && line && !skipPattern.test(line)) {
 | |
|       changeLog.push(line);
 | |
|     }
 | |
|     if (!begin) {
 | |
|       begin = startPattern.test(line);
 | |
|     }
 | |
|   }
 | |
|   return changeLog.join('\n');
 | |
| };
 |