diff --git a/Dockerfile b/Dockerfile index 7daea0a..347b328 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,6 +35,7 @@ COPY ./frontend/ ./ RUN npm install pnpm -g RUN pnpm install RUN pnpm build +RUN ./compress.sh # Run the server application FROM alpine:latest diff --git a/frontend/README.md b/frontend/README.md deleted file mode 100644 index ff19a3e..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Astro Starter Kit: Basics - -```sh -npm create astro@latest -- --template basics -``` - -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) -[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics) -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json) - -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! - -![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554) - -## 🚀 Project Structure - -Inside of your Astro project, you'll see the following folders and files: - -```text -/ -├── public/ -│ └── favicon.svg -├── src/ -│ ├── layouts/ -│ │ └── Layout.astro -│ └── pages/ -│ └── index.astro -└── package.json -``` - -To learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/). - -## 🧞 Commands - -All commands are run from the root of the project, from a terminal: - -| Command | Action | -| :------------------------ | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:4321` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro -- --help` | Get help using the Astro CLI | - -## 👀 Want to learn more? - -Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/frontend/compress.sh b/frontend/compress.sh new file mode 100755 index 0000000..e077aee --- /dev/null +++ b/frontend/compress.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +multicompress() { + local file="$1" + if command -v gzip &>/dev/null; then + gzip --best --stdout --keep "$file" >"$file.gz" + fi + + if command -v zstd &>/dev/null; then + zstd --keep --force -19 --quiet "$file" -o "$file.zst" + fi + + if command -v brotli &>/dev/null; then + brotli --best --force -o "$file.br" "$file" + fi +} + +export -f multicompress +# create pre-compressed variants gzip, zstd, brotli for dist files +find ./dist/ -type f ! -name '*.gz' ! -name '*.br' ! -name '*.zst' -exec bash -c 'multicompress "$0"' {} \;