@elliemae/pui-cli 8.42.0-alpha.5 → 8.42.0-alpha.7

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.
@@ -0,0 +1,25 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIERjCCAy6gAwIBAgIURZDLMeITZ77a7OqWfmuim11w3/0wDQYJKoZIhvcNAQEL
3
+ BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
4
+ bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
5
+ AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
6
+ cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1ODI1WhcNMjUxMDMxMTg1ODI1WjCBmzEL
7
+ MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
8
+ CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRcwFQYDVQQDDA5sb2Nh
9
+ bGhvc3Q6ODA4MDEtMCsGCSqGSIb3DQEJARYedmlub3RoLmthbHlhbmFzdW5kYXJh
10
+ bUBpY2UuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwfAgF1AN
11
+ m/RnbzKzoXS7SU3JkQWTeQ1ndaZRwiD4Xkg5bvdhzWUJORVYQTWIJJrL3KxqZzGM
12
+ gVj4UJt3AaQD73A+bQagS5EgYxLqg1v34HZvhwMfdoZfw9epQt5KCF3JQXyH+lJk
13
+ RyklnjHVZbYE1/eF1pb0KosIWPXY+kCYTi2b0oPifyO90bVOw3QvxLDF4fgk+QqL
14
+ 7HU1EOAak4wj07dNi83xqCOqjtWzmlYokvYELFgCUMzWFEjxuWZMuGu8+28JAMX9
15
+ oXni9K8f4SJX5eZrRrtAHt+LwsxcLQPTmHHeTxvEc/L8//jAVUTohUr+/IfC59z0
16
+ dko7ulPQKjgsFwIDAQABo4GEMIGBMB8GA1UdIwQYMBaAFB/8xooBufI/rf2vXZBh
17
+ sLmQARwoMAkGA1UdEwQCMAAwNAYDVR0RBC0wK4IJbG9jYWxob3N0gg5sb2NhbGhv
18
+ c3Q6ODA4MIIObG9jYWxob3N0OjMwMDAwHQYDVR0OBBYEFLQKGRQF7uuWmv1mYPGF
19
+ lWd8FxjbMA0GCSqGSIb3DQEBCwUAA4IBAQAVqVVBtbkQo1JI7+3oPSgL+CPQC37x
20
+ szF+vXLeswBS6OYrqA4AgW0R3vnhB64t/+oRmUu59vi+PuC1ff4w23g2HMZ+MlY2
21
+ smgJ8XMoxyEn4aVAPLECzBuR67uGzCxJbqtg/avb6EIWTXzBwHI95PWVcWaLav1q
22
+ sf3Mc60LVlAFQb1Ec5MlQHgMHaGJSDE3UwPL+JOOTG1XLnqMt+WFfqG6gN6G3FkY
23
+ dSg3HOR2m2VHaQWvA8Zb34uTUan40K+/hlpbzfgDXF8nvg1Fwivje8+7L3FOcCw0
24
+ k3yHwccxFqhPkXXaByZzaBKIlFXtLA4LiUwVQ7JEwPsJS5U108tuAQ8V
25
+ -----END CERTIFICATE-----
@@ -0,0 +1,18 @@
1
+ -----BEGIN CERTIFICATE REQUEST-----
2
+ MIIC4TCCAckCAQAwgZsxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UE
3
+ BwwKUGxlYXNhbnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9y
4
+ bTEXMBUGA1UEAwwObG9jYWxob3N0OjgwODAxLTArBgkqhkiG9w0BCQEWHnZpbm90
5
+ aC5rYWx5YW5hc3VuZGFyYW1AaWNlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
6
+ ADCCAQoCggEBAMHwIBdQDZv0Z28ys6F0u0lNyZEFk3kNZ3WmUcIg+F5IOW73Yc1l
7
+ CTkVWEE1iCSay9ysamcxjIFY+FCbdwGkA+9wPm0GoEuRIGMS6oNb9+B2b4cDH3aG
8
+ X8PXqULeSghdyUF8h/pSZEcpJZ4x1WW2BNf3hdaW9CqLCFj12PpAmE4tm9KD4n8j
9
+ vdG1TsN0L8SwxeH4JPkKi+x1NRDgGpOMI9O3TYvN8agjqo7Vs5pWKJL2BCxYAlDM
10
+ 1hRI8blmTLhrvPtvCQDF/aF54vSvH+EiV+Xma0a7QB7fi8LMXC0D05hx3k8bxHPy
11
+ /P/4wFVE6IVK/vyHwufc9HZKO7pT0Co4LBcCAwEAAaAAMA0GCSqGSIb3DQEBCwUA
12
+ A4IBAQA/ud/JTN+FBGDyQFoGes/CAhKdj8hfZq1F/sivJXiXoC03FYd4NhAan/aY
13
+ 1BFqiYESW1aYrDN4MyXEFhxeB5aOPHaraQ7Ny5eSAiQd6GJMNs5/lpc9W6gddXA/
14
+ rtl0BJ85YUh9NrRNKYdplJDrCUaZh5lFQcHb7eDsQyZJVBgJzjJ1YgpTh3Sz+hcS
15
+ eK6HiPqKIvRBaCgeKzEStEaLlrrsKhCezX7MOJ56JDGO7UgAxe5nRBD6Rg1Eoq+H
16
+ En6Q4im/SwFIFdYt0G2BW60OEmzP+sW16XfPeMTyNZrVYQ5a3r0oMYEPrPnL6FXo
17
+ u4ogdp1aQ2AhdGnsZxbht1uTAmCO
18
+ -----END CERTIFICATE REQUEST-----
@@ -0,0 +1,7 @@
1
+ authorityKeyIdentifier=keyid,issuer
2
+ basicConstraints=CA:FALSE
3
+ subjectAltName = @alt_names
4
+ [alt_names]
5
+ DNS.1 = localhost
6
+ DNS.2 = localhost:8080
7
+ DNS.3 = localhost:3000
@@ -0,0 +1,30 @@
1
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
2
+ MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQDe26Vas7aUu8EpLs
3
+ 1tLs2wICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIXoZbQE//THYEggTI
4
+ 27d2i58EwLcpAj74FeVRYZs3bwgap2fqjeAV1I0YIpUKSXXBe6cLAlWoU2dP1Ze/
5
+ 37LZyyFhM41VODvJog4DSvR1EwRHswfcz/iUogR9IRgzoALltLSzzv/C60H/7LS+
6
+ Ta1PD1wOtt1vRqRwgfH32OgFNvSl+Mtq6EvSSO/1egQDniyvFHoNdu7xuKhPCHzG
7
+ SriyYj4/ul7uBGihU+dzpTwc/nAKzto6SNT/ONsvr2Gx0LAWTtAzvc45yqMJ8NBR
8
+ O0+9AYxnmkC4dBoZyiQ5bzvxLRYB8jkGTOYBkY3LKOoOQ7F2zjhZHs/m2uFjLXXd
9
+ Z+j4XYVUeGmB97C6jDE1tlbNPR0eea0E64FkHoQZiqgENbX0UgYQujBLpborPhgn
10
+ BOgdftsnms8UYadN4UxB6elgKLpqqVtUepng0ypURZqv3BLTnDVxvNdjGsmTlwSc
11
+ W/7f1ZKlNMIpLsMjxq96pyTPJ379KneBI0B+k1p6hnXKhiGI09UiiHdpkzNovA9H
12
+ TG9HqMDaRdbMe4tQTdPpDCbRawokTmNhEp95PU5/xjveOxCexdRA2ICXlU+pS9ur
13
+ Oz78CuRZLiI7otcAo9ezr7KAh1L484RXnoTOXdvAYJFr4i4+VY2aW1+7yzlxgnVl
14
+ eAvLv5hI7uAradt+xzcLhLoaq1/Srr0qBvu/hfyiY5ZJUs0MYJ/fu6b3QVZsurMK
15
+ OU1RRot29Ckl+NRTVkc+87nanTkFkiAdVTQhBWurEjhKzyiGd/wckBfLL/8Xf5KD
16
+ vd5ZLUBK/KvofxtSYmYHPLCNPszXRMde3buzeQg4VHtdq5cF8bXzgDIZdsl/6R6I
17
+ alfwsJvuaGlBGPpxagntfsWgFsEw+24vYwXNsOJqv9qgrcM2mfVSmzDGxytRQ6i7
18
+ blMg7UeZLRXMVABTIkbgoLiiP795oryqC+gKX3xzHRobFiCW+k0UtUaUM/3rDOdq
19
+ h6HSuvPy9y+eIaFVJPi3py5m75y0UbKJjhITK241CkmO/R8AHL8gofYYfscp7Amj
20
+ Z4zIaG1qJHUvD3Jn9GNhLDUHA6zR7fT+Ckkym49UxidECxktT0B7xUUfRV0rwe7X
21
+ 4mcb+5YDlUJzrV2Nx+0xnAvxyfU2PdTveU5OGZFEK0eb8BYVre5eLRbnw63TP6Km
22
+ OiRzhRt4/MoeTN2IieORs8G6hHnNfCS4VX91vYoAOGQz/tJt2b+aCZ+XC+viWS3/
23
+ JY1a0yLkplBbn2n/+XAo7N6fz+Zf7xa2RduqOX0CkkST9FQwBlt7zPVhLQM9u3SR
24
+ 2Gn/B/ar5ac/gaFZ1unbV1ncyTqj3euLxWTFAohptCaxTqvjHQroZHgXok/e1OzB
25
+ CoSVdjJ+fvmg+Fl29whZ7kN4gXkawRNOzwUNQFaplbcjc1xGWDDw/QMnvfB0RJUF
26
+ ZaOHZhfX+BJhG2LalhoFWhpK50e884KFime/AMqCDHcm8RqH8pcjisK9QfIA1YC7
27
+ Fxh3ewpmwkHJjR0jSKEy/AEM0kXdV1k273DoU7zLPbDtqgHEQSP40MCstCUjX4vy
28
+ pnSeSKuu4VGWHEBzekKmJHrx8BUjGC/dMTevG3lzIKrWXOttiL/Btu21S9fGCukd
29
+ r4eCFaUCCZOC2RMb8/iTn8x1VXqTkOQB
30
+ -----END ENCRYPTED PRIVATE KEY-----
Binary file
@@ -0,0 +1,24 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEDzCCAvegAwIBAgIUX5nLM97FoZtWQKe+Ez6zVIpf88QwDQYJKoZIhvcNAQEL
3
+ BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
4
+ bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
5
+ AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
6
+ cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1NjExWhcNMjkxMDMwMTg1NjExWjCBljEL
7
+ MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
8
+ CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRIwEAYDVQQDDAlsb2Nh
9
+ bGhvc3QxLTArBgkqhkiG9w0BCQEWHnZpbm90aC5rYWx5YW5hc3VuZGFyYW1AaWNl
10
+ LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAP1YQm5nQotkgTAW
11
+ vuxRAlqLeO8peX0WHcgReIaoNXlMkoYBsiQkkX2pW1WdB1PPmQntE9bhJ2lR8Onq
12
+ //g5tjjfIB05pptbIDd7WCnLCseVHfeCbvOhvFza0qjsKUdoS4xBCWlY9WLR7rfo
13
+ ahv8yi9De+HuSgAmPCf3/IQm1/BvBfG5IDLU2maAruolTQUW+sDj+clQDpucKvS0
14
+ YaJMyfOAFjUj/0FvA2XwzQ9FTQX3Mv4NLXgJzhfNKTpJjgfM5lNEkV4EJmmQPS+5
15
+ BBZbaV1A9yabYEUsAfyYtOJc1tdCjnSCXB3cdnPOx1FBIZCM3CdJXyHnDnvZlzfY
16
+ SSNAR/sCAwEAAaNTMFEwHQYDVR0OBBYEFB/8xooBufI/rf2vXZBhsLmQARwoMB8G
17
+ A1UdIwQYMBaAFB/8xooBufI/rf2vXZBhsLmQARwoMA8GA1UdEwEB/wQFMAMBAf8w
18
+ DQYJKoZIhvcNAQELBQADggEBAEJHfJTGWjrQ3toRb+dbQbWdOeqtHW5uvIZ4Mg3E
19
+ Fb6DIz4xe0AOnWJSTk567nCQjHBYnSvjuCtNIbrREeNkkk2oCWVw5RQKwJjkOKzI
20
+ MiHYsckf5JJKGT2ELRZdHlRWWMZxPKy6pDIQU37R7k+E9Jr8VM62W9A5gZo9WWrG
21
+ Qje98PXE0qXmKKbYP9ZJx3Rsj12+GGJyiNc/pkeY17MX8bfRladueCNkiXbof3Xc
22
+ GwjRWw/OS/Dj4VVgDRsh3T24xh3yHY323t4T/3StzR61ix0/ITh3JUqPGoRiKjHC
23
+ 8YDasQh3yuJfsfZTif0MeGT20bdZPgPgqmUTB2tVYe67aZM=
24
+ -----END CERTIFICATE-----
@@ -0,0 +1,30 @@
1
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
2
+ MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQRf+eVHsoPx56J/99
3
+ 1cmVewICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIQyQkzwnWuQgEggTI
4
+ 7CvoMlZgiMKLQsZ1+I+ZhKdezUacrMw2vGkCx+Gwuehf/ZdH3VGUAhb8PEV9DPrU
5
+ nAWl8E8opWl/1kjxp9OCNBTxm7Nhg2fF9SriYa0gX+B+9DYMwgu626UC4bBzs6gn
6
+ qDVhPzbYa6WGhK3wOZoAFWw6TFfuztmPc3dZxRX6akVtCL/LA64GQvsYvvLDp+LZ
7
+ jlaceogKyyXiyCLWrNLPQlPsw1OzmXw5FV30zZWjxdqNnB9YfVfWOOYpaxE0Z+yX
8
+ ARrAN8Yg8yRcfAwJmxAwsmDIBJymR97dXEs2yeTYvEcxSjA0ZY5X3n10eIYayfoi
9
+ JBPoeTqmHgkKghR2JrveZkYUIQhCgchHzrGsb+rIqKP1gaXdyaWJvItvEm5Ou7tg
10
+ R2pNMepzlKoyntIyYhMEXJjUwisX5sqzcHa3nKQVfDjWiSViymjxGwOUAUqLhC+j
11
+ DhIlVbf9ZHZm4+jIpJAPrlT3PsfDO9tQ718GliERVLPaHB33BJqB1C0fqM3YCmYH
12
+ 6LaRkgP8dAUKc+VN8roy17NLUxWQKCvNKLRKkLrAXlJ1RYK3EKX0J7RRhUKX35Wj
13
+ llYq39P/nCfw56D4Kh/vHUd0Vn0eoZQAbPnriftpk405C3pQCbbkuDaTnmEJGUj3
14
+ g8h6ctkHDnj4Ord7TeTolMtKlQpt1DbNPKFwEZpR1+E7ojt//DIwaerE6NO1itxG
15
+ xKTMqXUqmcKgQlCmuRzjZKlMmVfQI2cuCiBkWR6O45PXj6JFNipM4qNTVZz3RsH6
16
+ tuLB/JfHhwglP2P/OsCyB39yhfsFhLQXLo5/fUqA9yHUJdd4Nq7V9G36vtQQaUs9
17
+ AQt34ithtWZcmrGxIu/UL6xGYrVSbUZRIlkrWTkRuMw6WGMmv+P5ptG/ZAxsATGp
18
+ A5jSCt4wMGTJMy8s3ksImv0dr8x8NgsEAPKBpxPpktdoj5e0C/ovnsrR0/SJ4SYl
19
+ WB2gFQv9cWwDziQB9SQ+OwvpZ7BwEuHqtsY0vYemvY4m99wSTydHEBL+hCqlbTxo
20
+ 00Rq1BNJrEAYJ0olzc2Uwyw392W9jDFjUSmIcOfYVG6sdbyOaAgTzA4fDNasLfEl
21
+ sEOmNeQfeeaOgVXmXUZpioVeiDxsmaGZMHwwQlmLgdefBsUvh4JxdNxTZFwbttCD
22
+ t1mbH/OaJ8eahCGXREY32qfNb2xwz4oTkwrJxT9lbC82DBSgn+IzZCm3CfjcqZ+j
23
+ kJoXnsAiCRljHSHYE6sTxOr0b5ND8E/x3f9O9rjbR5IcNMO7S6P9q3FwHKGpgKFx
24
+ NTPVBHrnTehkCjEr8uED+VIWkodrk1mLNQt2hGITlkqEiAD209OAl8DuaMtX49FE
25
+ /Op90vfIn7WBxVHLO0Q82NNkHPSDS8N0bhQZFe8IZME3JfIlKn1/6SiZ+0EnYP58
26
+ FdS4EPc3z1ajyI/Q7CEwAt3eMM+w1KA9ypaD33pcpBP3OKP04ps5jSviY2V0UwJY
27
+ iOLvGLoY2cQ4xwAS68ljjoHtSRz76pQlKAG8zHwx+RbtIkkUvtX5lYpSa70YIM1O
28
+ oy3TJwIxvv1ZXyUWn5qm6qLnrmyAj/1/Jknh0+TkjUfsSYLqoOzu1+E0hPGEByJ+
29
+ eG1+pj5536megxAPm8DIZVe208oiwc+e
30
+ -----END ENCRYPTED PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ 4590CB31E21367BEDAECEA967E6BA29B5D70DFFD
@@ -22,11 +22,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  var import_node_https = __toESM(require("node:https"), 1);
25
+ var import_node_http = __toESM(require("node:http"), 1);
25
26
  var import_express = __toESM(require("express"), 1);
