@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 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.readText(this.tlsKeys.key);
143
- this.tlsKeys.cert = await RuntimeResources.readText(this.tlsKeys.cert);
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#L27) decorator. This could look like:
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.2",
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.2"
30
+ "@travetto/web": "^8.0.0-alpha.19"
31
31
  },
32
32
  "peerDependencies": {
33
- "@travetto/cli": "^8.0.0-alpha.3",
34
- "@travetto/test": "^8.0.0-alpha.2"
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.readText(this.tlsKeys.key);
66
- this.tlsKeys.cert = await RuntimeResources.readText(this.tlsKeys.cert);
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
 
@@ -7,7 +7,14 @@ import { Registry } from '@travetto/registry';
7
7
  import type { WebHttpServer } from '../src/types.ts';
8
8
 
9
9
  /**
10
- * Run a web server
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 = true;
35
+ restartOnChange: boolean = Runtime.localDevelopment;
29
36
 
30
37
  @CliDebugIpcFlag()
31
38
  debugIpc?: boolean;