From b64982c91c0ca29a9e5eddcb27b69d8563170156 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 9 Nov 2018 08:05:41 -0800 Subject: [PATCH] chore: switch to app.static for home page Signed-off-by: Raymond Feng --- package-lock.json | 340 +++++++++--------- package.json | 24 +- public/{index.html.template => index.html} | 6 +- src/application.ts | 4 + src/controllers/home-page.controller.ts | 43 --- src/controllers/index.ts | 1 - ....acceptance.ts => home-page.acceptance.ts} | 0 test/mocha.opts | 1 + 8 files changed, 184 insertions(+), 235 deletions(-) rename public/{index.html.template => index.html} (91%) delete mode 100644 src/controllers/home-page.controller.ts rename test/acceptance/{home-page.controller.acceptance.ts => home-page.acceptance.ts} (100%) diff --git a/package-lock.json b/package-lock.json index 57a306c5e..90ca5f51a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,12 +14,12 @@ } }, "@babel/generator": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", - "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.5.tgz", + "integrity": "sha512-IO31r62xfMI+wBJVmgx0JR9ZOHty8HkoYpQAjRWUGG9vykBTlGHdArZ8zoFtpUu2gs17K7qTl/TtPpiSi6t+MA==", "dev": true, "requires": { - "@babel/types": "^7.1.3", + "@babel/types": "^7.1.5", "jsesc": "^2.5.1", "lodash": "^4.17.10", "source-map": "^0.5.0", @@ -67,15 +67,15 @@ } }, "@babel/parser": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", - "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.5.tgz", + "integrity": "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg==", "dev": true }, "@babel/runtime": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", - "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.5.tgz", + "integrity": "sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA==", "dev": true, "requires": { "regenerator-runtime": "^0.12.0" @@ -101,17 +101,17 @@ } }, "@babel/traverse": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", - "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.5.tgz", + "integrity": "sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.3", + "@babel/generator": "^7.1.5", "@babel/helper-function-name": "^7.1.0", "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.3", - "@babel/types": "^7.1.3", + "@babel/parser": "^7.1.5", + "@babel/types": "^7.1.5", "debug": "^3.1.0", "globals": "^11.1.0", "lodash": "^4.17.10" @@ -129,9 +129,9 @@ } }, "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.5.tgz", + "integrity": "sha512-sJeqa/d9eM/bax8Ivg+fXF7FpN3E/ZmTrWbkk6r+g7biVYfALMnLin4dKijsaqEhpd2xvOGfQTkQkD31YCVV4A==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -353,14 +353,14 @@ } }, "@loopback/boot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@loopback/boot/-/boot-1.0.2.tgz", - "integrity": "sha512-Sbuw5hBgJZITQgzH65keOzHahIsURqiraLUux4RCTReMMvI9CZ+jWc85Yh9RLudFW5EgK1+eKVHGA17QV2unCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@loopback/boot/-/boot-1.0.3.tgz", + "integrity": "sha512-sO2xOBETdpw2mvaj4oJyWqhTzt1AMgk1NtF0LIejbPVA99lVjYkX/K0hsLE+JGNvXJ6XgQ1qeouKVkEuQFjALA==", "requires": { - "@loopback/context": "^1.0.0", - "@loopback/core": "^1.0.0", - "@loopback/repository": "^1.0.2", - "@loopback/service-proxy": "^1.0.0", + "@loopback/context": "^1.0.1", + "@loopback/core": "^1.0.1", + "@loopback/repository": "^1.0.3", + "@loopback/service-proxy": "^1.0.1", "@types/debug": "0.0.30", "@types/glob": "^7.1.1", "debug": "^4.0.1", @@ -375,9 +375,9 @@ } }, "@loopback/build": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/build/-/build-1.0.0.tgz", - "integrity": "sha512-oLHAZ1yRz8gWeAiMQd9Rjp4DKzMxraMPrrTdraETPbDcAMTWvdZvDMKXiJSebYVEOJGK/1j8D8zVQejP0Gkjlg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/build/-/build-1.0.1.tgz", + "integrity": "sha512-nImS5oJeXcMMZxVIcguvdkEIjihYTFUyox0F2sPwV8F1WCDcpjSW00luh8zzqXC0o49aEj9BNxkMOxnUt0KZEA==", "dev": true, "requires": { "@types/mocha": "^5.0.0", @@ -388,7 +388,7 @@ "glob": "^7.1.2", "mocha": "^5.1.1", "nyc": "^13.0.1", - "prettier": "^1.14.0", + "prettier": "^1.15.1", "rimraf": "^2.6.2", "source-map-support": "^0.5.5", "strong-docs": "^4.0.0", @@ -397,35 +397,35 @@ } }, "@loopback/context": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/context/-/context-1.0.0.tgz", - "integrity": "sha512-/azwQkkrhfFRezQseo9BsOgDc/+VjfsDwHheKfC8MRT3JjN6EQvKfwm2Un7q9Y54gn0ORRE4Wa39oW542nKpHA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/context/-/context-1.0.1.tgz", + "integrity": "sha512-Fcg8V+DVuGqK3NR2prtxhVud4OhVE3kYcbJXEvVajl9x07go/TrkWrrxCaQ2Tn2RNC59di9BwJtIsVpL8jSIuA==", "requires": { - "@loopback/metadata": "^1.0.0", + "@loopback/metadata": "^1.0.1", "debug": "^4.0.1", "uuid": "^3.2.1" } }, "@loopback/core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/core/-/core-1.0.0.tgz", - "integrity": "sha512-4t4WvNzxefL5zrdlfUONRpGyz1Gqzmy/Ei6QuBObmOado48IR2oKjkJ4JRLbaB53BQuygM5nZ1BI4XQtrnxcmQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-1.0.1.tgz", + "integrity": "sha512-o3gQkr3VBFL8CtOwgIOJtZKV9+T2eK8o1Dr8lWW4ywGNi3offu1Ehkdy233QEqrGswFPZo3z8L0oRPZx4lLgCw==", "requires": { - "@loopback/context": "^1.0.0" + "@loopback/context": "^1.0.1" } }, "@loopback/http-server": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-1.0.0.tgz", - "integrity": "sha512-8HrqGQvL55PWZBUMXL4lbxHtFFKcloU048IDTnfkxs7UwWsKMPcuR3iHRJ9bKqZy22JIZDfNs+/k2eAZKpD3aw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-1.0.1.tgz", + "integrity": "sha512-fIyCVQOWOxex+BCuMqYpnTI7bISC+HM9rK8qfkYc8gYSTvhBMlGY8NaH7RJl0d+HrXiCMst43pa0/Y3RZn8Nog==", "requires": { "p-event": "^2.0.0" } }, "@loopback/metadata": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/metadata/-/metadata-1.0.0.tgz", - "integrity": "sha512-k9A1+dtS4RSChw437STvokTWLU5omwH73ABFQfZmkc3rOxd+RI+yUOzVU3UC3IVD4dhoqY9nJCz0X3E6y0mtMg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/metadata/-/metadata-1.0.1.tgz", + "integrity": "sha512-HS2Zbjyv05fl8Zxs3iLZFpAcBc62+wkQO+COqs3QqqjVIZJSfCSaZl4zsMm3YxG57ZxCpYGC3eDRM0xmFTq99w==", "requires": { "debug": "^4.0.1", "lodash": "^4.17.5", @@ -433,32 +433,32 @@ } }, "@loopback/openapi-v3": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-1.0.2.tgz", - "integrity": "sha512-CZyXa1QWo6zjQsgOdZ2RN6iBw1x4+sN8qNJltN0McM5+syhj7hLl+Sny6scCZbIlvLZclc5eD147YipdjKEemA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-1.1.0.tgz", + "integrity": "sha512-am0nUj5Cc+iGx4rRLc8ObebtjeE2Mu/3LfOn60+bIeRc8SOJ0HkVWAHfzuDNwmhHF0vtwv8XkzZEqZhIxkJXfw==", "requires": { - "@loopback/context": "^1.0.0", - "@loopback/openapi-v3-types": "^1.0.0", - "@loopback/repository-json-schema": "^1.1.0", + "@loopback/context": "^1.0.1", + "@loopback/openapi-v3-types": "^1.0.1", + "@loopback/repository-json-schema": "^1.2.0", "debug": "^4.0.1", "lodash": "^4.17.5" } }, "@loopback/openapi-v3-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/openapi-v3-types/-/openapi-v3-types-1.0.0.tgz", - "integrity": "sha512-8IyBYLVz5ABQsdeKAgK1gJdg1tfTNRg9sn9R52vZNo9VTXoJ9cUXw6QEBnp1AwoDm5YRsyWRmwZ+LWEwulbdNg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/openapi-v3-types/-/openapi-v3-types-1.0.1.tgz", + "integrity": "sha512-UF9sjdiPbW4oWOfoPDudws+FENIugphf+VSF5W+FAgArTryxss6maeTr70EbfnYhvrjd5ZCm9ASMKv6CJMog7g==", "requires": { "openapi3-ts": "^1.0.0" } }, "@loopback/repository": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-1.0.2.tgz", - "integrity": "sha512-B5LfE0LYAAgPPZK/XyhiWoNGa1m5+WVm58BEb46Z8PNAv1Ozdi1GCP0OPUKXnNjAHWM0j5QD4mM/MQvmyF8lCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-1.0.3.tgz", + "integrity": "sha512-CqHOv+/ZZCvRXUUyC7EssFT8g660SPmTJ9ksk4gESgkQsQPBtYDvldDLa8rYk2N8rXKqeZf06qRIHBtMFNX0Gw==", "requires": { - "@loopback/context": "^1.0.0", - "@loopback/core": "^1.0.0", + "@loopback/context": "^1.0.1", + "@loopback/core": "^1.0.1", "@types/debug": "0.0.30", "debug": "^4.0.1", "lodash": "^4.17.10", @@ -473,31 +473,32 @@ } }, "@loopback/repository-json-schema": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-1.1.0.tgz", - "integrity": "sha512-abKsMvL8aJmt3pWLHAGcW6Y3b6U5u2QeCTQkk+TM3ohyHuLlKbndwx1cEE6uY6G0WSaaSlu/XquFnvKgGXHtUg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-1.2.0.tgz", + "integrity": "sha512-KQ5DN5ETPWimCEF2vKiUQvJ1FcNYu6c9lParLXNGamYGpsV3lN8LvxMWhvK/jbbrBhcYGP/20I8UXV7IkrDQZw==", "requires": { - "@loopback/context": "^1.0.0", - "@loopback/metadata": "^1.0.0", - "@loopback/repository": "^1.0.2", + "@loopback/context": "^1.0.1", + "@loopback/metadata": "^1.0.1", + "@loopback/repository": "^1.0.3", "@types/json-schema": "^7.0.1" } }, "@loopback/rest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-1.1.0.tgz", - "integrity": "sha512-GSWFsn6HS82iXfoyaizW3p2/cb57l40ZBysSZDyHojwxbTLselctp4TrqmOqX/mO0yT+QKdBIHu5TWC+j7cSQw==", - "requires": { - "@loopback/context": "^1.0.0", - "@loopback/core": "^1.0.0", - "@loopback/http-server": "^1.0.0", - "@loopback/openapi-v3": "^1.0.2", - "@loopback/openapi-v3-types": "^1.0.0", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-1.2.0.tgz", + "integrity": "sha512-sxp2Ralrhd+fZ/L6vqO+Wr53r1zhtobNO/zNJh5gSbgBxI7wy2j0t8dRP9znbsUHOvXBZvWskETdk8jjptldmg==", + "requires": { + "@loopback/context": "^1.0.1", + "@loopback/core": "^1.0.1", + "@loopback/http-server": "^1.0.1", + "@loopback/openapi-v3": "^1.1.0", + "@loopback/openapi-v3-types": "^1.0.1", "@types/cors": "^2.8.3", "@types/express": "^4.11.1", + "@types/express-serve-static-core": "^4.16.0", "@types/http-errors": "^1.6.1", "@types/parseurl": "^1.3.1", - "@types/qs": "^6.5.1", + "@types/serve-static": "1.13.2", "ajv": "^6.5.1", "body": "^5.1.0", "cors": "^2.8.4", @@ -512,6 +513,7 @@ "path-to-regexp": "^2.2.0", "qs": "^6.5.2", "strong-error-handler": "^3.2.0", + "type-is": "^1.6.16", "validator": "^10.4.0" }, "dependencies": { @@ -523,19 +525,19 @@ } }, "@loopback/service-proxy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/service-proxy/-/service-proxy-1.0.0.tgz", - "integrity": "sha512-28S/hAZguLbOswHuUr/go7UBbakJRDNVfAMNjzBQXObhliSp7Czk1cQJQyzHoxyvgbCinePtonzhr9FKHd2f1g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/service-proxy/-/service-proxy-1.0.1.tgz", + "integrity": "sha512-jLhlJ/VZbjTneBMlztphJ6FNQWGdw4HUYem9jds5eyooeZYUccCLDwhQtjQ2f59QN9/ZBieAUWHE8jtUlV5Ncg==", "requires": { - "@loopback/context": "^1.0.0", - "@loopback/core": "^1.0.0", + "@loopback/context": "^1.0.1", + "@loopback/core": "^1.0.1", "loopback-datasource-juggler": "^4.0.0" } }, "@loopback/testlab": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-1.0.0.tgz", - "integrity": "sha512-3liHfvfBUnqwzm9lnYsZmbGXWA5f74/f2xBig8b9HEmsniap77ZrzYoiroCpZ17lcr8EtZrMD84WwJhxgG/r1A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-1.0.1.tgz", + "integrity": "sha512-/gSlvIAnq2WtmUKj8i+UztFp1x1HVSljA/cBaMytJBD4eSkKTc9zbUXPH/0zDwgqUz7VgVJy7Th/ld6KcBnRFQ==", "dev": true, "requires": { "@types/express": "^4.11.1", @@ -708,9 +710,9 @@ "integrity": "sha512-NVQEMviDWjuen3UW+mU1J6fZ0WhOfG1yRce/2OTcbaz+fgmTw2cahx6N2wh0Yl+a+hg2UZj/oElZmtULWyGIsA==" }, "@types/lodash": { - "version": "4.14.117", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", - "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==", + "version": "4.14.118", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.118.tgz", + "integrity": "sha512-iiJbKLZbhSa6FYRip/9ZDX6HXhayXLDGY2Fqws9cOkEQ6XeKfaxB0sC541mowZJueYyMnVUmmG+al5/4fCDrgw==", "dev": true }, "@types/marked": { @@ -736,9 +738,9 @@ "dev": true }, "@types/node": { - "version": "10.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.2.tgz", - "integrity": "sha512-53ElVDSnZeFUUFIYzI8WLQ25IhWzb6vbddNp8UHlXQyU0ET2RhV5zg0NfubzU7iNMh5bBXb0htCzfvrSVNgzaQ==" + "version": "10.12.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.3.tgz", + "integrity": "sha512-sfGmOtSMSbQ/AKG8V9xD1gmjquC9awIIZ/Kj309pHb2n3bcRAcGMQv5nJ6gCXZVsneGE4+ve8DXKRCsrg3TFzg==" }, "@types/parseurl": { "version": "1.3.1", @@ -748,11 +750,6 @@ "@types/node": "*" } }, - "@types/qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q==" - }, "@types/range-parser": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz", @@ -846,9 +843,9 @@ } }, "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -990,7 +987,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -1274,7 +1271,7 @@ }, "chalk": { "version": "2.3.1", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { @@ -1356,7 +1353,8 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "code-point-at": { "version": "1.1.0", @@ -1389,7 +1387,7 @@ }, "commander": { "version": "2.15.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, @@ -1416,7 +1414,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -1660,7 +1658,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -1694,9 +1692,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", - "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "requires": { "object-assign": "^4", "vary": "^1" @@ -1882,7 +1880,7 @@ "dependencies": { "commander": { "version": "2.9.0", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true, "requires": { @@ -2323,7 +2321,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -2450,34 +2448,24 @@ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.2.tgz", + "integrity": "sha512-OFxb5MZXCUMx43X7O8LK4FKggEQx6yC5QPmOcBnYbJ9UjxEcMcrMbaR0af5HZpqeFopw2GwQRQi34ZXI7YLM5w==", "requires": { - "ajv": "^5.3.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" } } }, @@ -2509,9 +2497,9 @@ "dev": true }, "hoek": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.0.0.tgz", - "integrity": "sha512-NCB2kQcmiazLBKaM/uTvw+2XWSuwA8Q1ACBkvbEL9ScCe7DP8Divg3MF2aFOYLGdA64SPf9+gr2QESO9l0ULVQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.0.2.tgz", + "integrity": "sha512-0RGPLkyxpsMJVj/iOCaJaIWFEch988eUicJJpRiQ+Or1CMvBXcoZPlSx9FhreDWw4hxMYy8xgTEdlsYQDTnxWA==", "dev": true }, "homedir-polyfill": { @@ -2824,7 +2812,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -2899,7 +2887,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -3006,9 +2994,9 @@ } }, "joi": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-14.0.3.tgz", - "integrity": "sha512-EtFiturEwhrNuTn1bpR4VodSPsi6r1A661BjLC6OMnETU+ClDdyV1aKWXgPTYKs+mVjvsPRtdn7rsgxbXU+jiQ==", + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/joi/-/joi-14.0.4.tgz", + "integrity": "sha512-KUXRcinDUMMbtlOk7YLGHQvG73dLyf8bmgE+6sBTkdJbZpeGVGAlPXEHLiQBV7KinD/VLD5OA0EUgoTTfbRAJQ==", "dev": true, "requires": { "hoek": "6.x.x", @@ -3055,7 +3043,7 @@ "dependencies": { "lodash": { "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", "dev": true } @@ -3424,9 +3412,9 @@ } }, "loopback-connector-mongodb": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/loopback-connector-mongodb/-/loopback-connector-mongodb-3.9.1.tgz", - "integrity": "sha512-/QtMEZ+TKibBjfUPQJkJPaSw0kIvX3vO/enrXblgwds36L8FCS/1nCoSKfty2+tXI3B9VQY3DwIU4fxkv/EIZg==", + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/loopback-connector-mongodb/-/loopback-connector-mongodb-3.9.2.tgz", + "integrity": "sha512-M5XGqvvchfoXjJUAcO8hRpLiAyZ0Uef4/yu4cXnpk4SGXrSgu01wNo3pYmnXESzs6l6I1fXRwkQppOn+rfaFuQ==", "requires": { "async": "^2.6.1", "bson": "^1.0.6", @@ -3470,9 +3458,9 @@ } }, "loopback-datasource-juggler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-4.2.0.tgz", - "integrity": "sha512-/CL0tenal88cD4ueWxC/37nhUpodXHl4U6MzW2FK788NZ/wVbE8zyWEwLEKQ2Ar3lQf5SU2tV/T8UadWnvsozQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-4.2.1.tgz", + "integrity": "sha512-nXsPhydEguU183AKZavlH04wnJbtE054Od9KIexz9iA7zrzbICgfGn3bjvlilLLUTc6ldnsvyojhAUVOQyTRoA==", "requires": { "async": "^2.6.0", "debug": "^3.1.0", @@ -3690,7 +3678,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minimist-options": { @@ -3705,7 +3693,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -3771,18 +3759,18 @@ } }, "mongodb": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.8.tgz", - "integrity": "sha512-yNKwYxQ6m00NV6+pMoWoheFTHSQVv1KkSrfOhRDYMILGWDYtUtQRqHrFqU75rmPIY8hMozVft8zdC4KYMWaM3Q==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.9.tgz", + "integrity": "sha512-f+Og32wK/ovzVlC1S6Ft7yjVTvNsAOs6pBpDrPd2/3wPO9ijNsQrTNntuECjOSxGZpPVl0aRqgHzF1e9e+KvnQ==", "requires": { - "mongodb-core": "3.1.7", + "mongodb-core": "3.1.8", "safe-buffer": "^5.1.2" } }, "mongodb-core": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.7.tgz", - "integrity": "sha512-YffpSrLmgFNmrvkGx+yX00KyBNk64C0BalfEn6vHHkXtcMUGXw8nxrMmhq5eXPLLlYeBpD/CsgNxE2Chf0o4zQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.8.tgz", + "integrity": "sha512-reWCqIRNehyuLaqaz5JMOmh3Xd8JIjNX34o8mnewXLK2Fyt/Ky6BZbU+X0OPzy8qbX+JZrOtnuay7ASCieTYZw==", "requires": { "bson": "^1.1.0", "require_optional": "^1.0.1", @@ -3813,9 +3801,9 @@ "dev": true }, "nanoid": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.3.tgz", - "integrity": "sha512-07OUEbP7fMX/tFLP3oIa3yTt+sUfDQf99JULSKc/ZNERIVG8T87S+Kt9iu6N4efVzmeMvlXjVUUQcEXKEm0OCQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.0.tgz", + "integrity": "sha512-SG2qscLE3iM4C0CNzGrsAojJHSVHMS1J8NnvJ31P1lH8P0hGHOiafmniNJz6w6q7vuoDlV7RdySlJgtqkFEVtQ==" }, "negotiator": { "version": "0.6.1", @@ -3858,9 +3846,9 @@ } }, "node-fetch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", - "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.1.tgz", + "integrity": "sha512-ObXBpNCD3A/vYQiQtEWl7DuqjAXjfptYFuGHLdPl5U19/6kJuZV+8uMHLrkj3wJrJoyfg4nhgyFixZdaZoAiEQ==", "dev": true }, "nopt": { @@ -5419,9 +5407,9 @@ "dev": true }, "prettier": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.3.tgz", - "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.1.tgz", + "integrity": "sha512-4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA==", "dev": true }, "process-nextick-args": { @@ -5551,7 +5539,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -5915,17 +5903,17 @@ } }, "shortid": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.13.tgz", - "integrity": "sha512-dBuNnQGKrJNfjunmXI2X7bl1gnMO4PwbNxrTzO1JvilODmL7WyyCtA+DYxe9XunLXmxmgzFIvKPQ6XRAQrr46Q==", + "version": "2.2.14", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", + "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", "requires": { - "nanoid": "^1.0.7" + "nanoid": "^2.0.0" } }, "shot": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/shot/-/shot-4.0.6.tgz", - "integrity": "sha512-dhgIEZfjAVDBy2PYXlN30F0auuGfLkGATMTtAJGtNGL1AFPqza4M5qLOEm6h/JDRx06B0wxJiyhUCn1SVsxE5w==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/shot/-/shot-4.0.7.tgz", + "integrity": "sha512-RKaKAGKxJ11EjJl0cf2fYVSsd4KB5Cncb9J0v7w+0iIaXpxNqFWTYNDNhBX7f0XSyDrjOH9a4OWZ9Gp/ZML+ew==", "dev": true, "requires": { "hoek": "6.x.x", @@ -6350,7 +6338,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -6380,9 +6368,9 @@ "dev": true }, "topo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.2.tgz", - "integrity": "sha512-fGuXH4Ee+RCiZ6edV/lZVY1VNVD4mR+VklPS+bSjYug06im3AlUcPaEB4Lss2pPM/u1h+zxiE/X0Pkhj7pFuKw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz", + "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", "dev": true, "requires": { "hoek": "6.x.x" @@ -6635,9 +6623,9 @@ } }, "validator": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.8.0.tgz", - "integrity": "sha512-mXqMxfCh5NLsVgYVKl9WvnHNDPCcbNppHSPPowu0VjtSsGWVY+z8hJF44edLR1nbLNzi3jYoYsIl8KZpioIk6g==" + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.9.0.tgz", + "integrity": "sha512-hZJcZSWz9poXBlAkjjcsNAdrZ6JbjD3kWlNjq/+vE7RLLS/+8PAj3qVVwrwsOz/WL8jPmZ1hYkRvtlUeZAm4ug==" }, "vary": { "version": "1.1.2", @@ -6682,7 +6670,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { diff --git a/package.json b/package.json index 2f8efd85d..891d340f2 100644 --- a/package.json +++ b/package.json @@ -51,34 +51,34 @@ "src" ], "dependencies": { - "@loopback/boot": "^1.0.2", - "@loopback/context": "^1.0.0", - "@loopback/core": "^1.0.0", - "@loopback/openapi-v3": "^1.0.2", - "@loopback/repository": "^1.0.2", - "@loopback/rest": "^1.1.0", - "@loopback/service-proxy": "^1.0.0", + "@loopback/boot": "^1.0.3", + "@loopback/context": "^1.0.1", + "@loopback/core": "^1.0.1", + "@loopback/openapi-v3": "^1.1.0", + "@loopback/repository": "^1.0.3", + "@loopback/rest": "^1.2.0", + "@loopback/service-proxy": "^1.0.1", "bcryptjs": "^2.4.3", "debug": "^4.1.0", "express": "^4.16.4", "isemail": "^3.2.0", "lodash": "^4.17.11", "loopback-connector-kv-redis": "^3.0.0", - "loopback-connector-mongodb": "^3.9.1", + "loopback-connector-mongodb": "^3.9.2", "loopback-connector-rest": "^3.4.1" }, "devDependencies": { "@commitlint/cli": "^7.2.1", "@commitlint/config-conventional": "^7.1.2", "@commitlint/travis-cli": "^7.2.1", - "@loopback/build": "^1.0.0", - "@loopback/testlab": "^1.0.0", + "@loopback/build": "^1.0.1", + "@loopback/testlab": "^1.0.1", "@types/bcryptjs": "^2.4.2", "@types/debug": "0.0.31", "@types/express": "^4.16.0", - "@types/lodash": "^4.14.117", + "@types/lodash": "^4.14.118", "@types/mocha": "^5.0.0", - "@types/node": "^10.12.2", + "@types/node": "^10.12.3", "commitizen": "^3.0.4", "concurrently": "^4.0.1", "cz-conventional-changelog": "^2.1.0", diff --git a/public/index.html.template b/public/index.html similarity index 91% rename from public/index.html.template rename to public/index.html index 18434b3cc..9d79a9502 100644 --- a/public/index.html.template +++ b/public/index.html @@ -2,7 +2,7 @@ - ${description} + LoopBack 4 Example: Online Shopping APIs @@ -56,8 +56,8 @@
-

