@travetto/web-http 8.0.0-alpha.2 → 8.0.0-alpha.20
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/README.md +29 -4
- package/package.json +4 -4
- package/src/config.ts +2 -2
- package/support/cli.web_http.ts +9 -2
package/README.md
CHANGED
|
@@ -15,8 +15,33 @@ yarn add @travetto/web-http
|
|
|
15
15
|
|
|
16
16
|
This module provides basic for running [http](https://nodejs.org/api/http.html). [https](https://nodejs.org/api/https.html) and [http2](https://nodejs.org/api/http2.html) servers, along with support for tls key generation during development.
|
|
17
17
|
|
|
18
|
+
## CLI - web:http
|
|
19
|
+
By default, the framework provides a default [@CliCommand](https://github.com/travetto/travetto/tree/main/module/cli/src/registry/decorator.ts#L20) for [WebHttpServer](https://github.com/travetto/travetto/tree/main/module/web-http/src/types.ts#L19) that will follow default behaviors, and spin up the server.
|
|
20
|
+
|
|
21
|
+
**Terminal: Help for web:http**
|
|
22
|
+
```bash
|
|
23
|
+
$ trv web:http --help
|
|
24
|
+
|
|
25
|
+
Usage: web:http [options]
|
|
26
|
+
|
|
27
|
+
Start the configured web HTTP server for a module.
|
|
28
|
+
|
|
29
|
+
Initializes registry and server bindings, supports restart-aware development
|
|
30
|
+
flags, and can attempt to clear conflicting port owners in local workflows.
|
|
31
|
+
Example Usage:
|
|
32
|
+
trv web:http -m <MODULE> -p 3000
|
|
33
|
+
|
|
34
|
+
Options:
|
|
35
|
+
-p, --port <number> Port to run on
|
|
36
|
+
--kill-conflict, --no-kill-conflict Kill conflicting port owner (default: true)
|
|
37
|
+
-m, --module <module> Module to run for
|
|
38
|
+
--profile <string> Application profiles
|
|
39
|
+
--restart-on-change, --no-restart-on-change Should the invocation automatically restart on source changes (default: true)
|
|
40
|
+
-d, --debug-ipc Should the invocation automatically restart on source changes
|
|
41
|
+
--help display help for command
|
|
42
|
+
```
|
|
43
|
+
|
|
18
44
|
## Running a Server
|
|
19
|
-
By default, the framework provides a default [@CliCommand](https://github.com/travetto/travetto/tree/main/module/cli/src/registry/decorator.ts#L27) for [WebHttpServer](https://github.com/travetto/travetto/tree/main/module/web-http/src/types.ts#L19) that will follow default behaviors, and spin up the server.
|
|
20
45
|
|
|
21
46
|
**Terminal: Standard application**
|
|
22
47
|
```bash
|
|
@@ -139,8 +164,8 @@ export class WebHttpConfig {
|
|
|
139
164
|
this.tlsKeys = await WebTlsUtil.generateKeyPair();
|
|
140
165
|
} else {
|
|
141
166
|
if (this.tlsKeys.key.length < 100) { // We have files or resources
|
|
142
|
-
this.tlsKeys.key = await RuntimeResources.
|
|
143
|
-
this.tlsKeys.cert = await RuntimeResources.
|
|
167
|
+
this.tlsKeys.key = await RuntimeResources.readUTF8(this.tlsKeys.key);
|
|
168
|
+
this.tlsKeys.cert = await RuntimeResources.readUTF8(this.tlsKeys.cert);
|
|
144
169
|
}
|
|
145
170
|
}
|
|
146
171
|
|
|
@@ -150,7 +175,7 @@ export class WebHttpConfig {
|
|
|
150
175
|
```
|
|
151
176
|
|
|
152
177
|
### Creating a Custom CLI Entry Point
|
|
153
|
-
To customize a Web server, you may need to construct an entry point using the [@CliCommand](https://github.com/travetto/travetto/tree/main/module/cli/src/registry/decorator.ts#
|
|
178
|
+
To customize a Web server, you may need to construct an entry point using the [@CliCommand](https://github.com/travetto/travetto/tree/main/module/cli/src/registry/decorator.ts#L20) decorator. This could look like:
|
|
154
179
|
|
|
155
180
|
**Code: Application entry point for Web Applications**
|
|
156
181
|
```typescript
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@travetto/web-http",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.20",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Web HTTP Server Support",
|
|
6
6
|
"keywords": [
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"directory": "module/web-http"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@travetto/web": "^8.0.0-alpha.
|
|
30
|
+
"@travetto/web": "^8.0.0-alpha.19"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@travetto/cli": "^8.0.0-alpha.
|
|
34
|
-
"@travetto/test": "^8.0.0-alpha.
|
|
33
|
+
"@travetto/cli": "^8.0.0-alpha.23",
|
|
34
|
+
"@travetto/test": "^8.0.0-alpha.17"
|
|
35
35
|
},
|
|
36
36
|
"peerDependenciesMeta": {
|
|
37
37
|
"@travetto/test": {
|
package/src/config.ts
CHANGED
|
@@ -62,8 +62,8 @@ export class WebHttpConfig {
|
|
|
62
62
|
this.tlsKeys = await WebTlsUtil.generateKeyPair();
|
|
63
63
|
} else {
|
|
64
64
|
if (this.tlsKeys.key.length < 100) { // We have files or resources
|
|
65
|
-
this.tlsKeys.key = await RuntimeResources.
|
|
66
|
-
this.tlsKeys.cert = await RuntimeResources.
|
|
65
|
+
this.tlsKeys.key = await RuntimeResources.readUTF8(this.tlsKeys.key);
|
|
66
|
+
this.tlsKeys.cert = await RuntimeResources.readUTF8(this.tlsKeys.cert);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
package/support/cli.web_http.ts
CHANGED
|
@@ -7,7 +7,14 @@ import { Registry } from '@travetto/registry';
|
|
|
7
7
|
import type { WebHttpServer } from '../src/types.ts';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Start the configured web HTTP server for a module.
|
|
11
|
+
*
|
|
12
|
+
* Initializes registry and server bindings, supports restart-aware development
|
|
13
|
+
* flags, and can attempt to clear conflicting port owners in local workflows.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* Starting a web server on port 8000
|
|
17
|
+
* > trv web:http -m <MODULE> -p 8000
|
|
11
18
|
*/
|
|
12
19
|
@CliCommand()
|
|
13
20
|
export class WebHttpCommand implements CliCommandShape {
|
|
@@ -25,7 +32,7 @@ export class WebHttpCommand implements CliCommandShape {
|
|
|
25
32
|
profile: string[];
|
|
26
33
|
|
|
27
34
|
@CliRestartOnChangeFlag()
|
|
28
|
-
restartOnChange: boolean =
|
|
35
|
+
restartOnChange: boolean = Runtime.localDevelopment;
|
|
29
36
|
|
|
30
37
|
@CliDebugIpcFlag()
|
|
31
38
|
debugIpc?: boolean;
|