Add pnpm install

This commit is contained in:
khai96_ 2020-05-09 20:24:52 +07:00
parent 9a1617cf46
commit 1790ca7f76
3 changed files with 42 additions and 0 deletions

BIN
dist/index.js vendored

Binary file not shown.

View File

@ -2,12 +2,14 @@ import { setFailed } from '@actions/core'
import getInputs from './inputs'
import setOutputs from './outputs'
import installPnpm from './install-pnpm'
import pnpmInstall from './pnpm-install'
async function main() {
const inputs = getInputs()
await installPnpm(inputs)
console.log('Installation Completed!')
setOutputs(inputs)
pnpmInstall(inputs)
}
main().catch(error => {

40
src/pnpm-install/index.ts Normal file
View 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