45 lines
1.0 KiB
Bash
45 lines
1.0 KiB
Bash
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
DIST_DIR="$ROOT_DIR/dist"
|
|
|
|
mkdir -p "$DIST_DIR"
|
|
|
|
# Clean old artifacts
|
|
rm -f "$DIST_DIR"/*.zip 2>/dev/null || true
|
|
|
|
# Copy source to temp dirs for packaging
|
|
WORK_CHROME=$(mktemp -d)
|
|
WORK_FIREFOX=$(mktemp -d)
|
|
|
|
cleanup() {
|
|
rm -rf "$WORK_CHROME" "$WORK_FIREFOX" 2>/dev/null || true
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
# Common files
|
|
for f in manifest.json popup.html popup.js background.js; do
|
|
cp "$ROOT_DIR/$f" "$WORK_CHROME/"
|
|
cp "$ROOT_DIR/$f" "$WORK_FIREFOX/"
|
|
done
|
|
|
|
# Ensure Firefox manifest has browser_specific_settings with a stable id
|
|
# If already present, keep as-is.
|
|
|
|
# Nothing to change for Chrome; MV3 is fine.
|
|
|
|
pushd "$WORK_CHROME" >/dev/null
|
|
zip -r "$DIST_DIR/ali-sharelink-chrome.zip" . >/dev/null
|
|
popd >/dev/null
|
|
|
|
pushd "$WORK_FIREFOX" >/dev/null
|
|
zip -r "$DIST_DIR/ali-sharelink-firefox.zip" . >/dev/null
|
|
popd >/dev/null
|
|
|
|
echo "Build complete:"
|
|
echo " Chrome: $DIST_DIR/ali-sharelink-chrome.zip"
|
|
echo " Firefox: $DIST_DIR/ali-sharelink-firefox.zip"
|
|
|
|
|