@stacksjs/rpx 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/start.d.ts CHANGED
@@ -1,15 +1,13 @@
1
- import type { CleanupOptions, ProxySetupOptions, ReverseProxyConfigs, ReverseProxyOption, ReverseProxyOptions, SSLConfig, SingleReverseProxyConfig } from './types';
1
+ import type { CleanupOptions, ProxySetupOptions, ReverseProxyOption, ReverseProxyOptions, SSLConfig, SingleReverseProxyConfig } from './types';
2
2
 
3
3
  declare const activeServers: Set<http.Server | https.Server>;
4
4
  export declare function cleanup(options?: CleanupOptions): Promise<void>;
5
- declare function loadSSLConfig(options: ReverseProxyOption): Promise<SSLConfig | null>;
6
5
  declare function isPortInUse(port: number, hostname: string, verbose?: boolean): Promise<boolean>;
7
6
  declare function findAvailablePort(startPort: number, hostname: string, verbose?: boolean): Promise<number>;
8
7
  declare function testConnection(hostname: string, port: number, verbose?: boolean): Promise<void>;
9
8
  export declare function startServer(options: SingleReverseProxyConfig): Promise<void>;
10
- declare function createProxyServer(from: string, to: string, fromPort: number, listenPort: number, hostname: string, sourceUrl: Pick<URL, 'hostname' | 'host'>, ssl: SSLConfig | null, verbose?: boolean,): Promise<void>;
9
+ declare function createProxyServer(from: string, to: string, fromPort: number, listenPort: number, hostname: string, sourceUrl: Pick<URL, 'hostname' | 'host'>, ssl: SSLConfig | null, verbose?: boolean): Promise<void>;
11
10
  export declare function setupReverseProxy(options: ProxySetupOptions): Promise<void>;
12
11
  export declare function startHttpRedirectServer(verbose?: boolean): void;
13
12
  export declare function startProxy(options: ReverseProxyOption): void;
14
- export declare function startProxies(options?: ReverseProxyOptions): Promise<void>;
15
- declare function isMultiProxyConfig(options: ReverseProxyConfigs): options is MultiReverseProxyConfig;
13
+ export declare function startProxies(options?: ReverseProxyOptions): Promise<void>;
package/dist/types.d.ts CHANGED
@@ -1,50 +1,57 @@
1
- import type { TlsConfig } from '@stacksjs/tlsx';
1
+ import type { TlsConfig, TlsOption } from '@stacksjs/tlsx';
2
2
 
3
- export type { TlsConfig };
4
- export declare type CustomTlsConfig = Partial<Omit<TlsConfig, 'caCertPath' | 'certPath' | 'keyPath'>> &
5
- Pick<TlsConfig, 'caCertPath' | 'certPath' | 'keyPath'>
3
+ export type { TlsConfig, TlsOption }
6
4
  export declare interface BaseReverseProxyConfig {
7
5
  from: string
8
6
  to: string
9
7
  }
