mirror of
https://code.forgejo.org/pnpm/action-setup.git
synced 2025-05-18 20:44:44 +00:00
Add pnpm install
This commit is contained in:
parent
9a1617cf46
commit
1790ca7f76
3 changed files with 43 additions and 1 deletions
40
src/pnpm-install/index.ts
Normal file
40
src/pnpm-install/index.ts
Normal file
|
@ -0,0 +1,40 @@
|
|||
import process from 'process'
|
||||
import path from 'path'
|
||||
import { spawnSync } from 'child_process'
|
||||
import { setFailed } from '@actions/core'
|
||||
import { Inputs } from '../inputs'
|
||||
|
||||
export function runPnpmInstall(inputs: Inputs) {
|
||||
const env = {
|
||||
...process.env,
|
||||
PATH: inputs.binDest + path.delimiter + process.env.PATH
|
||||
}
|
||||
|
||||
for (const options of inputs.runInstall) {
|
||||
const args = ['install']
|
||||
if (options.recursive) args.unshift('recursive')
|
||||
if (options.args) args.push(...options.args)
|
||||
|
||||
const cmdStr = ['pnpm', ...args].join(' ')
|
||||
console.log('Running', cmdStr)
|
||||
|
||||
const { error, status } = spawnSync('pnpm', args, {
|
||||
stdio: 'inherit',
|
||||
cwd: options.cwd,
|
||||
shell: true,
|
||||
env,
|
||||
})
|
||||
|
||||
if (error) {
|
||||
setFailed(error)
|
||||
continue
|
||||
}
|
||||
|
||||
if (status) {
|
||||
setFailed(`Command ${cmdStr} (cwd: ${options.cwd}) exits with status ${status}`)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default runPnpmInstall
|
Loading…
Add table
Add a link
Reference in a new issue