26
27
  var import_cert = require("./cert.js");
27
28
  var import_logger = require("./logger.js");
28
29
  var import_middlewares = require("./middlewares.js");
29
30
  var import_utils = require("./utils.js");
31
+ var import_utils2 = require("../utils.js");
30
32
  var import_appRoutes = require("./appRoutes.js");
31
33
  var import_wsServer = require("./wsServer.js");
32
34
  (async function startServer() {
@@ -34,7 +36,7 @@ var import_wsServer = require("./wsServer.js");
34
36
  (0, import_middlewares.setupDefaultMiddlewares)(app);
35
37
  await (0, import_appRoutes.loadRoutes)(app);
36
38
  (0, import_middlewares.setupAdditionalMiddlewars)(app);
37
- const server = import_node_https.default.createServer((0, import_cert.getCertOptions)(), app);
39
+ const server = (0, import_utils2.isHttps)() ? import_node_https.default.createServer((0, import_cert.getCertOptions)(), app) : import_node_http.default.createServer(app);
38
40
  server.listen(import_utils.port, import_utils.host, () => {
39
41
  import_logger.logger.appStarted(import_utils.port.toString(), import_utils.host || "localhost");
40
42
  }).on("error", (err) => {
@@ -33,6 +33,7 @@ __export(logger_exports, {
33
33
  module.exports = __toCommonJS(logger_exports);
34
34
  var import_chalk = __toESM(require("chalk"), 1);
35
35
  var import_ip = __toESM(require("ip"), 1);
36
+ var import_utils = require("../utils.js");
36
37
  const divider = import_chalk.default.gray("\n-----------------------------------");
37
38
  const logger = {
38
39
  // Called whenever there's an error on the server we want to print
@@ -48,10 +49,12 @@ const logger = {
48
49
  const accessUrls = `${import_chalk.default.bold("Access URLs:")}${divider}
49
50
  `;
50
51
  const localHostUrl = `Localhost: ${import_chalk.default.magenta(
51
- `https://${host}:${port}`
52
+ `${(0, import_utils.isHttps)() ? "https" : "http"}://${host}:${port}`
52
53
  )}
53
54
  `;
54
- const lanUrl = `LAN: ${import_chalk.default.magenta(`http://${import_ip.default.address()}:${port}`)}
55
+ const lanUrl = `LAN: ${import_chalk.default.magenta(
56
+ `${(0, import_utils.isHttps)() ? "https" : "http"}://${import_ip.default.address()}:${port}`
57
+ )}
55
58
  `;
56
59
  const proxy = tunnelStarted ? `
57
60
  Proxy: ${import_chalk.default.magenta(tunnelStarted)}` : "";
@@ -32,8 +32,10 @@ __export(wsServer_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(wsServer_exports);
34
34
  var import_node_https = __toESM(require("node:https"), 1);
35
+ var import_node_http = __toESM(require("node:http"), 1);
35
36
  var wsLib = __toESM(require("ws"), 1);
36
37
  var import_cert = require("./cert.js");
38
+ var import_utils = require("../utils.js");
37
39
  const PING_INTERVAL = 3e4;
38
40
  const DEFAULT_PORT = 5001;
39
41
  const onSocketError = (err) => {
@@ -59,9 +61,9 @@ const createWSServer = ({
59
61
  const heartbeat = () => {
60
62
  isAlive = true;
61
63
  };
62
- const httpServer = import_node_https.default.createServer((0, import_cert.getCertOptions)());
64
+ const server = (0, import_utils.isHttps)() ? import_node_https.default.createServer((0, import_cert.getCertOptions)()) : import_node_http.default.createServer();
63
65
  const wsServer = new wsLib.WebSocketServer({ noServer: true });
64
- httpServer.on("upgrade", (req, socket, head) => {
66
+ server.on("upgrade", (req, socket, head) => {
65
67
  socket.on("error", onSocketError);
66
68
  wsServer.handleUpgrade(req, socket, head, (ws) => {
67
69
  const protocols = req.headers["sec-websocket-protocol"]?.split(",");
@@ -118,9 +120,9 @@ const createWSServer = ({
118
120
  clearInterval(interval);
119
121
  });
120
122
  return new Promise((resolve) => {
121
- httpServer.listen(port, () => {
123
+ server.listen(port, () => {
122
124
  console.log(`Websocket server listening on port ${port}`);
123
- return resolve({ httpServer, wsServer });
125
+ return resolve({ server, wsServer });
124
126
  });
125
127
  });
126
128
  };
package/dist/cjs/utils.js CHANGED
@@ -30,13 +30,15 @@ var utils_exports = {};
30
30
  __export(utils_exports, {
31
31
  basePath: () => basePath,
32
32
  getAppConfig: () => getAppConfig,
33
- isApp: () => isApp
33
+ isApp: () => isApp,
34
+ isHttps: () => isHttps
34
35
  });
35
36
  module.exports = __toCommonJS(utils_exports);
36
37
  var import_node_fs = __toESM(require("node:fs"), 1);
37
38
  var import_node_path = __toESM(require("node:path"), 1);
38
39
  const basePath = (process.env.BASE_PATH || "/").replace(/\/?$/, "/");
39
40
  const isApp = () => import_node_fs.default.existsSync(import_node_path.default.join(process.cwd(), "app"));
41
+ const isHttps = () => process.env.HTTPS === "true";
40
42
  const getAppConfig = () => {
41
43
  const appConfigPath = import_node_path.default.join(
42
44
  process.cwd(),
@@ -47,6 +47,7 @@ var import_webpack_base_babel = require("./webpack.base.babel.js");
47
47
  var import_utils = require("../server/utils.js");
48
48
  var import_wsServer = require("../server/wsServer.js");
49
49
  var import_cert = require("../server/cert.js");
50
+ var import_utils2 = require("../utils.js");
50
51
  const import_meta = {};
51
52
  const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
52
53
  const {
@@ -59,6 +60,10 @@ const {
59
60
  diagnosticsScriptPath,
60
61
  encwLoaderScriptPath
61
62
  } = (0, import_helpers.getPaths)();
63
+ const serverOptions = {
64
+ type: "https",
65
+ options: (0, import_cert.getCertOptions)()
66
+ };
62
67
  const devConfig = {
63
68
  mode: "development",
64
69
  cache: {
@@ -152,10 +157,7 @@ const devConfig = {
152
157
  hot: true,
153
158
  open: [basePath],
154
159
  port: process.env.PORT || "auto",
155
- server: {
156
- type: "https",
157
- options: (0, import_cert.getCertOptions)()
158
- },
160
+ server: (0, import_utils2.isHttps)() ? serverOptions : {},
159
161
  setupMiddlewares: (middlewares, devServer) => {
160
162
  (0, import_interceptor_middleware.addCSPNonceMiddleware)(middlewares);
161
163
  if (devServer.app) {
@@ -0,0 +1,25 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIERjCCAy6gAwIBAgIURZDLMeITZ77a7OqWfmuim11w3/0wDQYJKoZIhvcNAQEL
3
+ BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
4
+ bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
5
+ AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
6
+ cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1ODI1WhcNMjUxMDMxMTg1ODI1WjCBmzEL
7
+ MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
8
+ CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRcwFQYDVQQDDA5sb2Nh
9
+ bGhvc3Q6ODA4MDEtMCsGCSqGSIb3DQEJARYedmlub3RoLmthbHlhbmFzdW5kYXJh
10
+ bUBpY2UuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwfAgF1AN
11
+ m/RnbzKzoXS7SU3JkQWTeQ1ndaZRwiD4Xkg5bvdhzWUJORVYQTWIJJrL3KxqZzGM
12
+ gVj4UJt3AaQD73A+bQagS5EgYxLqg1v34HZvhwMfdoZfw9epQt5KCF3JQXyH+lJk
13
+ RyklnjHVZbYE1/eF1pb0KosIWPXY+kCYTi2b0oPifyO90bVOw3QvxLDF4fgk+QqL
14
+ 7HU1EOAak4wj07dNi83xqCOqjtWzmlYokvYELFgCUMzWFEjxuWZMuGu8+28JAMX9
15
+ oXni9K8f4SJX5eZrRrtAHt+LwsxcLQPTmHHeTxvEc/L8//jAVUTohUr+/IfC59z0
16
+ dko7ulPQKjgsFwIDAQABo4GEMIGBMB8GA1UdIwQYMBaAFB/8xooBufI/rf2vXZBh
17
+ sLmQARwoMAkGA1UdEwQCMAAwNAYDVR0RBC0wK4IJbG9jYWxob3N0gg5sb2NhbGhv
18
+ c3Q6ODA4MIIObG9jYWxob3N0OjMwMDAwHQYDVR0OBBYEFLQKGRQF7uuWmv1mYPGF
19
+ lWd8FxjbMA0GCSqGSIb3DQEBCwUAA4IBAQAVqVVBtbkQo1JI7+3oPSgL+CPQC37x
20
+ szF+vXLeswBS6OYrqA4AgW0R3vnhB64t/+oRmUu59vi+PuC1ff4w23g2HMZ+MlY2
21
+ smgJ8XMoxyEn4aVAPLECzBuR67uGzCxJbqtg/avb6EIWTXzBwHI95PWVcWaLav1q
22
+ sf3Mc60LVlAFQb1Ec5MlQHgMHaGJSDE3UwPL+JOOTG1XLnqMt+WFfqG6gN6G3FkY
23
+ dSg3HOR2m2VHaQWvA8Zb34uTUan40K+/hlpbzfgDXF8nvg1Fwivje8+7L3FOcCw0
24
+ k3yHwccxFqhPkXXaByZzaBKIlFXtLA4LiUwVQ7JEwPsJS5U108tuAQ8V
25
+ -----END CERTIFICATE-----
@@ -0,0 +1,18 @@
1
+ -----BEGIN CERTIFICATE REQUEST-----
2
+ MIIC4TCCAckCAQAwgZsxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UE
3
+ BwwKUGxlYXNhbnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9y
4
+ bTEXMBUGA1UEAwwObG9jYWxob3N0OjgwODAxLTArBgkqhkiG9w0BCQEWHnZpbm90
5
+ aC5rYWx5YW5hc3VuZGFyYW1AaWNlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
6
+ ADCCAQoCggEBAMHwIBdQDZv0Z28ys6F0u0lNyZEFk3kNZ3WmUcIg+F5IOW73Yc1l
7
+ CTkVWEE1iCSay9ysamcxjIFY+FCbdwGkA+9wPm0GoEuRIGMS6oNb9+B2b4cDH3aG
8
+ X8PXqULeSghdyUF8h/pSZEcpJZ4x1WW2BNf3hdaW9CqLCFj12PpAmE4tm9KD4n8j
9
+ vdG1TsN0L8SwxeH4JPkKi+x1NRDgGpOMI9O3TYvN8agjqo7Vs5pWKJL2BCxYAlDM
10
+ 1hRI8blmTLhrvPtvCQDF/aF54vSvH+EiV+Xma0a7QB7fi8LMXC0D05hx3k8bxHPy
11
+ /P/4wFVE6IVK/vyHwufc9HZKO7pT0Co4LBcCAwEAAaAAMA0GCSqGSIb3DQEBCwUA
12
+ A4IBAQA/ud/JTN+FBGDyQFoGes/CAhKdj8hfZq1F/sivJXiXoC03FYd4NhAan/aY
13
+ 1BFqiYESW1aYrDN4MyXEFhxeB5aOPHaraQ7Ny5eSAiQd6GJMNs5/lpc9W6gddXA/
14
+ rtl0BJ85YUh9NrRNKYdplJDrCUaZh5lFQcHb7eDsQyZJVBgJzjJ1YgpTh3Sz+hcS
15
+ eK6HiPqKIvRBaCgeKzEStEaLlrrsKhCezX7MOJ56JDGO7UgAxe5nRBD6Rg1Eoq+H
16
+ En6Q4im/SwFIFdYt0G2BW60OEmzP+sW16XfPeMTyNZrVYQ5a3r0oMYEPrPnL6FXo
17
+ u4ogdp1aQ2AhdGnsZxbht1uTAmCO
18
+ -----END CERTIFICATE REQUEST-----
@@ -0,0 +1,7 @@
1
+ authorityKeyIdentifier=keyid,issuer
2
+ basicConstraints=CA:FALSE
3
+ subjectAltName = @alt_names
4
+ [alt_names]
5
+ DNS.1 = localhost
6
+ DNS.2 = localhost:8080
7
+ DNS.3 = localhost:3000
@@ -0,0 +1,30 @@
1
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
2
+ MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQDe26Vas7aUu8EpLs
3
+ 1tLs2wICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIXoZbQE//THYEggTI
4
+ 27d2i58EwLcpAj74FeVRYZs3bwgap2fqjeAV1I0YIpUKSXXBe6cLAlWoU2dP1Ze/
5
+ 37LZyyFhM41VODvJog4DSvR1EwRHswfcz/iUogR9IRgzoALltLSzzv/C60H/7LS+
6
+ Ta1PD1wOtt1vRqRwgfH32OgFNvSl+Mtq6EvSSO/1egQDniyvFHoNdu7xuKhPCHzG
7
+ SriyYj4/ul7uBGihU+dzpTwc/nAKzto6SNT/ONsvr2Gx0LAWTtAzvc45yqMJ8NBR
8
+ O0+9AYxnmkC4dBoZyiQ5bzvxLRYB8jkGTOYBkY3LKOoOQ7F2zjhZHs/m2uFjLXXd
9
+ Z+j4XYVUeGmB97C6jDE1tlbNPR0eea0E64FkHoQZiqgENbX0UgYQujBLpborPhgn
10
+ BOgdftsnms8UYadN4UxB6elgKLpqqVtUepng0ypURZqv3BLTnDVxvNdjGsmTlwSc
11
+ W/7f1ZKlNMIpLsMjxq96pyTPJ379KneBI0B+k1p6hnXKhiGI09UiiHdpkzNovA9H
12
+ TG9HqMDaRdbMe4tQTdPpDCbRawokTmNhEp95PU5/xjveOxCexdRA2ICXlU+pS9ur
13
+ Oz78CuRZLiI7otcAo9ezr7KAh1L484RXnoTOXdvAYJFr4i4+VY2aW1+7yzlxgnVl
14
+ eAvLv5hI7uAradt+xzcLhLoaq1/Srr0qBvu/hfyiY5ZJUs0MYJ/fu6b3QVZsurMK
15
+ OU1RRot29Ckl+NRTVkc+87nanTkFkiAdVTQhBWurEjhKzyiGd/wckBfLL/8Xf5KD
16
+ vd5ZLUBK/KvofxtSYmYHPLCNPszXRMde3buzeQg4VHtdq5cF8bXzgDIZdsl/6R6I
17
+ alfwsJvuaGlBGPpxagntfsWgFsEw+24vYwXNsOJqv9qgrcM2mfVSmzDGxytRQ6i7
18
+ blMg7UeZLRXMVABTIkbgoLiiP795oryqC+gKX3xzHRobFiCW+k0UtUaUM/3rDOdq
19
+ h6HSuvPy9y+eIaFVJPi3py5m75y0UbKJjhITK241CkmO/R8AHL8gofYYfscp7Amj
20
+ Z4zIaG1qJHUvD3Jn9GNhLDUHA6zR7fT+Ckkym49UxidECxktT0B7xUUfRV0rwe7X
21
+ 4mcb+5YDlUJzrV2Nx+0xnAvxyfU2PdTveU5OGZFEK0eb8BYVre5eLRbnw63TP6Km
22
+ OiRzhRt4/MoeTN2IieORs8G6hHnNfCS4VX91vYoAOGQz/tJt2b+aCZ+XC+viWS3/
23
+ JY1a0yLkplBbn2n/+XAo7N6fz+Zf7xa2RduqOX0CkkST9FQwBlt7zPVhLQM9u3SR
24
+ 2Gn/B/ar5ac/gaFZ1unbV1ncyTqj3euLxWTFAohptCaxTqvjHQroZHgXok/e1OzB
25
+ CoSVdjJ+fvmg+Fl29whZ7kN4gXkawRNOzwUNQFaplbcjc1xGWDDw/QMnvfB0RJUF
26
+ ZaOHZhfX+BJhG2LalhoFWhpK50e884KFime/AMqCDHcm8RqH8pcjisK9QfIA1YC7
27
+ Fxh3ewpmwkHJjR0jSKEy/AEM0kXdV1k273DoU7zLPbDtqgHEQSP40MCstCUjX4vy
28
+ pnSeSKuu4VGWHEBzekKmJHrx8BUjGC/dMTevG3lzIKrWXOttiL/Btu21S9fGCukd
29
+ r4eCFaUCCZOC2RMb8/iTn8x1VXqTkOQB
30
+ -----END ENCRYPTED PRIVATE KEY-----
Binary file
@@ -0,0 +1,24 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEDzCCAvegAwIBAgIUX5nLM97FoZtWQKe+Ez6zVIpf88QwDQYJKoZIhvcNAQEL
3
+ BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
4
+ bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
5
+ AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
6
+ cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1NjExWhcNMjkxMDMwMTg1NjExWjCBljEL
7
+ MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
8
+ CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRIwEAYDVQQDDAlsb2Nh
9
+ bGhvc3QxLTArBgkqhkiG9w0BCQEWHnZpbm90aC5rYWx5YW5hc3VuZGFyYW1AaWNl
10
+ LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAP1YQm5nQotkgTAW
11
+ vuxRAlqLeO8peX0WHcgReIaoNXlMkoYBsiQkkX2pW1WdB1PPmQntE9bhJ2lR8Onq
12
+ //g5tjjfIB05pptbIDd7WCnLCseVHfeCbvOhvFza0qjsKUdoS4xBCWlY9WLR7rfo
13
+ ahv8yi9De+HuSgAmPCf3/IQm1/BvBfG5IDLU2maAruolTQUW+sDj+clQDpucKvS0
14
+ YaJMyfOAFjUj/0FvA2XwzQ9FTQX3Mv4NLXgJzhfNKTpJjgfM5lNEkV4EJmmQPS+5
15
+ BBZbaV1A9yabYEUsAfyYtOJc1tdCjnSCXB3cdnPOx1FBIZCM3CdJXyHnDnvZlzfY
16
+ SSNAR/sCAwEAAaNTMFEwHQYDVR0OBBYEFB/8xooBufI/rf2vXZBhsLmQARwoMB8G
17
+ A1UdIwQYMBaAFB/8xooBufI/rf2vXZBhsLmQARwoMA8GA1UdEwEB/wQFMAMBAf8w
18
+ DQYJKoZIhvcNAQELBQADggEBAEJHfJTGWjrQ3toRb+dbQbWdOeqtHW5uvIZ4Mg3E
19
+ Fb6DIz4xe0AOnWJSTk567nCQjHBYnSvjuCtNIbrREeNkkk2oCWVw5RQKwJjkOKzI
20
+ MiHYsckf5JJKGT2ELRZdHlRWWMZxPKy6pDIQU37R7k+E9Jr8VM62W9A5gZo9WWrG
21
+ Qje98PXE0qXmKKbYP9ZJx3Rsj12+GGJyiNc/pkeY17MX8bfRladueCNkiXbof3Xc
22
+ GwjRWw/OS/Dj4VVgDRsh3T24xh3yHY323t4T/3StzR61ix0/ITh3JUqPGoRiKjHC
23
+ 8YDasQh3yuJfsfZTif0MeGT20bdZPgPgqmUTB2tVYe67aZM=
24
+ -----END CERTIFICATE-----
@@ -0,0 +1,30 @@
1
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
2
+ MIIFJDBWBgkqhkiG9w0BBQ0wSTAxBgkqhkiG9w0BBQwwJAQQRf+eVHsoPx56J/99
3
+ 1cmVewICCAAwDAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQIQyQkzwnWuQgEggTI
4
+ 7CvoMlZgiMKLQsZ1+I+ZhKdezUacrMw2vGkCx+Gwuehf/ZdH3VGUAhb8PEV9DPrU
5
+ nAWl8E8opWl/1kjxp9OCNBTxm7Nhg2fF9SriYa0gX+B+9DYMwgu626UC4bBzs6gn
6
+ qDVhPzbYa6WGhK3wOZoAFWw6TFfuztmPc3dZxRX6akVtCL/LA64GQvsYvvLDp+LZ
7
+ jlaceogKyyXiyCLWrNLPQlPsw1OzmXw5FV30zZWjxdqNnB9YfVfWOOYpaxE0Z+yX
8
+ ARrAN8Yg8yRcfAwJmxAwsmDIBJymR97dXEs2yeTYvEcxSjA0ZY5X3n10eIYayfoi
9
+ JBPoeTqmHgkKghR2JrveZkYUIQhCgchHzrGsb+rIqKP1gaXdyaWJvItvEm5Ou7tg
10
+ R2pNMepzlKoyntIyYhMEXJjUwisX5sqzcHa3nKQVfDjWiSViymjxGwOUAUqLhC+j
11
+ DhIlVbf9ZHZm4+jIpJAPrlT3PsfDO9tQ718GliERVLPaHB33BJqB1C0fqM3YCmYH
12
+ 6LaRkgP8dAUKc+VN8roy17NLUxWQKCvNKLRKkLrAXlJ1RYK3EKX0J7RRhUKX35Wj
13
+ llYq39P/nCfw56D4Kh/vHUd0Vn0eoZQAbPnriftpk405C3pQCbbkuDaTnmEJGUj3
14
+ g8h6ctkHDnj4Ord7TeTolMtKlQpt1DbNPKFwEZpR1+E7ojt//DIwaerE6NO1itxG
15
+ xKTMqXUqmcKgQlCmuRzjZKlMmVfQI2cuCiBkWR6O45PXj6JFNipM4qNTVZz3RsH6
16
+ tuLB/JfHhwglP2P/OsCyB39yhfsFhLQXLo5/fUqA9yHUJdd4Nq7V9G36vtQQaUs9
17
+ AQt34ithtWZcmrGxIu/UL6xGYrVSbUZRIlkrWTkRuMw6WGMmv+P5ptG/ZAxsATGp
18
+ A5jSCt4wMGTJMy8s3ksImv0dr8x8NgsEAPKBpxPpktdoj5e0C/ovnsrR0/SJ4SYl
19
+ WB2gFQv9cWwDziQB9SQ+OwvpZ7BwEuHqtsY0vYemvY4m99wSTydHEBL+hCqlbTxo
20
+ 00Rq1BNJrEAYJ0olzc2Uwyw392W9jDFjUSmIcOfYVG6sdbyOaAgTzA4fDNasLfEl
21
+ sEOmNeQfeeaOgVXmXUZpioVeiDxsmaGZMHwwQlmLgdefBsUvh4JxdNxTZFwbttCD
22
+ t1mbH/OaJ8eahCGXREY32qfNb2xwz4oTkwrJxT9lbC82DBSgn+IzZCm3CfjcqZ+j
23
+ kJoXnsAiCRljHSHYE6sTxOr0b5ND8E/x3f9O9rjbR5IcNMO7S6P9q3FwHKGpgKFx
24
+ NTPVBHrnTehkCjEr8uED+VIWkodrk1mLNQt2hGITlkqEiAD209OAl8DuaMtX49FE
25
+ /Op90vfIn7WBxVHLO0Q82NNkHPSDS8N0bhQZFe8IZME3JfIlKn1/6SiZ+0EnYP58
26
+ FdS4EPc3z1ajyI/Q7CEwAt3eMM+w1KA9ypaD33pcpBP3OKP04ps5jSviY2V0UwJY
27
+ iOLvGLoY2cQ4xwAS68ljjoHtSRz76pQlKAG8zHwx+RbtIkkUvtX5lYpSa70YIM1O
28
+ oy3TJwIxvv1ZXyUWn5qm6qLnrmyAj/1/Jknh0+TkjUfsSYLqoOzu1+E0hPGEByJ+
29
+ eG1+pj5536megxAPm8DIZVe208oiwc+e
30
+ -----END ENCRYPTED PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ 4590CB31E21367BEDAECEA967E6BA29B5D70DFFD
@@ -1,4 +1,5 @@
1
1
  import https from "node:https";
2
+ import http from "node:http";
2
3
  import express from "express";
3
4
  import { getCertOptions } from "./cert.js";
4
5
  import { logger } from "./logger.js";
@@ -7,6 +8,7 @@ import {
7
8
  setupAdditionalMiddlewars
8
9
  } from "./middlewares.js";
9
10
  import { port, wsPort, host } from "./utils.js";
11
+ import { isHttps } from "../utils.js";
10
12
  import { loadRoutes } from "./appRoutes.js";
11
13
  import { createWSServer } from "./wsServer.js";
12
14
  (async function startServer() {
@@ -14,7 +16,7 @@ import { createWSServer } from "./wsServer.js";
14
16
  setupDefaultMiddlewares(app);
15
17
  await loadRoutes(app);
16
18
  setupAdditionalMiddlewars(app);
17
- const server = https.createServer(getCertOptions(), app);
19
+ const server = isHttps() ? https.createServer(getCertOptions(), app) : http.createServer(app);
18
20
  server.listen(port, host, () => {
19
21
  logger.appStarted(port.toString(), host || "localhost");
20
22
  }).on("error", (err) => {
@@ -1,5 +1,6 @@
1
1
  import chalk from "chalk";
2
2
  import ip from "ip";
3
+ import { isHttps } from "../utils.js";
3
4
  const divider = chalk.gray("\n-----------------------------------");
4
5
  const logger = {
5
6
  // Called whenever there's an error on the server we want to print
@@ -15,10 +16,12 @@ const logger = {
15
16
  const accessUrls = `${chalk.bold("Access URLs:")}${divider}
16
17
  `;
17
18
  const localHostUrl = `Localhost: ${chalk.magenta(
18
- `https://${host}:${port}`
19
+ `${isHttps() ? "https" : "http"}://${host}:${port}`
19
20
  )}
20
21
  `;
21
- const lanUrl = `LAN: ${chalk.magenta(`http://${ip.address()}:${port}`)}
22
+ const lanUrl = `LAN: ${chalk.magenta(
23
+ `${isHttps() ? "https" : "http"}://${ip.address()}:${port}`
24
+ )}
22
25
  `;
23
26
  const proxy = tunnelStarted ? `
24
27
  Proxy: ${chalk.magenta(tunnelStarted)}` : "";
@@ -1,6 +1,8 @@
1
1
  import https from "node:https";
2
+ import http from "node:http";
2
3
  import * as wsLib from "ws";
3
4
  import { getCertOptions } from "./cert.js";
5
+ import { isHttps } from "../utils.js";
4
6
  const PING_INTERVAL = 3e4;
5
7
  const DEFAULT_PORT = 5001;
6
8
  const onSocketError = (err) => {
@@ -26,9 +28,9 @@ const createWSServer = ({
26
28
  const heartbeat = () => {
27
29
  isAlive = true;
28
30
  };
29
- const httpServer = https.createServer(getCertOptions());
31
+ const server = isHttps() ? https.createServer(getCertOptions()) : http.createServer();
30
32
  const wsServer = new wsLib.WebSocketServer({ noServer: true });
31
- httpServer.on("upgrade", (req, socket, head) => {
33
+ server.on("upgrade", (req, socket, head) => {
32
34
  socket.on("error", onSocketError);
33
35
  wsServer.handleUpgrade(req, socket, head, (ws) => {
34
36
  const protocols = req.headers["sec-websocket-protocol"]?.split(",");
@@ -85,9 +87,9 @@ const createWSServer = ({
85
87
  clearInterval(interval);
86
88
  });
87
89
  return new Promise((resolve) => {
88
- httpServer.listen(port, () => {
90
+ server.listen(port, () => {
89
91
  console.log(`Websocket server listening on port ${port}`);
90
- return resolve({ httpServer, wsServer });
92
+ return resolve({ server, wsServer });
91
93
  });
92
94
  });
93
95
  };
package/dist/esm/utils.js CHANGED
@@ -2,6 +2,7 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  const basePath = (process.env.BASE_PATH || "/").replace(/\/?$/, "/");
4
4
  const isApp = () => fs.existsSync(path.join(process.cwd(), "app"));
5
+ const isHttps = () => process.env.HTTPS === "true";
5
6
  const getAppConfig = () => {
6
7
  const appConfigPath = path.join(
7
8
  process.cwd(),
@@ -15,5 +16,6 @@ const getAppConfig = () => {
15
16
  export {
16
17
  basePath,
17
18
  getAppConfig,
18
- isApp
19
+ isApp,
20
+ isHttps
19
21
  };
@@ -18,6 +18,7 @@ import { baseConfig } from "./webpack.base.babel.js";
18
18
  import { wsPort } from "../server/utils.js";
19
19
  import { createWSServer } from "../server/wsServer.js";
20
20
  import { getCertOptions } from "../server/cert.js";
21
+ import { isHttps } from "../utils.js";
21
22
  const __filename = fileURLToPath(import.meta.url);
22
23
  const {
23
24
  appVersion,
@@ -29,6 +30,10 @@ const {
29
30
  diagnosticsScriptPath,
30
31
  encwLoaderScriptPath
31
32
  } = getPaths();
33
+ const serverOptions = {
34
+ type: "https",
35
+ options: getCertOptions()
36
+ };
32
37
  const devConfig = {
33
38
  mode: "development",
34
39
  cache: {
@@ -122,10 +127,7 @@ const devConfig = {
122
127
  hot: true,
123
128
  open: [basePath],
124
129
  port: process.env.PORT || "auto",
125
- server: {
126
- type: "https",
127
- options: getCertOptions()
128
- },
130
+ server: isHttps() ? serverOptions : {},
129
131
  setupMiddlewares: (middlewares, devServer) => {
130
132
  addCSPNonceMiddleware(middlewares);
131
133
  if (devServer.app) {
@@ -1,7 +1,8 @@
1
1
  import https from 'node:https';
2
+ import http from 'node:http';
2
3
  import * as wsLib from 'ws';
3
4
  export interface Servers {
4
- httpServer: https.Server;
5
+ server: https.Server | http.Server;
5
6
  wsServer: wsLib.WebSocketServer;
6
7
  }
7
8
  export interface WSServerOptions {
@@ -1,3 +1,4 @@
1
1
  export declare const basePath: string;
2
2
  export declare const isApp: () => boolean;
3
+ export declare const isHttps: () => boolean;
3
4
  export declare const getAppConfig: () => Buffer | "{}";