From 555cacfe370308c1a8be49f04730fa191bfed17b Mon Sep 17 00:00:00 2001 From: Matthias Van Parijs Date: Sat, 12 Oct 2024 16:03:12 +0200 Subject: [PATCH] feat: Splitting chunks to reduce bundle size --- docs/.vitepress/config.mts | 1 - docs/misc/beta-features.md | 11 ----- packages/api/package.json | 1 + packages/artisan/package.json | 4 +- packages/artisan/scripts/compile.sh | 13 ----- packages/artisan/scripts/install.sh | 74 ----------------------------- packages/dashboard/package.json | 3 +- packages/dashboard/vite.config.ts | 16 +++++++ packages/stitcher/package.json | 1 + 9 files changed, 21 insertions(+), 103 deletions(-) delete mode 100644 docs/misc/beta-features.md delete mode 100755 packages/artisan/scripts/compile.sh delete mode 100755 packages/artisan/scripts/install.sh diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 5caf6723..5d426d7a 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -58,7 +58,6 @@ export default defineConfig({ { text: "Miscellaneous", items: [ - { text: "Beta features", link: "misc/beta-features" }, { text: "Contribute", link: "misc/contribute" }, { text: "Tips", link: "misc/tips" }, { text: "Credits", link: "misc/credits" }, diff --git a/docs/misc/beta-features.md b/docs/misc/beta-features.md deleted file mode 100644 index 51b1bb5f..00000000 --- a/docs/misc/beta-features.md +++ /dev/null @@ -1,11 +0,0 @@ -# Beta features - -## Artisan binary - -Navigate to any folder you like and run the following install script. - -```sh -curl -fsSL https://cdn.mixwave.stream/bin/artisan-install.sh | bash -``` - -Create a `config.env`, run `./artisan` and that's it. diff --git a/packages/api/package.json b/packages/api/package.json index 376d0de1..ea8371c1 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -6,6 +6,7 @@ }, "scripts": { "dev": "bun run ./src/index.ts --watch", + "build": "bun build ./src/index.ts --target=bun --outdir=./dist", "lint": "eslint \"./src/**/*.ts\" && prettier --check \"./src/**/*.ts\"", "typecheck": "tsc" }, diff --git a/packages/artisan/package.json b/packages/artisan/package.json index adeb3bd9..647cfdc8 100644 --- a/packages/artisan/package.json +++ b/packages/artisan/package.json @@ -3,9 +3,9 @@ "type": "module", "scripts": { "dev": "bun --watch ./src/index.ts", + "build": "bun build ./src/index.ts --target=bun --outdir=./dist", "lint": "eslint \"./src/**/*.ts\" && prettier --check \"./src/**/*.ts\"", - "typecheck": "tsc", - "compile": "./scripts/compile.sh" + "typecheck": "tsc" }, "dependencies": { "@aws-sdk/client-s3": "^3.623.0", diff --git a/packages/artisan/scripts/compile.sh b/packages/artisan/scripts/compile.sh deleted file mode 100755 index 9a6036c2..00000000 --- a/packages/artisan/scripts/compile.sh +++ /dev/null @@ -1,13 +0,0 @@ -rm -rf ./dist -mkdir ./dist - -bun build --compile --minify --sourcemap --target=bun-darwin-arm64 ./src/index.ts --outfile ./.compile/darwin-arm64/artisan -(cd ./.compile/darwin-arm64 && zip -r -X "../../dist/artisan-darwin-arm64.zip" .) - -bun build --compile --minify --sourcemap --target=bun-linux-arm64 ./src/index.ts --outfile ./.compile/linux-arm64/artisan -(cd ./.compile/linux-arm64 && zip -r -X "../../dist/artisan-linux-arm64.zip" .) - -rm -rf ./.compile - -cp ./scripts/install.sh ./dist -mv ./dist/install.sh ./dist/artisan-install.sh \ No newline at end of file diff --git a/packages/artisan/scripts/install.sh b/packages/artisan/scripts/install.sh deleted file mode 100755 index 3ea313df..00000000 --- a/packages/artisan/scripts/install.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -platform=$(uname -ms) - -# Reset -Color_Off='' - -# Regular Colors -Green='' -Red='' -Dim='' # White - -if [[ -t 1 ]]; then - # Reset - Color_Off='\033[0m' # Text Reset - - # Regular Colors - Red='\033[0;31m' # Red - Green='\033[0;32m' # Green - Dim='\033[0;2m' # White -fi - -info() { - echo -e "${Dim}$@ ${Color_Off}" -} - -success() { - echo -e "${Green}$@ ${Color_Off}" -} - -error() { - echo -e "${Red}error${Color_Off}:" "$@" >&2 - exit 1 -} - -command -v unzip >/dev/null || - error 'unzip is required to install artisan' - -case $platform in -'Darwin arm64') - target=darwin-arm64 - ;; -'Linux arm64' | 'Linux aarch64') - target=linux-arm64 - ;; -esac - -current_dir=$(pwd) - -artisan_uri=https://cdn.mixwave.stream/bin/artisan-$target.zip - -install_env=ARTISAN_INSTALL -install_dir=${!install_env:-$HOME/.artisan} -zip=artisan.zip - -if [[ ! -d $install_dir ]]; then - mkdir -p "$install_dir" || - error "Failed to create install directory \"$install_dir\"" -fi - -curl --fail --location --progress-bar --output "$install_dir/$zip" "$artisan_uri" || - error "Failed to download mixwave from \"$artisan_uri\"" - -unzip -oqd "$current_dir" "$install_dir/$zip" || - error 'Failed to extract artisan' - -rm -r "$install_dir/$zip" - -success "Installed succesfully" - -info "You can find the binary at .$current_dir/artisan" - -echo "Run ./artisan to get started" \ No newline at end of file diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 25a3ce38..0223ffc9 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -43,8 +43,7 @@ "tailwind-merge": "^2.4.0", "tailwindcss-animate": "^1.0.7", "timeago.js": "4.0.0-beta.3", - "uniqolor": "^1.1.1", - "zod": "^3.23.8" + "uniqolor": "^1.1.1" }, "devDependencies": { "@mixwave/shared": "workspace:*", diff --git a/packages/dashboard/vite.config.ts b/packages/dashboard/vite.config.ts index bf639097..dcadfb86 100644 --- a/packages/dashboard/vite.config.ts +++ b/packages/dashboard/vite.config.ts @@ -6,6 +6,13 @@ import { loadConfigEnv } from "@mixwave/shared"; loadConfigEnv(); +const MANUAL_CHUNKS = [ + "hls.js", + "monaco-editor", + "radix-ui", + "react-syntax-highlighter", +]; + // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], @@ -22,4 +29,13 @@ export default defineConfig({ server: { port: 52000, }, + build: { + rollupOptions: { + output: { + manualChunks: (id) => { + return MANUAL_CHUNKS.find((chunk) => id.includes(chunk)); + }, + }, + }, + }, }); diff --git a/packages/stitcher/package.json b/packages/stitcher/package.json index 7743b9aa..6e42d5f0 100644 --- a/packages/stitcher/package.json +++ b/packages/stitcher/package.json @@ -3,6 +3,7 @@ "type": "module", "scripts": { "dev": "bun --watch ./src/index.ts", + "build": "bun build ./src/index.ts --target=bun --outdir=./dist", "test": "bun test", "lint": "eslint \"./src/**/*.ts\" && prettier --check \"./src/**/*.ts\"", "typecheck": "tsc"