105 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #!/usr/bin/env bash
 | |
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 | |
| ROOT_DIR=$(realpath "$SCRIPT_DIR/..")
 | |
| echo $ROOT_DIR
 | |
| RUSH_FILE="$ROOT_DIR/common/scripts/install-run-rush.js"
 | |
| 
 | |
| source "$ROOT_DIR/scripts/setup-env.sh"
 | |
| 
 | |
| # Fix https://code.byted.org/apaas/monorepo/issues/45
 | |
| # Use the latest git version from leafboat
 | |
| export PATH=/tmp/leafboat/bin:$PATH
 | |
| 
 | |
| die() {
 | |
|   echo $1
 | |
|   exit 1
 | |
| }
 | |
| 
 | |
| rushx() {
 | |
|   node $RUSH_FILE "$@"
 | |
| }
 | |
| 
 | |
| rushtool () {
 | |
|   RUSH_X_PATH=$ROOT_DIR/ee/infra/rush-x/bin/run
 | |
|   node $RUSH_X_PATH "$@"
 | |
| }
 | |
| 
 | |
| # Install multiple package dependencies at the same time.
 | |
| #
 | |
| # Usage:
 | |
| # install_package_deps @kunlun/typings @apaas/vite.app @apaas/react.app
 | |
| install_package_deps()
 | |
| {
 | |
|   if [ $# -eq 0 ]; then
 | |
|     die "install_package_deps: missing arguments"
 | |
|   fi
 | |
| 
 | |
|   args=""
 | |
|   for pkg in "$@";
 | |
|   do
 | |
|     args="-t ${pkg} -t tag:rush-tools ${args}"
 | |
|   done
 | |
|   rushx --debug install ${args}
 | |
| }
 | |
| 
 | |
| # Prepare the rush project environment.
 | |
| prepare_environment()
 | |
| {
 | |
|   npm i -g pnpm@8.15.8
 | |
| }
 | |
| 
 | |
| 
 | |
| # Install current project dependencies.
 | |
| # It will abort with errors if package.json is not found in the current directory.
 | |
| #
 | |
| # Usage:
 | |
| # install_project_deps
 | |
| install_project_deps()
 | |
| {
 | |
|   if [ ! -f package.json ]; then
 | |
|     die "install_project_deps: package.json not found"
 | |
|   fi
 | |
|   install_package_deps .
 | |
| }
 | |
| 
 | |
| 
 | |
| # Build current project.
 | |
| # It will abort with errors if package.json is not found in the current directory.
 | |
| #
 | |
| # Usage:
 | |
| # build_project
 | |
| build_project()
 | |
| {
 | |
|   if [ ! -f package.json ]; then
 | |
|     die "build_project: package.json not found"
 | |
|   fi
 | |
|   rushx build -t .
 | |
| }
 | |
| 
 | |
| # Build current project with dependencies.
 | |
| # It will abort with errors if package.json is not found in the current directory.
 | |
| #
 | |
| # Usage:
 | |
| # build_project_deps
 | |
| build_project_deps()
 | |
| {
 | |
|   if [ ! -f package.json ]; then
 | |
|     die "build_project: package.json not found"
 | |
|   fi
 | |
|   rushx build -T .
 | |
| }
 | |
| 
 | |
| # Force Build current project.
 | |
| # It will abort with errors if package.json is not found in the current directory.
 | |
| #
 | |
| # Usage:
 | |
| # build_project_ignore_cache
 | |
| build_project_ignore_cache()
 | |
| {
 | |
|   if [ ! -f package.json ]; then
 | |
|     die "build_project: package.json not found"
 | |
|   fi
 | |
|   rushx build -T . -v
 | |
|   rushx rebuild -o . -v
 | |
| }
 |