@plurid/plurid-react-server 0.0.0-15 → 0.0.0-16

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.
Files changed (29) hide show
  1. package/README.md +69 -5
  2. package/distribution/index.d.mts +244 -0
  3. package/distribution/index.d.ts +244 -6
  4. package/distribution/index.js +1573 -1059
  5. package/distribution/index.js.map +1 -0
  6. package/distribution/index.mjs +1642 -0
  7. package/distribution/index.mjs.map +1 -0
  8. package/package.json +129 -133
  9. package/distribution/__tests__/sanity.test.d.ts +0 -0
  10. package/distribution/data/constants/general/index.d.ts +0 -34
  11. package/distribution/data/constants/index.d.ts +0 -2
  12. package/distribution/data/constants/stiller/index.d.ts +0 -2
  13. package/distribution/data/interfaces/external/index.d.ts +0 -152
  14. package/distribution/data/interfaces/index.d.ts +0 -2
  15. package/distribution/data/interfaces/internal/index.d.ts +0 -84
  16. package/distribution/data/templates/index.d.ts +0 -2
  17. package/distribution/index.es.js +0 -1098
  18. package/distribution/objects/ContentGenerator/index.d.ts +0 -7
  19. package/distribution/objects/LiveServer/index.d.ts +0 -13
  20. package/distribution/objects/Renderer/index.d.ts +0 -22
  21. package/distribution/objects/Renderer/template/index.d.ts +0 -3
  22. package/distribution/objects/Server/index.d.ts +0 -58
  23. package/distribution/objects/Stiller/__tests__/index.test.d.ts +0 -1
  24. package/distribution/objects/Stiller/index.d.ts +0 -24
  25. package/distribution/objects/StillsGenerator/index.d.ts +0 -8
  26. package/distribution/objects/StillsManager/index.d.ts +0 -9
  27. package/distribution/utilities/pttp/index.d.ts +0 -6
  28. package/distribution/utilities/template/index.d.ts +0 -9
  29. package/distribution/utilities/wrapping/index.d.ts +0 -28
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <a target="_blank" href="https://www.npmjs.com/package/@plurid/plurid-react-server">
6
6
  <img src="https://img.shields.io/npm/v/@plurid/plurid-react-server.svg?logo=npm&colorB=1380C3&style=for-the-badge" alt="Version">
7
7
  </a>
8
- <a target="_blank" href="https://github.com/plurid/plurid-react-server/blob/master/LICENSE">
8
+ <a target="_blank" href="https://github.com/plurid/plurid/blob/master/LICENSE">
9
9
  <img src="https://img.shields.io/badge/license-DEL-blue.svg?colorB=1380C3&style=for-the-badge" alt="License: DEL">
10
10
  </a>
11
11
  </p>
@@ -17,9 +17,73 @@
17
17
  </h1>
18
18
 
19
19
 
