docusaurus/admin/scripts/test-release.sh
Ludovico Fischer 5678911555
chore: update @svgr/webpack to version 6 (#5958)
* chore: update @svgr/webpack to version 6

* svgr changelog https://github.com/gregberge/svgr/releases
* SVGO 2 changelog https://github.com/svg/svgo/releases/tag/v2.0.0
* depend on maintained svgo version
* although svgr 6 is in alpha, it fixes a few issues
  with webpack 5 (1a8cc98)
  and React (3700aba)
* see also https://github.com/facebook/docusaurus/pull/5703

* Fix config

* fix e2e test

* Fix again

* Update to stable

Co-authored-by: Josh-Cena <sidachen2003@gmail.com>
2021-11-29 15:12:18 +08:00

63 lines
1.8 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
set -euo pipefail
CUSTOM_REGISTRY_URL="http://localhost:4873"
NEW_VERSION="$(node -p "require('./packages/docusaurus/package.json').version").NEW"
CONTAINER_NAME="verdaccio"
EXTRA_OPTS=""
usage() { echo "Usage: $0 [-n] [-s]" 1>&2; exit 1; }
while getopts ":ns" o; do
case "${o}" in
n)
EXTRA_OPTS="--use-npm"
;;
s)
EXTRA_OPTS="--skip-install"
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ ! -z $EXTRA_OPTS ]
then
echo create-docusaurus extra options = ${EXTRA_OPTS}
fi
# Run Docker container with private npm registry Verdaccio
docker run -d --rm --name "$CONTAINER_NAME" -p 4873:4873 -v "$PWD/admin/verdaccio.yaml":/verdaccio/conf/config.yaml verdaccio/verdaccio:latest
# Build packages
yarn build:packages
# Publish the monorepo
npx --no-install lerna publish --exact --yes --no-verify-access --no-git-reset --no-git-tag-version --no-push --registry "$CUSTOM_REGISTRY_URL" "$NEW_VERSION"
# Revert version changes
git diff --name-only -- '*.json' | sed 's, ,\\&,g' | xargs git checkout --
# The website is generated outside the repo to minimize chances of yarn resolving the wrong version
cd ..
# Build skeleton website with new version
npm_config_registry="$CUSTOM_REGISTRY_URL" npm init docusaurus@"$NEW_VERSION" test-website classic $EXTRA_OPTS
# Stop Docker container
if [[ -z "${KEEP_CONTAINER:-}" ]] && ( $(docker container inspect "$CONTAINER_NAME" > /dev/null 2>&1) ); then
# Remove Docker container
docker container stop $CONTAINER_NAME > /dev/null
fi
echo "The website with to-be published packages was successfully build to the $(tput setaf 2)test-website$(tput sgr 0) directory."