29 lines
780 B
Plaintext
Executable File
29 lines
780 B
Plaintext
Executable File
# Check if lockfile needs updating
|
|
if git diff --cached --name-only | grep -q "^package.json$"; then
|
|
echo "🔒 Updating lockfile..."
|
|
pnpm lock
|
|
git add pnpm-lock.yaml
|
|
fi
|
|
|
|
# Check if entry needs rebuilding
|
|
# Rebuild if: entry.ts/esbuild.config.js/.ts files are staged, OR if entry is out of date
|
|
NEEDS_REBUILD=false
|
|
|
|
# Check staged files
|
|
if git diff --cached --name-only | grep -qE "^(entry\.ts|esbuild\.config\.js|.*\.ts)$"; then
|
|
NEEDS_REBUILD=true
|
|
fi
|
|
|
|
# Check if entry is out of date compared to entry.ts
|
|
if [ -f entry.ts ] && [ -f entry ]; then
|
|
if [ entry.ts -nt entry ] || [ esbuild.config.js -nt entry ]; then
|
|
NEEDS_REBUILD=true
|
|
fi
|
|
fi
|
|
|
|
if [ "$NEEDS_REBUILD" = true ]; then
|
|
echo "🔨 Building action..."
|
|
pnpm build
|
|
git add entry
|
|
fi
|