update
This commit is contained in:
		| @@ -1,5 +1,12 @@ | |||||||
| # Changelog | # Changelog | ||||||
|  |  | ||||||
|  | ## 2025-05-18 - 19.2.1 - fix(examples/dynamic-port-management) | ||||||
|  | Add explicit IRouteConfig type annotations and use 'as const' for action types in dynamic port management example | ||||||
|  |  | ||||||
|  | - Defined newRoute and thirdRoute with explicit IRouteConfig types | ||||||
|  | - Added 'as const' to the action.type field to enforce literal types | ||||||
|  | - Improved type-safety in dynamic port management example without altering runtime behavior | ||||||
|  |  | ||||||
| ## 2025-05-18 - 19.2.0 - feat(acme) | ## 2025-05-18 - 19.2.0 - feat(acme) | ||||||
| Improve certificate management by adding global ACME configuration support and allowing route-level overrides. Enhanced error messages help identify missing ACME email and misconfigurations (e.g. wildcard domains). Documentation has been updated and new tests added to verify SmartCertManager behavior, ensuring a clearer migration path from legacy implementations. | Improve certificate management by adding global ACME configuration support and allowing route-level overrides. Enhanced error messages help identify missing ACME email and misconfigurations (e.g. wildcard domains). Documentation has been updated and new tests added to verify SmartCertManager behavior, ensuring a clearer migration path from legacy implementations. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,6 +6,7 @@ | |||||||
|  */ |  */ | ||||||
|  |  | ||||||
| import { SmartProxy } from '../dist_ts/index.js'; | import { SmartProxy } from '../dist_ts/index.js'; | ||||||
|  | import type { IRouteConfig } from '../dist_ts/index.js'; | ||||||
|  |  | ||||||
| async function main() { | async function main() { | ||||||
|   // Create a SmartProxy instance with initial routes |   // Create a SmartProxy instance with initial routes | ||||||
| @@ -48,13 +49,13 @@ async function main() { | |||||||
|   const currentRoutes = proxy.settings.routes; |   const currentRoutes = proxy.settings.routes; | ||||||
|    |    | ||||||
|   // Create a new route for port 8081 |   // Create a new route for port 8081 | ||||||
|   const newRoute = { |   const newRoute: IRouteConfig = { | ||||||
|     match: {  |     match: {  | ||||||
|       ports: 8081, |       ports: 8081, | ||||||
|       domains: ['api.example.com'] |       domains: ['api.example.com'] | ||||||
|     }, |     }, | ||||||
|     action: { |     action: { | ||||||
|       type: 'forward', |       type: 'forward' as const, | ||||||
|       target: { host: 'localhost', port: 4000 } |       target: { host: 'localhost', port: 4000 } | ||||||
|     }, |     }, | ||||||
|     name: 'API Route' |     name: 'API Route' | ||||||
| @@ -69,13 +70,13 @@ async function main() { | |||||||
|   await new Promise(resolve => setTimeout(resolve, 3000)); |   await new Promise(resolve => setTimeout(resolve, 3000)); | ||||||
|  |  | ||||||
|   // Add a completely new port via updateRoutes, which will automatically start listening |   // Add a completely new port via updateRoutes, which will automatically start listening | ||||||
|   const thirdRoute = { |   const thirdRoute: IRouteConfig = { | ||||||
|     match: {  |     match: {  | ||||||
|       ports: 8082, |       ports: 8082, | ||||||
|       domains: ['admin.example.com'] |       domains: ['admin.example.com'] | ||||||
|     }, |     }, | ||||||
|     action: { |     action: { | ||||||
|       type: 'forward', |       type: 'forward' as const, | ||||||
|       target: { host: 'localhost', port: 5000 } |       target: { host: 'localhost', port: 5000 } | ||||||
|     }, |     }, | ||||||
|     name: 'Admin Route' |     name: 'Admin Route' | ||||||
|   | |||||||
| @@ -3,6 +3,6 @@ | |||||||
|  */ |  */ | ||||||
| export const commitinfo = { | export const commitinfo = { | ||||||
|   name: '@push.rocks/smartproxy', |   name: '@push.rocks/smartproxy', | ||||||
|   version: '19.2.0', |   version: '19.2.1', | ||||||
|   description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.' |   description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.' | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user