forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			104 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#! /bin/bash
 | 
						|
 | 
						|
# Creates the build for just a single theme
 | 
						|
export NODE_OPTIONS="--max-old-space-size=12000"
 | 
						|
THEME=$1
 | 
						|
if [ $# -eq 0 ]
 | 
						|
  then
 | 
						|
    echo "No arguments given. Expected a themename"
 | 
						|
fi
 | 
						|
 | 
						|
npm run prep:layeroverview
 | 
						|
npm run refresh:layeroverview
 | 
						|
npm run generate:layeroverview
 | 
						|
npm run test
 | 
						|
npm run generate:layouts
 | 
						|
 | 
						|
if [[ -f "$THEME.html" ]]
 | 
						|
then
 | 
						|
    echo "$THEME.html found."
 | 
						|
else
 | 
						|
  pwd
 | 
						|
  ls
 | 
						|
  echo "Theme '$THEME' not found. Did you run 'npm run generate:layouts'? Is the theme name correct?"
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
 | 
						|
echo "Building theme $THEME"
 | 
						|
rm -rf dist/*
 | 
						|
 | 
						|
cp vite.config.js vite_single.config.js
 | 
						|
 | 
						|
if [ -f index.bu.html ]
 | 
						|
then
 | 
						|
  echo "Backup already exists"
 | 
						|
else
 | 
						|
  cp index.html index.bu.html
 | 
						|
fi
 | 
						|
 | 
						|
rm index.html
 | 
						|
cp "$THEME.html" index.html
 | 
						|
 | 
						|
sed -i "s/input,/input: {index:\".\/index.html\", land: \".\/land.html\"}/" vite_single.config.js
 | 
						|
sed -i "s/\/\/ LAYOUT.ADD_CONFIG/layout.enableMoreQuests = false/" index_"$THEME".ts
 | 
						|
 | 
						|
 | 
						|
export NODE_OPTIONS=--max-old-space-size=20000
 | 
						|
vite build --sourcemap --config vite_single.config.js || { echo 'Vite build failed' ; exit 1; }
 | 
						|
 | 
						|
 | 
						|
cp -r assets/layers/ dist/assets/layers/
 | 
						|
cp -r assets/themes/ dist/assets/themes/
 | 
						|
cp -r assets/svg/ dist/assets/svg/
 | 
						|
cp -r assets/png/ dist/assets/png/
 | 
						|
mkdir dist/assets/langs
 | 
						|
mkdir dist/assets/langs/layers
 | 
						|
cp -r langs/layers/ dist/assets/langs/
 | 
						|
ls dist/assets/langs/layers/
 | 
						|
export NODE_OPTIONS=""
 | 
						|
rm vite_single.config.js
 | 
						|
 | 
						|
 | 
						|
 | 
						|
mkdir "dist_$THEME"
 | 
						|
cp -r dist/* "dist_$THEME"
 | 
						|
 | 
						|
 | 
						|
cd "dist_$THEME" || exit 1
 | 
						|
mv "$THEME.webmanifest" manif
 | 
						|
rm *.webmanifest
 | 
						|
mv manif "$THEME.webmanifest"
 | 
						|
 | 
						|
rm -rf assets/docs/
 | 
						|
cd assets/generated/images/ || exit
 | 
						|
pwd
 | 
						|
ls .
 | 
						|
for f in *
 | 
						|
do
 | 
						|
  case "$f" in
 | 
						|
    *$THEME* )
 | 
						|
    echo "Keeping $f"
 | 
						|
    ;;
 | 
						|
  *)
 | 
						|
    rm "$f"
 | 
						|
    # echo "Not keeping $f"
 | 
						|
  esac
 | 
						|
 | 
						|
done
 | 
						|
cd -
 | 
						|
 | 
						|
cd ..
 | 
						|
 | 
						|
if [ -f index.bu.html ]
 | 
						|
then
 | 
						|
  rm index.html
 | 
						|
  mv index.bu.html index.html
 | 
						|
fi
 | 
						|
npm run clean
 | 
						|
 | 
						|
echo "BUILD COMPLETED"
 | 
						|
echo "On what domain will you deploy?"
 | 
						|
echo "  ! Don't forget to add `https://yourdomain.tld/land.html` to the Redirect URIs on https://www.openstreetmap.org/oauth2/applications/"
 | 
						|
echo "Deploying on github pages?"
 | 
						|
echo " 1. Don't forget to add a CNAME file (containing your domain name verbatim, without protocol)"
 | 
						|
echo " 2 .nojekyll file (which is empty)"
 |