From cf54d0f3a22540c9c8f06e3373be7f0728fed70b Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Thu, 26 Dec 2024 22:23:45 +0700 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(config):=20Simpli?= =?UTF-8?q?fy=20environment=20variable=20handling=20and=20improve=20build?= =?UTF-8?q?=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 253 ++++++++++++++++++++++----------------------- bun.lockb | Bin 605288 -> 604944 bytes package.json | 2 +- scripts/publish.sh | 37 +------ 4 files changed, 131 insertions(+), 161 deletions(-) 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 37b8f9d332079cf749b68e75090bc96e8b1e1490..2b0ca9b356f9b64a975d6a2697988947e43c1c7b 100755 GIT binary patch delta 7693 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 o6lklD(|lyt+Biq9)P-|jqSo7yd#{d8T delta 7887 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 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."