@cedarjs/web-server 5.0.6 → 5.0.7-next.219

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/bin.js CHANGED
@@ -1,79 +1,70 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __esm = (fn, res) => function __init() {
10
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
3
+ var __esm = (fn, res, err) => function __init() {
4
+ if (err) throw err[0];
5
+ try {
6
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
7
+ } catch (e) {
8
+ throw err = [e], e;
17
9
  }
18
- return to;
19
10
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
11
 
29
12
  // src/webServer.ts
13
+ import fs from "node:fs";
14
+ import path from "node:path";
15
+ import ansis from "ansis";
16
+ import Fastify from "fastify";
17
+ import { redwoodFastifyWeb } from "@cedarjs/fastify-web";
18
+ import {
19
+ getConfig,
20
+ getPaths,
21
+ parsePort,
22
+ readEnvVar
23
+ } from "@cedarjs/project-config";
30
24
  async function serveWeb(options = {}) {
31
25
  const start = Date.now();
32
- console.log(import_ansis.default.dim.italic("Starting Web Server..."));
33
- const distIndexExists = import_node_fs.default.existsSync(
34
- import_node_path.default.join((0, import_project_config.getPaths)().web.dist, "index.html")
26
+ console.log(ansis.dim.italic("Starting Web Server..."));
27
+ const distIndexExists = fs.existsSync(
28
+ path.join(getPaths().web.dist, "index.html")
35
29
  );
36
30
  if (!distIndexExists) {
37
31
  throw new Error(
38
32
  "no built files to serve; run `yarn cedar build web` before serving the web side"
39
33
  );
40
34
  }
41
- if (process.env.REDWOOD_WEB_PORT) {
42
- options.port ??= parseInt(process.env.REDWOOD_WEB_PORT);
35
+ const webPort = readEnvVar("CEDAR_WEB_PORT", {
36
+ deprecatedAlias: "REDWOOD_WEB_PORT"
37
+ });
38
+ if (webPort) {
39
+ options.port ??= parsePort(webPort, "CEDAR_WEB_PORT");
43
40
  }
44
- options.port ??= (0, import_project_config.getConfig)().web.port;
45
- options.host ??= process.env.REDWOOD_WEB_HOST;
46
- options.host ??= (0, import_project_config.getConfig)().web.host;
47
- options.host ??= process.env.NODE_ENV === "production" ? "0.0.0.0" : "::";
48
- if (process.env.NODE_ENV === "production" && options.host !== "0.0.0.0") {
49
- console.warn(
50
- `Warning: host '${options.host}' may need to be '0.0.0.0' in production for containerized deployments`
51
- );
41
+ if (process.env.PORT) {
42
+ options.port ??= parsePort(process.env.PORT, "PORT");
52
43
  }
53
- const fastify = (0, import_fastify.default)({
44
+ options.port ??= getConfig().web.port;
45
+ options.host ??= readEnvVar("CEDAR_WEB_HOST", {
46
+ deprecatedAlias: "REDWOOD_WEB_HOST"
47
+ });
48
+ options.host ??= process.env.HOST;
49
+ options.host ??= getConfig().web.host;
50
+ options.host ??= "::";
51
+ const fastify = Fastify({
54
52
  requestTimeout: 15e3,
55
53
  logger: {
56
54
  level: process.env.LOG_LEVEL ?? (process.env.NODE_ENV === "development" ? "debug" : "warn")
57
55
  }
58
56
  });
59
- fastify.register(import_fastify_web.redwoodFastifyWeb, { redwood: options });
57
+ fastify.register(redwoodFastifyWeb, { redwood: options });
60
58
  const address = await fastify.listen({
61
59
  port: options.port,
62
60
  host: options.host
63
61
  });
64
- console.log(import_ansis.default.dim.italic("Took " + (Date.now() - start) + " ms"));
65
- console.log(`Web server listening at ${import_ansis.default.green(address)}`);
62
+ console.log(ansis.dim.italic("Took " + (Date.now() - start) + " ms"));
63
+ console.log(`Web server listening at ${ansis.green(address)}`);
66
64
  }
67
- var import_node_fs, import_node_path, import_ansis, import_fastify, import_fastify_web, import_project_config;
68
65
  var init_webServer = __esm({
69
66
  "src/webServer.ts"() {
70
67
  "use strict";
71
- import_node_fs = __toESM(require("node:fs"));
72
- import_node_path = __toESM(require("node:path"));
73
- import_ansis = __toESM(require("ansis"));
74
- import_fastify = __toESM(require("fastify"));
75
- import_fastify_web = require("@cedarjs/fastify-web");
76
- import_project_config = require("@cedarjs/project-config");
77
68
  }
78
69
  });
79
70
 
@@ -94,11 +85,11 @@ var init_cliConfigHandler = __esm({
94
85
  });
95
86
 
96
87
  // src/bin.ts
97
- var import_path = __toESM(require("path"));
98
- var import_dotenv_defaults = require("dotenv-defaults");
99
- var import_helpers = require("yargs/helpers");
100
- var import_yargs = __toESM(require("yargs/yargs"));
101
- var import_project_config2 = require("@cedarjs/project-config");
88
+ import path2 from "path";
89
+ import { config } from "dotenv-defaults";
90
+ import { hideBin } from "yargs/helpers";
91
+ import yargs from "yargs/yargs";
92
+ import { getPaths as getPaths2 } from "@cedarjs/project-config";
102
93
 
103
94
  // src/cliConfig.ts
104
95
  var description = "Start a server for serving the web side";
@@ -110,7 +101,7 @@ function builder(yargs2) {
110
101
  alias: "p"
111
102
  },
112
103
  host: {
113
- description: "The host to listen on. Note that you most likely want this to be '0.0.0.0' in production",
104
+ description: "The host to listen on",
114
105
  type: "string"
115
106
  },
116
107
  apiProxyTarget: {
@@ -129,15 +120,15 @@ function builder(yargs2) {
129
120
  // src/bin.ts
130
121
  init_cliConfigHandler();
131
122
  if (!process.env.CEDAR_ENV_FILES_LOADED) {
132
- (0, import_dotenv_defaults.config)({
133
- path: import_path.default.join((0, import_project_config2.getPaths)().base, ".env"),
134
- defaults: import_path.default.join((0, import_project_config2.getPaths)().base, ".env.defaults"),
123
+ config({
124
+ path: path2.join(getPaths2().base, ".env"),
125
+ defaults: path2.join(getPaths2().base, ".env.defaults"),
135
126
  multiline: true
136
127
  });
137
128
  process.env.CEDAR_ENV_FILES_LOADED = "true";
138
129
  }
139
130
  process.env.NODE_ENV ??= "production";
140
- (0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).scriptName("cedar-web-server").alias("h", "help").alias("v", "version").strict().example(
131
+ yargs(hideBin(process.argv)).scriptName("cedar-web-server").alias("h", "help").alias("v", "version").strict().example(
141
132
  "yarn $0 --api-url=/api --api-proxy-target=https://api.redwood.horse",
142
133
  "Start the web server and proxy requests made to '/api' to 'https://api.redwood.horse'"
143
134
  ).example(
@@ -1 +1 @@
1
- {"version":3,"file":"cliConfig.d.ts","sourceRoot":"","sources":["../src/cliConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,WAAW,4CAA4C,CAAA;AAEpE,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QA0BjD;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,aAAa,iBAGnD"}
1
+ {"version":3,"file":"cliConfig.d.ts","sourceRoot":"","sources":["../src/cliConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,WAAW,4CAA4C,CAAA;AAEpE,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAwBjD;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,aAAa,iBAGnD"}
package/dist/cliConfig.js CHANGED
@@ -1,38 +1,3 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var cliConfig_exports = {};
30
- __export(cliConfig_exports, {
31
- builder: () => builder,
32
- description: () => description,
33
- handler: () => handler
34
- });
35
- module.exports = __toCommonJS(cliConfig_exports);
36
1
  const description = "Start a server for serving the web side";
37
2
  function builder(yargs) {
38
3
  yargs.options({
@@ -42,7 +7,7 @@ function builder(yargs) {
42
7
  alias: "p"
43
8
  },
44
9
  host: {
45
- description: "The host to listen on. Note that you most likely want this to be '0.0.0.0' in production",
10
+ description: "The host to listen on",
46
11
  type: "string"
47
12
  },
48
13
  apiProxyTarget: {
@@ -61,9 +26,8 @@ async function handler(options) {
61
26
  const { handler: handler2 } = await import("./cliConfigHandler.js");
62
27
  await handler2(options);
63
28
  }
64
- // Annotate the CommonJS export names for ESM import in node:
65
- 0 && (module.exports = {
29
+ export {
66
30
  builder,
67
31
  description,
68
32
  handler
69
- });
33
+ };
@@ -1,36 +1,12 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var cliConfigHandler_exports = {};
20
- __export(cliConfigHandler_exports, {
21
- handler: () => handler
22
- });
23
- module.exports = __toCommonJS(cliConfigHandler_exports);
24
- var import_webServer = require("./webServer.js");
1
+ import { serveWeb } from "./webServer.js";
25
2
  async function handler(options) {
26
3
  try {
27
- await (0, import_webServer.serveWeb)(options);
4
+ await serveWeb(options);
28
5
  } catch (error) {
29
6
  process.exitCode ||= 1;
30
7
  console.error(`Error: ${error.message}`);
31
8
  }
32
9
  }
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
10
+ export {
35
11
  handler
36
- });
12
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"webServer.d.ts","sourceRoot":"","sources":["../src/webServer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,wBAAsB,QAAQ,CAAC,OAAO,GAAE,aAAkB,iBA8CzD"}
1
+ {"version":3,"file":"webServer.d.ts","sourceRoot":"","sources":["../src/webServer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,wBAAsB,QAAQ,CAAC,OAAO,GAAE,aAAkB,iBA6DzD"}
package/dist/webServer.js CHANGED
@@ -1,80 +1,55 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var webServer_exports = {};
30
- __export(webServer_exports, {
31
- serveWeb: () => serveWeb
32
- });
33
- module.exports = __toCommonJS(webServer_exports);
34
- var import_node_fs = __toESM(require("node:fs"));
35
- var import_node_path = __toESM(require("node:path"));
36
- var import_ansis = __toESM(require("ansis"));
37
- var import_fastify = __toESM(require("fastify"));
38
- var import_fastify_web = require("@cedarjs/fastify-web");
39
- var import_project_config = require("@cedarjs/project-config");
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import ansis from "ansis";
4
+ import Fastify from "fastify";
5
+ import { redwoodFastifyWeb } from "@cedarjs/fastify-web";
6
+ import {
7
+ getConfig,
8
+ getPaths,
9
+ parsePort,
10
+ readEnvVar
11
+ } from "@cedarjs/project-config";
40
12
  async function serveWeb(options = {}) {
41
13
  const start = Date.now();
42
- console.log(import_ansis.default.dim.italic("Starting Web Server..."));
43
- const distIndexExists = import_node_fs.default.existsSync(
44
- import_node_path.default.join((0, import_project_config.getPaths)().web.dist, "index.html")
14
+ console.log(ansis.dim.italic("Starting Web Server..."));
15
+ const distIndexExists = fs.existsSync(
16
+ path.join(getPaths().web.dist, "index.html")
45
17
  );
46
18
  if (!distIndexExists) {
47
19
  throw new Error(
48
20
  "no built files to serve; run `yarn cedar build web` before serving the web side"
49
21
  );
50
22
  }
51
- if (process.env.REDWOOD_WEB_PORT) {
52
- options.port ??= parseInt(process.env.REDWOOD_WEB_PORT);
23
+ const webPort = readEnvVar("CEDAR_WEB_PORT", {
24
+ deprecatedAlias: "REDWOOD_WEB_PORT"
25
+ });
26
+ if (webPort) {
27
+ options.port ??= parsePort(webPort, "CEDAR_WEB_PORT");
53
28
  }
54
- options.port ??= (0, import_project_config.getConfig)().web.port;
55
- options.host ??= process.env.REDWOOD_WEB_HOST;
56
- options.host ??= (0, import_project_config.getConfig)().web.host;
57
- options.host ??= process.env.NODE_ENV === "production" ? "0.0.0.0" : "::";
58
- if (process.env.NODE_ENV === "production" && options.host !== "0.0.0.0") {
59
- console.warn(
60
- `Warning: host '${options.host}' may need to be '0.0.0.0' in production for containerized deployments`
61
- );
29
+ if (process.env.PORT) {
30
+ options.port ??= parsePort(process.env.PORT, "PORT");
62
31
  }
63
- const fastify = (0, import_fastify.default)({
32
+ options.port ??= getConfig().web.port;
33
+ options.host ??= readEnvVar("CEDAR_WEB_HOST", {
34
+ deprecatedAlias: "REDWOOD_WEB_HOST"
35
+ });
36
+ options.host ??= process.env.HOST;
37
+ options.host ??= getConfig().web.host;
38
+ options.host ??= "::";
39
+ const fastify = Fastify({
64
40
  requestTimeout: 15e3,
65
41
  logger: {
66
42
  level: process.env.LOG_LEVEL ?? (process.env.NODE_ENV === "development" ? "debug" : "warn")
67
43
  }
68
44
  });
69
- fastify.register(import_fastify_web.redwoodFastifyWeb, { redwood: options });
45
+ fastify.register(redwoodFastifyWeb, { redwood: options });
70
46
  const address = await fastify.listen({
71
47
  port: options.port,
72
48
  host: options.host
73
49
  });
74
- console.log(import_ansis.default.dim.italic("Took " + (Date.now() - start) + " ms"));
75
- console.log(`Web server listening at ${import_ansis.default.green(address)}`);
50
+ console.log(ansis.dim.italic("Took " + (Date.now() - start) + " ms"));
51
+ console.log(`Web server listening at ${ansis.green(address)}`);
76
52
  }
77
- // Annotate the CommonJS export names for ESM import in node:
78
- 0 && (module.exports = {
53
+ export {
79
54
  serveWeb
80
- });
55
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/web-server",
3
- "version": "5.0.6",
3
+ "version": "5.0.7-next.219",
4
4
  "description": "CedarJS's server for the Web side",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  "directory": "packages/web-server"
9
9
  },
10
10
  "license": "MIT",
11
- "type": "commonjs",
11
+ "type": "module",
12
12
  "main": "./dist/cliConfig.js",
13
13
  "types": "./dist/cliConfig.d.ts",
14
14
  "bin": {
@@ -19,23 +19,23 @@
19
19
  "dist"
20
20
  ],
21
21
  "scripts": {
22
- "build": "node ./build.mts && yarn build:types",
22
+ "build": "node ./build.mts",
23
23
  "build:pack": "yarn pack -o cedarjs-web-server.tgz",
24
- "build:types": "tsc --build --verbose",
24
+ "build:types": "tsc --build --verbose ./tsconfig.build.json",
25
25
  "build:watch": "nodemon --watch src --ext \"js,jsx,ts,tsx\" --ignore dist --exec \"yarn build && yarn fix:permissions\"",
26
26
  "fix:permissions": "chmod +x dist/index.js; chmod +x dist/watch.js",
27
27
  "prepublishOnly": "NODE_ENV=production yarn build"
28
28
  },
29
29
  "dependencies": {
30
- "@cedarjs/fastify-web": "5.0.6",
31
- "@cedarjs/project-config": "5.0.6",
32
- "ansis": "4.2.0",
30
+ "@cedarjs/fastify-web": "5.0.7-next.219",
31
+ "@cedarjs/project-config": "5.0.7-next.219",
32
+ "ansis": "4.3.1",
33
33
  "dotenv-defaults": "5.0.2",
34
- "fastify": "5.8.5",
34
+ "fastify": "5.10.0",
35
35
  "yargs": "17.7.3"
36
36
  },
37
37
  "devDependencies": {
38
- "@cedarjs/framework-tools": "5.0.6",
38
+ "@cedarjs/framework-tools": "5.0.7-next.219",
39
39
  "typescript": "5.9.3"
40
40
  },
41
41
  "engines": {