${name}

-

Version ${version}

+

$@loopback/example-shopping

+

Version 1.0.0

OpenAPI spec: /openapi.json

API Explorer: /explorer

diff --git a/src/application.ts b/src/application.ts index a3fb60b34..21720978e 100644 --- a/src/application.ts +++ b/src/application.ts @@ -9,6 +9,7 @@ import {RepositoryMixin} from '@loopback/repository'; import {RestApplication} from '@loopback/rest'; import {ServiceMixin} from '@loopback/service-proxy'; import {MySequence} from './sequence'; +import * as path from 'path'; /** * Information from package.json @@ -34,6 +35,9 @@ export class ShoppingApplication extends BootMixin( // Set up the custom sequence this.sequence(MySequence); + // Set up default home page + this.static('/', path.join(__dirname, '../../public')); + this.projectRoot = __dirname; // Customize @loopback/boot Booter Conventions here this.bootOptions = { diff --git a/src/controllers/home-page.controller.ts b/src/controllers/home-page.controller.ts deleted file mode 100644 index 4cea203e2..000000000 --- a/src/controllers/home-page.controller.ts +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright IBM Corp. 2018. All Rights Reserved. -// Node module: @loopback/example-shopping -// This file is licensed under the MIT License. -// License text available at https://opensource.org/licenses/MIT - -import {get} from '@loopback/openapi-v3'; -import * as fs from 'fs'; -import * as path from 'path'; -import {template, TemplateExecutor} from 'lodash'; -import {inject} from '@loopback/context'; -import {RestBindings, Response} from '@loopback/rest'; -import {PackageInfo, PackageKey} from '../application'; - -export class HomePageController { - render: TemplateExecutor; - - constructor( - @inject(PackageKey) private pkg: PackageInfo, - @inject(RestBindings.Http.RESPONSE) private response: Response, - ) { - const html = fs.readFileSync( - path.join(__dirname, '../../../public/index.html.template'), - 'utf-8', - ); - this.render = template(html); - } - - @get('/', { - responses: { - '200': { - description: 'Home Page', - content: {'text/html': {schema: {type: 'string'}}}, - }, - }, - }) - homePage() { - const homePage = this.render(this.pkg); - this.response - .status(200) - .contentType('html') - .send(homePage); - } -} diff --git a/src/controllers/index.ts b/src/controllers/index.ts index 1529f248f..56c90748c 100644 --- a/src/controllers/index.ts +++ b/src/controllers/index.ts @@ -6,5 +6,4 @@ export * from './ping.controller'; export * from './user.controller'; export * from './shopping-cart.controller'; -export * from './home-page.controller'; export * from './user-order.controller'; diff --git a/test/acceptance/home-page.controller.acceptance.ts b/test/acceptance/home-page.acceptance.ts similarity index 100% rename from test/acceptance/home-page.controller.acceptance.ts rename to test/acceptance/home-page.acceptance.ts diff --git a/test/mocha.opts b/test/mocha.opts index 43f24ebc7..2eeb789c2 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,2 +1,3 @@ --recursive +--exit --require source-map-support/register