From cdc4288095888fcfa1467d6f5f00a11bd17dfa05 Mon Sep 17 00:00:00 2001 From: 1549469775 <1549469775@qq.com> Date: Mon, 18 Jul 2022 15:11:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 + pnpm-lock.yaml | 883 +++++++++++++------------------ readme.md | 5 +- source/plugins/index.ts | 54 +- source/route/views/login.ts | 3 +- template/layout/layout.pug | 1 + template/views/include/flush.pug | 7 + template/views/include/form_security.pug | 2 + template/views/login.pug | 3 + 9 files changed, 454 insertions(+), 509 deletions(-) create mode 100644 template/views/include/flush.pug create mode 100644 template/views/include/form_security.pug diff --git a/package.json b/package.json index 997f41c..50e0c3f 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,14 @@ "license": "ISC", "dependencies": { "@hapi/cookie": "^11.0.2", + "@hapi/crumb": "^8.0.1", "@hapi/hapi": "^20.1.2", + "@hapi/hoek": "^10.0.0", "@hapi/inert": "^6.0.3", + "@hapi/yar": "^10.1.1", "@types/hapi__hapi": "^20.0.10", "@types/hapi__vision": "^5.5.3", + "@types/hapi__yar": "^10.1.1", "bcrypt": "^5.0.1", "hapi-auth-jwt2": "^10.2.0", "hapi-sequelizejs": "^4.5.0", @@ -36,6 +40,7 @@ "@hapi/vision": "^6.1.0", "@noderun/hapi-router": "link:packages\\hapi-router", "@types/hapi__cookie": "^10.1.4", + "@types/hapi__crumb": "^7.3.3", "@types/node": "^17.0.21", "dotenv": "^10.0.0", "ejs": "^3.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8d7749..60f8897 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,14 +1,19 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 specifiers: '@hapi/cookie': ^11.0.2 + '@hapi/crumb': ^8.0.1 '@hapi/hapi': ^20.1.2 + '@hapi/hoek': ^10.0.0 '@hapi/inert': ^6.0.3 '@hapi/vision': ^6.1.0 + '@hapi/yar': ^10.1.1 '@noderun/hapi-router': link:packages\hapi-router '@types/hapi__cookie': ^10.1.4 + '@types/hapi__crumb': ^7.3.3 '@types/hapi__hapi': ^20.0.10 '@types/hapi__vision': ^5.5.3 + '@types/hapi__yar': ^10.1.1 '@types/node': ^17.0.21 bcrypt: ^5.0.1 dotenv: ^10.0.0 @@ -34,14 +39,18 @@ specifiers: dependencies: '@hapi/cookie': 11.0.2 + '@hapi/crumb': 8.0.1 '@hapi/hapi': 20.1.4 + '@hapi/hoek': 10.0.0 '@hapi/inert': 6.0.3 - '@types/hapi__hapi': registry.npmmirror.com/@types/hapi__hapi/20.0.10 - '@types/hapi__vision': registry.npmmirror.com/@types/hapi__vision/5.5.3 + '@hapi/yar': 10.1.1 + '@types/hapi__hapi': 20.0.10 + '@types/hapi__vision': 5.5.3 + '@types/hapi__yar': 10.1.1 bcrypt: 5.0.1 hapi-auth-jwt2: 10.2.0 - hapi-sequelizejs: registry.npmmirror.com/hapi-sequelizejs/4.5.0_854bf76d9bf23fc83de64ddfc031ac7f - hapi-swagger: 14.2.0_@hapi+hapi@20.1.4+joi@17.4.0 + hapi-sequelizejs: 4.5.0_qvf7o3m36i74qppgjxp4amnmp4 + hapi-swagger: 14.2.0_7vfmy7cdcj4whrdhceanslo3uq joi: 17.4.0 json-merge-patch: 1.0.1 jsonwebtoken: 8.5.1 @@ -54,14 +63,15 @@ dependencies: devDependencies: '@hapi/vision': 6.1.0 '@noderun/hapi-router': link:packages/hapi-router - '@types/hapi__cookie': registry.npmmirror.com/@types/hapi__cookie/10.1.4 + '@types/hapi__cookie': 10.1.4 + '@types/hapi__crumb': 7.3.3 '@types/node': 17.0.21 dotenv: 10.0.0 ejs: 3.1.6 fast-glob: 3.2.11 file-type: 16.5.0 - log4js: registry.npmmirror.com/log4js/6.4.1 - ts-node: 10.0.0_994e9dd6eccb2c889707fc5c400a4503 + log4js: 6.4.1 + ts-node: 10.0.0_tfhj3vxmzmwirfyh7roeacsfam ts-node-dev: 1.1.6_typescript@4.3.2 tsconfig-paths: 3.9.0 typescript: 4.3.2 @@ -77,6 +87,8 @@ packages: resolution: {integrity: sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.14.5 dev: false /@babel/types/7.14.5: @@ -91,49 +103,53 @@ packages: resolution: {integrity: sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false /@hapi/ammo/5.0.1: resolution: {integrity: sha512-FbCNwcTbnQP4VYYhLNGZmA76xb2aHg9AMPiy18NZyWMG310P5KdFGyA9v2rm5ujrIny77dEEIkMOwl0Xv+fSSA==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false + /@hapi/b64/5.0.0: + resolution: {integrity: sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@hapi/b64/-/b64-5.0.0.tgz} + dependencies: + '@hapi/hoek': 9.2.0 + /@hapi/boom/9.1.2: resolution: {integrity: sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 /@hapi/bounce/2.0.0: resolution: {integrity: sha512-JesW92uyzOOyuzJKjoLHM1ThiOvHPOLDHw01YV8yh5nCso7sDwJho1h0Ad2N+E62bZyz46TG3xhAi/78Gsct6A==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 /@hapi/bourne/2.0.0: - resolution: {integrity: sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==} - dev: false + resolution: {integrity: sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@hapi/bourne/-/bourne-2.0.0.tgz} /@hapi/call/8.0.1: resolution: {integrity: sha512-bOff6GTdOnoe5b8oXRV3lwkQSb/LAWylvDMae6RgEWWntd0SHtkYbQukDHKlfaYtVnSAgIavJ0kqszF/AIBb6g==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false /@hapi/catbox-memory/5.0.1: resolution: {integrity: sha512-QWw9nOYJq5PlvChLWV8i6hQHJYfvdqiXdvTupJFh0eqLZ64Xir7mKNi96d5/ZMUAqXPursfNDIDxjFgoEDUqeQ==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false /@hapi/catbox/11.1.1: resolution: {integrity: sha512-u/8HvB7dD/6X8hsZIpskSDo4yMKpHxFd7NluoylhGrL6cUfYxdQPnvUp9YU2C6F9hsyBVLGulBd9vBN1ebfXOQ==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/podium': 4.1.3 '@hapi/validate': 1.1.3 dev: false @@ -141,7 +157,7 @@ packages: /@hapi/content/5.0.2: resolution: {integrity: sha512-mre4dl1ygd4ZyOH3tiYBrOUBzV7Pu/EOs8VLGf58vtOEECWed8Uuw6B4iR9AN/8uQt42tB04qpVaMyoMQh0oMw==} dependencies: - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 + '@hapi/boom': 9.1.2 dev: false /@hapi/cookie/11.0.2: @@ -153,12 +169,20 @@ packages: '@hapi/validate': 1.1.3 dev: false + /@hapi/crumb/8.0.1: + resolution: {integrity: sha512-aUBQG7IzP6N+J7rkoMU5flzFJiNuqnrQZ8hvJ+aHGlOQ3s1BIszs2zi3QLItmvNn4+hIJCWhsMQe3D7Abxe7Jg==} + dependencies: + '@hapi/boom': 9.1.2 + '@hapi/cryptiles': 5.1.0 + '@hapi/hoek': 9.2.0 + '@hapi/validate': 1.1.3 + dev: false + /@hapi/cryptiles/5.1.0: resolution: {integrity: sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==} engines: {node: '>=12.0.0'} dependencies: - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - dev: false + '@hapi/boom': 9.1.2 /@hapi/file/2.0.0: resolution: {integrity: sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ==} @@ -192,10 +216,14 @@ packages: resolution: {integrity: sha512-vJ/vzRQ13MtRzz6Qd4zRHWS3FaUc/5uivV2TIuExGTM9Qk+7Zzqj0e2G7EpE6KztO9SalTbiIkTh7qFKj/33cA==} dependencies: '@hapi/boom': 9.1.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/validate': 1.1.3 dev: false + /@hapi/hoek/10.0.0: + resolution: {integrity: sha512-CeNFz1JcLZ5xE8Vc9aau37cgHw9bxXqSDK/D55GF2GAOv0n0XjyyjSodHtKahB7A1tV3FlgCpijp3zkSITmBdA==} + dev: false + /@hapi/hoek/9.2.0: resolution: {integrity: sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==} @@ -211,19 +239,18 @@ packages: dev: false /@hapi/iron/6.0.0: - resolution: {integrity: sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==} + resolution: {integrity: sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@hapi/iron/-/iron-6.0.0.tgz} dependencies: - '@hapi/b64': registry.npmmirror.com/@hapi/b64/5.0.0 - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - '@hapi/bourne': registry.npmmirror.com/@hapi/bourne/2.0.0 - '@hapi/cryptiles': registry.npmmirror.com/@hapi/cryptiles/5.1.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - dev: false + '@hapi/b64': 5.0.0 + '@hapi/boom': 9.1.2 + '@hapi/bourne': 2.0.0 + '@hapi/cryptiles': 5.1.0 + '@hapi/hoek': 9.2.0 /@hapi/mimos/6.0.0: resolution: {integrity: sha512-Op/67tr1I+JafN3R3XN5DucVSxKRT/Tc+tUszDwENoNpolxeXkhrJ2Czt6B6AAqrespHoivhgZBWYSuANN9QXg==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 mime-db: 1.48.0 dev: false @@ -231,32 +258,31 @@ packages: resolution: {integrity: sha512-ht2KoEsDW22BxQOEkLEJaqfpoKPXxi7tvabXy7B/77eFtOyG5ZEstfZwxHQcqAiZhp58Ae5vkhEqI03kawkYNw==} engines: {node: '>=12.0.0'} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/vise': 4.0.0 dev: false /@hapi/pez/5.0.3: resolution: {integrity: sha512-mpikYRJjtrbJgdDHG/H9ySqYqwJ+QU/D7FXsYciS9P7NYBXE2ayKDAy3H0ou6CohOCaxPuTV4SZ0D936+VomHA==} dependencies: - '@hapi/b64': registry.npmmirror.com/@hapi/b64/5.0.0 - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 + '@hapi/b64': 5.0.0 + '@hapi/boom': 9.1.2 '@hapi/content': 5.0.2 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/nigel': 4.0.2 dev: false /@hapi/podium/4.1.3: - resolution: {integrity: sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==} + resolution: {integrity: sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@hapi/podium/-/podium-4.1.3.tgz} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/teamwork': 5.1.0 '@hapi/validate': 1.1.3 - dev: false /@hapi/shot/5.0.5: resolution: {integrity: sha512-x5AMSZ5+j+Paa8KdfCoKh+klB78otxF+vcJR/IoN91Vo2e5ulXIW6HUsFTCU+4W6P/Etaip9nmdAx2zWDimB2A==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/validate': 1.1.3 dev: false @@ -264,7 +290,7 @@ packages: resolution: {integrity: sha512-4ZTSN3YAHtgpY/M4GOtHUXgi6uZtG9nEZfNI6QrArhK0XN/RDVgijlb9kOmXwCR5VclDSkBul9FBvhSuKXx9+w==} dependencies: '@hapi/bounce': 2.0.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false /@hapi/statehood/7.0.3: @@ -274,7 +300,7 @@ packages: '@hapi/bounce': 2.0.0 '@hapi/bourne': 2.0.0 '@hapi/cryptiles': 5.1.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/iron': 6.0.0 '@hapi/validate': 1.1.3 dev: false @@ -286,7 +312,7 @@ packages: '@hapi/bourne': 2.0.0 '@hapi/content': 5.0.2 '@hapi/file': 2.0.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/pez': 5.0.3 '@hapi/wreck': 17.1.0 dev: false @@ -294,23 +320,22 @@ packages: /@hapi/teamwork/5.1.0: resolution: {integrity: sha512-llqoQTrAJDTXxG3c4Kz/uzhBS1TsmSBa/XG5SPcVXgmffHE1nFtyLIK0hNJHCB3EuBKT84adzd1hZNY9GJLWtg==} engines: {node: '>=12.0.0'} - dev: false /@hapi/topo/5.0.0: resolution: {integrity: sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 /@hapi/validate/1.1.3: resolution: {integrity: sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 '@hapi/topo': 5.0.0 /@hapi/vise/4.0.0: resolution: {integrity: sha512-eYyLkuUiFZTer59h+SGy7hUm+qE9p+UemePTHLlIWppEd+wExn3Df5jO04bFQTm7nleF5V8CtuYQYb+VFpZ6Sg==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/hoek': 9.2.0 dev: false /@hapi/vision/6.1.0: @@ -325,9 +350,17 @@ packages: /@hapi/wreck/17.1.0: resolution: {integrity: sha512-nx6sFyfqOpJ+EFrHX+XWwJAxs3ju4iHdbB/bwR8yTNZOiYmuhA8eCe7lYPtYmb4j7vyK/SlbaQsmTtUrMvPEBw==} dependencies: - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - '@hapi/bourne': registry.npmmirror.com/@hapi/bourne/2.0.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 + '@hapi/boom': 9.1.2 + '@hapi/bourne': 2.0.0 + '@hapi/hoek': 9.2.0 + dev: false + + /@hapi/yar/10.1.1: + resolution: {integrity: sha512-FUI+cnCIMAws9mhLzITo12cdnLUWSWVPmSnh1ILaROjUCm1uA88DOGIZORUfHBf/+NMI10V2d+nyV2PZtKVd7g==} + dependencies: + '@hapi/hoek': 9.2.0 + '@hapi/statehood': 7.0.3 + uuid: 8.3.2 dev: false /@mapbox/node-pre-gyp/1.0.5: @@ -371,16 +404,18 @@ packages: /@sideway/address/4.1.2: resolution: {integrity: sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==} dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - dev: false + '@hapi/hoek': 9.2.0 + + /@sideway/address/4.1.3: + resolution: {integrity: sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@sideway/address/-/address-4.1.3.tgz} + dependencies: + '@hapi/hoek': 9.2.0 /@sideway/formula/3.0.0: resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} - dev: false /@sideway/pinpoint/2.0.0: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - dev: false /@sindresorhus/is/0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} @@ -418,10 +453,72 @@ packages: resolution: {integrity: sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==} dev: true + /@types/hapi__catbox/10.2.4: + resolution: {integrity: sha512-A6ivRrXD5glmnJna1UAGw87QNZRp/vdFO9U4GS+WhOMWzHnw+oTGkMvg0g6y1930CbeheGOCm7A1qHsqH7AXqg==} + + /@types/hapi__cookie/10.1.4: + resolution: {integrity: sha512-CESd2IRnTYAnr+gxHGTXIuLOvi5+M2dw4aG6efP+K6bVTdE385Cu63k/DNLO6iQX0hoXtxCYUKy1QyQEy/Xg5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/hapi__cookie/-/hapi__cookie-10.1.4.tgz} + dependencies: + '@types/hapi__hapi': 20.0.10 + joi: 17.6.0 + dev: true + + /@types/hapi__crumb/7.3.3: + resolution: {integrity: sha512-EcQDkbuFz5T1Gf02miz/y9JcF+IytcO/lnoNgtnS+73GrPGvVeIvTWmVoO4ILpbJOXGRdvl6cGMNrPmeYMa/5Q==} + dependencies: + '@types/hapi__hapi': 20.0.10 + joi: 17.6.0 + dev: true + + /@types/hapi__hapi/20.0.10: + resolution: {integrity: sha512-Nt/SY/20/JAlHhbgH616j0g18vsANR9OWoyMdQcytlW6o7TBN+wRgf0MB8AgzjYpuzQam5oTiqyED9WwHmQKYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/hapi__hapi/-/hapi__hapi-20.0.10.tgz} + dependencies: + '@hapi/boom': 9.1.2 + '@hapi/iron': 6.0.0 + '@hapi/podium': 4.1.3 + '@types/hapi__catbox': 10.2.4 + '@types/hapi__mimos': 4.1.4 + '@types/hapi__shot': 4.1.2 + '@types/node': 17.0.21 + joi: 17.4.0 + + /@types/hapi__mimos/4.1.4: + resolution: {integrity: sha512-i9hvJpFYTT/qzB5xKWvDYaSXrIiNqi4ephi+5Lo6+DoQdwqPXQgmVVOZR+s3MBiHoFqsCZCX9TmVWG3HczmTEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/hapi__mimos/-/hapi__mimos-4.1.4.tgz} + dependencies: + '@types/mime-db': 1.43.1 + + /@types/hapi__shot/4.1.2: + resolution: {integrity: sha512-8wWgLVP1TeGqgzZtCdt+F+k15DWQvLG1Yv6ZzPfb3D5WIo5/S+GGKtJBVo2uNEcqabP5Ifc71QnJTDnTmw1axA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/hapi__shot/-/hapi__shot-4.1.2.tgz} + dependencies: + '@types/node': 17.0.21 + + /@types/hapi__vision/5.5.3: + resolution: {integrity: sha512-R4+r9345+5LCM8/0OQ1J8UVVPwnOwMdUVtPrtJE4oNbZ31+rLSy/bLoGpuZJwjROeC006YXbibnRF1hcVQFjGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/hapi__vision/-/hapi__vision-5.5.3.tgz} + dependencies: + '@types/hapi__hapi': 20.0.10 + handlebars: 4.7.7 + dev: false + + /@types/hapi__yar/10.1.1: + resolution: {integrity: sha512-2qgcS1sLA0BX7cFBQOXDYsaratgZ25WfU8/8vw0vwtas/a+QeQLmCRiz6lsAWZP4z2ukWwMwVwVKMUDfSI3H8w==} + dependencies: + '@types/hapi__catbox': 10.2.4 + '@types/hapi__hapi': 20.0.10 + dev: false + /@types/json5/0.0.29: resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} dev: true + /@types/keyv/3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 17.0.21 + dev: false + + /@types/mime-db/1.43.1: + resolution: {integrity: sha512-kGZJY+R+WnR5Rk+RPHUMERtb2qBRViIHCBdtUrY+NmwuGb8pQdfTqQiCKPrxpdoycl8KWm2DLdkpoSdt479XoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/mime-db/-/mime-db-1.43.1.tgz} + /@types/node/17.0.21: resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} @@ -432,6 +529,12 @@ packages: safe-buffer: 5.2.1 dev: true + /@types/responselike/1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 17.0.21 + dev: false + /@types/strip-bom/3.0.0: resolution: {integrity: sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=} dev: true @@ -454,7 +557,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: registry.npmmirror.com/debug/4.3.3 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: false @@ -593,6 +696,9 @@ packages: '@babel/types': 7.14.5 dev: false + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/balanced-match/-/balanced-match-1.0.2.tgz} + /bcrypt-pbkdf/1.0.2: resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} dependencies: @@ -619,7 +725,7 @@ packages: resolution: {integrity: sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=} engines: {node: 0.4 || >=0.5.8} dependencies: - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 dev: false optional: true @@ -637,6 +743,12 @@ packages: widest-line: 3.1.0 dev: false + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/brace-expansion/-/brace-expansion-1.1.11.tgz} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -807,7 +919,7 @@ packages: engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.6 + graceful-fs: 4.2.6 make-dir: 3.1.0 unique-string: 2.0.0 write-file-atomic: 3.0.3 @@ -864,6 +976,11 @@ packages: dev: false optional: true + /date-format/4.0.3: + resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/date-format/-/date-format-4.0.3.tgz} + engines: {node: '>=4.0'} + dev: true + /dateformat/1.0.12: resolution: {integrity: sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=} hasBin: true @@ -872,10 +989,39 @@ packages: meow: 3.7.0 dev: true + /debug/2.6.9_supports-color@5.5.0: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/debug/-/debug-2.6.9.tgz} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + supports-color: 5.5.0 + dev: false + /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: - ms: registry.npmmirror.com/ms/2.1.3 + ms: 2.1.3 + dev: false + + /debug/3.2.7_supports-color@5.5.0: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + supports-color: 5.5.0 dev: false /debug/4.3.1: @@ -887,9 +1033,20 @@ packages: supports-color: optional: true dependencies: - ms: registry.npmmirror.com/ms/2.1.2 + ms: 2.1.2 dev: false + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/debug/-/debug-4.3.3.tgz} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + /decamelize/1.2.0: resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} engines: {node: '>=0.10.0'} @@ -1027,7 +1184,7 @@ packages: /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: - once: registry.npmmirror.com/once/1.4.0 + once: 1.4.0 dev: false /error-ex/1.3.2: @@ -1146,7 +1303,7 @@ packages: /filelist/1.0.2: resolution: {integrity: sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==} dependencies: - minimatch: registry.npmmirror.com/minimatch/3.0.4 + minimatch: 3.0.4 dev: true /fill-range/7.0.1: @@ -1163,6 +1320,10 @@ packages: pinkie-promise: 2.0.1 dev: true + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/flatted/-/flatted-3.2.5.tgz} + dev: true + /foreach/2.0.5: resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=} dev: false @@ -1186,6 +1347,15 @@ packages: resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} dev: false + /fs-extra/10.0.1: + resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fs-extra/-/fs-extra-10.0.1.tgz} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.6 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs-minipass/1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} dependencies: @@ -1199,6 +1369,9 @@ packages: minipass: 3.1.3 dev: false + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fs.realpath/-/fs.realpath-1.0.0.tgz} + /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1211,7 +1384,7 @@ packages: engines: {node: '>=0.6'} dependencies: graceful-fs: 4.2.6 - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 mkdirp: 0.5.5 rimraf: 2.7.1 dev: false @@ -1273,6 +1446,16 @@ packages: dependencies: is-glob: 4.0.1 + /glob/7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/glob/-/glob-7.1.7.tgz} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + /global-dirs/2.1.0: resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} engines: {node: '>=8'} @@ -1286,6 +1469,8 @@ packages: dependencies: '@sindresorhus/is': 0.14.0 '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 cacheable-request: 6.1.0 decompress-response: 3.3.0 duplexer3: 0.1.4 @@ -1298,10 +1483,10 @@ packages: dev: false /graceful-fs/4.2.6: - resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} + resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/graceful-fs/-/graceful-fs-4.2.6.tgz} /handlebars/4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/handlebars/-/handlebars-4.7.7.tgz} engines: {node: '>=0.4.7'} hasBin: true dependencies: @@ -1322,7 +1507,21 @@ packages: jsonwebtoken: 8.5.1 dev: false - /hapi-swagger/14.2.0_@hapi+hapi@20.1.4+joi@17.4.0: + /hapi-sequelizejs/4.5.0_qvf7o3m36i74qppgjxp4amnmp4: + resolution: {integrity: sha512-+A2Qgu2lIM8kz7PDxbDtmhGJbnobRPdOEMkmc7NvhElZr5AIkbhoYcV/dmqI70tw671zvRjS9A255igShyigow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/hapi-sequelizejs/-/hapi-sequelizejs-4.5.0.tgz} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + peerDependencies: + '@hapi/hapi': 19.x || 20.x + sequelize: 5.x || 6.x + dependencies: + '@hapi/hapi': 20.1.4 + '@hapi/hoek': 9.2.0 + glob: 7.1.7 + joi: 17.6.0 + sequelize: 6.6.2_sqlite3@5.0.2 + dev: false + + /hapi-swagger/14.2.0_7vfmy7cdcj4whrdhceanslo3uq: resolution: {integrity: sha512-S0XoYfWOsMXA4rk43YCCzNUFW2zNHKfDcagJqrurTMcJgyKK7soHzEbaF34m/kyeT4n4YiKLDdcFhfXzSAMycw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1338,6 +1537,8 @@ packages: json-schema-ref-parser: 6.1.0 swagger-parser: 4.0.2 swagger-ui-dist: 3.50.0 + transitivePeerDependencies: + - supports-color dev: false /har-schema/2.0.0: @@ -1402,7 +1603,7 @@ packages: engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 1.5.0 toidentifier: 1.0.0 @@ -1428,7 +1629,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: registry.npmmirror.com/debug/4.3.3 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: false @@ -1451,7 +1652,7 @@ packages: /ignore-walk/3.0.4: resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} dependencies: - minimatch: registry.npmmirror.com/minimatch/3.0.4 + minimatch: 3.0.4 dev: false /import-lazy/2.1.0: @@ -1476,6 +1677,15 @@ packages: engines: {'0': node >= 0.4.0} dev: false + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/inflight/-/inflight-1.0.6.tgz} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/inherits/-/inherits-2.0.4.tgz} + /ini/1.3.7: resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} dev: false @@ -1709,7 +1919,15 @@ packages: '@sideway/address': 4.1.2 '@sideway/formula': 3.0.0 '@sideway/pinpoint': 2.0.0 - dev: false + + /joi/17.6.0: + resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/joi/-/joi-17.6.0.tgz} + dependencies: + '@hapi/hoek': 9.2.0 + '@hapi/topo': 5.0.0 + '@sideway/address': 4.1.3 + '@sideway/formula': 3.0.0 + '@sideway/pinpoint': 2.0.0 /js-stringify/1.0.2: resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=} @@ -1742,9 +1960,11 @@ packages: resolution: {integrity: sha512-lByoCHZ6H2zgb6NtsXIqtzQ+6Ji7iVqnrhWxsXLhF+gXmgu6E8+ErpDxCMR439MUG1nfMjWI2HAoM8l0XgSNhw==} dependencies: call-me-maybe: 1.0.1 - debug: registry.npmmirror.com/debug/3.2.7 + debug: 3.2.7 js-yaml: 3.14.1 ono: 4.0.11 + transitivePeerDependencies: + - supports-color dev: false /json-schema-ref-parser/6.1.0: @@ -1777,6 +1997,14 @@ packages: minimist: 1.2.5 dev: true + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jsonfile/-/jsonfile-6.1.0.tgz} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.6 + dev: true + /jsonwebtoken/8.5.1: resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} engines: {node: '>=4', npm: '>=1.4.28'} @@ -1890,6 +2118,19 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false + /log4js/6.4.1: + resolution: {integrity: sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/log4js/-/log4js-6.4.1.tgz} + engines: {node: '>=8.0'} + dependencies: + date-format: 4.0.3 + debug: 4.3.3 + flatted: 3.2.5 + rfdc: 1.3.0 + streamroller: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + /loud-rejection/1.6.0: resolution: {integrity: sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=} engines: {node: '>=0.10.0'} @@ -1981,7 +2222,7 @@ packages: /minimatch/3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: - brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 + brace-expansion: 1.1.11 /minimist/1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} @@ -2018,7 +2259,7 @@ packages: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true dependencies: - minimist: registry.npmmirror.com/minimist/1.2.5 + minimist: 1.2.5 dev: false /mkdirp/1.0.4: @@ -2036,6 +2277,13 @@ packages: resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} dev: false + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/ms/-/ms-2.0.0.tgz} + dev: false + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/ms/-/ms-2.1.2.tgz} + /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false @@ -2054,13 +2302,15 @@ packages: engines: {node: '>= 4.4.x'} hasBin: true dependencies: - debug: registry.npmmirror.com/debug/3.2.7 + debug: 3.2.7 iconv-lite: 0.4.24 sax: 1.2.4 + transitivePeerDependencies: + - supports-color dev: false /neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/neo-async/-/neo-async-2.6.2.tgz} dev: false /node-addon-api/3.2.1: @@ -2079,8 +2329,8 @@ packages: requiresBuild: true dependencies: fstream: 1.0.12 - glob: registry.npmmirror.com/glob/7.1.7 - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.6 + glob: 7.1.7 + graceful-fs: 4.2.6 mkdirp: 0.5.5 nopt: 3.0.6 npmlog: 4.1.2 @@ -2108,6 +2358,8 @@ packages: rimraf: 2.7.1 semver: 5.7.1 tar: 4.4.13 + transitivePeerDependencies: + - supports-color dev: false /nodemon/2.0.7: @@ -2117,14 +2369,14 @@ packages: requiresBuild: true dependencies: chokidar: 3.5.2 - debug: 3.2.7 + debug: 3.2.7_supports-color@5.5.0 ignore-by-default: 1.0.1 minimatch: 3.0.4 pstree.remy: 1.1.8 semver: 5.7.1 supports-color: 5.5.0 touch: 3.1.0 - undefsafe: 2.0.3 + undefsafe: 2.0.3_supports-color@5.5.0 update-notifier: 4.1.3 dev: false @@ -2245,6 +2497,11 @@ packages: object-keys: 1.1.1 dev: false + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/once/-/once-1.4.0.tgz} + dependencies: + wrappy: 1.0.2 + /ono/4.0.11: resolution: {integrity: sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==} dependencies: @@ -2297,6 +2554,10 @@ packages: pinkie-promise: 2.0.1 dev: true + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz} + engines: {node: '>=0.10.0'} + /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -2459,7 +2720,7 @@ packages: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 - once: registry.npmmirror.com/once/1.4.0 + once: 1.4.0 dev: false /punycode/2.1.1: @@ -2496,7 +2757,7 @@ packages: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: registry.npmmirror.com/minimist/1.2.5 + minimist: 1.2.5 strip-json-comments: 2.0.1 dev: false @@ -2521,7 +2782,7 @@ packages: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.2 - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 2.0.1 safe-buffer: 5.1.2 @@ -2533,7 +2794,7 @@ packages: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 dev: true @@ -2640,17 +2901,21 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/rfdc/-/rfdc-1.3.0.tgz} + dev: true + /rimraf/2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: - glob: registry.npmmirror.com/glob/7.1.7 + glob: 7.1.7 /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: - glob: registry.npmmirror.com/glob/7.1.7 + glob: 7.1.7 dev: false /run-parallel/1.2.0: @@ -2818,6 +3083,8 @@ packages: node-pre-gyp: 0.11.0 optionalDependencies: node-gyp: 3.8.0 + transitivePeerDependencies: + - supports-color dev: false /sshpk/1.16.1: @@ -2842,6 +3109,17 @@ packages: engines: {node: '>= 0.6'} dev: false + /streamroller/3.0.2: + resolution: {integrity: sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/streamroller/-/streamroller-3.0.2.tgz} + engines: {node: '>=8.0'} + dependencies: + date-format: 4.0.3 + debug: 4.3.3 + fs-extra: 10.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /string-width/1.0.2: resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} engines: {node: '>=0.10.0'} @@ -2970,12 +3248,14 @@ packages: resolution: {integrity: sha512-hKslog8LhsXICJ1sMLsA8b8hQ3oUEX0457aLCFJc4zz6m8drmnCtyjbVqS5HycaKFOKVolJc2wFoe8KDPWfp4g==} dependencies: call-me-maybe: 1.0.1 - debug: registry.npmmirror.com/debug/3.2.7 + debug: 3.2.7 json-schema-ref-parser: 4.1.1 ono: 4.0.11 swagger-methods: 1.0.8 swagger-schema-official: 2.0.0-bab6bed z-schema: 3.25.1 + transitivePeerDependencies: + - supports-color dev: false /swagger-schema-official/2.0.0-bab6bed: @@ -2991,7 +3271,7 @@ packages: dependencies: block-stream: 0.0.9 fstream: 1.0.12 - inherits: registry.npmmirror.com/inherits/2.0.4 + inherits: 2.0.4 dev: false optional: true @@ -3113,7 +3393,7 @@ packages: typescript: 4.3.2 dev: true - /ts-node/10.0.0_994e9dd6eccb2c889707fc5c400a4503: + /ts-node/10.0.0_tfhj3vxmzmwirfyh7roeacsfam: resolution: {integrity: sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==} engines: {node: '>=12.0.0'} hasBin: true @@ -3229,10 +3509,12 @@ packages: which-boxed-primitive: 1.0.2 dev: false - /undefsafe/2.0.3: + /undefsafe/2.0.3_supports-color@5.5.0: resolution: {integrity: sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==} dependencies: - debug: registry.npmmirror.com/debug/2.6.9 + debug: 2.6.9_supports-color@5.5.0 + transitivePeerDependencies: + - supports-color dev: false /unique-string/2.0.0: @@ -3242,6 +3524,11 @@ packages: crypto-random-string: 2.0.0 dev: false + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/universalify/-/universalify-2.0.0.tgz} + engines: {node: '>= 10.0.0'} + dev: true + /update-notifier/4.1.3: resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} engines: {node: '>=8'} @@ -3387,9 +3674,12 @@ packages: dev: false /wordwrap/1.0.0: - resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=} + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/wordwrap/-/wordwrap-1.0.0.tgz} dev: false + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/wrappy/-/wrappy-1.0.2.tgz} + /write-file-atomic/3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: @@ -3433,422 +3723,3 @@ packages: optionalDependencies: commander: 2.20.3 dev: false - - registry.npmmirror.com/@hapi/b64/5.0.0: - resolution: {integrity: sha512-ngu0tSEmrezoiIaNGG6rRvKOUkUuDdf4XTPnONHGYfSGRmDqPZX5oJL6HAdKTo1UQHECbdB4OzhWrfgVppjHUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/b64/-/b64-5.0.0.tgz} - name: '@hapi/b64' - version: 5.0.0 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - - registry.npmmirror.com/@hapi/boom/9.1.2: - resolution: {integrity: sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/boom/-/boom-9.1.2.tgz} - name: '@hapi/boom' - version: 9.1.2 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - - registry.npmmirror.com/@hapi/bourne/2.0.0: - resolution: {integrity: sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/bourne/-/bourne-2.0.0.tgz} - name: '@hapi/bourne' - version: 2.0.0 - - registry.npmmirror.com/@hapi/cryptiles/5.1.0: - resolution: {integrity: sha512-fo9+d1Ba5/FIoMySfMqPBR/7Pa29J2RsiPrl7bkwo5W5o+AN1dAYQRi4SPrPwwVxVGKjgLOEWrsvt1BonJSfLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/cryptiles/-/cryptiles-5.1.0.tgz} - name: '@hapi/cryptiles' - version: 5.1.0 - engines: {node: '>=12.0.0'} - dependencies: - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - - registry.npmmirror.com/@hapi/hoek/9.2.0: - resolution: {integrity: sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.2.0.tgz} - name: '@hapi/hoek' - version: 9.2.0 - - registry.npmmirror.com/@hapi/iron/6.0.0: - resolution: {integrity: sha512-zvGvWDufiTGpTJPG1Y/McN8UqWBu0k/xs/7l++HVU535NLHXsHhy54cfEMdW7EjwKfbBfM9Xy25FmTiobb7Hvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/iron/-/iron-6.0.0.tgz} - name: '@hapi/iron' - version: 6.0.0 - dependencies: - '@hapi/b64': registry.npmmirror.com/@hapi/b64/5.0.0 - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - '@hapi/bourne': registry.npmmirror.com/@hapi/bourne/2.0.0 - '@hapi/cryptiles': registry.npmmirror.com/@hapi/cryptiles/5.1.0 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - - registry.npmmirror.com/@hapi/podium/4.1.3: - resolution: {integrity: sha512-ljsKGQzLkFqnQxE7qeanvgGj4dejnciErYd30dbrYzUOF/FyS/DOF97qcrT3bhoVwCYmxa6PEMhxfCPlnUcD2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/podium/-/podium-4.1.3.tgz} - name: '@hapi/podium' - version: 4.1.3 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - '@hapi/teamwork': registry.npmmirror.com/@hapi/teamwork/5.1.0 - '@hapi/validate': registry.npmmirror.com/@hapi/validate/1.1.3 - - registry.npmmirror.com/@hapi/teamwork/5.1.0: - resolution: {integrity: sha512-llqoQTrAJDTXxG3c4Kz/uzhBS1TsmSBa/XG5SPcVXgmffHE1nFtyLIK0hNJHCB3EuBKT84adzd1hZNY9GJLWtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/teamwork/-/teamwork-5.1.0.tgz} - name: '@hapi/teamwork' - version: 5.1.0 - engines: {node: '>=12.0.0'} - - registry.npmmirror.com/@hapi/topo/5.0.0: - resolution: {integrity: sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/topo/-/topo-5.0.0.tgz} - name: '@hapi/topo' - version: 5.0.0 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - - registry.npmmirror.com/@hapi/validate/1.1.3: - resolution: {integrity: sha512-/XMR0N0wjw0Twzq2pQOzPBZlDzkekGcoCtzO314BpIEsbXdYGthQUbxgkGDf4nhk1+IPDAsXqWjMohRQYO06UA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@hapi/validate/-/validate-1.1.3.tgz} - name: '@hapi/validate' - version: 1.1.3 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - '@hapi/topo': registry.npmmirror.com/@hapi/topo/5.0.0 - - registry.npmmirror.com/@sideway/address/4.1.3: - resolution: {integrity: sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@sideway/address/-/address-4.1.3.tgz} - name: '@sideway/address' - version: 4.1.3 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - - registry.npmmirror.com/@sideway/formula/3.0.0: - resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.0.tgz} - name: '@sideway/formula' - version: 3.0.0 - - registry.npmmirror.com/@sideway/pinpoint/2.0.0: - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz} - name: '@sideway/pinpoint' - version: 2.0.0 - - registry.npmmirror.com/@types/hapi__catbox/10.2.4: - resolution: {integrity: sha512-A6ivRrXD5glmnJna1UAGw87QNZRp/vdFO9U4GS+WhOMWzHnw+oTGkMvg0g6y1930CbeheGOCm7A1qHsqH7AXqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__catbox/-/hapi__catbox-10.2.4.tgz} - name: '@types/hapi__catbox' - version: 10.2.4 - - registry.npmmirror.com/@types/hapi__cookie/10.1.4: - resolution: {integrity: sha512-CESd2IRnTYAnr+gxHGTXIuLOvi5+M2dw4aG6efP+K6bVTdE385Cu63k/DNLO6iQX0hoXtxCYUKy1QyQEy/Xg5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__cookie/-/hapi__cookie-10.1.4.tgz} - name: '@types/hapi__cookie' - version: 10.1.4 - dependencies: - '@types/hapi__hapi': registry.npmmirror.com/@types/hapi__hapi/20.0.10 - joi: registry.npmmirror.com/joi/17.6.0 - dev: true - - registry.npmmirror.com/@types/hapi__hapi/20.0.10: - resolution: {integrity: sha512-Nt/SY/20/JAlHhbgH616j0g18vsANR9OWoyMdQcytlW6o7TBN+wRgf0MB8AgzjYpuzQam5oTiqyED9WwHmQKYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__hapi/-/hapi__hapi-20.0.10.tgz} - name: '@types/hapi__hapi' - version: 20.0.10 - dependencies: - '@hapi/boom': registry.npmmirror.com/@hapi/boom/9.1.2 - '@hapi/iron': registry.npmmirror.com/@hapi/iron/6.0.0 - '@hapi/podium': registry.npmmirror.com/@hapi/podium/4.1.3 - '@types/hapi__catbox': registry.npmmirror.com/@types/hapi__catbox/10.2.4 - '@types/hapi__mimos': registry.npmmirror.com/@types/hapi__mimos/4.1.4 - '@types/hapi__shot': registry.npmmirror.com/@types/hapi__shot/4.1.2 - '@types/node': 17.0.21 - joi: registry.npmmirror.com/joi/17.4.0 - - registry.npmmirror.com/@types/hapi__mimos/4.1.4: - resolution: {integrity: sha512-i9hvJpFYTT/qzB5xKWvDYaSXrIiNqi4ephi+5Lo6+DoQdwqPXQgmVVOZR+s3MBiHoFqsCZCX9TmVWG3HczmTEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__mimos/-/hapi__mimos-4.1.4.tgz} - name: '@types/hapi__mimos' - version: 4.1.4 - dependencies: - '@types/mime-db': registry.npmmirror.com/@types/mime-db/1.43.1 - - registry.npmmirror.com/@types/hapi__shot/4.1.2: - resolution: {integrity: sha512-8wWgLVP1TeGqgzZtCdt+F+k15DWQvLG1Yv6ZzPfb3D5WIo5/S+GGKtJBVo2uNEcqabP5Ifc71QnJTDnTmw1axA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__shot/-/hapi__shot-4.1.2.tgz} - name: '@types/hapi__shot' - version: 4.1.2 - dependencies: - '@types/node': 17.0.21 - - registry.npmmirror.com/@types/hapi__vision/5.5.3: - resolution: {integrity: sha512-R4+r9345+5LCM8/0OQ1J8UVVPwnOwMdUVtPrtJE4oNbZ31+rLSy/bLoGpuZJwjROeC006YXbibnRF1hcVQFjGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hapi__vision/-/hapi__vision-5.5.3.tgz} - name: '@types/hapi__vision' - version: 5.5.3 - dependencies: - '@types/hapi__hapi': registry.npmmirror.com/@types/hapi__hapi/20.0.10 - handlebars: registry.npmmirror.com/handlebars/4.7.7 - dev: false - - registry.npmmirror.com/@types/mime-db/1.43.1: - resolution: {integrity: sha512-kGZJY+R+WnR5Rk+RPHUMERtb2qBRViIHCBdtUrY+NmwuGb8pQdfTqQiCKPrxpdoycl8KWm2DLdkpoSdt479XoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mime-db/-/mime-db-1.43.1.tgz} - name: '@types/mime-db' - version: 1.43.1 - - registry.npmmirror.com/balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz} - name: balanced-match - version: 1.0.2 - - registry.npmmirror.com/brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz} - name: brace-expansion - version: 1.1.11 - dependencies: - balanced-match: registry.npmmirror.com/balanced-match/1.0.2 - concat-map: 0.0.1 - - registry.npmmirror.com/date-format/4.0.3: - resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/date-format/-/date-format-4.0.3.tgz} - name: date-format - version: 4.0.3 - engines: {node: '>=4.0'} - dev: true - - registry.npmmirror.com/debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz} - name: debug - version: 2.6.9 - dependencies: - ms: registry.npmmirror.com/ms/2.0.0 - dev: false - - registry.npmmirror.com/debug/3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz} - name: debug - version: 3.2.7 - dependencies: - ms: registry.npmmirror.com/ms/2.1.3 - dev: false - - registry.npmmirror.com/debug/4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz} - name: debug - version: 4.3.3 - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: registry.npmmirror.com/ms/2.1.2 - - registry.npmmirror.com/flatted/3.2.5: - resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flatted/-/flatted-3.2.5.tgz} - name: flatted - version: 3.2.5 - dev: true - - registry.npmmirror.com/fs-extra/10.0.1: - resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-10.0.1.tgz} - name: fs-extra - version: 10.0.1 - engines: {node: '>=12'} - dependencies: - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.6 - jsonfile: registry.npmmirror.com/jsonfile/6.1.0 - universalify: registry.npmmirror.com/universalify/2.0.0 - dev: true - - registry.npmmirror.com/fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz} - name: fs.realpath - version: 1.0.0 - - registry.npmmirror.com/glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz} - name: glob - version: 7.1.7 - dependencies: - fs.realpath: registry.npmmirror.com/fs.realpath/1.0.0 - inflight: registry.npmmirror.com/inflight/1.0.6 - inherits: registry.npmmirror.com/inherits/2.0.4 - minimatch: registry.npmmirror.com/minimatch/3.0.4 - once: registry.npmmirror.com/once/1.4.0 - path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1 - - registry.npmmirror.com/graceful-fs/4.2.6: - resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz} - name: graceful-fs - version: 4.2.6 - - registry.npmmirror.com/handlebars/4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/handlebars/-/handlebars-4.7.7.tgz} - name: handlebars - version: 4.7.7 - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: registry.npmmirror.com/minimist/1.2.5 - neo-async: registry.npmmirror.com/neo-async/2.6.2 - source-map: registry.npmmirror.com/source-map/0.6.1 - wordwrap: registry.npmmirror.com/wordwrap/1.0.0 - optionalDependencies: - uglify-js: 3.13.9 - dev: false - - registry.npmmirror.com/hapi-sequelizejs/4.5.0_854bf76d9bf23fc83de64ddfc031ac7f: - resolution: {integrity: sha512-+A2Qgu2lIM8kz7PDxbDtmhGJbnobRPdOEMkmc7NvhElZr5AIkbhoYcV/dmqI70tw671zvRjS9A255igShyigow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hapi-sequelizejs/-/hapi-sequelizejs-4.5.0.tgz} - id: registry.npmmirror.com/hapi-sequelizejs/4.5.0 - name: hapi-sequelizejs - version: 4.5.0 - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - peerDependencies: - '@hapi/hapi': 19.x || 20.x - sequelize: 5.x || 6.x - dependencies: - '@hapi/hapi': 20.1.4 - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - glob: registry.npmmirror.com/glob/7.1.7 - joi: registry.npmmirror.com/joi/17.6.0 - sequelize: 6.6.2_sqlite3@5.0.2 - dev: false - - registry.npmmirror.com/inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz} - name: inflight - version: 1.0.6 - dependencies: - once: registry.npmmirror.com/once/1.4.0 - wrappy: registry.npmmirror.com/wrappy/1.0.2 - - registry.npmmirror.com/inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz} - name: inherits - version: 2.0.4 - - registry.npmmirror.com/joi/17.4.0: - resolution: {integrity: sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/joi/-/joi-17.4.0.tgz} - name: joi - version: 17.4.0 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - '@hapi/topo': registry.npmmirror.com/@hapi/topo/5.0.0 - '@sideway/address': registry.npmmirror.com/@sideway/address/4.1.3 - '@sideway/formula': registry.npmmirror.com/@sideway/formula/3.0.0 - '@sideway/pinpoint': registry.npmmirror.com/@sideway/pinpoint/2.0.0 - - registry.npmmirror.com/joi/17.6.0: - resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/joi/-/joi-17.6.0.tgz} - name: joi - version: 17.6.0 - dependencies: - '@hapi/hoek': registry.npmmirror.com/@hapi/hoek/9.2.0 - '@hapi/topo': registry.npmmirror.com/@hapi/topo/5.0.0 - '@sideway/address': registry.npmmirror.com/@sideway/address/4.1.3 - '@sideway/formula': registry.npmmirror.com/@sideway/formula/3.0.0 - '@sideway/pinpoint': registry.npmmirror.com/@sideway/pinpoint/2.0.0 - - registry.npmmirror.com/jsonfile/6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz} - name: jsonfile - version: 6.1.0 - dependencies: - universalify: registry.npmmirror.com/universalify/2.0.0 - optionalDependencies: - graceful-fs: 4.2.6 - dev: true - - registry.npmmirror.com/log4js/6.4.1: - resolution: {integrity: sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/log4js/-/log4js-6.4.1.tgz} - name: log4js - version: 6.4.1 - engines: {node: '>=8.0'} - dependencies: - date-format: registry.npmmirror.com/date-format/4.0.3 - debug: registry.npmmirror.com/debug/4.3.3 - flatted: registry.npmmirror.com/flatted/3.2.5 - rfdc: registry.npmmirror.com/rfdc/1.3.0 - streamroller: registry.npmmirror.com/streamroller/3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - registry.npmmirror.com/minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.0.4.tgz} - name: minimatch - version: 3.0.4 - dependencies: - brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 - - registry.npmmirror.com/minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimist/-/minimist-1.2.5.tgz} - name: minimist - version: 1.2.5 - dev: false - - registry.npmmirror.com/ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz} - name: ms - version: 2.0.0 - dev: false - - registry.npmmirror.com/ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz} - name: ms - version: 2.1.2 - - registry.npmmirror.com/ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz} - name: ms - version: 2.1.3 - dev: false - - registry.npmmirror.com/neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz} - name: neo-async - version: 2.6.2 - dev: false - - registry.npmmirror.com/once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz} - name: once - version: 1.4.0 - dependencies: - wrappy: registry.npmmirror.com/wrappy/1.0.2 - - registry.npmmirror.com/path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz} - name: path-is-absolute - version: 1.0.1 - engines: {node: '>=0.10.0'} - - registry.npmmirror.com/rfdc/1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz} - name: rfdc - version: 1.3.0 - dev: true - - registry.npmmirror.com/source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} - name: source-map - version: 0.6.1 - engines: {node: '>=0.10.0'} - dev: false - - registry.npmmirror.com/streamroller/3.0.2: - resolution: {integrity: sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/streamroller/-/streamroller-3.0.2.tgz} - name: streamroller - version: 3.0.2 - engines: {node: '>=8.0'} - dependencies: - date-format: registry.npmmirror.com/date-format/4.0.3 - debug: registry.npmmirror.com/debug/4.3.3 - fs-extra: registry.npmmirror.com/fs-extra/10.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - registry.npmmirror.com/universalify/2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz} - name: universalify - version: 2.0.0 - engines: {node: '>= 10.0.0'} - dev: true - - registry.npmmirror.com/wordwrap/1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz} - name: wordwrap - version: 1.0.0 - dev: false - - registry.npmmirror.com/wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz} - name: wrappy - version: 1.0.2 diff --git a/readme.md b/readme.md index 7edcecf..ab8fb11 100644 --- a/readme.md +++ b/readme.md @@ -2,4 +2,7 @@ * https://darkmodejs.learn.uno/ * https://blog.csdn.net/weixin_39923599/article/details/111214071 * https://pugjs.org/language/attributes.html -* https://blog.meathill.com/tech/fe/interpolation-in-pug-with-extends.html \ No newline at end of file +* https://blog.meathill.com/tech/fe/interpolation-in-pug-with-extends.html + +可参考项目 +- https://github.com/hks-epod/paydash \ No newline at end of file diff --git a/source/plugins/index.ts b/source/plugins/index.ts index cfb5cf3..25b3017 100644 --- a/source/plugins/index.ts +++ b/source/plugins/index.ts @@ -2,7 +2,11 @@ import filePlugin from "./file-plugin"; import path from "path"; import { sourceDir } from "@/util"; import { plugin as routePlugin } from "@noderun/hapi-router"; -import {ServerRegisterPluginObject, Plugin} from "@hapi/hapi" +import {ServerRegisterPluginObject, Plugin, Server, Request, ResponseObject} from "@hapi/hapi" +import Hoek from "@hapi/hoek" +import HapiYar from "@hapi/yar"; +import HapiCrumb from "@hapi/crumb" + export default [ { plugin: filePlugin as unknown as Plugin, @@ -24,4 +28,52 @@ export default [ type: "session" }, }, + { + plugin: { + name: "flash", + version: "0.0.1", + // https://github.com/hks-epod/paydash/blob/master/lib/flash.js + register: function (server: Server, options) { + server.ext('onPreResponse', function(request: Request, h) { + // @ts-ignore + if (request.yar && request.yar.flash && request.response.variety === 'view') { + var flash = request.yar.flash(); + request.yar.set('_flash', {}); + // @ts-ignore + request.response.source.context = Hoek.applyToDefaults( + { + flash: flash + }, + // @ts-ignore + request.response.source.context + ); + // @ts-ignore + } + return h.continue; + }); + } + } as Plugin + }, + { + plugin: HapiYar, + options: { + storeBlank: false, + cookieOptions: { + password: "dsRhw1Y5UZqB8SjfClbkrX9PF7yuDMV3JItcW0G4vgpaxONo6mzenHLQET2AiKyPUjjdgjo10amjfghy", + isSecure: false + } + } + }, + { + plugin: HapiCrumb, + options: { + autoGenerate: true, + // skip: function(request, reply) { + // return true; + // }, + cookieOptions: { + isSecure: false + } + } + }, ] as unknown as ServerRegisterPluginObject; diff --git a/source/route/views/login.ts b/source/route/views/login.ts index 97ded49..b088634 100644 --- a/source/route/views/login.ts +++ b/source/route/views/login.ts @@ -27,7 +27,8 @@ export default class { const account = await User.findOne({ where: { username: username } }); if (!account || !(await bcrypt.compare(password, account.password))) { - return h.redirect("/login"); + request.yar.flash('error', 'Invalid username or password'); + return h.redirect("/login"); } request.cookieAuth.set({ id: account.id }); diff --git a/template/layout/layout.pug b/template/layout/layout.pug index 39ce4bb..01b5f15 100644 --- a/template/layout/layout.pug +++ b/template/layout/layout.pug @@ -9,6 +9,7 @@ html(lang="zh-cn") head meta(charset="UTF-8") meta(http-equiv="X-UA-Compatible", content="IE=edge") + link(rel="shortcut icon" href="/public/favicon.ico" type="image/x-icon") //- device-width 宽度低于1100像素的设备直接缩小 meta(name="viewport", content="width=1100, initial-scale=1.0") title #{title || 'WEB'} diff --git a/template/views/include/flush.pug b/template/views/include/flush.pug new file mode 100644 index 0000000..d39a7ee --- /dev/null +++ b/template/views/include/flush.pug @@ -0,0 +1,7 @@ +if flash&&flash.error +
+
    + each item in flash.error +
  • #{item}
  • +
+
\ No newline at end of file diff --git a/template/views/include/form_security.pug b/template/views/include/form_security.pug new file mode 100644 index 0000000..9ea5c53 --- /dev/null +++ b/template/views/include/form_security.pug @@ -0,0 +1,2 @@ +if crumb + \ No newline at end of file diff --git a/template/views/login.pug b/template/views/login.pug index 01edf1d..8c7ab0c 100644 --- a/template/views/login.pug +++ b/template/views/login.pug @@ -4,6 +4,7 @@ block head +css("css/page/login.css") block content + include include/flush.pug h2 天蚕 / 地雀 .container#container .form-container.sign-up-container @@ -20,6 +21,7 @@ block content input(type='text', placeholder='请输入用户名') input(type='email', placeholder='请输入邮箱') input(type='password', placeholder='请输入密码') + include include/form_security.pug button(type='submit') 注册 .form-container.sign-in-container form(action='/login' method='post') @@ -34,6 +36,7 @@ block content span 填写您的账户 input(type='text',name="username" , placeholder='请输入邮箱') input(type='password',name="password" , placeholder='请输入密码') + include include/form_security.pug a(href='#') 忘记密码? button 登录 .overlay-container