20
- Server side rendering using `React` of [plurid'](https://github.com/plurid/plurid) to view and explore information as a 3D structure.
20
+ Server-side rendering for [plurid'](https://github.com/plurid/plurid) render a plurid 3D space to HTML on
21
+ the server (faster first paint, crawlable markup), with an optional **static "stills"** pipeline for
22
+ pre-rendering routes ahead of time.
21
23
 
22
24
 
23
- <p align="center">
24
- <img src="https://raw.githubusercontent.com/plurid/plurid/master/about/demo/plurid-com-example.png" height="600px">
25
- </p>
25
+ ## Install
26
+
27
+ `@plurid/plurid-react-server` is normally scaffolded by
28
+ [`@plurid/generate-plurid-app`](https://github.com/plurid/plurid/tree/master/packages/plurid-utilities/generate-plurid-app)
29
+ (server templates). The two runnable references are
30
+ [`fixtures/plurid-react-typescript-server`](https://github.com/plurid/plurid/tree/master/fixtures) and its
31
+ JavaScript twin.
32
+
33
+ ``` bash
34
+ npm install @plurid/plurid-react-server
35
+ ```
36
+
37
+
38
+ ## Server-side rendering
39
+
40
+ `PluridServer` is an Express server: it matches the request route, computes the plurid metastate via
41
+ `@plurid/plurid-react`'s `serverComputeMetastate`, renders the React tree to HTML (styled-components +
42
+ `react-helmet-async`), injects the metastate, and responds. Construct it with your routes / planes / helmet
43
+ / services and `start(port)` — see the server fixtures for a complete setup.
44
+
45
+ ``` ts
46
+ import PluridServer from '@plurid/plurid-react-server';
47
+
48
+ const server = new PluridServer({ routes, planes, preserves, helmet, /* … */ });
49
+ server.start(3000);
50
+ ```
51
+
52
+
53
+ ## Static stills (optional, Puppeteer)
54
+
55
+ A **still** is a route pre-rendered to static HTML ahead of time. When a still exists for a request, the
56
+ server sends it directly and skips on-the-fly rendering. Stills are entirely opt-in.
57
+
58
+ > **Puppeteer is an optional peer dependency** — only stills *generation* needs it; SSR does not. Install it
59
+ > where you generate stills:
60
+ > ``` bash
61
+ > npm install puppeteer
62
+ > ```
63
+
64
+ **Generating** stills (`PluridStillsGenerator`) — run it after building your server bundle:
65
+
66
+ ``` ts
67
+ import { PluridStillsGenerator } from '@plurid/plurid-react-server';
68
+
69
+ // reads routes from the BUILT server (default ./build/server.js), spins it up on a free port,
70
+ // drives Puppeteer over each static (non-parameterized) route, and writes:
71
+ // build/stills/<uuid>.json (one per route) + build/stills/metadata.json (the route → file index)
72
+ await new PluridStillsGenerator({ server: './build/server.js', build: './build/' }).initialize();
73
+ ```
74
+
75
+ The order matters: **build the server first**, then run the generator (it `require()`s the built bundle and
76
+ fails with a clear message if it's missing). Parameterized routes (`/x/:id`) and `stiller.ignore` routes are
77
+ skipped. One headless browser is reused across all routes; a navigation failure aborts the run with the
78
+ underlying reason rather than writing partial output.
79
+
80
+ **Serving** stills — automatic: on startup `PluridServer` loads `build/stills/metadata.json` (the
81
+ `stillsDirectory` under `buildDirectory`) and serves a matching still before falling back to live SSR. Tune
82
+ generation via the server's `stiller` option (`waitUntil`, `timeout`, `ignore`).
83
+
84
+
85
+ ## Documentation
86
+
87
+ Full engine docs: the repo [`README`](https://github.com/plurid/plurid),
88
+ [`GETTING_STARTED`](https://github.com/plurid/plurid/blob/master/GETTING_STARTED.md), and
89
+ [`CONTROL_SURFACE`](https://github.com/plurid/plurid/blob/master/docs/CONTROL_SURFACE.md).
@@ -0,0 +1,244 @@
1
+ import * as http from 'http';
2
+ import { Server } from 'http';
3
+ import express from 'express';
4
+ import { PluridPreserve, IsoMatcherRouteResult, PluridRoute, PluridRoutePlane, PluridRouterProperties } from '@plurid/plurid-data';
5
+ import { PluridReactComponent } from '@plurid/plurid-react';
6
+ import { Helmet } from 'react-helmet-async';
7
+
8
+ type PluridServerMiddleware = (request: express.Request, response: express.Response, next: express.NextFunction) => void;
9
+ type ServerRequest = express.Request & {
10
+ requestID: string;
11
+ requestTime: number;
12
+ };
13
+ type DebugLevels = 'none' | 'error' | 'warn' | 'info';
14
+ interface PluridServerOptions {
15
+ /** To be used for logging. Default `Plurid Server` */
16
+ serverName: string;
17
+ /**
18
+ * The hostname of the server exposed to the internet, e.g. `example.com`,
19
+ * to be used in plurid plane links.
20
+ */
21
+ hostname: string;
22
+ /**
23
+ * To log or not to log to the console.
24
+ */
25
+ quiet: boolean;
26
+ /**
27
+ * Debug levels.
28
+ *
29
+ * Production default: `error`.
30
+ * Development default: `info` and above.
31
+ */
32
+ debug: DebugLevels;
33
+ /**
34
+ * Use `gzip` compression for the response. Default `true`.
35
+ */
36
+ compression: boolean;
37
+ /**
38
+ * Open in browser at start.
39
+ */
40
+ open: boolean;
41
+ /**
42
+ * Name of the directory where the files (server and client) are bundled.
43
+ */
44
+ buildDirectory: string;
45
+ /**
46
+ * Name of the directory where the assets files are bundled.
47
+ */
48
+ assetsDirectory: string;
49
+ /**
50
+ * Default: `/gateway`.
51
+ */
52
+ gatewayEndpoint: string;
53
+ /**
54
+ * Provide a `max-age` in milliseconds for http caching of the static serves.
55
+ * This can also be a string accepted by the `ms` module.
56
+ *
57
+ * Default: 0.
58
+ */
59
+ staticCache: number | string;
60
+ /**
61
+ * Routes to be ignored when serving the application (`GET`).
62
+ */
63
+ ignore: string[];
64
+ /**
65
+ * Name of the directory where the stills are gathered.
66
+ */
67
+ stillsDirectory: string;
68
+ stiller: PluridStillerOptions;
69
+ /**
70
+ * Install `SIGINT`/`SIGTERM` handlers that stop the server and call `process.exit`.
71
+ * Defaults to `true` (convenient for the CLI). Set to `false` when EMBEDDING the server
72
+ * in a host process you do not want it to terminate; then manage lifecycle via `stop()`.
73
+ */
74
+ attachSignalHandlers: boolean;
75
+ }
76
+ type PluridServerPartialOptions = Partial<PluridServerOptions>;
77
+ interface PluridServerService<P = any, PP = any> {
78
+ name: string;
79
+ Provider: P;
80
+ properties?: PP;
81
+ }
82
+ interface PluridServerConfiguration {
83
+ routes: PluridRoute<PluridReactComponent>[];
84
+ planes?: PluridRoutePlane<PluridReactComponent>[];
85
+ preserves: PluridPreserveReact[];
86
+ helmet: Helmet;
87
+ styles?: string[];
88
+ middleware?: PluridServerMiddleware[];
89
+ exterior?: PluridReactComponent;
90
+ shell?: PluridReactComponent;
91
+ routerProperties?: Partial<PluridRouterProperties<PluridReactComponent>>;
92
+ /**
93
+ * Replace the internal plurid plane with a custom implementation.
94
+ */
95
+ customPlane?: PluridReactComponent;
96
+ /**
97
+ * Services to be handled by the server.
98
+ *
99
+ * Supported: `GraphQL`, `Redux`, `Stripe`.
100
+ */
101
+ services?: PluridServerService[];
102
+ options?: PluridServerPartialOptions;
103
+ template?: PluridServerTemplateConfiguration;
104
+ usePTTP?: boolean;
105
+ pttpHandler?: PTTPHandler;
106
+ elementqlEndpoint?: string;
107
+ }
108
+ type PTTPHandler = (path: string) => Promise<boolean>;
109
+ interface PluridServerTemplateConfiguration {
110
+ htmlLanguage?: string;
111
+ htmlAttributes?: Record<string, string>;
112
+ defaultStyle?: string;
113
+ headScripts?: string[];
114
+ bodyScripts?: string[];
115
+ /**
116
+ * The JavaScript vendor filepath to inject in the HTML template.
117
+ * Default `'/vendor.js'`.
118
+ *
119
+ * A CDN link can be used for better caching.
120
+ */
121
+ vendorScriptSource?: string;
122
+ /**
123
+ * The JavaScript filename to inject in the HTML template.
124
+ */
125
+ mainScriptSource?: string;
126
+ bodyAttributes?: Record<string, string>;
127
+ /**
128
+ * The ID of the root element in the HTML template.
129
+ */
130
+ root?: string;
131
+ /**
132
+ * Global variable name to be attached to window on the server-side
133
+ * to preload plurid metastate.
134
+ *
135
+ * Default: `__PRELOADED_PLURID_METASTATE__`
136
+ */
137
+ defaultPreloadedPluridMetastate?: string;
138
+ minify?: boolean;
139
+ }
140
+ interface PluridStillerOptions {
141
+ /**
142
+ * Recommended: `'networkidle0'` | `'networkidle2'` | `'load'`.
143
+ *
144
+ * Default: `'networkidle0'`.
145
+ */
146
+ waitUntil: 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
147
+ /**
148
+ * Maximum navigation time in milliseconds, pass 0 to disable timeout.
149
+ *
150
+ * Default: 30000.
151
+ */
152
+ timeout: number;
153
+ /**
154
+ * Routes to be ignored by the stilling process.
155
+ */
156
+ ignore: string[];
157
+ }
158
+ type PluridPreserveReact = PluridPreserve<IsoMatcherRouteResult<PluridReactComponent<any>> | undefined, express.Request, express.Response>;
159
+ interface PluridLiveServerOptions {
160
+ server: string;
161
+ }
162
+
163
+ interface StillsGeneratorOptions {
164
+ server: string;
165
+ build: string;
166
+ }
167
+
168
+ declare class PluridServer {
169
+ private routes;
170
+ private planes;
171
+ private preserves;
172
+ private helmet;
173
+ private styles;
174
+ private middleware;
175
+ private exterior;
176
+ private shell;
177
+ private routerProperties;
178
+ private services;
179
+ private options;
180
+ private template;
181
+ usePTTP: boolean;
182
+ private pttpHandler;
183
+ private elementqlEndpoint;
184
+ private serverApplication;
185
+ private server;
186
+ private port;
187
+ private stills;
188
+ private isoMatcher;
189
+ constructor(configuration: PluridServerConfiguration);
190
+ private handleProcessSignal;
191
+ private signalHandlersAttached;
192
+ attachSignalHandlers(): void;
193
+ detachSignalHandlers(): void;
194
+ static analysis(pluridServer: PluridServer): {
195
+ routes: PluridRoute<PluridReactComponent, any>[];
196
+ options: PluridServerOptions;
197
+ };
198
+ start(port?: string | number): Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
199
+ stop(): void;
200
+ handle(): {
201
+ post: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
202
+ patch: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
203
+ put: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
204
+ delete: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
205
+ };
206
+ instance(): express.Express;
207
+ private handleEndpoints;
208
+ private handleGetRequest;
209
+ private handlePTTPRequest;
210
+ private ignoreGetRequest;
211
+ private resolveMatchingPath;
212
+ private resolvePreserve;
213
+ private resolvePreserveAfterServe;
214
+ private handleGateway;
215
+ private renderApplication;
216
+ private getContentAndStyles;
217
+ private computeRequestTime;
218
+ private handleOptions;
219
+ private configureServer;
220
+ private loadMiddleware;
221
+ private open;
222
+ private debugAllows;
223
+ }
224
+
225
+ declare class LiveServer {
226
+ private options;
227
+ private expressServer;
228
+ private httpServer;
229
+ private sockets;
230
+ constructor(options?: Partial<PluridLiveServerOptions>);
231
+ private resolveOptions;
232
+ private setupExpressServer;
233
+ private setupHttpServer;
234
+ start(): never;
235
+ }
236
+
237
+ declare class StillsGenerator {
238
+ private options;
239
+ constructor(options?: Partial<StillsGeneratorOptions>);
240
+ resolveOptions(options?: Partial<StillsGeneratorOptions>): StillsGeneratorOptions;
241
+ initialize(): Promise<void>;
242
+ }
243
+
244
+ export { type DebugLevels, type PTTPHandler, LiveServer as PluridLiveServer, type PluridLiveServerOptions, type PluridPreserveReact, type PluridServerConfiguration, type PluridServerMiddleware, type PluridServerOptions, type PluridServerPartialOptions, type PluridServerService, type PluridServerTemplateConfiguration, type PluridStillerOptions, StillsGenerator as PluridStillsGenerator, type ServerRequest, PluridServer as default };
@@ -1,6 +1,244 @@
1
- import PluridServer from './objects/Server';
2
- import PluridLiveServer from './objects/LiveServer';
3
- import PluridStillsGenerator from './objects/StillsGenerator';
4
- export * from './data/interfaces/external';
5
- export { PluridLiveServer, PluridStillsGenerator, };
6
- export default PluridServer;
1
+ import * as http from 'http';
2
+ import { Server } from 'http';
3
+ import express from 'express';
4
+ import { PluridPreserve, IsoMatcherRouteResult, PluridRoute, PluridRoutePlane, PluridRouterProperties } from '@plurid/plurid-data';
5
+ import { PluridReactComponent } from '@plurid/plurid-react';
6
+ import { Helmet } from 'react-helmet-async';
7
+
8
+ type PluridServerMiddleware = (request: express.Request, response: express.Response, next: express.NextFunction) => void;
9
+ type ServerRequest = express.Request & {
10
+ requestID: string;
11
+ requestTime: number;
12
+ };
13
+ type DebugLevels = 'none' | 'error' | 'warn' | 'info';
14
+ interface PluridServerOptions {
15
+ /** To be used for logging. Default `Plurid Server` */
16
+ serverName: string;
17
+ /**
18
+ * The hostname of the server exposed to the internet, e.g. `example.com`,
19
+ * to be used in plurid plane links.
20
+ */
21
+ hostname: string;
22
+ /**
23
+ * To log or not to log to the console.
24
+ */
25
+ quiet: boolean;
26
+ /**
27
+ * Debug levels.
28
+ *
29
+ * Production default: `error`.
30
+ * Development default: `info` and above.
31
+ */
32
+ debug: DebugLevels;
33
+ /**
34
+ * Use `gzip` compression for the response. Default `true`.
35
+ */
36
+ compression: boolean;
37
+ /**
38
+ * Open in browser at start.
39
+ */
40
+ open: boolean;
41
+ /**
42
+ * Name of the directory where the files (server and client) are bundled.
43
+ */
44
+ buildDirectory: string;
45
+ /**
46
+ * Name of the directory where the assets files are bundled.
47
+ */
48
+ assetsDirectory: string;
49
+ /**
50
+ * Default: `/gateway`.
51
+ */
52
+ gatewayEndpoint: string;
53
+ /**
54
+ * Provide a `max-age` in milliseconds for http caching of the static serves.
55
+ * This can also be a string accepted by the `ms` module.
56
+ *
57
+ * Default: 0.
58
+ */
59
+ staticCache: number | string;
60
+ /**
61
+ * Routes to be ignored when serving the application (`GET`).
62
+ */
63
+ ignore: string[];
64
+ /**
65
+ * Name of the directory where the stills are gathered.
66
+ */
67
+ stillsDirectory: string;
68
+ stiller: PluridStillerOptions;
69
+ /**
70
+ * Install `SIGINT`/`SIGTERM` handlers that stop the server and call `process.exit`.
71
+ * Defaults to `true` (convenient for the CLI). Set to `false` when EMBEDDING the server
72
+ * in a host process you do not want it to terminate; then manage lifecycle via `stop()`.
73
+ */
74
+ attachSignalHandlers: boolean;
75
+ }
76
+ type PluridServerPartialOptions = Partial<PluridServerOptions>;
77
+ interface PluridServerService<P = any, PP = any> {
78
+ name: string;
79
+ Provider: P;
80
+ properties?: PP;
81
+ }
82
+ interface PluridServerConfiguration {
83
+ routes: PluridRoute<PluridReactComponent>[];
84
+ planes?: PluridRoutePlane<PluridReactComponent>[];
85
+ preserves: PluridPreserveReact[];
86
+ helmet: Helmet;
87
+ styles?: string[];
88
+ middleware?: PluridServerMiddleware[];
89
+ exterior?: PluridReactComponent;
90
+ shell?: PluridReactComponent;
91
+ routerProperties?: Partial<PluridRouterProperties<PluridReactComponent>>;
92
+ /**
93
+ * Replace the internal plurid plane with a custom implementation.
94
+ */
95
+ customPlane?: PluridReactComponent;
96
+ /**
97
+ * Services to be handled by the server.
98
+ *
99
+ * Supported: `GraphQL`, `Redux`, `Stripe`.
100
+ */
101
+ services?: PluridServerService[];
102
+ options?: PluridServerPartialOptions;
103
+ template?: PluridServerTemplateConfiguration;
104
+ usePTTP?: boolean;
105
+ pttpHandler?: PTTPHandler;
106
+ elementqlEndpoint?: string;
107
+ }
108
+ type PTTPHandler = (path: string) => Promise<boolean>;
109
+ interface PluridServerTemplateConfiguration {
110
+ htmlLanguage?: string;
111
+ htmlAttributes?: Record<string, string>;
112
+ defaultStyle?: string;
113
+ headScripts?: string[];
114
+ bodyScripts?: string[];
115
+ /**
116
+ * The JavaScript vendor filepath to inject in the HTML template.
117
+ * Default `'/vendor.js'`.
118
+ *
119
+ * A CDN link can be used for better caching.
120
+ */
121
+ vendorScriptSource?: string;
122
+ /**
123
+ * The JavaScript filename to inject in the HTML template.
124
+ */
125
+ mainScriptSource?: string;
126
+ bodyAttributes?: Record<string, string>;
127
+ /**
128
+ * The ID of the root element in the HTML template.
129
+ */
130
+ root?: string;
131
+ /**
132
+ * Global variable name to be attached to window on the server-side
133
+ * to preload plurid metastate.
134
+ *
135
+ * Default: `__PRELOADED_PLURID_METASTATE__`
136
+ */
137
+ defaultPreloadedPluridMetastate?: string;
138
+ minify?: boolean;
139
+ }
140
+ interface PluridStillerOptions {
141
+ /**
142
+ * Recommended: `'networkidle0'` | `'networkidle2'` | `'load'`.
143
+ *
144
+ * Default: `'networkidle0'`.
145
+ */
146
+ waitUntil: 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
147
+ /**
148
+ * Maximum navigation time in milliseconds, pass 0 to disable timeout.
149
+ *
150
+ * Default: 30000.
151
+ */
152
+ timeout: number;
153
+ /**
154
+ * Routes to be ignored by the stilling process.
155
+ */
156
+ ignore: string[];
157
+ }
158
+ type PluridPreserveReact = PluridPreserve<IsoMatcherRouteResult<PluridReactComponent<any>> | undefined, express.Request, express.Response>;
159
+ interface PluridLiveServerOptions {
160
+ server: string;
161
+ }
162
+
163
+ interface StillsGeneratorOptions {
164
+ server: string;
165
+ build: string;
166
+ }
167
+
168
+ declare class PluridServer {
169
+ private routes;
170
+ private planes;
171
+ private preserves;
172
+ private helmet;
173
+ private styles;
174
+ private middleware;
175
+ private exterior;
176
+ private shell;
177
+ private routerProperties;
178
+ private services;
179
+ private options;
180
+ private template;
181
+ usePTTP: boolean;
182
+ private pttpHandler;
183
+ private elementqlEndpoint;
184
+ private serverApplication;
185
+ private server;
186
+ private port;
187
+ private stills;
188
+ private isoMatcher;
189
+ constructor(configuration: PluridServerConfiguration);
190
+ private handleProcessSignal;
191
+ private signalHandlersAttached;
192
+ attachSignalHandlers(): void;
193
+ detachSignalHandlers(): void;
194
+ static analysis(pluridServer: PluridServer): {
195
+ routes: PluridRoute<PluridReactComponent, any>[];
196
+ options: PluridServerOptions;
197
+ };
198
+ start(port?: string | number): Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
199
+ stop(): void;
200
+ handle(): {
201
+ post: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
202
+ patch: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
203
+ put: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
204
+ delete: (path: string, ...handlers: express.RequestHandler[]) => express.Express;
205
+ };
206
+ instance(): express.Express;
207
+ private handleEndpoints;
208
+ private handleGetRequest;
209
+ private handlePTTPRequest;
210
+ private ignoreGetRequest;
211
+ private resolveMatchingPath;
212
+ private resolvePreserve;
213
+ private resolvePreserveAfterServe;
214
+ private handleGateway;
215
+ private renderApplication;
216
+ private getContentAndStyles;
217
+ private computeRequestTime;
218
+ private handleOptions;
219
+ private configureServer;
220
+ private loadMiddleware;
221
+ private open;
222
+ private debugAllows;
223
+ }
224
+
225
+ declare class LiveServer {
226
+ private options;
227
+ private expressServer;
228
+ private httpServer;
229
+ private sockets;
230
+ constructor(options?: Partial<PluridLiveServerOptions>);
231
+ private resolveOptions;
232
+ private setupExpressServer;
233
+ private setupHttpServer;
234
+ start(): never;
235
+ }
236
+
237
+ declare class StillsGenerator {
238
+ private options;
239
+ constructor(options?: Partial<StillsGeneratorOptions>);
240
+ resolveOptions(options?: Partial<StillsGeneratorOptions>): StillsGeneratorOptions;
241
+ initialize(): Promise<void>;
242
+ }
243
+
244
+ export { type DebugLevels, type PTTPHandler, LiveServer as PluridLiveServer, type PluridLiveServerOptions, type PluridPreserveReact, type PluridServerConfiguration, type PluridServerMiddleware, type PluridServerOptions, type PluridServerPartialOptions, type PluridServerService, type PluridServerTemplateConfiguration, type PluridStillerOptions, StillsGenerator as PluridStillsGenerator, type ServerRequest, PluridServer as default };