feat: node server skeleton
This commit is contained in:
		
							parent
							
								
									7d4346090a
								
							
						
					
					
						commit
						349fcaf3ce
					
				
							
								
								
									
										195
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										195
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -86,6 +86,25 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-bEYwMeBuiWl+fB5fBmhqwxjjbwBme7KgTDCquOyHoP1P01HZNBAmyJIDCtpqGHBJuGHBOpFga/DBl+9yF7gR6g=="
 | 
					      "integrity": "sha512-bEYwMeBuiWl+fB5fBmhqwxjjbwBme7KgTDCquOyHoP1P01HZNBAmyJIDCtpqGHBJuGHBOpFga/DBl+9yF7gR6g=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/body-parser": {
 | 
				
			||||||
 | 
					      "version": "1.19.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/connect": "*",
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/connect": {
 | 
				
			||||||
 | 
					      "version": "3.4.34",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/eslint": {
 | 
					    "@types/eslint": {
 | 
				
			||||||
      "version": "7.2.6",
 | 
					      "version": "7.2.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz",
 | 
				
			||||||
@ -112,6 +131,29 @@
 | 
				
			|||||||
      "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
 | 
					      "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/express": {
 | 
				
			||||||
 | 
					      "version": "4.17.11",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/body-parser": "*",
 | 
				
			||||||
 | 
					        "@types/express-serve-static-core": "^4.17.18",
 | 
				
			||||||
 | 
					        "@types/qs": "*",
 | 
				
			||||||
 | 
					        "@types/serve-static": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/express-serve-static-core": {
 | 
				
			||||||
 | 
					      "version": "4.17.18",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*",
 | 
				
			||||||
 | 
					        "@types/qs": "*",
 | 
				
			||||||
 | 
					        "@types/range-parser": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/glob": {
 | 
					    "@types/glob": {
 | 
				
			||||||
      "version": "7.1.3",
 | 
					      "version": "7.1.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
 | 
				
			||||||
@ -128,6 +170,12 @@
 | 
				
			|||||||
      "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
 | 
					      "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/mime": {
 | 
				
			||||||
 | 
					      "version": "1.3.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/minimatch": {
 | 
					    "@types/minimatch": {
 | 
				
			||||||
      "version": "3.0.3",
 | 
					      "version": "3.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
				
			||||||
@ -153,11 +201,33 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q=="
 | 
					      "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/qs": {
 | 
				
			||||||
 | 
					      "version": "6.9.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/range-parser": {
 | 
				
			||||||
 | 
					      "version": "1.2.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/seedrandom": {
 | 
					    "@types/seedrandom": {
 | 
				
			||||||
      "version": "2.4.27",
 | 
					      "version": "2.4.27",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz",
 | 
				
			||||||
      "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE="
 | 
					      "integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/serve-static": {
 | 
				
			||||||
 | 
					      "version": "1.13.9",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/mime": "^1",
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/webgl-ext": {
 | 
					    "@types/webgl-ext": {
 | 
				
			||||||
      "version": "0.0.30",
 | 
					      "version": "0.0.30",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz",
 | 
				
			||||||
@ -374,7 +444,6 @@
 | 
				
			|||||||
      "version": "1.3.7",
 | 
					      "version": "1.3.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 | 
				
			||||||
      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
 | 
					      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "mime-types": "~2.1.24",
 | 
					        "mime-types": "~2.1.24",
 | 
				
			||||||
        "negotiator": "0.6.2"
 | 
					        "negotiator": "0.6.2"
 | 
				
			||||||
@ -743,7 +812,6 @@
 | 
				
			|||||||
      "version": "1.19.0",
 | 
					      "version": "1.19.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
 | 
					      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "bytes": "3.1.0",
 | 
					        "bytes": "3.1.0",
 | 
				
			||||||
        "content-type": "~1.0.4",
 | 
					        "content-type": "~1.0.4",
 | 
				
			||||||
@ -760,14 +828,12 @@
 | 
				
			|||||||
        "bytes": {
 | 
					        "bytes": {
 | 
				
			||||||
          "version": "3.1.0",
 | 
					          "version": "3.1.0",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 | 
				
			||||||
          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
 | 
					          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "debug": {
 | 
					        "debug": {
 | 
				
			||||||
          "version": "2.6.9",
 | 
					          "version": "2.6.9",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
					          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
				
			||||||
          "dev": true,
 | 
					 | 
				
			||||||
          "requires": {
 | 
					          "requires": {
 | 
				
			||||||
            "ms": "2.0.0"
 | 
					            "ms": "2.0.0"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@ -1117,7 +1183,6 @@
 | 
				
			|||||||
      "version": "0.5.3",
 | 
					      "version": "0.5.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
 | 
					      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "safe-buffer": "5.1.2"
 | 
					        "safe-buffer": "5.1.2"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -1125,20 +1190,17 @@
 | 
				
			|||||||
    "content-type": {
 | 
					    "content-type": {
 | 
				
			||||||
      "version": "1.0.4",
 | 
					      "version": "1.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
 | 
					      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cookie": {
 | 
					    "cookie": {
 | 
				
			||||||
      "version": "0.4.0",
 | 
					      "version": "0.4.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
 | 
					      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cookie-signature": {
 | 
					    "cookie-signature": {
 | 
				
			||||||
      "version": "1.0.6",
 | 
					      "version": "1.0.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
 | 
				
			||||||
      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
 | 
					      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "copy-descriptor": {
 | 
					    "copy-descriptor": {
 | 
				
			||||||
      "version": "0.1.1",
 | 
					      "version": "0.1.1",
 | 
				
			||||||
@ -1304,14 +1366,12 @@
 | 
				
			|||||||
    "depd": {
 | 
					    "depd": {
 | 
				
			||||||
      "version": "1.1.2",
 | 
					      "version": "1.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
 | 
					      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "destroy": {
 | 
					    "destroy": {
 | 
				
			||||||
      "version": "1.0.4",
 | 
					      "version": "1.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
 | 
					      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "detect-node": {
 | 
					    "detect-node": {
 | 
				
			||||||
      "version": "2.0.4",
 | 
					      "version": "2.0.4",
 | 
				
			||||||
@ -1347,8 +1407,7 @@
 | 
				
			|||||||
    "ee-first": {
 | 
					    "ee-first": {
 | 
				
			||||||
      "version": "1.1.1",
 | 
					      "version": "1.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
 | 
					      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "electron-to-chromium": {
 | 
					    "electron-to-chromium": {
 | 
				
			||||||
      "version": "1.3.633",
 | 
					      "version": "1.3.633",
 | 
				
			||||||
@ -1370,8 +1429,7 @@
 | 
				
			|||||||
    "encodeurl": {
 | 
					    "encodeurl": {
 | 
				
			||||||
      "version": "1.0.2",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
 | 
					      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "end-of-stream": {
 | 
					    "end-of-stream": {
 | 
				
			||||||
      "version": "1.4.4",
 | 
					      "version": "1.4.4",
 | 
				
			||||||
@ -1463,8 +1521,7 @@
 | 
				
			|||||||
    "escape-html": {
 | 
					    "escape-html": {
 | 
				
			||||||
      "version": "1.0.3",
 | 
					      "version": "1.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
 | 
					      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "escape-string-regexp": {
 | 
					    "escape-string-regexp": {
 | 
				
			||||||
      "version": "1.0.5",
 | 
					      "version": "1.0.5",
 | 
				
			||||||
@ -1508,8 +1565,7 @@
 | 
				
			|||||||
    "etag": {
 | 
					    "etag": {
 | 
				
			||||||
      "version": "1.8.1",
 | 
					      "version": "1.8.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
 | 
					      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "eventemitter3": {
 | 
					    "eventemitter3": {
 | 
				
			||||||
      "version": "4.0.7",
 | 
					      "version": "4.0.7",
 | 
				
			||||||
@ -1595,7 +1651,6 @@
 | 
				
			|||||||
      "version": "4.17.1",
 | 
					      "version": "4.17.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
 | 
					      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "accepts": "~1.3.7",
 | 
					        "accepts": "~1.3.7",
 | 
				
			||||||
        "array-flatten": "1.1.1",
 | 
					        "array-flatten": "1.1.1",
 | 
				
			||||||
@ -1632,14 +1687,12 @@
 | 
				
			|||||||
        "array-flatten": {
 | 
					        "array-flatten": {
 | 
				
			||||||
          "version": "1.1.1",
 | 
					          "version": "1.1.1",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
 | 
				
			||||||
          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
 | 
					          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "debug": {
 | 
					        "debug": {
 | 
				
			||||||
          "version": "2.6.9",
 | 
					          "version": "2.6.9",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
					          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
				
			||||||
          "dev": true,
 | 
					 | 
				
			||||||
          "requires": {
 | 
					          "requires": {
 | 
				
			||||||
            "ms": "2.0.0"
 | 
					            "ms": "2.0.0"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@ -1779,7 +1832,6 @@
 | 
				
			|||||||
      "version": "1.1.2",
 | 
					      "version": "1.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
 | 
					      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "debug": "2.6.9",
 | 
					        "debug": "2.6.9",
 | 
				
			||||||
        "encodeurl": "~1.0.2",
 | 
					        "encodeurl": "~1.0.2",
 | 
				
			||||||
@ -1794,7 +1846,6 @@
 | 
				
			|||||||
          "version": "2.6.9",
 | 
					          "version": "2.6.9",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
					          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
				
			||||||
          "dev": true,
 | 
					 | 
				
			||||||
          "requires": {
 | 
					          "requires": {
 | 
				
			||||||
            "ms": "2.0.0"
 | 
					            "ms": "2.0.0"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@ -1836,8 +1887,7 @@
 | 
				
			|||||||
    "forwarded": {
 | 
					    "forwarded": {
 | 
				
			||||||
      "version": "0.1.2",
 | 
					      "version": "0.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
 | 
					      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "fragment-cache": {
 | 
					    "fragment-cache": {
 | 
				
			||||||
      "version": "0.2.1",
 | 
					      "version": "0.2.1",
 | 
				
			||||||
@ -1851,8 +1901,7 @@
 | 
				
			|||||||
    "fresh": {
 | 
					    "fresh": {
 | 
				
			||||||
      "version": "0.5.2",
 | 
					      "version": "0.5.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
 | 
					      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "fs.realpath": {
 | 
					    "fs.realpath": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
@ -2082,7 +2131,6 @@
 | 
				
			|||||||
      "version": "1.7.2",
 | 
					      "version": "1.7.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
 | 
					      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "depd": "~1.1.2",
 | 
					        "depd": "~1.1.2",
 | 
				
			||||||
        "inherits": "2.0.3",
 | 
					        "inherits": "2.0.3",
 | 
				
			||||||
@ -2094,8 +2142,7 @@
 | 
				
			|||||||
        "inherits": {
 | 
					        "inherits": {
 | 
				
			||||||
          "version": "2.0.3",
 | 
					          "version": "2.0.3",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
 | 
				
			||||||
          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
 | 
					          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -2243,7 +2290,6 @@
 | 
				
			|||||||
      "version": "0.4.24",
 | 
					      "version": "0.4.24",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 | 
				
			||||||
      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 | 
					      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "safer-buffer": ">= 2.1.2 < 3"
 | 
					        "safer-buffer": ">= 2.1.2 < 3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -2359,8 +2405,7 @@
 | 
				
			|||||||
    "ipaddr.js": {
 | 
					    "ipaddr.js": {
 | 
				
			||||||
      "version": "1.9.1",
 | 
					      "version": "1.9.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
 | 
					      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "is-absolute-url": {
 | 
					    "is-absolute-url": {
 | 
				
			||||||
      "version": "3.0.3",
 | 
					      "version": "3.0.3",
 | 
				
			||||||
@ -2697,8 +2742,7 @@
 | 
				
			|||||||
    "media-typer": {
 | 
					    "media-typer": {
 | 
				
			||||||
      "version": "0.3.0",
 | 
					      "version": "0.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
 | 
					      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "memory-fs": {
 | 
					    "memory-fs": {
 | 
				
			||||||
      "version": "0.5.0",
 | 
					      "version": "0.5.0",
 | 
				
			||||||
@ -2713,8 +2757,7 @@
 | 
				
			|||||||
    "merge-descriptors": {
 | 
					    "merge-descriptors": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
 | 
					      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "merge-stream": {
 | 
					    "merge-stream": {
 | 
				
			||||||
      "version": "2.0.0",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
@ -2725,8 +2768,7 @@
 | 
				
			|||||||
    "methods": {
 | 
					    "methods": {
 | 
				
			||||||
      "version": "1.1.2",
 | 
					      "version": "1.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
 | 
					      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "micromatch": {
 | 
					    "micromatch": {
 | 
				
			||||||
      "version": "4.0.2",
 | 
					      "version": "4.0.2",
 | 
				
			||||||
@ -2741,8 +2783,7 @@
 | 
				
			|||||||
    "mime": {
 | 
					    "mime": {
 | 
				
			||||||
      "version": "1.6.0",
 | 
					      "version": "1.6.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
 | 
					      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mime-db": {
 | 
					    "mime-db": {
 | 
				
			||||||
      "version": "1.45.0",
 | 
					      "version": "1.45.0",
 | 
				
			||||||
@ -2817,8 +2858,7 @@
 | 
				
			|||||||
    "ms": {
 | 
					    "ms": {
 | 
				
			||||||
      "version": "2.0.0",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 | 
					      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "multicast-dns": {
 | 
					    "multicast-dns": {
 | 
				
			||||||
      "version": "6.2.3",
 | 
					      "version": "6.2.3",
 | 
				
			||||||
@ -2865,8 +2905,7 @@
 | 
				
			|||||||
    "negotiator": {
 | 
					    "negotiator": {
 | 
				
			||||||
      "version": "0.6.2",
 | 
					      "version": "0.6.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
 | 
					      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "neo-async": {
 | 
					    "neo-async": {
 | 
				
			||||||
      "version": "2.6.2",
 | 
					      "version": "2.6.2",
 | 
				
			||||||
@ -3011,7 +3050,6 @@
 | 
				
			|||||||
      "version": "2.3.0",
 | 
					      "version": "2.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
 | 
					      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "ee-first": "1.1.1"
 | 
					        "ee-first": "1.1.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -3106,8 +3144,7 @@
 | 
				
			|||||||
    "parseurl": {
 | 
					    "parseurl": {
 | 
				
			||||||
      "version": "1.3.3",
 | 
					      "version": "1.3.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
 | 
					      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "pascalcase": {
 | 
					    "pascalcase": {
 | 
				
			||||||
      "version": "0.1.1",
 | 
					      "version": "0.1.1",
 | 
				
			||||||
@ -3154,8 +3191,7 @@
 | 
				
			|||||||
    "path-to-regexp": {
 | 
					    "path-to-regexp": {
 | 
				
			||||||
      "version": "0.1.7",
 | 
					      "version": "0.1.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
 | 
				
			||||||
      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
 | 
					      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "picomatch": {
 | 
					    "picomatch": {
 | 
				
			||||||
      "version": "2.2.2",
 | 
					      "version": "2.2.2",
 | 
				
			||||||
@ -3237,7 +3273,6 @@
 | 
				
			|||||||
      "version": "2.0.6",
 | 
					      "version": "2.0.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
 | 
				
			||||||
      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
 | 
					      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "forwarded": "~0.1.2",
 | 
					        "forwarded": "~0.1.2",
 | 
				
			||||||
        "ipaddr.js": "1.9.1"
 | 
					        "ipaddr.js": "1.9.1"
 | 
				
			||||||
@ -3268,8 +3303,7 @@
 | 
				
			|||||||
    "qs": {
 | 
					    "qs": {
 | 
				
			||||||
      "version": "6.7.0",
 | 
					      "version": "6.7.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
 | 
					      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "querystring": {
 | 
					    "querystring": {
 | 
				
			||||||
      "version": "0.2.0",
 | 
					      "version": "0.2.0",
 | 
				
			||||||
@ -3295,14 +3329,12 @@
 | 
				
			|||||||
    "range-parser": {
 | 
					    "range-parser": {
 | 
				
			||||||
      "version": "1.2.1",
 | 
					      "version": "1.2.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
 | 
					      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "raw-body": {
 | 
					    "raw-body": {
 | 
				
			||||||
      "version": "2.4.0",
 | 
					      "version": "2.4.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
 | 
					      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "bytes": "3.1.0",
 | 
					        "bytes": "3.1.0",
 | 
				
			||||||
        "http-errors": "1.7.2",
 | 
					        "http-errors": "1.7.2",
 | 
				
			||||||
@ -3313,8 +3345,7 @@
 | 
				
			|||||||
        "bytes": {
 | 
					        "bytes": {
 | 
				
			||||||
          "version": "3.1.0",
 | 
					          "version": "3.1.0",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 | 
				
			||||||
          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
 | 
					          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -3573,8 +3604,7 @@
 | 
				
			|||||||
    "safe-buffer": {
 | 
					    "safe-buffer": {
 | 
				
			||||||
      "version": "5.1.2",
 | 
					      "version": "5.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
 | 
					      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "safe-regex": {
 | 
					    "safe-regex": {
 | 
				
			||||||
      "version": "1.1.0",
 | 
					      "version": "1.1.0",
 | 
				
			||||||
@ -3588,8 +3618,7 @@
 | 
				
			|||||||
    "safer-buffer": {
 | 
					    "safer-buffer": {
 | 
				
			||||||
      "version": "2.1.2",
 | 
					      "version": "2.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
 | 
					      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "schema-utils": {
 | 
					    "schema-utils": {
 | 
				
			||||||
      "version": "3.0.0",
 | 
					      "version": "3.0.0",
 | 
				
			||||||
@ -3632,7 +3661,6 @@
 | 
				
			|||||||
      "version": "0.17.1",
 | 
					      "version": "0.17.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
 | 
					      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "debug": "2.6.9",
 | 
					        "debug": "2.6.9",
 | 
				
			||||||
        "depd": "~1.1.2",
 | 
					        "depd": "~1.1.2",
 | 
				
			||||||
@ -3653,7 +3681,6 @@
 | 
				
			|||||||
          "version": "2.6.9",
 | 
					          "version": "2.6.9",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
					          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
				
			||||||
          "dev": true,
 | 
					 | 
				
			||||||
          "requires": {
 | 
					          "requires": {
 | 
				
			||||||
            "ms": "2.0.0"
 | 
					            "ms": "2.0.0"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
@ -3661,16 +3688,14 @@
 | 
				
			|||||||
            "ms": {
 | 
					            "ms": {
 | 
				
			||||||
              "version": "2.0.0",
 | 
					              "version": "2.0.0",
 | 
				
			||||||
              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
					              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
				
			||||||
              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 | 
					              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
				
			||||||
              "dev": true
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "ms": {
 | 
					        "ms": {
 | 
				
			||||||
          "version": "2.1.1",
 | 
					          "version": "2.1.1",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
 | 
				
			||||||
          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
 | 
					          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -3737,7 +3762,6 @@
 | 
				
			|||||||
      "version": "1.14.1",
 | 
					      "version": "1.14.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
 | 
					      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "encodeurl": "~1.0.2",
 | 
					        "encodeurl": "~1.0.2",
 | 
				
			||||||
        "escape-html": "~1.0.3",
 | 
					        "escape-html": "~1.0.3",
 | 
				
			||||||
@ -3777,8 +3801,7 @@
 | 
				
			|||||||
    "setprototypeof": {
 | 
					    "setprototypeof": {
 | 
				
			||||||
      "version": "1.1.1",
 | 
					      "version": "1.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
 | 
					      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "shebang-command": {
 | 
					    "shebang-command": {
 | 
				
			||||||
      "version": "1.2.0",
 | 
					      "version": "1.2.0",
 | 
				
			||||||
@ -4084,8 +4107,7 @@
 | 
				
			|||||||
    "statuses": {
 | 
					    "statuses": {
 | 
				
			||||||
      "version": "1.5.0",
 | 
					      "version": "1.5.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
 | 
					      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "string-width": {
 | 
					    "string-width": {
 | 
				
			||||||
      "version": "4.2.0",
 | 
					      "version": "4.2.0",
 | 
				
			||||||
@ -4243,8 +4265,7 @@
 | 
				
			|||||||
    "toidentifier": {
 | 
					    "toidentifier": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
 | 
					      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "ts-loader": {
 | 
					    "ts-loader": {
 | 
				
			||||||
      "version": "8.0.13",
 | 
					      "version": "8.0.13",
 | 
				
			||||||
@ -4321,7 +4342,6 @@
 | 
				
			|||||||
      "version": "1.6.18",
 | 
					      "version": "1.6.18",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
 | 
				
			||||||
      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
 | 
					      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "media-typer": "0.3.0",
 | 
					        "media-typer": "0.3.0",
 | 
				
			||||||
        "mime-types": "~2.1.24"
 | 
					        "mime-types": "~2.1.24"
 | 
				
			||||||
@ -4348,8 +4368,7 @@
 | 
				
			|||||||
    "unpipe": {
 | 
					    "unpipe": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
 | 
					      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "unset-value": {
 | 
					    "unset-value": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
@ -4455,8 +4474,7 @@
 | 
				
			|||||||
    "utils-merge": {
 | 
					    "utils-merge": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
 | 
					      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "uuid": {
 | 
					    "uuid": {
 | 
				
			||||||
      "version": "3.4.0",
 | 
					      "version": "3.4.0",
 | 
				
			||||||
@ -4473,8 +4491,7 @@
 | 
				
			|||||||
    "vary": {
 | 
					    "vary": {
 | 
				
			||||||
      "version": "1.1.2",
 | 
					      "version": "1.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
 | 
					      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "watchpack": {
 | 
					    "watchpack": {
 | 
				
			||||||
      "version": "2.1.0",
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
				
			|||||||
@ -11,9 +11,11 @@
 | 
				
			|||||||
  "license": "ISC",
 | 
					  "license": "ISC",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@tensorflow-models/coco-ssd": "^2.2.1",
 | 
					    "@tensorflow-models/coco-ssd": "^2.2.1",
 | 
				
			||||||
    "@tensorflow/tfjs": "^2.8.2"
 | 
					    "@tensorflow/tfjs": "^2.8.2",
 | 
				
			||||||
 | 
					    "express": "^4.17.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@types/express": "^4.17.11",
 | 
				
			||||||
    "ts-loader": "^8.0.13",
 | 
					    "ts-loader": "^8.0.13",
 | 
				
			||||||
    "typescript": "^4.1.3",
 | 
					    "typescript": "^4.1.3",
 | 
				
			||||||
    "webpack": "^5.11.1",
 | 
					    "webpack": "^5.11.1",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										38
									
								
								src/Server/Server.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/Server/Server.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					import express from 'express'
 | 
				
			||||||
 | 
					import path from 'path'
 | 
				
			||||||
 | 
					import bodyParser from 'body-parser'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Server {
 | 
				
			||||||
 | 
					  public app = express()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor () {
 | 
				
			||||||
 | 
					    this.createApp()
 | 
				
			||||||
 | 
					    this.setupAppOptions()
 | 
				
			||||||
 | 
					    this.setupAppRoutes()
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  createApp = () => {
 | 
				
			||||||
 | 
					    this.app.use(express.json())
 | 
				
			||||||
 | 
					    this.app.use(express.urlencoded({ extended: false }))
 | 
				
			||||||
 | 
					    this.app.use(express.static(path.join(process.cwd(), '/build')))
 | 
				
			||||||
 | 
					    this.app.use(bodyParser.json())
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setupAppRoutes = () => {
 | 
				
			||||||
 | 
					    // this.app.use('/api', apiRouter)
 | 
				
			||||||
 | 
					    this.app.use('/', (request, response, next) => {
 | 
				
			||||||
 | 
					      response.sendFile(path.join(process.cwd(), './dist/Vision/index.html'))
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setupAppOptions = () => {
 | 
				
			||||||
 | 
					    this.app.use((request, response, next) => {
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Origin', request.headers.origin || '*')
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,HEAD,DELETE,OPTIONS')
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Headers', 'Content-Type,x-requested-with')
 | 
				
			||||||
 | 
					      next()
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Server
 | 
				
			||||||
							
								
								
									
										29
									
								
								src/Server/main.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/Server/main.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					import http from 'http'
 | 
				
			||||||
 | 
					import Server from './Server'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const main = () => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const port = normalizePort(process.env.PORT || '5005')
 | 
				
			||||||
 | 
					  const webService = createServer()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  webService.listen(port, () => {
 | 
				
			||||||
 | 
					    console.log(`Server is listening on ${port}`)
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const createServer = () => {
 | 
				
			||||||
 | 
					  const server = new Server()
 | 
				
			||||||
 | 
					  return http.createServer(server.app)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const normalizePort = (portString: string) => {
 | 
				
			||||||
 | 
					  const port = parseInt(portString, 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (isNaN(port)) return portString
 | 
				
			||||||
 | 
					  else if (port >= 0 ) return port
 | 
				
			||||||
 | 
					  else return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export { main, createServer, normalizePort }
 | 
				
			||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
const path = require('path');
 | 
					const path = require('path');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
  entry: './src/Vision/app.ts',
 | 
					  entry: './src/Vision/main.ts',
 | 
				
			||||||
  devtool: 'inline-source-map',
 | 
					  devtool: 'inline-source-map',
 | 
				
			||||||
  devServer: {
 | 
					  devServer: {
 | 
				
			||||||
    contentBase: './dist/Vision',
 | 
					    contentBase: './dist/Vision',
 | 
				
			||||||
@ -20,7 +20,7 @@ module.exports = {
 | 
				
			|||||||
    extensions: [ '.tsx', '.ts', '.js' ],
 | 
					    extensions: [ '.tsx', '.ts', '.js' ],
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  output: {
 | 
					  output: {
 | 
				
			||||||
    filename: 'app.js',
 | 
					    filename: 'main.js',
 | 
				
			||||||
    path: path.resolve(__dirname, 'dist', 'Vision'),
 | 
					    path: path.resolve(__dirname, 'dist', 'Vision'),
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user