Skip to content

Commit c87649d

Browse files
committed
feat: upgraded deps, switched boom to @hapi/boom, fixed deps
1 parent ee98738 commit c87649d

File tree

3 files changed

+64
-56
lines changed

3 files changed

+64
-56
lines changed

package.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@
1313
"Nick Baugh <[email protected]>"
1414
],
1515
"dependencies": {
16-
"boom": "5.1.0",
16+
"@hapi/boom": "^7.4.3",
17+
"camelcase": "^5.3.1",
18+
"capitalize": "^2.0.0",
1719
"co": "^4.6.0",
1820
"debug": "^4.1.1",
21+
"humanize": "^0.0.9",
1922
"lodash": "^4.17.15",
20-
"underscore.string": "^3.3.5"
23+
"statuses": "^1.5.0",
24+
"toidentifier": "^1.0.0"
2125
},
2226
"devDependencies": {
2327
"@commitlint/cli": "^8.1.0",
@@ -33,7 +37,7 @@
3337
"husky": "^3.0.5",
3438
"koa": "^2.8.1",
3539
"koa-404-handler": "^0.0.2",
36-
"koa-basic-auth": "https://github.com/niftylettuce/basic-auth",
40+
"koa-basic-auth": "^4.0.0",
3741
"koa-connect-flash": "^0.1.2",
3842
"koa-convert": "^1.2.0",
3943
"koa-generic-session": "^2.0.1",

src/index.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
const fs = require('fs');
22
const path = require('path');
3-
const s = require('underscore.string');
4-
const co = require('co');
3+
4+
const Boom = require('@hapi/boom');
55
const Debug = require('debug');
66
const _ = require('lodash');
7-
const Boom = require('boom');
7+
const capitalize = require('capitalize');
8+
const camelCase = require('camelcase');
9+
const co = require('co');
10+
const humanize = require('humanize');
11+
const statuses = require('statuses');
12+
const toIdentifier = require('toidentifier');
813

914
const opts = {
1015
encoding: 'utf8'
@@ -56,7 +61,8 @@ async function errorHandler(err) {
5661

5762
// check if we threw just a status code in order to keep it simple
5863
const val = parseInt(err.message, 10);
59-
if (_.isNumber(val) && val >= 400) err = Boom.create(val);
64+
if (_.isNumber(val) && val >= 400)
65+
err = Boom[camelCase(toIdentifier(statuses[val]))]();
6066

6167
// check if we have a boom error that specified
6268
// a status code already for us (and then use it)
@@ -100,7 +106,7 @@ async function errorHandler(err) {
100106
err.statusCode = err.status;
101107
this.statusCode = err.statusCode;
102108
this.status = this.statusCode;
103-
this.body = Boom.create(err.status, err.message).output.payload;
109+
this.body = new Boom(err.message, { statusCode: err.status }).output.payload;
104110

105111
// set any additional error headers specified
106112
// (e.g. for BasicAuth we use `basic-auth` which specifies WWW-Authenticate)
@@ -236,15 +242,15 @@ function parseValidationError(ctx, err) {
236242
// https://github.com/niftylettuce/mongoose-validation-error-transform
237243
err.errors = _.map(err.errors, error => {
238244
if (!_.isString(error.path)) {
239-
error.message = s.capitalize(error.message);
245+
error.message = capitalize(error.message);
240246
return error;
241247
}
242248

243249
error.message = error.message.replace(
244250
new RegExp(error.path, 'g'),
245-
s.humanize(error.path)
251+
humanize(error.path)
246252
);
247-
error.message = s.capitalize(error.message);
253+
error.message = capitalize(error.message);
248254
return error;
249255
});
250256

yarn.lock

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,18 @@
419419
dependencies:
420420
arrify "^1.0.1"
421421

422+
"@hapi/boom@^7.4.3":
423+
version "7.4.3"
424+
resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-7.4.3.tgz#79ffed6ef8c625046a3bd069abed5a9d35fc50c1"
425+
integrity sha512-3di+R+BcGS7HKy67Zi6mIga8orf67GdR0ubDEVBG1oqz3y9B70LewsuCMCSvWWLKlI6V1+266zqhYzjMrPGvZw==
426+
dependencies:
427+
"@hapi/hoek" "8.x.x"
428+
429+
430+
version "8.2.2"
431+
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.2.tgz#6eaa2e1ec3b50dfb8dccbe705dc289094652bc2d"
432+
integrity sha512-18P3VwngjNEcmvPj1mmiHLPyUPjhPAxIyJKDj4PRIY0F5ac3P0Vd0hkASPyWXHK0rfY3P9N2FoxV8ZuYaRBZ1g==
433+
422434
"@marionebl/sander@^0.6.0":
423435
version "0.6.1"
424436
resolved "https://registry.yarnpkg.com/@marionebl/sander/-/sander-0.6.1.tgz#1958965874f24bc51be48875feb50d642fc41f7b"
@@ -501,9 +513,9 @@
501513
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
502514

503515
"@types/node@*", "@types/node@^12.0.2":
504-
version "12.7.3"
505-
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.3.tgz#27b3f40addaf2f580459fdb405222685542f907a"
506-
integrity sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==
516+
version "12.7.4"
517+
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz#64db61e0359eb5a8d99b55e05c729f130a678b04"
518+
integrity sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ==
507519

508520
"@types/normalize-package-data@^2.4.0":
509521
version "2.4.0"
@@ -1530,13 +1542,6 @@ blueimp-md5@^2.10.0:
15301542
resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.12.0.tgz#be7367938a889dec3ffbb71138617c117e9c130a"
15311543
integrity sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==
15321544

1533-
1534-
version "5.1.0"
1535-
resolved "https://registry.yarnpkg.com/boom/-/boom-5.1.0.tgz#0308fa8e924cd6d42d9c3bf4883bdc98f0e71df8"
1536-
integrity sha1-Awj6jpJM1tQtnDv0iDvcmPDnHfg=
1537-
dependencies:
1538-
hoek "4.x.x"
1539-
15401545
boxen@^1.2.1:
15411546
version "1.3.0"
15421547
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
@@ -1736,6 +1741,11 @@ caniuse-lite@^1.0.30000844:
17361741
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9"
17371742
integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==
17381743

1744+
capitalize@^2.0.0:
1745+
version "2.0.0"
1746+
resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-2.0.0.tgz#61859dd952aba244f03541b23e11470ada097f4b"
1747+
integrity sha512-HwGrAbSn44Tm5Nz+m02oQHf+9y771rmb/cTbXFcoADy29LFRCj4PhWBT54qxfY2HJBWBplwx17Pd4ek6OFbr/Q==
1748+
17391749
capture-stack-trace@^1.0.0:
17401750
version "1.0.1"
17411751
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
@@ -2607,9 +2617,9 @@ [email protected]:
26072617
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
26082618

26092619
electron-to-chromium@^1.3.47:
2610-
version "1.3.250"
2611-
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.250.tgz#1f383c16aeb75e7bddbd6a0491237eca81b2cb1f"
2612-
integrity sha512-2OAU91iUw83QvzuWJPfT+FMj+O+DC1EyTx1QBFcc9WZzOQSfZEAWINpdLWElxkgfiqTvQRDOKg0DkMZd9QoNug==
2620+
version "1.3.252"
2621+
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz#5b6261965b564a0f4df0f1c86246487897017f52"
2622+
integrity sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==
26132623

26142624
elegant-spinner@^1.0.1:
26152625
version "1.0.1"
@@ -2681,9 +2691,9 @@ error-inject@^1.0.0:
26812691
integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=
26822692

26832693
es-abstract@^1.12.0, es-abstract@^1.7.0:
2684-
version "1.14.0"
2685-
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.0.tgz#f59d9d44278ea8f90c8ff3de1552537c2fd739b4"
2686-
integrity sha512-lri42nNq1tIohUuwFBYEM3wKwcrcJa78jukGDdWsuaNxTtxBFGFkKUQ15nc9J+ipje4mhbQR6JwABb4VvawR3A==
2694+
version "1.14.1"
2695+
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.1.tgz#6e8d84b445ec9c610781e74a6d52cc31aac5b4ca"
2696+
integrity sha512-cp/Tb1oA/rh2X7vqeSOvM+TSo3UkJLX70eNihgVEvnzwAgikjkTFr/QVgRCaxjm0knCNQzNoxxxcw2zO2LJdZA==
26872697
dependencies:
26882698
es-to-primitive "^1.2.0"
26892699
function-bind "^1.1.1"
@@ -3732,9 +3742,9 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3
37323742
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
37333743

37343744
handlebars@^4.1.2:
3735-
version "4.1.2"
3736-
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67"
3737-
integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==
3745+
version "4.2.0"
3746+
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.2.0.tgz#57ce8d2175b9bbb3d8b3cf3e4217b1aec8ddcb2e"
3747+
integrity sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==
37383748
dependencies:
37393749
neo-async "^2.6.0"
37403750
optimist "^0.6.1"
@@ -3837,11 +3847,6 @@ hasha@^5.0.0:
38373847
is-stream "^1.1.0"
38383848
type-fest "^0.3.0"
38393849

3840-
3841-
version "4.2.1"
3842-
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
3843-
integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==
3844-
38453850
home-or-tmp@^2.0.0:
38463851
version "2.0.0"
38473852
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
@@ -3887,6 +3892,11 @@ https-proxy-agent@^2.2.1:
38873892
agent-base "^4.3.0"
38883893
debug "^3.1.0"
38893894

3895+
humanize@^0.0.9:
3896+
version "0.0.9"
3897+
resolved "https://registry.yarnpkg.com/humanize/-/humanize-0.0.9.tgz#1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4"
3898+
integrity sha1-GZT/rs3+nEQe0r2sdFK3u0yeQaQ=
3899+
38903900
husky@^3.0.5:
38913901
version "3.0.5"
38923902
resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.5.tgz#d7db27c346645a8dc52df02aa534a377ad7925e0"
@@ -4743,9 +4753,10 @@ koa-404-handler@^0.0.2:
47434753
resolved "https://registry.yarnpkg.com/koa-404-handler/-/koa-404-handler-0.0.2.tgz#a6b4350099560fb3042db3e57a39094b661bc558"
47444754
integrity sha512-F6s31QjJCfDK/amVWQBC9q77x/Fuf5/lspVkiyklrRZ2KzNPk247AEvuVRguyYlGP7mKSHeX+DDwAguP84kcmQ==
47454755

4746-
"koa-basic-auth@https://github.com/niftylettuce/basic-auth":
4747-
version "3.0.0"
4748-
resolved "https://github.com/niftylettuce/basic-auth#00d36f982ed53cd861d2d0bf4b25427a1cf167df"
4756+
koa-basic-auth@^4.0.0:
4757+
version "4.0.0"
4758+
resolved "https://registry.yarnpkg.com/koa-basic-auth/-/koa-basic-auth-4.0.0.tgz#7df593771aeb5fe09c6259db206e2e627da64616"
4759+
integrity sha512-eV1sGVAizDuFWNpY43VF3Z1ND4PotQZB/igxHNrcJXzXw+Flmj8Uv+4hP9LyNXyvqLJz/X5bmXeMu84AAGD9Jw==
47494760
dependencies:
47504761
basic-auth "^2.0.0"
47514762
tsscmp "^1.0.6"
@@ -7722,9 +7733,9 @@ run-parallel@^1.1.9:
77227733
integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
77237734

77247735
rxjs@^6.3.3, rxjs@^6.4.0:
7725-
version "6.5.2"
7726-
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
7727-
integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
7736+
version "6.5.3"
7737+
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a"
7738+
integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==
77287739
dependencies:
77297740
tslib "^1.9.0"
77307741

@@ -8005,11 +8016,6 @@ split2@^2.0.0:
80058016
dependencies:
80068017
through2 "^2.0.2"
80078018

8008-
sprintf-js@^1.0.3:
8009-
version "1.1.2"
8010-
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
8011-
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
8012-
80138019
sprintf-js@~1.0.2:
80148020
version "1.0.3"
80158021
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -8419,7 +8425,7 @@ to-vfile@^6.0.0:
84198425
is-buffer "^2.0.0"
84208426
vfile "^4.0.0"
84218427

8422-
8428+
[email protected], toidentifier@^1.0.0:
84238429
version "1.0.0"
84248430
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
84258431
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
@@ -8526,14 +8532,6 @@ [email protected]:
85268532
resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82"
85278533
integrity sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=
85288534

8529-
underscore.string@^3.3.5:
8530-
version "3.3.5"
8531-
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
8532-
integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
8533-
dependencies:
8534-
sprintf-js "^1.0.3"
8535-
util-deprecate "^1.0.2"
8536-
85378535
unherit@^1.0.4:
85388536
version "1.1.2"
85398537
resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449"
@@ -8834,7 +8832,7 @@ user-home@^1.1.1:
88348832
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
88358833
integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA=
88368834

8837-
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
8835+
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
88388836
version "1.0.2"
88398837
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
88408838
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=

0 commit comments

Comments
 (0)