From 128a42aaa6ac936bf8af50aca22119be4a6baae0 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Tue, 19 Jan 2021 01:50:14 +1100 Subject: [PATCH] I remember why I stopped working on this, read more it's because the query parser is impossible to understand, and the handlers are too long for this to be usable. It's a nice idea, but I can't do this while drinking. --- source/index.js | 8 +- source/parse-input.js | 4 +- source/parse-query.js | 4 +- test-server-books/handler.js | 2 +- test-server-books/package-lock.json | 113 ++++++++++++-------------- test-server-books/package.json | 6 +- test-server-pokemon/handler.js | 22 +++-- test-server-pokemon/package-lock.json | 113 ++++++++++++-------------- test-server-pokemon/package.json | 6 +- 9 files changed, 127 insertions(+), 151 deletions(-) diff --git a/source/index.js b/source/index.js index 220ff01..da1b9f5 100644 --- a/source/index.js +++ b/source/index.js @@ -3,7 +3,7 @@ const parseInput = require('./parse-input'); const parseQuery = require('./parse-query'); //the main function to be returned (sineQL()) -const main = (schema, handler, options = {}) => { +const sineQL = (schema, handler, options = {}) => { let typeGraph; try { @@ -21,8 +21,8 @@ const main = (schema, handler, options = {}) => { const tokens = parseInput(reqBody, true, options); let pos = 0; - //check for keywords switch(tokens[pos]) { + //check for keywords case 'create': case 'update': case 'delete': @@ -40,8 +40,6 @@ const main = (schema, handler, options = {}) => { } return [200, result]; - - break; } } catch(e) { @@ -52,4 +50,4 @@ const main = (schema, handler, options = {}) => { }; //return to the caller -module.exports = main; +module.exports = sineQL; diff --git a/source/parse-input.js b/source/parse-input.js index 9878d0e..418545e 100644 --- a/source/parse-input.js +++ b/source/parse-input.js @@ -13,7 +13,7 @@ const parseInput = (body, allowStrings, options) => { case '"': { if (!allowStrings) { - throw 'Can\'t lex strings'; + throw 'Can\'t parse strings'; } const start = current; @@ -50,4 +50,4 @@ const parseInput = (body, allowStrings, options) => { return tokens; }; -module.exports = parseInput; \ No newline at end of file +module.exports = parseInput; diff --git a/source/parse-query.js b/source/parse-query.js index 20c3a76..b6c9e21 100644 --- a/source/parse-query.js +++ b/source/parse-query.js @@ -53,7 +53,7 @@ const parseQuery = async (handler, tokens, pos, typeGraph, parent = null, superM //push the scalar object to the queryFields scalarFields.push({ typeName: typeGraph[superType][tokens[pos - 1]].typeName, name: tokens[pos - 1], filter: matching ? tokens[pos++] : null }); - //if I am a scalar child of a match amd I do not match + //if I am a scalar child of a match and I do not match if (parent && superMatching && !matching) { throw 'Broken match chain in scalar type ' + tokens[pos - 1]; } @@ -114,4 +114,4 @@ const parseQuery = async (handler, tokens, pos, typeGraph, parent = null, superM return [results, pos]; }; -module.exports = parseQuery; \ No newline at end of file +module.exports = parseQuery; diff --git a/test-server-books/handler.js b/test-server-books/handler.js index ffc190a..370c4fe 100644 --- a/test-server-books/handler.js +++ b/test-server-books/handler.js @@ -4,7 +4,7 @@ scalars: [{ typeName: String, name: String, filter: any | null }, ...] matching: Boolean */ -//BUG: Book { author { name } } - this gives a weird result +//BUG: Book { authors { name } } - this gives a weird result const database = require('./database.js'); diff --git a/test-server-books/package-lock.json b/test-server-books/package-lock.json index bbed87f..707cf0e 100644 --- a/test-server-books/package-lock.json +++ b/test-server-books/package-lock.json @@ -220,13 +220,13 @@ } }, "@pm2/js-api": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.6.1.tgz", - "integrity": "sha512-LImZWHEzcpIrLZ7kt4z3Gllkoz+CChHk2waDretOWeinSItyTMrNpzcXcZd2QikP/57qPolLfHGFipHJmOKkwQ==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.6.7.tgz", + "integrity": "sha512-jiJUhbdsK+5C4zhPZNnyA3wRI01dEc6a2GhcQ9qI38DyIk+S+C8iC3fGjcjUbt/viLYKPjlAaE+hcT2/JMQPXw==", "requires": { "async": "^2.6.3", - "axios": "^0.19.0", - "debug": "~3.2.6", + "axios": "^0.21.0", + "debug": "~4.3.1", "eventemitter2": "^6.3.1", "ws": "^7.0.0" }, @@ -240,11 +240,11 @@ } }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "eventemitter2": { @@ -253,9 +253,9 @@ "integrity": "sha512-t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ==" }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -389,11 +389,11 @@ } }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.10.0" } }, "balanced-match": { @@ -402,9 +402,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "blessed": { "version": "0.1.81", @@ -470,13 +470,13 @@ "integrity": "sha1-BsIe7RobBq62dVPNxT4jJ0usIpY=" }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -795,22 +795,9 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" }, "forwarded": { "version": "0.1.2", @@ -828,9 +815,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "optional": true }, "ftp": { @@ -1086,16 +1073,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "minimatch": { @@ -1312,9 +1299,9 @@ } }, "pm2": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/pm2/-/pm2-4.5.0.tgz", - "integrity": "sha512-sXKn0Qsrqj++qgsdGTASEsWfURhM6vSPIqFPwSwk3bK5/QPLxuRmVDW1y82M9wEnlgEjiIryaLhZUp5saLuhPA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/pm2/-/pm2-4.5.1.tgz", + "integrity": "sha512-gEOYugy4vEGazszDtjbZcWnZhHpBLKl0JiYhEnIJqmMj576a0D5LNCmd9grJswB1ziZim+9YInqFrG3FQTxvEg==", "requires": { "@pm2/agent": "~1.0.2", "@pm2/io": "~4.3.5", @@ -1328,7 +1315,7 @@ "commander": "2.15.1", "cron": "1.8.2", "dayjs": "~1.8.25", - "debug": "^4.2.0", + "debug": "^4.3.0", "enquirer": "2.3.6", "eventemitter2": "5.0.1", "fclone": "1.0.11", @@ -1344,7 +1331,7 @@ "semver": "^7.2", "source-map-support": "0.5.19", "sprintf-js": "1.1.2", - "systeminformation": "^4.23.3", + "systeminformation": "^4.32", "vizion": "0.2.13", "yamljs": "0.3.0" }, @@ -1564,9 +1551,9 @@ } }, "require-in-the-middle": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.0.3.tgz", - "integrity": "sha512-p/ICV8uMlqC4tjOYabLMxAWCIKa0YUQgZZ6KDM0xgXJNgdGQ1WmL2A07TwmrZw+wi6ITUFKzH5v3n+ENEyXVkA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.1.0.tgz", + "integrity": "sha512-M2rLKVupQfJ5lf9OvqFGIT+9iVLnTmjgbOmpil12hiSQNn5zJTKGPoIisETNjfK+09vP3rpm1zJajmErpr2sEQ==", "requires": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", @@ -1764,9 +1751,9 @@ } }, "systeminformation": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-4.32.0.tgz", - "integrity": "sha512-8/LM0EvwhW34+n3fzmcl4swG7Ngx8h8s/5MooXlIJKyMbSiO9juCqftdQIpwa3NneKrca1uYO55JHZeYJUaSZw==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.7.tgz", + "integrity": "sha512-cS3FiSZasFgVNjO9CP3aZmTO2VHwXKG+JN6Z85nWRyOzxRMNbZe7Xzwrewp42hj+OPMC3hk7MrAFyu/qLM65Mw==", "optional": true }, "thunkify": { @@ -1788,9 +1775,9 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" }, "tv4": { "version": "1.3.0", diff --git a/test-server-books/package.json b/test-server-books/package.json index 307e004..995b850 100644 --- a/test-server-books/package.json +++ b/test-server-books/package.json @@ -13,8 +13,8 @@ "author": "Kayne Ruse", "license": "ISC", "dependencies": { - "cors": "^2.8.5", - "express": "^4.17.1", - "pm2": "^4.4.1" + "cors": "latest", + "express": "latest", + "pm2": "latest" } } diff --git a/test-server-pokemon/handler.js b/test-server-pokemon/handler.js index 2843196..3baf761 100644 --- a/test-server-pokemon/handler.js +++ b/test-server-pokemon/handler.js @@ -9,8 +9,6 @@ const database = require('./pokemon.json'); //the handler routines const handler = { Pokemon: (parent, scalars, matching) => { - throw 'Nothing here is working'; - let pokemon = database; //if this is a sub-query of Pokemon (a form), use the parent to narrow the search @@ -25,6 +23,7 @@ const handler = { //I am being matched (if true, ALL present scalars will have a filter field) if (matching) { + console.log('matching'); //check every scalar to every poke - a single false match is a miss on that poke pokemon = pokemon.filter(poke => { return scalars.every(scalar => { @@ -34,7 +33,7 @@ const handler = { case 'Integer': case 'Float': case 'Boolean': - return poke[scalar.name].toString() == scalar.filter; //dumb comparison for now + return poke[scalar.name] == scalar.filter; //dumb comparison for now default: throw `Unknown scalar typeName in handler: ${scalar.typeName} (${scalar.name})`; @@ -59,8 +58,7 @@ const handler = { case 'Integer': case 'Float': case 'Boolean': - console.log(scalar, poke[scalar.name]); - return poke[scalar.name].toString() == scalar.filter; //dumb comparison for now + return poke[scalar.name] == scalar.filter; //dumb comparison for now default: throw `Unknown scalar typeName in handler: ${scalar.typeName} (${scalar.name})`; @@ -88,22 +86,22 @@ const handler = { }, Stats: (parent, scalars, matching) => { - throw 'Nothing here is working'; - if (!parent || parent.typeName != 'Pokemon') { throw 'Stats must be inside a Pokemon query'; } - console.log(parent.scalars, scalars); + console.log('mark 1'); //skip unknown/empty pokemon stats let pokemon = database.filter(poke => poke.base_stats != null); - //if this is a sub-query of Pokemon (already checked), use the parent to narrow the search + //if this is a sub-query of a Pokemon (already checked), use the parent to narrow the search pokemon = pokemon.filter(poke => { return scalars.every(scalar => poke[scalar.name] == parent.context[scalar.name]); }); + console.log('mark 2', pokemon); + //handle forms instead of normal queries if (pokemon.length == 0) { pokemon = database.filter(poke => poke.base_stats != null);//skip unknown/empty pokemon stats @@ -117,6 +115,8 @@ const handler = { }); }); } + + console.log('mark 3'); //I am being matched (if true, ALL present scalars will have a filter field) if (matching) { @@ -139,6 +139,8 @@ const handler = { return []; } } + + console.log('mark 4'); //scalars are being matched on their own if (scalars.some(s => s.filter)) { @@ -161,6 +163,8 @@ const handler = { return []; } } + + console.log('mark 5'); //process (filter out unwanted fields) and return the array of pokemon return pokemon.map(poke => { diff --git a/test-server-pokemon/package-lock.json b/test-server-pokemon/package-lock.json index bbed87f..707cf0e 100644 --- a/test-server-pokemon/package-lock.json +++ b/test-server-pokemon/package-lock.json @@ -220,13 +220,13 @@ } }, "@pm2/js-api": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.6.1.tgz", - "integrity": "sha512-LImZWHEzcpIrLZ7kt4z3Gllkoz+CChHk2waDretOWeinSItyTMrNpzcXcZd2QikP/57qPolLfHGFipHJmOKkwQ==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.6.7.tgz", + "integrity": "sha512-jiJUhbdsK+5C4zhPZNnyA3wRI01dEc6a2GhcQ9qI38DyIk+S+C8iC3fGjcjUbt/viLYKPjlAaE+hcT2/JMQPXw==", "requires": { "async": "^2.6.3", - "axios": "^0.19.0", - "debug": "~3.2.6", + "axios": "^0.21.0", + "debug": "~4.3.1", "eventemitter2": "^6.3.1", "ws": "^7.0.0" }, @@ -240,11 +240,11 @@ } }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "eventemitter2": { @@ -253,9 +253,9 @@ "integrity": "sha512-t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ==" }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -389,11 +389,11 @@ } }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.10.0" } }, "balanced-match": { @@ -402,9 +402,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "blessed": { "version": "0.1.81", @@ -470,13 +470,13 @@ "integrity": "sha1-BsIe7RobBq62dVPNxT4jJ0usIpY=" }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -795,22 +795,9 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" }, "forwarded": { "version": "0.1.2", @@ -828,9 +815,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "optional": true }, "ftp": { @@ -1086,16 +1073,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "minimatch": { @@ -1312,9 +1299,9 @@ } }, "pm2": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/pm2/-/pm2-4.5.0.tgz", - "integrity": "sha512-sXKn0Qsrqj++qgsdGTASEsWfURhM6vSPIqFPwSwk3bK5/QPLxuRmVDW1y82M9wEnlgEjiIryaLhZUp5saLuhPA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/pm2/-/pm2-4.5.1.tgz", + "integrity": "sha512-gEOYugy4vEGazszDtjbZcWnZhHpBLKl0JiYhEnIJqmMj576a0D5LNCmd9grJswB1ziZim+9YInqFrG3FQTxvEg==", "requires": { "@pm2/agent": "~1.0.2", "@pm2/io": "~4.3.5", @@ -1328,7 +1315,7 @@ "commander": "2.15.1", "cron": "1.8.2", "dayjs": "~1.8.25", - "debug": "^4.2.0", + "debug": "^4.3.0", "enquirer": "2.3.6", "eventemitter2": "5.0.1", "fclone": "1.0.11", @@ -1344,7 +1331,7 @@ "semver": "^7.2", "source-map-support": "0.5.19", "sprintf-js": "1.1.2", - "systeminformation": "^4.23.3", + "systeminformation": "^4.32", "vizion": "0.2.13", "yamljs": "0.3.0" }, @@ -1564,9 +1551,9 @@ } }, "require-in-the-middle": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.0.3.tgz", - "integrity": "sha512-p/ICV8uMlqC4tjOYabLMxAWCIKa0YUQgZZ6KDM0xgXJNgdGQ1WmL2A07TwmrZw+wi6ITUFKzH5v3n+ENEyXVkA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.1.0.tgz", + "integrity": "sha512-M2rLKVupQfJ5lf9OvqFGIT+9iVLnTmjgbOmpil12hiSQNn5zJTKGPoIisETNjfK+09vP3rpm1zJajmErpr2sEQ==", "requires": { "debug": "^4.1.1", "module-details-from-path": "^1.0.3", @@ -1764,9 +1751,9 @@ } }, "systeminformation": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-4.32.0.tgz", - "integrity": "sha512-8/LM0EvwhW34+n3fzmcl4swG7Ngx8h8s/5MooXlIJKyMbSiO9juCqftdQIpwa3NneKrca1uYO55JHZeYJUaSZw==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.7.tgz", + "integrity": "sha512-cS3FiSZasFgVNjO9CP3aZmTO2VHwXKG+JN6Z85nWRyOzxRMNbZe7Xzwrewp42hj+OPMC3hk7MrAFyu/qLM65Mw==", "optional": true }, "thunkify": { @@ -1788,9 +1775,9 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" }, "tv4": { "version": "1.3.0", diff --git a/test-server-pokemon/package.json b/test-server-pokemon/package.json index 307e004..995b850 100644 --- a/test-server-pokemon/package.json +++ b/test-server-pokemon/package.json @@ -13,8 +13,8 @@ "author": "Kayne Ruse", "license": "ISC", "dependencies": { - "cors": "^2.8.5", - "express": "^4.17.1", - "pm2": "^4.4.1" + "cors": "latest", + "express": "latest", + "pm2": "latest" } }