Skip to content

Commit e496028

Browse files
committed
feat: added proxy, upgraded deps
1 parent fbdc07f commit e496028

File tree

6 files changed

+125
-6
lines changed

6 files changed

+125
-6
lines changed

.env.defaults

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
NODE_ENV=development
22
IS_SILENT=false
3+
PROXY_PORT=8080
34
SMTP_PORT=25
45
SMTP_SSL_KEY_PATH=
56
SMTP_SSL_CERT_PATH=

.env.schema

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
NODE_ENV=
22
IS_SILENT=
3+
PROXY_PORT=
34
SMTP_PORT=
45
SMTP_SSL_KEY_PATH=
56
SMTP_SSL_CERT_PATH=

ecosystem.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@
3232
"NODE_ENV": "production",
3333
"SMTP_PORT": "3587"
3434
}
35+
},
36+
{
37+
"name": "proxy",
38+
"script": "proxy.js",
39+
"exec_mode": "cluster_mode",
40+
"wait_ready": true,
41+
"instances": "max",
42+
"env_production": {
43+
"NODE_ENV": "production"
44+
}
3545
}
3646
],
3747
"deploy": {

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"dependencies": {
2727
"@ladjs/env": "^0.0.4",
2828
"@ladjs/graceful": "^1.0.0",
29+
"@ladjs/proxy": "^1.0.2",
2930
"@ladjs/redis": "^1.0.3",
3031
"@ladjs/shared-config": "^0.0.10",
3132
"array-join-conjunction": "^1.0.0",

proxy.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const Graceful = require('@ladjs/graceful');
2+
const ProxyServer = require('@ladjs/proxy');
3+
const ip = require('ip');
4+
5+
const logger = require('./helpers/logger');
6+
7+
const proxy = new ProxyServer({ logger, redirect: false });
8+
9+
if (!module.parent) {
10+
const graceful = new Graceful({ servers: [proxy], logger });
11+
(async () => {
12+
try {
13+
await Promise.all([proxy.listen(proxy.config.port), graceful.listen()]);
14+
if (process.send) process.send('ready');
15+
const { port } = proxy.server.address();
16+
logger.info(
17+
`Lad proxy server listening on ${port} (LAN: ${ip.address()}:${port})`
18+
);
19+
} catch (err) {
20+
logger.error(err);
21+
// eslint-disable-next-line unicorn/no-process-exit
22+
process.exit(1);
23+
}
24+
})();
25+
}

yarn.lock

Lines changed: 87 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,16 @@
610610
dependencies:
611611
debug "^4.1.1"
612612

613+
"@ladjs/proxy@^1.0.2":
614+
version "1.0.2"
615+
resolved "https://registry.yarnpkg.com/@ladjs/proxy/-/proxy-1.0.2.tgz#9b860a2b69734fd142da795036a62651d47e34ac"
616+
integrity sha512-P8blmiRwWubZRQw3KfyB8je3/xxH46zFtLuG2cVP0w8jS7T0UQZ+NLQzY8P/gqVkGKwcdxvJFdR1ItGR6Jo9jg==
617+
dependencies:
618+
finalhandler "^1.1.2"
619+
lodash "^4.17.15"
620+
router "^1.3.3"
621+
url-parse "^1.4.7"
622+
613623
"@ladjs/redis@^1.0.3":
614624
version "1.0.3"
615625
resolved "https://registry.yarnpkg.com/@ladjs/redis/-/redis-1.0.3.tgz#4232bfea8af56c07a7b43e651c1f0762e888e917"
@@ -1068,6 +1078,11 @@ array-find-index@^1.0.1:
10681078
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
10691079
integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
10701080

1081+
array-flatten@2.1.1:
1082+
version "2.1.1"
1083+
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296"
1084+
integrity sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=
1085+
10711086
array-ify@^1.0.0:
10721087
version "1.0.0"
10731088
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
@@ -2332,7 +2347,7 @@ date-time@^2.1.0:
23322347
dependencies:
23332348
time-zone "^1.0.0"
23342349

2335-
debug@2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
2350+
debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
23362351
version "2.6.9"
23372352
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
23382353
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -2697,6 +2712,11 @@ empower-core@^1.2.0:
26972712
call-signature "0.0.2"
26982713
core-js "^2.0.0"
26992714

2715+
encodeurl@~1.0.2:
2716+
version "1.0.2"
2717+
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
2718+
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
2719+
27002720
encoding-japanese@1.0.30:
27012721
version "1.0.30"
27022722
resolved "https://registry.yarnpkg.com/encoding-japanese/-/encoding-japanese-1.0.30.tgz#537c4d62881767925d601acb4c79fb14db81703a"
@@ -2782,6 +2802,11 @@ es6-promisify@^5.0.0:
27822802
dependencies:
27832803
es6-promise "^4.0.3"
27842804

2805+
escape-html@~1.0.3:
2806+
version "1.0.3"
2807+
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
2808+
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
2809+
27852810
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5:
27862811
version "1.0.5"
27872812
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -3448,6 +3473,19 @@ fill-range@^7.0.1:
34483473
dependencies:
34493474
to-regex-range "^5.0.1"
34503475

3476+
finalhandler@^1.1.2:
3477+
version "1.1.2"
3478+
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
3479+
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
3480+
dependencies:
3481+
debug "2.6.9"
3482+
encodeurl "~1.0.2"
3483+
escape-html "~1.0.3"
3484+
on-finished "~2.3.0"
3485+
parseurl "~1.3.3"
3486+
statuses "~1.5.0"
3487+
unpipe "~1.0.0"
3488+
34513489
find-cache-dir@^2.1.0:
34523490
version "2.1.0"
34533491
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
@@ -6096,7 +6134,7 @@ merge2@^1.2.3, merge2@^1.3.0:
60966134
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
60976135
integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
60986136

6099-
methods@^1.1.2, methods@~1.1.1:
6137+
methods@^1.1.2, methods@~1.1.1, methods@~1.1.2:
61006138
version "1.1.2"
61016139
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
61026140
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
@@ -6727,7 +6765,7 @@ omit.js@^1.0.2:
67276765
dependencies:
67286766
babel-runtime "^6.23.0"
67296767

6730-
on-finished@^2.3.0:
6768+
on-finished@^2.3.0, on-finished@~2.3.0:
67316769
version "2.3.0"
67326770
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
67336771
integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
@@ -7111,6 +7149,11 @@ parse5@4.0.0:
71117149
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
71127150
integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
71137151

7152+
parseurl@~1.3.2, parseurl@~1.3.3:
7153+
version "1.3.3"
7154+
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
7155+
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
7156+
71147157
pascalcase@^0.1.1:
71157158
version "0.1.1"
71167159
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
@@ -7156,6 +7199,11 @@ path-parse@^1.0.6:
71567199
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
71577200
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
71587201

7202+
path-to-regexp@0.1.7:
7203+
version "0.1.7"
7204+
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
7205+
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
7206+
71597207
path-type@^2.0.0:
71607208
version "2.0.0"
71617209
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
@@ -7708,9 +7756,9 @@ regex-not@^1.0.0, regex-not@^1.0.2:
77087756
safe-regex "^1.1.0"
77097757

77107758
regexp-tree@~0.1.1:
7711-
version "0.1.16"
7712-
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.16.tgz#0715feadb6f766aad7eac5ef4287d2c39acf2fc5"
7713-
integrity sha512-nXWhGJLTWLNdhWF1uqoXQgAOgv8mQGpgXTOk8BWp08YMOKCtn74VoyOJ+AXZ68Dj50Myd+msYs+aGRBzWJ5dJA==
7759+
version "0.1.17"
7760+
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.17.tgz#66d914a6ca21f95dd7660ed70a7dad47aeb2246a"
7761+
integrity sha512-UnOJjFS/EPZmfISmYx+0PcDtPzyFKTe+cZTS5sM5hifnRUDRxoB1j4DAmGwqzxjwBGlwOkGfb2cDGHtjuEwqoA==
77147762

77157763
regexp.prototype.flags@^1.2.0:
77167764
version "1.2.0"
@@ -8763,6 +8811,19 @@ rimraf@^3.0.0:
87638811
dependencies:
87648812
glob "^7.1.3"
87658813

8814+
router@^1.3.3:
8815+
version "1.3.3"
8816+
resolved "https://registry.yarnpkg.com/router/-/router-1.3.3.tgz#c142f6b5ea4d6b3359022ca95b6580bd217f89cf"
8817+
integrity sha1-wUL2tepNazNZAiypW2WAvSF/ic8=
8818+
dependencies:
8819+
array-flatten "2.1.1"
8820+
debug "2.6.9"
8821+
methods "~1.1.2"
8822+
parseurl "~1.3.2"
8823+
path-to-regexp "0.1.7"
8824+
setprototypeof "1.1.0"
8825+
utils-merge "1.0.1"
8826+
87668827
rsvp@^4.8.4:
87678828
version "4.8.5"
87688829
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
@@ -8893,6 +8954,11 @@ set-value@^2.0.0, set-value@^2.0.1:
88938954
is-plain-object "^2.0.3"
88948955
split-string "^3.0.1"
88958956

8957+
setprototypeof@1.1.0:
8958+
version "1.1.0"
8959+
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
8960+
integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
8961+
88968962
shebang-command@^1.2.0:
88978963
version "1.2.0"
88988964
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -9199,6 +9265,11 @@ static-extend@^0.1.1:
91999265
define-property "^0.2.5"
92009266
object-copy "^0.1.0"
92019267

9268+
statuses@~1.5.0:
9269+
version "1.5.0"
9270+
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
9271+
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
9272+
92029273
stealthy-require@^1.1.1:
92039274
version "1.1.1"
92049275
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
@@ -9978,6 +10049,11 @@ universalify@^0.1.2:
997810049
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
997910050
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
998010051

10052+
unpipe@~1.0.0:
10053+
version "1.0.0"
10054+
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
10055+
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
10056+
998110057
unset-value@^1.0.0:
998210058
version "1.0.0"
998310059
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
@@ -10078,6 +10154,11 @@ utile@0.2.1, utile@~0.2.1:
1007810154
ncp "0.4.x"
1007910155
rimraf "2.x.x"
1008010156

10157+
utils-merge@1.0.1:
10158+
version "1.0.1"
10159+
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
10160+
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
10161+
1008110162
uue@^3.0.0:
1008210163
version "3.1.2"
1008310164
resolved "https://registry.yarnpkg.com/uue/-/uue-3.1.2.tgz#e99368414e87200012eb37de4dbaebaa1c742ad2"

0 commit comments

Comments
 (0)