File: 03-release-npm.sh

package info (click to toggle)
node-yarnpkg 4.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,752 kB
  • sloc: javascript: 38,953; ansic: 26,035; cpp: 7,247; sh: 2,829; makefile: 724; perl: 493
file content (31 lines) | stat: -rwxr-xr-x 923 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env bash

set -ex

THIS_DIR=$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)
REPO_DIR="$THIS_DIR/../.."

if ! [[ -z $(git status --porcelain) ]]; then
  echo 'This command must be executed on a clean repository'
  exit 1
fi

VERSION=$(YARN_IGNORE_PATH=1 node packages/yarnpkg-cli/bundles/yarn.js --version)

TEMP_DIR="$(mktemp -d)"
mkdir "$TEMP_DIR"/bin

jq > "$TEMP_DIR"/package.json \
  '{name: "@yarnpkg/cli-dist", version: "'"$VERSION"'", "bin": {"yarn": "bin/yarn.js", "yarnpkg": "bin/yarn.js"}} + (. | {license,repository,engines})' \
  "$REPO_DIR"/packages/yarnpkg-cli/package.json

cp "$REPO_DIR"/packages/yarnpkg-cli/bundles/yarn.js "$TEMP_DIR"/bin/yarn.js
cp "$REPO_DIR"/scripts/dist-scripts/* "$TEMP_DIR"/bin
chmod +x "$TEMP_DIR"/bin/*

cd "$TEMP_DIR"

export YARN_ENABLE_IMMUTABLE_INSTALLS=0

node "$TEMP_DIR"/bin/yarn.js
node "$TEMP_DIR"/bin/yarn.js npm publish --tolerate-republish --access=public