From 62605a1098d9344df6aed95d3b107c0ab5c37e71 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Sun, 18 May 2025 18:31:40 +0000 Subject: [PATCH] update --- changelog.md | 7 +++++++ examples/dynamic-port-management.ts | 9 +++++---- ts/00_commitinfo_data.ts | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index 259816c..68df506 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # 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) 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. diff --git a/examples/dynamic-port-management.ts b/examples/dynamic-port-management.ts index a07b399..af96bb2 100644 --- a/examples/dynamic-port-management.ts +++ b/examples/dynamic-port-management.ts @@ -6,6 +6,7 @@ */ import { SmartProxy } from '../dist_ts/index.js'; +import type { IRouteConfig } from '../dist_ts/index.js'; async function main() { // Create a SmartProxy instance with initial routes @@ -48,13 +49,13 @@ async function main() { const currentRoutes = proxy.settings.routes; // Create a new route for port 8081 - const newRoute = { + const newRoute: IRouteConfig = { match: { ports: 8081, domains: ['api.example.com'] }, action: { - type: 'forward', + type: 'forward' as const, target: { host: 'localhost', port: 4000 } }, name: 'API Route' @@ -69,13 +70,13 @@ async function main() { await new Promise(resolve => setTimeout(resolve, 3000)); // Add a completely new port via updateRoutes, which will automatically start listening - const thirdRoute = { + const thirdRoute: IRouteConfig = { match: { ports: 8082, domains: ['admin.example.com'] }, action: { - type: 'forward', + type: 'forward' as const, target: { host: 'localhost', port: 5000 } }, name: 'Admin Route' diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 5adddde..ef88cb1 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { 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.' }