Merge pull request #29 from pnpm/pnpm-v7
The pnpm home directory should be added to PATH and PNPM_HOME
This commit is contained in:
commit
93bd5a123d
BIN
dist/index.js
vendored
BIN
dist/index.js
vendored
Binary file not shown.
24
package.json
24
package.json
@ -7,21 +7,21 @@
|
|||||||
"start": "pnpm run build && sh ./run.sh"
|
"start": "pnpm run build && sh ./run.sh"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"node-fetch": "^2.6.1",
|
"@actions/core": "^1.6.0",
|
||||||
"expand-tilde": "^2.0.2",
|
|
||||||
"js-yaml": "^4.0.0",
|
|
||||||
"ajv": "^6.12.5",
|
|
||||||
"fs-extra": "^9.1.0",
|
|
||||||
"@actions/core": "^1.2.6",
|
|
||||||
"@types/expand-tilde": "^2.0.0",
|
"@types/expand-tilde": "^2.0.0",
|
||||||
"@types/node-fetch": "^2.5.8",
|
"@types/fs-extra": "^9.0.13",
|
||||||
"@types/js-yaml": "^4.0.0",
|
"@types/js-yaml": "^4.0.5",
|
||||||
"@types/fs-extra": "^9.0.8",
|
"@types/node": "^14.18.10",
|
||||||
"@types/node": "^14.14.35"
|
"@types/node-fetch": "^2.5.12",
|
||||||
|
"ajv": "^6.12.6",
|
||||||
|
"expand-tilde": "^2.0.2",
|
||||||
|
"fs-extra": "^9.1.0",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"node-fetch": "^2.6.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"typescript": "^4.2.3",
|
|
||||||
"@ts-schema-autogen/cli": "^0.1.2",
|
"@ts-schema-autogen/cli": "^0.1.2",
|
||||||
"@vercel/ncc": "^0.27.0"
|
"@vercel/ncc": "^0.27.0",
|
||||||
|
"typescript": "^4.5.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
971
pnpm-lock.yaml
971
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
|||||||
|
import { addPath, exportVariable } from '@actions/core'
|
||||||
import { spawn } from 'child_process'
|
import { spawn } from 'child_process'
|
||||||
import { execPath } from 'process'
|
import { execPath } from 'process'
|
||||||
import { join } from 'path'
|
import path from 'path'
|
||||||
import { remove, ensureFile, writeFile } from 'fs-extra'
|
import { remove, ensureFile, writeFile } from 'fs-extra'
|
||||||
import fetch from 'node-fetch'
|
import fetch from 'node-fetch'
|
||||||
import { Inputs } from '../inputs'
|
import { Inputs } from '../inputs'
|
||||||
@ -8,7 +9,7 @@ import { Inputs } from '../inputs'
|
|||||||
export async function runSelfInstaller(inputs: Inputs): Promise<number> {
|
export async function runSelfInstaller(inputs: Inputs): Promise<number> {
|
||||||
const { version, dest } = inputs
|
const { version, dest } = inputs
|
||||||
const target = version ? `pnpm@${version}` : 'pnpm'
|
const target = version ? `pnpm@${version}` : 'pnpm'
|
||||||
const pkgJson = join(dest, 'package.json')
|
const pkgJson = path.join(dest, 'package.json')
|
||||||
|
|
||||||
await remove(dest)
|
await remove(dest)
|
||||||
await ensureFile(pkgJson)
|
await ensureFile(pkgJson)
|
||||||
@ -19,13 +20,19 @@ export async function runSelfInstaller(inputs: Inputs): Promise<number> {
|
|||||||
stdio: ['pipe', 'inherit', 'inherit'],
|
stdio: ['pipe', 'inherit', 'inherit'],
|
||||||
})
|
})
|
||||||
|
|
||||||
const response = await fetch('https://pnpm.js.org/pnpm.js')
|
const response = await fetch('https://pnpm.io/pnpm.js')
|
||||||
response.body.pipe(cp.stdin)
|
response.body.pipe(cp.stdin)
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
const exitCode = await new Promise<number>((resolve, reject) => {
|
||||||
cp.on('error', reject)
|
cp.on('error', reject)
|
||||||
cp.on('close', resolve)
|
cp.on('close', resolve)
|
||||||
})
|
})
|
||||||
|
if (exitCode === 0) {
|
||||||
|
const pnpmHome = path.join(dest, 'node_modules/.bin')
|
||||||
|
addPath(pnpmHome)
|
||||||
|
exportVariable('PNPM_HOME', pnpmHome)
|
||||||
|
}
|
||||||
|
return exitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
export default runSelfInstaller
|
export default runSelfInstaller
|
||||||
|
Loading…
Reference in New Issue
Block a user