mirror of
				https://github.com/pnpm/action-setup.git
				synced 2025-10-31 01:12:08 +08:00 
			
		
		
		
	Complete basic
This commit is contained in:
		
							
								
								
									
										12
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| import { setFailed } from '@actions/core' | ||||
| import getInputs from './inputs' | ||||
| import install from './install' | ||||
|  | ||||
| const inputs = getInputs() | ||||
|  | ||||
| install(inputs).then(() => { | ||||
|   console.log('Installation Completed!') | ||||
| }).catch(error => { | ||||
|   console.error(error) | ||||
|   setFailed(error) | ||||
| }) | ||||
| @@ -1,14 +1,11 @@ | ||||
| import { setFailed } from '@actions/core' | ||||
| import getInputs from '../inputs' | ||||
| import { Inputs } from '../inputs' | ||||
| import runSelfInstaller from './run' | ||||
|  | ||||
| export { runSelfInstaller } | ||||
|  | ||||
| export async function install() { | ||||
|   const { error, status } = await runSelfInstaller(getInputs()) | ||||
|  | ||||
|   if (error) return setFailed(error) | ||||
|  | ||||
| export async function install(inputs: Inputs) { | ||||
|   const status = await runSelfInstaller(inputs) | ||||
|   if (status) { | ||||
|     return setFailed(`Something does wrong, self-installer exits with code ${status}`) | ||||
|   } | ||||
|   | ||||
| @@ -1,17 +1,23 @@ | ||||
| import { spawnSync } from 'child_process' | ||||
| import { spawn } from 'child_process' | ||||
| import { downloadSelfInstaller } from '../self-installer' | ||||
| import { Inputs } from '../inputs' | ||||
|  | ||||
| export async function runSelfInstaller(inputs: Inputs) { | ||||
|   return spawnSync('node', { | ||||
| export function runSelfInstaller(inputs: Inputs): Promise<number> { | ||||
|   const cp = spawn('node', { | ||||
|     env: { | ||||
|       PNPM_VERSION: inputs.version, | ||||
|       PNPM_DEST: inputs.dest, | ||||
|       PNPM_BIN_DEST: inputs.binDest, | ||||
|       PNPM_REGISTRY: inputs.registry, | ||||
|     }, | ||||
|     input: await downloadSelfInstaller(), | ||||
|     stdio: 'inherit', | ||||
|     stdio: ['pipe', 'inherit', 'inherit'], | ||||
|   }) | ||||
|  | ||||
|   downloadSelfInstaller().pipe(cp.stdin) | ||||
|  | ||||
|   return new Promise((resolve, reject) => { | ||||
|     cp.on('error', reject) | ||||
|     cp.on('close', resolve) | ||||
|   }) | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user