diff --git a/CHANGELOG.md b/CHANGELOG.md index 45da584..c18d597 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,140 +1,137 @@ + # Changelog -# [1.0.0-beta.2](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2024-12-26) - - -### 👷 Build System - -* **config**: Update pm2 config ([d95b425](https://github.com/perfect-panel/ppanel-web/commit/d95b425)) - - -### 🔧 Continuous Integration - -* **step**: Update step name ([9eca618](https://github.com/perfect-panel/ppanel-web/commit/9eca618)) - -# 1.0.0-beta.1 (2024-12-25) - +# [1.0.0-beta.3](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2024-12-26) ### ♻ Code Refactoring -* **api**: Sort and Announcement ([38d5616](https://github.com/perfect-panel/ppanel-web/commit/38d5616)) -* **config**: GenerateMetadata ([a0bb101](https://github.com/perfect-panel/ppanel-web/commit/a0bb101)) -* **config**: Viewport ([24b8601](https://github.com/perfect-panel/ppanel-web/commit/24b8601)) -* **core**: Restructure project for better module separation ([9d0cb8b](https://github.com/perfect-panel/ppanel-web/commit/9d0cb8b)) -* **deps**: Update ([19837a1](https://github.com/perfect-panel/ppanel-web/commit/19837a1)) -* **empty**: Content ([aa4c667](https://github.com/perfect-panel/ppanel-web/commit/aa4c667)) -* **ui**: Dependencies ([727d779](https://github.com/perfect-panel/ppanel-web/commit/727d779)) -* **ui**: Layout ([9262d7d](https://github.com/perfect-panel/ppanel-web/commit/9262d7d)) +- **publish**: Simplify environment variable handling and improve build script ([88ea21b](https://github.com/perfect-panel/ppanel-web/commit/88ea21b)) +# [1.0.0-beta.2](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2024-12-26) -### ⚡ Performance Improvements - -* **subscribe**: Form discount price ([059a892](https://github.com/perfect-panel/ppanel-web/commit/059a892)) - - -### ✨ Features - -* **ad**: Advertise ([b1105cd](https://github.com/perfect-panel/ppanel-web/commit/b1105cd)) -* **affiliate**: Affiliate Detail ([a782c17](https://github.com/perfect-panel/ppanel-web/commit/a782c17)) -* **affiliate**: Commission Rate ([5eec430](https://github.com/perfect-panel/ppanel-web/commit/5eec430)) -* **announcement**: Popup and pinned ([f3680a7](https://github.com/perfect-panel/ppanel-web/commit/f3680a7)) -* **api**: Telegram ([17ce96a](https://github.com/perfect-panel/ppanel-web/commit/17ce96a)) -* **billing**: Update Billing ([078fc9d](https://github.com/perfect-panel/ppanel-web/commit/078fc9d)) -* **config**: FormatBytes ([9251a09](https://github.com/perfect-panel/ppanel-web/commit/9251a09)) -* **config**: Protocol type ([a3b45b4](https://github.com/perfect-panel/ppanel-web/commit/a3b45b4)) -* **config**: Webhook Domain ([01e06c6](https://github.com/perfect-panel/ppanel-web/commit/01e06c6)) -* **dashboard**: Optimization ([5b3f4b4](https://github.com/perfect-panel/ppanel-web/commit/5b3f4b4)) -* **dashboard**: Statistics ([2926abc](https://github.com/perfect-panel/ppanel-web/commit/2926abc)) -* **header**: Update locales ([bfb6c27](https://github.com/perfect-panel/ppanel-web/commit/bfb6c27)) -* **locale**: Add Persian ([93a0a88](https://github.com/perfect-panel/ppanel-web/commit/93a0a88)) -* **locales**: Add multiple languages ([b243ab9](https://github.com/perfect-panel/ppanel-web/commit/b243ab9)) -* **node-subscription**: Add copy functionality for columns ([3a81e37](https://github.com/perfect-panel/ppanel-web/commit/3a81e37)) -* **node**: Add NodeStatus ([c712624](https://github.com/perfect-panel/ppanel-web/commit/c712624)) -* **node**: Add protocol ([301b635](https://github.com/perfect-panel/ppanel-web/commit/301b635)) -* **node**: Add status ([c06372b](https://github.com/perfect-panel/ppanel-web/commit/c06372b)) -* **subscribe**: Add unit time ([39d07ec](https://github.com/perfect-panel/ppanel-web/commit/39d07ec)) -* **table**: Add sorting support for Node and subscription columns ([27924b0](https://github.com/perfect-panel/ppanel-web/commit/27924b0)) -* **table**: Supports drag and drop sorting ([2f56ef5](https://github.com/perfect-panel/ppanel-web/commit/2f56ef5)) -* **tos**: Display data ([6024454](https://github.com/perfect-panel/ppanel-web/commit/6024454)) -* **tutorial**: Add common tutorial list ([872252c](https://github.com/perfect-panel/ppanel-web/commit/872252c)) -* **ui**: System Tool ([1836980](https://github.com/perfect-panel/ppanel-web/commit/1836980)) -* **ui**: Update homepage data ([8425b13](https://github.com/perfect-panel/ppanel-web/commit/8425b13)) - - -### 🎫 Chores - -* **config**: Entry locale ([5737331](https://github.com/perfect-panel/ppanel-web/commit/5737331)) -* **init**: Project initialization ([829edfa](https://github.com/perfect-panel/ppanel-web/commit/829edfa)) - - -### 🐛 Bug Fixes - -* **api**: PreCreateOrder ([ca747f5](https://github.com/perfect-panel/ppanel-web/commit/ca747f5)) -* **api**: Purge ([98c1c30](https://github.com/perfect-panel/ppanel-web/commit/98c1c30)) -* **api**: Server and order ([255bd82](https://github.com/perfect-panel/ppanel-web/commit/255bd82)) -* **api**: Statistics ([7962162](https://github.com/perfect-panel/ppanel-web/commit/7962162)) -* **api**: Subscribe token ([1932ba7](https://github.com/perfect-panel/ppanel-web/commit/1932ba7)) -* **api**: Update Model ([39aaa73](https://github.com/perfect-panel/ppanel-web/commit/39aaa73)) -* **billing**: ExpiryDate ([e85e545](https://github.com/perfect-panel/ppanel-web/commit/e85e545)) -* **billing**: I18n and styles ([81e0f21](https://github.com/perfect-panel/ppanel-web/commit/81e0f21)) -* **config**: AlipayF2F ([6c07107](https://github.com/perfect-panel/ppanel-web/commit/6c07107)) -* **config**: Bugs ([f57e40c](https://github.com/perfect-panel/ppanel-web/commit/f57e40c)) -* **config**: Checkout Order ([a31e763](https://github.com/perfect-panel/ppanel-web/commit/a31e763)) -* **config**: FormatBytes ([bbc2da0](https://github.com/perfect-panel/ppanel-web/commit/bbc2da0)) -* **config**: NoStore ([2cc18cf](https://github.com/perfect-panel/ppanel-web/commit/2cc18cf)) -* **config**: Runtime env ([a1e4999](https://github.com/perfect-panel/ppanel-web/commit/a1e4999)) -* **config**: Status Percentag ([8f322fb](https://github.com/perfect-panel/ppanel-web/commit/8f322fb)) -* **config**: SubLink ([1c61966](https://github.com/perfect-panel/ppanel-web/commit/1c61966)) -* **config**: Subscribe Link ([11ea821](https://github.com/perfect-panel/ppanel-web/commit/11ea821)) -* **controller**: Order status ([8c6a097](https://github.com/perfect-panel/ppanel-web/commit/8c6a097)) -* **dashboard**: Format Bytes ([d8b0bd9](https://github.com/perfect-panel/ppanel-web/commit/d8b0bd9)) -* **deps**: Typescript config ([34e24b8](https://github.com/perfect-panel/ppanel-web/commit/34e24b8)) -* **deps**: Update clipboard ([5572710](https://github.com/perfect-panel/ppanel-web/commit/5572710)) -* **editor**: Change value ([4fdfeb2](https://github.com/perfect-panel/ppanel-web/commit/4fdfeb2)) -* **footer**: Email address ([a451f44](https://github.com/perfect-panel/ppanel-web/commit/a451f44)) -* **locale**: Default value ([937408f](https://github.com/perfect-panel/ppanel-web/commit/937408f)) -* **locale**: Document ([6f0fa20](https://github.com/perfect-panel/ppanel-web/commit/6f0fa20)) -* **locale**: Empty ([3832d20](https://github.com/perfect-panel/ppanel-web/commit/3832d20)) -* **locale**: Input Placeholder Webhook Domain ([bca0935](https://github.com/perfect-panel/ppanel-web/commit/bca0935)) -* **locale**: Language Select ([0befdb0](https://github.com/perfect-panel/ppanel-web/commit/0befdb0)) -* **locale**: Subscription Path Description ([4c67387](https://github.com/perfect-panel/ppanel-web/commit/4c67387)) -* **metadata**: Global metadata ([15d5ecf](https://github.com/perfect-panel/ppanel-web/commit/15d5ecf)) -* **node**: Locale and form ([38be4d5](https://github.com/perfect-panel/ppanel-web/commit/38be4d5)) -* **node**: Port config ([a20834a](https://github.com/perfect-panel/ppanel-web/commit/a20834a)) -* **node**: Reality config ([fadd17f](https://github.com/perfect-panel/ppanel-web/commit/fadd17f)) -* **node**: Service Name config ([d0be685](https://github.com/perfect-panel/ppanel-web/commit/d0be685)) -* **node**: TLS config ([57fae12](https://github.com/perfect-panel/ppanel-web/commit/57fae12)) -* **node**: Trojan protocol config ([7e1eb90](https://github.com/perfect-panel/ppanel-web/commit/7e1eb90)) -* **payment**: Config and types ([b0c87fb](https://github.com/perfect-panel/ppanel-web/commit/b0c87fb)) -* **payment**: Qrcode ([a9a535b](https://github.com/perfect-panel/ppanel-web/commit/a9a535b)) -* **request**: Locale ([37d408f](https://github.com/perfect-panel/ppanel-web/commit/37d408f)) -* **subscribe**: Discount ([35a9f69](https://github.com/perfect-panel/ppanel-web/commit/35a9f69)) -* **subscribe**: Extract Domain ([40d61a9](https://github.com/perfect-panel/ppanel-web/commit/40d61a9)) -* **subscribe**: Jumps and internationalization ([13fdec3](https://github.com/perfect-panel/ppanel-web/commit/13fdec3)) -* **subscribe**: Server group id ([90e6764](https://github.com/perfect-panel/ppanel-web/commit/90e6764)) -* **turnstile**: Turnstile_site_key ([0327b73](https://github.com/perfect-panel/ppanel-web/commit/0327b73)) -* **types**: Checking ([2992824](https://github.com/perfect-panel/ppanel-web/commit/2992824)) -* **types**: Order type ([c7e50a9](https://github.com/perfect-panel/ppanel-web/commit/c7e50a9)) -* **ui**: Bugs ([b023d0f](https://github.com/perfect-panel/ppanel-web/commit/b023d0f)) -* **ui**: Components ([a7927d7](https://github.com/perfect-panel/ppanel-web/commit/a7927d7)) -* **ui**: Fix json formatting ([e1ddd94](https://github.com/perfect-panel/ppanel-web/commit/e1ddd94)) -* **utils**: Login redirect url ([cbe5f0d](https://github.com/perfect-panel/ppanel-web/commit/cbe5f0d)) - - -### 💄 Styles - -* **document**: Update ([0a8109b](https://github.com/perfect-panel/ppanel-web/commit/0a8109b)) -* **node**: Form ([d5f5add](https://github.com/perfect-panel/ppanel-web/commit/d5f5add)) -* **node**: Protocol Tab ([2bcb925](https://github.com/perfect-panel/ppanel-web/commit/2bcb925)) -* **ui**: Update mobile style ([eda18bc](https://github.com/perfect-panel/ppanel-web/commit/eda18bc)) - - -### 📝 Documentation - -* **readme**: License name ([74cb16b](https://github.com/perfect-panel/ppanel-web/commit/74cb16b)) +### 👷 Build System +- **config**: Update pm2 config ([d95b425](https://github.com/perfect-panel/ppanel-web/commit/d95b425)) ### 🔧 Continuous Integration -* **github**: Release docker ([5af60aa](https://github.com/perfect-panel/ppanel-web/commit/5af60aa)) +- **step**: Update step name ([9eca618](https://github.com/perfect-panel/ppanel-web/commit/9eca618)) + +# 1.0.0-beta.1 (2024-12-25) + +### ♻ Code Refactoring + +- **api**: Sort and Announcement ([38d5616](https://github.com/perfect-panel/ppanel-web/commit/38d5616)) +- **config**: GenerateMetadata ([a0bb101](https://github.com/perfect-panel/ppanel-web/commit/a0bb101)) +- **config**: Viewport ([24b8601](https://github.com/perfect-panel/ppanel-web/commit/24b8601)) +- **core**: Restructure project for better module separation ([9d0cb8b](https://github.com/perfect-panel/ppanel-web/commit/9d0cb8b)) +- **deps**: Update ([19837a1](https://github.com/perfect-panel/ppanel-web/commit/19837a1)) +- **empty**: Content ([aa4c667](https://github.com/perfect-panel/ppanel-web/commit/aa4c667)) +- **ui**: Dependencies ([727d779](https://github.com/perfect-panel/ppanel-web/commit/727d779)) +- **ui**: Layout ([9262d7d](https://github.com/perfect-panel/ppanel-web/commit/9262d7d)) + +### ⚡ Performance Improvements + +- **subscribe**: Form discount price ([059a892](https://github.com/perfect-panel/ppanel-web/commit/059a892)) + +### ✨ Features + +- **ad**: Advertise ([b1105cd](https://github.com/perfect-panel/ppanel-web/commit/b1105cd)) +- **affiliate**: Affiliate Detail ([a782c17](https://github.com/perfect-panel/ppanel-web/commit/a782c17)) +- **affiliate**: Commission Rate ([5eec430](https://github.com/perfect-panel/ppanel-web/commit/5eec430)) +- **announcement**: Popup and pinned ([f3680a7](https://github.com/perfect-panel/ppanel-web/commit/f3680a7)) +- **api**: Telegram ([17ce96a](https://github.com/perfect-panel/ppanel-web/commit/17ce96a)) +- **billing**: Update Billing ([078fc9d](https://github.com/perfect-panel/ppanel-web/commit/078fc9d)) +- **config**: FormatBytes ([9251a09](https://github.com/perfect-panel/ppanel-web/commit/9251a09)) +- **config**: Protocol type ([a3b45b4](https://github.com/perfect-panel/ppanel-web/commit/a3b45b4)) +- **config**: Webhook Domain ([01e06c6](https://github.com/perfect-panel/ppanel-web/commit/01e06c6)) +- **dashboard**: Optimization ([5b3f4b4](https://github.com/perfect-panel/ppanel-web/commit/5b3f4b4)) +- **dashboard**: Statistics ([2926abc](https://github.com/perfect-panel/ppanel-web/commit/2926abc)) +- **header**: Update locales ([bfb6c27](https://github.com/perfect-panel/ppanel-web/commit/bfb6c27)) +- **locale**: Add Persian ([93a0a88](https://github.com/perfect-panel/ppanel-web/commit/93a0a88)) +- **locales**: Add multiple languages ([b243ab9](https://github.com/perfect-panel/ppanel-web/commit/b243ab9)) +- **node-subscription**: Add copy functionality for columns ([3a81e37](https://github.com/perfect-panel/ppanel-web/commit/3a81e37)) +- **node**: Add NodeStatus ([c712624](https://github.com/perfect-panel/ppanel-web/commit/c712624)) +- **node**: Add protocol ([301b635](https://github.com/perfect-panel/ppanel-web/commit/301b635)) +- **node**: Add status ([c06372b](https://github.com/perfect-panel/ppanel-web/commit/c06372b)) +- **subscribe**: Add unit time ([39d07ec](https://github.com/perfect-panel/ppanel-web/commit/39d07ec)) +- **table**: Add sorting support for Node and subscription columns ([27924b0](https://github.com/perfect-panel/ppanel-web/commit/27924b0)) +- **table**: Supports drag and drop sorting ([2f56ef5](https://github.com/perfect-panel/ppanel-web/commit/2f56ef5)) +- **tos**: Display data ([6024454](https://github.com/perfect-panel/ppanel-web/commit/6024454)) +- **tutorial**: Add common tutorial list ([872252c](https://github.com/perfect-panel/ppanel-web/commit/872252c)) +- **ui**: System Tool ([1836980](https://github.com/perfect-panel/ppanel-web/commit/1836980)) +- **ui**: Update homepage data ([8425b13](https://github.com/perfect-panel/ppanel-web/commit/8425b13)) + +### 🎫 Chores + +- **config**: Entry locale ([5737331](https://github.com/perfect-panel/ppanel-web/commit/5737331)) +- **init**: Project initialization ([829edfa](https://github.com/perfect-panel/ppanel-web/commit/829edfa)) + +### 🐛 Bug Fixes + +- **api**: PreCreateOrder ([ca747f5](https://github.com/perfect-panel/ppanel-web/commit/ca747f5)) +- **api**: Purge ([98c1c30](https://github.com/perfect-panel/ppanel-web/commit/98c1c30)) +- **api**: Server and order ([255bd82](https://github.com/perfect-panel/ppanel-web/commit/255bd82)) +- **api**: Statistics ([7962162](https://github.com/perfect-panel/ppanel-web/commit/7962162)) +- **api**: Subscribe token ([1932ba7](https://github.com/perfect-panel/ppanel-web/commit/1932ba7)) +- **api**: Update Model ([39aaa73](https://github.com/perfect-panel/ppanel-web/commit/39aaa73)) +- **billing**: ExpiryDate ([e85e545](https://github.com/perfect-panel/ppanel-web/commit/e85e545)) +- **billing**: I18n and styles ([81e0f21](https://github.com/perfect-panel/ppanel-web/commit/81e0f21)) +- **config**: AlipayF2F ([6c07107](https://github.com/perfect-panel/ppanel-web/commit/6c07107)) +- **config**: Bugs ([f57e40c](https://github.com/perfect-panel/ppanel-web/commit/f57e40c)) +- **config**: Checkout Order ([a31e763](https://github.com/perfect-panel/ppanel-web/commit/a31e763)) +- **config**: FormatBytes ([bbc2da0](https://github.com/perfect-panel/ppanel-web/commit/bbc2da0)) +- **config**: NoStore ([2cc18cf](https://github.com/perfect-panel/ppanel-web/commit/2cc18cf)) +- **config**: Runtime env ([a1e4999](https://github.com/perfect-panel/ppanel-web/commit/a1e4999)) +- **config**: Status Percentag ([8f322fb](https://github.com/perfect-panel/ppanel-web/commit/8f322fb)) +- **config**: SubLink ([1c61966](https://github.com/perfect-panel/ppanel-web/commit/1c61966)) +- **config**: Subscribe Link ([11ea821](https://github.com/perfect-panel/ppanel-web/commit/11ea821)) +- **controller**: Order status ([8c6a097](https://github.com/perfect-panel/ppanel-web/commit/8c6a097)) +- **dashboard**: Format Bytes ([d8b0bd9](https://github.com/perfect-panel/ppanel-web/commit/d8b0bd9)) +- **deps**: Typescript config ([34e24b8](https://github.com/perfect-panel/ppanel-web/commit/34e24b8)) +- **deps**: Update clipboard ([5572710](https://github.com/perfect-panel/ppanel-web/commit/5572710)) +- **editor**: Change value ([4fdfeb2](https://github.com/perfect-panel/ppanel-web/commit/4fdfeb2)) +- **footer**: Email address ([a451f44](https://github.com/perfect-panel/ppanel-web/commit/a451f44)) +- **locale**: Default value ([937408f](https://github.com/perfect-panel/ppanel-web/commit/937408f)) +- **locale**: Document ([6f0fa20](https://github.com/perfect-panel/ppanel-web/commit/6f0fa20)) +- **locale**: Empty ([3832d20](https://github.com/perfect-panel/ppanel-web/commit/3832d20)) +- **locale**: Input Placeholder Webhook Domain ([bca0935](https://github.com/perfect-panel/ppanel-web/commit/bca0935)) +- **locale**: Language Select ([0befdb0](https://github.com/perfect-panel/ppanel-web/commit/0befdb0)) +- **locale**: Subscription Path Description ([4c67387](https://github.com/perfect-panel/ppanel-web/commit/4c67387)) +- **metadata**: Global metadata ([15d5ecf](https://github.com/perfect-panel/ppanel-web/commit/15d5ecf)) +- **node**: Locale and form ([38be4d5](https://github.com/perfect-panel/ppanel-web/commit/38be4d5)) +- **node**: Port config ([a20834a](https://github.com/perfect-panel/ppanel-web/commit/a20834a)) +- **node**: Reality config ([fadd17f](https://github.com/perfect-panel/ppanel-web/commit/fadd17f)) +- **node**: Service Name config ([d0be685](https://github.com/perfect-panel/ppanel-web/commit/d0be685)) +- **node**: TLS config ([57fae12](https://github.com/perfect-panel/ppanel-web/commit/57fae12)) +- **node**: Trojan protocol config ([7e1eb90](https://github.com/perfect-panel/ppanel-web/commit/7e1eb90)) +- **payment**: Config and types ([b0c87fb](https://github.com/perfect-panel/ppanel-web/commit/b0c87fb)) +- **payment**: Qrcode ([a9a535b](https://github.com/perfect-panel/ppanel-web/commit/a9a535b)) +- **request**: Locale ([37d408f](https://github.com/perfect-panel/ppanel-web/commit/37d408f)) +- **subscribe**: Discount ([35a9f69](https://github.com/perfect-panel/ppanel-web/commit/35a9f69)) +- **subscribe**: Extract Domain ([40d61a9](https://github.com/perfect-panel/ppanel-web/commit/40d61a9)) +- **subscribe**: Jumps and internationalization ([13fdec3](https://github.com/perfect-panel/ppanel-web/commit/13fdec3)) +- **subscribe**: Server group id ([90e6764](https://github.com/perfect-panel/ppanel-web/commit/90e6764)) +- **turnstile**: Turnstile_site_key ([0327b73](https://github.com/perfect-panel/ppanel-web/commit/0327b73)) +- **types**: Checking ([2992824](https://github.com/perfect-panel/ppanel-web/commit/2992824)) +- **types**: Order type ([c7e50a9](https://github.com/perfect-panel/ppanel-web/commit/c7e50a9)) +- **ui**: Bugs ([b023d0f](https://github.com/perfect-panel/ppanel-web/commit/b023d0f)) +- **ui**: Components ([a7927d7](https://github.com/perfect-panel/ppanel-web/commit/a7927d7)) +- **ui**: Fix json formatting ([e1ddd94](https://github.com/perfect-panel/ppanel-web/commit/e1ddd94)) +- **utils**: Login redirect url ([cbe5f0d](https://github.com/perfect-panel/ppanel-web/commit/cbe5f0d)) + +### 💄 Styles + +- **document**: Update ([0a8109b](https://github.com/perfect-panel/ppanel-web/commit/0a8109b)) +- **node**: Form ([d5f5add](https://github.com/perfect-panel/ppanel-web/commit/d5f5add)) +- **node**: Protocol Tab ([2bcb925](https://github.com/perfect-panel/ppanel-web/commit/2bcb925)) +- **ui**: Update mobile style ([eda18bc](https://github.com/perfect-panel/ppanel-web/commit/eda18bc)) + +### 📝 Documentation + +- **readme**: License name ([74cb16b](https://github.com/perfect-panel/ppanel-web/commit/74cb16b)) + +### 🔧 Continuous Integration + +- **github**: Release docker ([5af60aa](https://github.com/perfect-panel/ppanel-web/commit/5af60aa)) diff --git a/bun.lockb b/bun.lockb index 37b8f9d..2b0ca9b 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 4f51bbd..4546a1e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ppanel-web", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "private": true, "homepage": "https://github.com/perfect-panel/ppanel-web", "bugs": { diff --git a/scripts/publish.sh b/scripts/publish.sh index f676f67..e48876d 100755 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -19,29 +19,6 @@ bun install || { exit 1 } -# Function to extract variables from .env.template -extract_env_variables() { - local TEMPLATE_PATH=$1 - local DEFAULT_PORT=$2 - local ENV_VARS=" NODE_ENV: 'production'," # Start with NODE_ENV - ENV_VARS="$ENV_VARS\n PORT: $DEFAULT_PORT," # Add default port - - if [[ -f $TEMPLATE_PATH ]]; then - while IFS= read -r line; do - # Ignore empty lines and comments - if [[ ! -z "$line" && ! $line =~ ^# ]]; then - VAR_NAME=$(echo $line | cut -d'=' -f1) - VAR_VALUE=$(echo $line | cut -d'=' -f2-) - ENV_VARS="$ENV_VARS\n $VAR_NAME: '$VAR_VALUE'," # Add new line for each variable - fi - done < "$TEMPLATE_PATH" - fi - - # Remove the trailing comma - ENV_VARS=${ENV_VARS%,} - echo -e "$ENV_VARS" -} - # Step 2: Build each project using Turbo for ITEM in "${PROJECTS[@]}"; do IFS=":" read -r PROJECT PROJECT_PATH DEFAULT_PORT <<< "$ITEM" @@ -50,16 +27,12 @@ for ITEM in "${PROJECTS[@]}"; do echo "Build failed for $PROJECT" exit 1 } - - # Extract environment variables - ENV_TEMPLATE_PATH="$PROJECT_PATH/.env.template" - ENV_VARS=$(extract_env_variables "$ENV_TEMPLATE_PATH" "$DEFAULT_PORT") - # Copy build output and static resources to the build directory PROJECT_BUILD_DIR=$OUT_DIR/$PROJECT cp -r $PROJECT_PATH/.next/standalone/. $PROJECT_BUILD_DIR/ cp -r $PROJECT_PATH/.next/static $PROJECT_BUILD_DIR/$PROJECT_PATH/.next/ cp -r $PROJECT_PATH/public $PROJECT_BUILD_DIR/$PROJECT_PATH/ + cp -r $PROJECT_PATH/.env.template $PROJECT_BUILD_DIR/$PROJECT_PATH/.env # Generate ecosystem.config.js for the project ECOSYSTEM_CONFIG="$PROJECT_BUILD_DIR/ecosystem.config.js" @@ -70,11 +43,11 @@ module.exports = { name: "$PROJECT", script: "$PROJECT_PATH/server.js", interpreter: "bun", - watch: ["$PROJECT_PATH"], + watch: true, instances: "max", exec_mode: "cluster", env: { -$ENV_VARS + PORT: $DEFAULT_PORT } } ] @@ -84,7 +57,7 @@ EOL # Create a tar.gz archive for each project ARCHIVE_NAME="$OUT_DIR/$PROJECT.tar.gz" - tar -czvf $ARCHIVE_NAME -C $PROJECT_BUILD_DIR . || { + tar -czvf $ARCHIVE_NAME -C $OUT_DIR $PROJECT || { echo "Archiving failed for $PROJECT" exit 1 } @@ -92,4 +65,4 @@ EOL done # Final output -echo "All projects have been built, archived, and individual PM2 configuration files generated in their respective directories." +echo "All projects have been built and archived successfully."