40 lines
1 KiB
Text
40 lines
1 KiB
Text
|
FROM scratch AS base
|
||
|
ENV VERSION=1.22.22
|
||
|
ENV SRC_HASH=88268464199d1611fcf73ce9c0a6c4d44c7d5363682720d8506f6508addf36a0
|
||
|
ENV SRC_FILE=yarn-v${VERSION}.tar.gz
|
||
|
ENV SRC_SITE=https://yarnpkg.com/downloads/${VERSION}/${SRC_FILE}
|
||
|
|
||
|
FROM base AS fetch
|
||
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
||
|
|
||
|
FROM fetch AS build
|
||
|
COPY --from=stagex/musl . /
|
||
|
COPY --from=stagex/busybox . /
|
||
|
RUN tar -xf ${SRC_FILE}
|
||
|
WORKDIR /yarn-v${VERSION}
|
||
|
|
||
|
FROM build AS install
|
||
|
ENV DESTDIR=/rootfs
|
||
|
RUN --network=none <<-EOF
|
||
|
destdir="usr/share/node_modules/yarn"
|
||
|
|
||
|
mkdir -p $DESTDIR/$destdir
|
||
|
cp -R ./* $DESTDIR/$destdir
|
||
|
|
||
|
# Windows files
|
||
|
rm $DESTDIR/$destdir/bin/*.cmd
|
||
|
# Shell shim
|
||
|
rm $DESTDIR/$destdir/bin/yarn
|
||
|
# Old alias
|
||
|
rm $DESTDIR/$destdir/bin/yarnpkg
|
||
|
|
||
|
mkdir -p $DESTDIR/usr/bin
|
||
|
ln -s ../share/node_modules/yarn/bin/yarn.js $DESTDIR/usr/bin/yarn
|
||
|
ln -s ../share/node_modules/yarn/bin/yarn.js $DESTDIR/usr/bin/yarnpkg
|
||
|
|
||
|
sed -i 's/\"tar\"/\"stagex\"/g' $DESTDIR/$destdir/package.json
|
||
|
EOF
|
||
|
|
||
|
FROM stagex/filesystem AS package
|
||
|
COPY --from=install /rootfs/. /
|