Harden common code and render harness policies
This commit is contained in:
@@ -1,26 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
files=(
|
||||
"TaxBaik.Web/Components/Admin/App.razor"
|
||||
"TaxBaik.Web/Components/Admin/Layout/MainLayout.razor"
|
||||
"TaxBaik.Web/Components/Admin/Pages/Login.razor"
|
||||
)
|
||||
app_file="TaxBaik.Web/Components/Admin/App.razor"
|
||||
login_file="TaxBaik.Web/Components/Admin/Pages/Login.razor"
|
||||
|
||||
for file in "${files[@]}"; do
|
||||
for file in "$app_file" "$login_file"; do
|
||||
if [ ! -f "$file" ]; then
|
||||
echo "Missing admin render file: $file" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if grep -nE "InteractiveServerRenderMode|prerender: true" "${files[@]}"; then
|
||||
echo "Admin render mode violation detected." >&2
|
||||
if ! grep -nE "InteractiveWebAssemblyRenderMode\\(prerender: true\\)" "$app_file" >/dev/null; then
|
||||
echo "Admin shell must use InteractiveWebAssemblyRenderMode(prerender: true)." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -nE "InteractiveWebAssemblyRenderMode\\(prerender: false\\)" "${files[@]}" >/dev/null; then
|
||||
echo "Admin render mode must use InteractiveWebAssemblyRenderMode(prerender: false)." >&2
|
||||
if grep -nE "InteractiveServerRenderMode|prerender: true" "$app_file" | grep -v "InteractiveWebAssemblyRenderMode(prerender: true)" >/dev/null; then
|
||||
echo "Admin shell render mode violation detected." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -nE "InteractiveServerRenderMode\\(prerender: true\\)" "$login_file" >/dev/null; then
|
||||
echo "Login page must allow server prerender." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user