mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	
		
			
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								const os = require('os');
							 | 
						||
| 
								 | 
							
								const macosRelease = require('macos-release');
							 | 
						||
| 
								 | 
							
								const winRelease = require('windows-release');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const osName = (platform, release) => {
							 | 
						||
| 
								 | 
							
									if (!platform && release) {
							 | 
						||
| 
								 | 
							
										throw new Error('You can\'t specify a `release` without specifying `platform`');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									platform = platform || os.platform();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									let id;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'darwin') {
							 | 
						||
| 
								 | 
							
										if (!release && os.platform() === 'darwin') {
							 | 
						||
| 
								 | 
							
											release = os.release();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS';
							 | 
						||
| 
								 | 
							
										id = release ? macosRelease(release).name : '';
							 | 
						||
| 
								 | 
							
										return prefix + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'linux') {
							 | 
						||
| 
								 | 
							
										if (!release && os.platform() === 'linux') {
							 | 
						||
| 
								 | 
							
											release = os.release();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : '';
							 | 
						||
| 
								 | 
							
										return 'Linux' + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'win32') {
							 | 
						||
| 
								 | 
							
										if (!release && os.platform() === 'win32') {
							 | 
						||
| 
								 | 
							
											release = os.release();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										id = release ? winRelease(release) : '';
							 | 
						||
| 
								 | 
							
										return 'Windows' + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return platform;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = osName;
							 |