mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	feat: handling the case where "node" is used for tool-versions file. (#812)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							c7a93deeac
						
					
				
				
					commit
					ca2d4e0cdd
				
			
							
								
								
									
										3
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							@ -158,7 +158,8 @@ jobs:
 | 
				
			|||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        os: [ubuntu-latest, windows-latest, macos-latest]
 | 
					        os: [ubuntu-latest, windows-latest, macos-latest]
 | 
				
			||||||
        node-version-file: [.nvmrc, .tool-versions, package.json]
 | 
					        node-version-file:
 | 
				
			||||||
 | 
					          [.nvmrc, .tool-versions, .tool-versions-node, package.json]
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - name: Remove volta from package.json
 | 
					      - name: Remove volta from package.json
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								__tests__/data/.tool-versions-node
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								__tests__/data/.tool-versions-node
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					node 14.0.0
 | 
				
			||||||
							
								
								
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							@ -60754,7 +60754,7 @@ function parseNodeVersionFile(contents) {
 | 
				
			|||||||
        core.info('Node version file is not JSON file');
 | 
					        core.info('Node version file is not JSON file');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!nodeVersion) {
 | 
					    if (!nodeVersion) {
 | 
				
			||||||
        const found = contents.match(/^(?:nodejs\s+)?v?(?<version>[^\s]+)$/m);
 | 
					        const found = contents.match(/^(?:node(js)?\s+)?v?(?<version>[^\s]+)$/m);
 | 
				
			||||||
        nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
 | 
					        nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    // In the case of an unknown format,
 | 
					    // In the case of an unknown format,
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							@ -72336,7 +72336,7 @@ function parseNodeVersionFile(contents) {
 | 
				
			|||||||
        core.info('Node version file is not JSON file');
 | 
					        core.info('Node version file is not JSON file');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!nodeVersion) {
 | 
					    if (!nodeVersion) {
 | 
				
			||||||
        const found = contents.match(/^(?:nodejs\s+)?v?(?<version>[^\s]+)$/m);
 | 
					        const found = contents.match(/^(?:node(js)?\s+)?v?(?<version>[^\s]+)$/m);
 | 
				
			||||||
        nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
 | 
					        nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    // In the case of an unknown format,
 | 
					    // In the case of an unknown format,
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,7 @@ export function parseNodeVersionFile(contents: string): string {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!nodeVersion) {
 | 
					  if (!nodeVersion) {
 | 
				
			||||||
    const found = contents.match(/^(?:nodejs\s+)?v?(?<version>[^\s]+)$/m);
 | 
					    const found = contents.match(/^(?:node(js)?\s+)?v?(?<version>[^\s]+)$/m);
 | 
				
			||||||
    nodeVersion = found?.groups?.version;
 | 
					    nodeVersion = found?.groups?.version;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user