10
- export declare interface CleanupOptions {
8
+ export declare type BaseReverseProxyOptions = Partial<BaseReverseProxyConfig>
9
+
10
+ export interface CleanupOptions {
11
11
  domains?: string[]
12
12
  etcHostsCleanup?: boolean
13
13
  verbose?: boolean
14
14
  }
15
- export declare interface SharedProxySettings {
16
- https: boolean | CustomTlsConfig
15
+
16
+ export interface SharedProxyConfig {
17
+ https: boolean | TlsOption
17
18
  etcHostsCleanup: boolean
18
19
  verbose: boolean
19
20
  _cachedSSLConfig?: SSLConfig | null
20
21
  }
21
- export declare interface SingleReverseProxyConfig extends BaseReverseProxyConfig, SharedProxySettings {}
22
- export declare interface MultiReverseProxyConfig extends SharedProxySettings {
22
+ export type SharedProxyOptions = Partial<SharedProxyConfig>
23
+
24
+ export interface SingleReverseProxyConfig extends BaseReverseProxyConfig, SharedProxyConfig {}
25
+ export interface MultiReverseProxyConfig extends SharedProxyConfig {
23
26
  proxies: BaseReverseProxyConfig[]
24
27
  }
25
- export declare type ReverseProxyConfigs = SingleReverseProxyConfig | MultiReverseProxyConfig
26
- export declare type BaseReverseProxyOption = Partial<BaseReverseProxyConfig>
27
- export type PartialSharedSettings = Partial<SharedProxySettings>
28
- export declare type MultiReverseProxyOption = MultiReverseProxyConfig
29
- export declare type ReverseProxyOption = SingleReverseProxyConfig
30
- export type ReverseProxyOptions = SingleReverseProxyConfig | MultiReverseProxyOption
31
- export declare interface SSLConfig {
28
+ export type ReverseProxyConfig = SingleReverseProxyConfig
29
+ export type ReverseProxyConfigs = SingleReverseProxyConfig | MultiReverseProxyConfig
30
+
31
+ export type BaseReverseProxyOption = Partial<BaseReverseProxyConfig>
32
+ export type ReverseProxyOption = Partial<SingleReverseProxyConfig>
33
+ export type ReverseProxyOptions = Partial<SingleReverseProxyConfig> | Partial<MultiReverseProxyConfig>
34
+
35
+ export interface SSLConfig {
32
36
  key: string
33
37
  cert: string
34
38
  ca?: string | string[]
35
39
  }
36
- export declare interface ProxySetupOptions extends Omit<ReverseProxyOption, 'from'> {
40
+
41
+ export interface ProxySetupOptions extends Omit<ReverseProxyOption, 'from'> {
37
42
  fromPort: number
38
43
  sourceUrl: Pick<URL, 'hostname' | 'host'>
39
44
  ssl: SSLConfig | null
40
45
  from: string
41
46
  to: string
42
47
  }
43
- export declare interface PortManager {
48
+
49
+ export interface PortManager {
44
50
  usedPorts: Set<number>
45
51
  getNextAvailablePort: (startPort: number) => Promise<number>
46
52
  }
47
- export declare interface ProxySetupOptions extends Omit<ReverseProxyOption, 'from'> {
53
+
54
+ export interface ProxySetupOptions extends Omit<ReverseProxyOption, 'from'> {
48
55
  fromPort: number
49
56
  sourceUrl: Pick<URL, 'hostname' | 'host'>
50
57
  ssl: SSLConfig | null
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,9 @@
1
- import type { ReverseProxyConfigs } from './types';
1
+ import type { ReverseProxyOption } from './types';
2
2
 
3
3
  export declare function debugLog(category: string, message: string, verbose?: boolean): void;
4
- export declare function extractDomains(options: ReverseProxyConfigs): string[];
4
+ export declare function extractHostname(options: ReverseProxyOption | ReverseProxyOptions): string[];
5
+ declare interface RootCA {
6
+ certificate: string
7
+ privateKey: string
8
+ }
9
+ export declare function isValidRootCA(value: unknown): value is RootCA;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/rpx",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "description": "A modern reverse proxy.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",
@@ -61,15 +61,15 @@
61
61
  "preview:docs": "vitepress preview docs"
62
62
  },
63
63
  "dependencies": {
64
- "@stacksjs/tlsx": "^0.7.6"
64
+ "@stacksjs/tlsx": "^0.8.3"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@stacksjs/cli": "^0.68.2",
68
68
  "@stacksjs/eslint-config": "^3.8.1-beta.2",
69
69
  "@stacksjs/storage": "^0.68.2",
70
- "@types/bun": "^1.1.13",
70
+ "@types/bun": "^1.1.14",
71
71
  "bun-config": "^0.3.2",
72
- "bun-plugin-dtsx": "^0.21.8",
72
+ "bun-plugin-dtsx": "^0.21.9",
73
73
  "typescript": "^5.7.2",
74
74
  "vitepress": "^1.5.0"
75
75
  },