mirror of
https://github.com/ivabus/pantry
synced 2024-11-29 19:55:06 +03:00
66 lines
1.5 KiB
YAML
66 lines
1.5 KiB
YAML
distributable:
|
||
url: https://github.com/npm/cli/archive/refs/tags/v{{ version }}.tar.gz
|
||
strip-components: 1
|
||
|
||
versions:
|
||
github: npm/cli/tags
|
||
|
||
provides:
|
||
- bin/npm
|
||
- bin/npx
|
||
|
||
dependencies:
|
||
nodejs.org: '*'
|
||
|
||
build:
|
||
dependencies:
|
||
crates.io/semverator: '*'
|
||
script:
|
||
- |
|
||
if semverator satisfies '^8,>=9.4.2' {{ version }}; then
|
||
ARGS="--install-links"
|
||
fi
|
||
|
||
# 9.8.0 removed the references to these modules.
|
||
- run: |
|
||
for MOD in ../workspaces/*; do
|
||
b=$(basename $MOD)
|
||
if test "${b#lib}" = "$b"; then
|
||
ln -s ../$MOD @npmcli/$b
|
||
else
|
||
ln -s $MOD .
|
||
fi
|
||
done
|
||
working-directory: node_modules
|
||
if: '>=9.8.0'
|
||
|
||
- node . install --global --prefix={{prefix}} $ARGS
|
||
|
||
# configures npm to install to ~/.local
|
||
- mv props/npmrc {{prefix}}/lib/node_modules/npm
|
||
|
||
# our shim fixes a bug where npx doesn’t work if ~/.local/lib doesn’t exist
|
||
- run: |
|
||
rm npx
|
||
mv $SRCROOT/props/npx-shim npx
|
||
|
||
working-directory:
|
||
${{prefix}}/bin
|
||
|
||
test:
|
||
dependencies:
|
||
# 20.3.x causes a error on linux+aarch64 (technically docker)
|
||
# sh: 1: tldr: Text file busy
|
||
# https://github.com/nodejs/node/issues/48444
|
||
# This is a FIXME, but it should be reasonably harmless.
|
||
linux/aarch64:
|
||
nodejs.org: '<20.3'
|
||
script:
|
||
# doing first to test our shim works as expected
|
||
- npx -qy tldr ls
|
||
|
||
- npm install --global cowsay
|
||
|
||
# verify install location is as we configure it
|
||
- $HOME/.local/bin/cowsay xyz.tea.hi
|
||
|