From 485611c51c2171070f7ffb086e850447f1632200 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Mon, 30 Dec 2019 15:02:52 -0800 Subject: [PATCH 01/14] Drop old scripts, add package.json, add JSON linting, add DB nuke and replace script --- .eslintrc | 9 + .github/CODEOWNERS | 1 + addsubclasses.js | 77 --- fill-in-features.js | 116 ---- helper.js | 52 -- namer.js | 17 - objectifier.js | 25 - package-lock.json | 1068 ++++++++++++++++++++++++++++++++ package.json | 23 + printname.js | 31 - scripts/nuke-and-replace-db.sh | 22 + updatefeaturechoices.js | 110 ---- updateurl.js | 96 --- 13 files changed, 1123 insertions(+), 524 deletions(-) create mode 100644 .eslintrc create mode 100644 .github/CODEOWNERS delete mode 100644 addsubclasses.js delete mode 100644 fill-in-features.js delete mode 100644 helper.js delete mode 100644 namer.js delete mode 100644 objectifier.js create mode 100644 package-lock.json create mode 100644 package.json delete mode 100644 printname.js create mode 100755 scripts/nuke-and-replace-db.sh delete mode 100644 updatefeaturechoices.js delete mode 100644 updateurl.js diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..2ceb60b70 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,9 @@ +{ + "extends": ["plugin:json/recommended-with-comments"], + "parserOptions": { + "ecmaVersion": 2017 + }, + "env": { + "es6": true + } +} diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..47140872b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +scripts/nuke-and-replace-db.sh diff --git a/addsubclasses.js b/addsubclasses.js deleted file mode 100644 index bada5d80a..000000000 --- a/addsubclasses.js +++ /dev/null @@ -1,77 +0,0 @@ -var http = require("http"); -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -let type_check = args[3]; - -let results = []; -addsubclass(); - -function addsubclass() { - let input_filename = "./5e-SRD-" + "spells" + ".json"; - let urlfix = (err, data) => { - data = JSON.parse(data); - devotion = [ - "Beacon of Hope", - "Commune", - "Dispel Magic", - "Flame Strike", - "Freedom of Movement", - "Lesser Restoration", - "Protection from Evil and Good", - "Sanctuary", - "Zone of Truth" - ]; - - fiend = [ - "Blindness/Deafness", - "Burning Hands", - "Command", - "Fireball", - "Fire Shield", - "Flame Strike", - "Hallow", - "Scorching Ray", - "Stinking Cloud", - "Wall of Fire" - ]; - - // number the indexes and change the URLs - for (let i = 0; i < data.length; i++) { - if (devotion.indexOf(data[i].name) != -1) { - data[i].subclasses.push({ - name: "Devotion", - url: "http://dnd5eapi.co/api/subclasses/7" - }); - } - - if (fiend.indexOf(data[i].name) != -1) { - data[i].subclasses.push({ - name: "Fiend", - url: "http://dnd5eapi.co/api/subclasses/11" - }); - } - } - - let output_filename = "./upload-5e-SRD-" + "spells" + ".json"; - - fs.writeFile(output_filename, JSON.stringify(data), err => { - if (err) throw err; - console.log("Success"); - console.log( - "mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c " + - "spells" + - " -u admin -p password --file upload-5e-SRD-" + - "spells" + - ".json --jsonArray" - ); - }); - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - return urlfix(err, data); - }); -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray diff --git a/fill-in-features.js b/fill-in-features.js deleted file mode 100644 index 4787ee745..000000000 --- a/fill-in-features.js +++ /dev/null @@ -1,116 +0,0 @@ -var http = require("http"); -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -let class_name = args[3]; - -fill_in_features(data_type, class_name); - -function getLevelFeaturesFromAPI(class_name, level, printLength) { - var url = - "/api/features/" + class_name + "/level/" + level; - // console.log(url); - - http - .get(url, res => { - const statusCode = res.statusCode; - const contentType = res.headers["content-type"]; - - // console.log('were in'); - - let error; - if (statusCode !== 200) { - error = new Error(`Request Failed.\n` + `Status Code: ${statusCode}`); - } else if (!/^application\/json/.test(contentType)) { - error = new Error( - `Invalid content-type.\n` + - `Expected application/json but received ${contentType}` - ); - } - if (error) { - console.log(error.message); - // consume response data to free up memory - res.resume(); - return; - } - - res.setEncoding("utf8"); - let rawData = ""; - res.on("data", chunk => (rawData += chunk)); - res.on("end", () => { - try { - let results = []; - let parsedData = JSON.parse(rawData); - parsedData.results.forEach(obj => { - results.push(obj); - }); - - printLength(results); - } catch (e) { - console.log(e.message); - } - }); - }) - .on("error", e => { - console.log(`Got error: ${e.message}`); - }); -} - -function sleep(seconds) { - var waitUntil = new Date().getTime() + seconds; - while (new Date().getTime() < waitUntil) true; -} - -function fill_in_features(datatype_string, class_name) { - let input_filename = "./5e-SRD-" + datatype_string + ".json"; - - let fill_in = (err, data) => { - data = JSON.parse(data); - newData = []; - - // number the indexes and change the URLs - for (let i = 0; i < data.length; i++) { - if ( - data[i].class.name === - class_name.charAt(0).toUpperCase() + class_name.slice(1).toLowerCase() - ) { - let level = data[i].level; - getLevelFeaturesFromAPI(class_name, level, filled => { - // console.log(filled.length); - data[i].features = []; - data[i].feature_choices = []; - filled.forEach(thing => { - if (thing.choice === undefined) { - data[i].features.push(thing); - } else { - data[i].feature_choices.push(thing); - } - }); - newData.push(data[i]); - if (newData.length == 20) { - let output_filename = - "./upload-5e-SRD-" + datatype_string + ".json"; - fs.writeFile(output_filename, JSON.stringify(data), err => { - if (err) throw err; - console.log("Success"); - console.log( - "mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c " + - datatype_string + - " -u admin -p password --file upload-5e-SRD-" + - datatype_string + - ".json --jsonArray" - ); - }); - } - }); - } - } - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - fill_in(err, data); - }); -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray diff --git a/helper.js b/helper.js deleted file mode 100644 index b7f9656f7..000000000 --- a/helper.js +++ /dev/null @@ -1,52 +0,0 @@ -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -create_upload_file(data_type); - -function create_upload_file(datatype_string) { - let input_filename = "./5e-SRD-" + datatype_string + ".json"; - console.log(input_filename); - let index_and_urlify = (err, data) => { - data = JSON.parse(data); - - let keys = Object.keys(data); - - // number the indexes and change the URLs - for (let i = 0; i < data.length; i++) { - data[i].index = i + 1; - if (data_type !== "levels") { - data[i].url = - "/api/" + - datatype_string + - "/" + - (i + 1).toString(); - } - } - - let output_filename = "./upload-5e-SRD-" + datatype_string + ".json"; - - fs.writeFile(output_filename, JSON.stringify(data), err => { - if (err) throw err; - console.log("Success"); - console.log( - "mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c " + - datatype_string + - " -u admin -p password --file upload-5e-SRD-" + - datatype_string + - ".json --jsonArray" - ); - }); - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - return index_and_urlify(err, data); - }); -} -function create_all_upload_files() { - for (let i = 0; i < all_data_types.length; i++) { - create_upload_file(all_data_types[i]); - } -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray diff --git a/namer.js b/namer.js deleted file mode 100644 index 5cf9c2707..000000000 --- a/namer.js +++ /dev/null @@ -1,17 +0,0 @@ -var fs = require("fs"); - -const args = process.argv; -let resource = args[2]; -let start_index = args[3]; -let end_index = args[4]; - -let input_filename = "./5e-SRD-" + resource + ".json"; - -fs.readFile(input_filename, "utf8", (err, data) => { - data = JSON.parse(data); - var i = start_index - 1; - while (i != parseInt(end_index)) { - console.log(data[i].name); - i++; - } -}); diff --git a/objectifier.js b/objectifier.js deleted file mode 100644 index 53ed02fbc..000000000 --- a/objectifier.js +++ /dev/null @@ -1,25 +0,0 @@ -var fs = require("fs"); - -const args = process.argv; -let resource = args[2]; -let start_index = args[3]; -let end_index = args[4]; - -let input_filename = "./5e-SRD-" + resource + ".json"; - -if (args.length > 4) { - fs.readFile(input_filename, "utf8", (err, data) => { - data = JSON.parse(data); - var i = start_index - 1; - while (i != parseInt(end_index)) { - console.log(`{ "url": "${data[i].url}", "name": "${data[i].name}" },`); - i++; - } - }); -} else { - fs.readFile(input_filename, "utf8", (err, data) => { - data = JSON.parse(data); - var i = start_index - 1; - console.log(`{ "url": "${data[i].url}", "name": "${data[i].name}" },`); - }); -} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..de3aa5ad7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1068 @@ +{ + "name": "5e-database", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-plugin-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.0.1.tgz", + "integrity": "sha512-IxKZIlMyBn0tvxlBj2viW0N/UBuoey1oYpV+SNVuNFmy4xsNuwgeoOjzEeFDnVXL0FpIo7UbQSeZ+lfh2D/nLQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "vscode-json-languageservice": "^3.3.5" + } + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz", + "integrity": "sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jsonc-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.0.tgz", + "integrity": "sha512-4fLQxW1j/5fWj6p78vAlAafoCKtuBm6ghv+Ij5W2DrDx0qE+ZdEl2c6Ko1mgJNF5ftX1iEWQQ4Ap7+3GlhjkOA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "vscode-json-languageservice": { + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.4.11.tgz", + "integrity": "sha512-26Qv1SFp6x3XmCqU1BRceRsSKRO3xkQa6/K8ziSRt52/LQPiw5ipSxlGVSlzIoi5LCmQVEqUajhiVEMNlFXhNw==", + "dev": true, + "requires": { + "jsonc-parser": "^2.2.0", + "vscode-languageserver-textdocument": "^1.0.0-next.5", + "vscode-languageserver-types": "^3.15.0-next.9", + "vscode-nls": "^4.1.1", + "vscode-uri": "^2.1.1" + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.0-next.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.0-next.5.tgz", + "integrity": "sha512-1jp/zAidN/bF/sqPimhBX1orH5G4rzRw63k75TesukJDuxm8yW79ECStWbDSy41BHGOwSGN4M69QFvhancSr5A==", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.15.0-next.9", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.9.tgz", + "integrity": "sha512-Rl/8qJ6932nrHCdPn+9y0x08uLVQaSLRG+U4JzhyKpWU4eJbVaDRoAcz1Llj7CErJGbPr6kdBvShPy5fRfR+Uw==", + "dev": true + }, + "vscode-nls": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", + "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==", + "dev": true + }, + "vscode-uri": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.1.tgz", + "integrity": "sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..5c876dc00 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "5e-database", + "version": "1.0.0", + "description": "Database fore 5e-srd-api", + "scripts": { + "lint": "eslint . --ext .js,.json", + "nuke-and-replace-db": "./scripts/nuke-and-replace-db.sh" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/adrpadua/5e-database.git" + }, + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/adrpadua/5e-database/issues" + }, + "homepage": "https://github.com/adrpadua/5e-database#readme", + "devDependencies": { + "eslint": "^6.8.0", + "eslint-plugin-json": "^2.0.1" + } +} diff --git a/printname.js b/printname.js deleted file mode 100644 index 42428a357..000000000 --- a/printname.js +++ /dev/null @@ -1,31 +0,0 @@ -var http = require("http"); -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -let type_check = args[3]; - -let results = []; -addsubclass(); - -function addsubclass() { - let input_filename = "z.json"; - - let urlfix = (err, data) => { - data = JSON.parse(data); - - // number the indexes and change the URLs - for (let i = 0; i < data.length; i++) { - var level = data[i].level; - if (data[i].patrons == "Fiend") { - console.log(data[i].name); - } - } - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - return urlfix(err, data); - }); -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray diff --git a/scripts/nuke-and-replace-db.sh b/scripts/nuke-and-replace-db.sh new file mode 100755 index 000000000..fcfe12320 --- /dev/null +++ b/scripts/nuke-and-replace-db.sh @@ -0,0 +1,22 @@ +# This script is used to nuke and replace the API's DB. +mongoimport --uri=$MONGODB_URI -c ability-scores --file 5e-SRD-Ability-Scores.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c classes --file 5e-SRD-Classes.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c conditions --file 5e-SRD-Conditions.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c damage-types --file 5e-SRD-Damage-Types.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c equipment-categories --file 5e-SRD-Equipment-Categories.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c equipment --file 5e-SRD-Equipment.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c features --file 5e-SRD-Features.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c languages --file 5e-SRD-Languages.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c levels --file 5e-SRD-Levels.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c magic-schools --file 5e-SRD-Magic-Schools.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c monsters --file 5e-SRD-Monsters.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c proficiencies --file 5e-SRD-Proficiencies.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c races --file 5e-SRD-Races.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c skills --file 5e-SRD-Skills.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c spellcasting --file 5e-SRD-Spellcasting.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c spells --file 5e-SRD-Spells.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c startingequipment --file 5e-SRD-StartingEquipment.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c subclasses --file 5e-SRD-Subclasses.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c subraces --file 5e-SRD-Subraces.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c traits --file 5e-SRD-Traits.json --jsonArray --drop +mongoimport --uri=$MONGODB_URI -c weapon-properties --file 5e-SRD-Weapon-Properties.json --jsonArray --drop diff --git a/updatefeaturechoices.js b/updatefeaturechoices.js deleted file mode 100644 index 0a3d3ec45..000000000 --- a/updatefeaturechoices.js +++ /dev/null @@ -1,110 +0,0 @@ -var http = require("http"); -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -let class_name = args[3]; - -fill_in_features(); - -function getFeaturesFromAPI(callback) { - var url = "/api/features/"; - // console.log(url); - - http - .get(url, res => { - const statusCode = res.statusCode; - const contentType = res.headers["content-type"]; - - // console.log('were in'); - - let error; - if (statusCode !== 200) { - error = new Error(`Request Failed.\n` + `Status Code: ${statusCode}`); - } else if (!/^application\/json/.test(contentType)) { - error = new Error( - `Invalid content-type.\n` + - `Expected application/json but received ${contentType}` - ); - } - if (error) { - console.log(error.message); - // consume response data to free up memory - res.resume(); - return; - } - - res.setEncoding("utf8"); - let rawData = ""; - res.on("data", chunk => (rawData += chunk)); - res.on("end", () => { - try { - let results = []; - let parsedData = JSON.parse(rawData); - parsedData.results.forEach(obj => { - results.push(obj); - }); - - callback(results); - } catch (e) { - console.log(e.message); - } - }); - }) - .on("error", e => { - console.log(`Got error: ${e.message}`); - }); -} - -function sleep(seconds) { - var waitUntil = new Date().getTime() + seconds; - while (new Date().getTime() < waitUntil) true; -} - -function fill_in_features(datatype_string, class_name) { - let input_filename = "./5e-SRD-" + "features" + ".json"; - - let fill_in = (err, data) => { - data = JSON.parse(data); - newData = []; - - // for each feature - getFeaturesFromAPI(filled => { - for (let i = 0; i < data.length; i++) { - // filled is the correct list. - // we want to go through each choice'd feature and update its list - if (data[i].choice !== undefined) { - data[i].choice.from.forEach(wrongFeature => { - wrongFeature.url = filled.find(correctFeature => { - return correctFeature.name == wrongFeature.name; - }).url; - }); - - newData.push(data[i]); - } - - if (newData.length == 28) { - let output_filename = "./upload-5e-SRD-" + datatype_string + ".json"; - fs.writeFile(output_filename, JSON.stringify(data), err => { - if (err) throw err; - console.log("Success"); - console.log( - "mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c " + - datatype_string + - " -u admin -p password --file upload-5e-SRD-" + - datatype_string + - ".json --jsonArray" - ); - }); - break; - } - } - }); - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - fill_in(err, data); - }); -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray diff --git a/updateurl.js b/updateurl.js deleted file mode 100644 index 1d220231d..000000000 --- a/updateurl.js +++ /dev/null @@ -1,96 +0,0 @@ -var http = require("http"); -var fs = require("fs"); - -const args = process.argv; -let data_type = args[2]; -let type_check = args[3]; - -let results = []; -getResultsFromAPI(type_check); - -function getResultsFromAPI(type_to_check) { - var url = "/api/" + type_to_check + "/"; - - http - .get(url, res => { - const statusCode = res.statusCode; - const contentType = res.headers["content-type"]; - - let error; - if (statusCode !== 200) { - error = new Error(`Request Failed.\n` + `Status Code: ${statusCode}`); - } else if (!/^application\/json/.test(contentType)) { - error = new Error( - `Invalid content-type.\n` + - `Expected application/json but received ${contentType}` - ); - } - if (error) { - console.log(error.message); - // consume response data to free up memory - res.resume(); - return; - } - - res.setEncoding("utf8"); - let rawData = ""; - res.on("data", chunk => (rawData += chunk)); - res.on("end", () => { - try { - let parsedData = JSON.parse(rawData); - parsedData.results.forEach(obj => { - results.push(obj); - }); - - fixLinks(data_type, results); - } catch (e) { - console.log(e.message); - } - }); - }) - .on("error", e => { - console.log(`Got error: ${e.message}`); - }); -} - -function fixLinks(datatype_string, reference) { - let input_filename = "./5e-SRD-" + datatype_string + ".json"; - let urlfix = (err, data) => { - data = JSON.parse(data); - - // number the indexes and change the URLs - for (let i = 0; i < data.length; i++) { - // THE THING TO CHECK FOR ERRORS - data[i].from.forEach(function(element) { - // console.log(element.name); - let newurl = results.find(item => { - return item.name === element.name; - }).url; - // console.log(newurl); - - element.url = newurl; - console.log(element); - }); - } - - let output_filename = "./upload-5e-SRD-" + datatype_string + ".json"; - - fs.writeFile(output_filename, JSON.stringify(data), err => { - if (err) throw err; - console.log("Success"); - console.log( - "mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c " + - datatype_string + - " -u admin -p password --file upload-5e-SRD-" + - datatype_string + - ".json --jsonArray" - ); - }); - }; - - fs.readFile(input_filename, "utf8", (err, data) => { - return urlfix(err, data); - }); -} - -// mongoimport -h ds133158.mlab.com:33158 -d 5e-srd-api -c classfeatures -u admin -p password --file upload-5e-SRD-classfeatures.json --jsonArray From 4dd9c6833eff12cf58def114fee3413aab68ac06 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Mon, 30 Dec 2019 15:10:49 -0800 Subject: [PATCH 02/14] Forgot to configure the CODEOWNERS right --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 47140872b..c05e0bf0d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -scripts/nuke-and-replace-db.sh +scripts/nuke-and-replace-db.sh @bagelbits From d182f4ca6de8e3cf626e06ee5779e7559ccdb193 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Mon, 30 Dec 2019 15:12:49 -0800 Subject: [PATCH 03/14] I don't really need that, actually. --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index c05e0bf0d..000000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -scripts/nuke-and-replace-db.sh @bagelbits From 310028758c0217d9d5ce77a80f26edeb422fa72e Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Mon, 30 Dec 2019 15:26:58 -0800 Subject: [PATCH 04/14] Adding in heroku.yml --- heroku.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 heroku.yml diff --git a/heroku.yml b/heroku.yml new file mode 100644 index 000000000..3daba5e9b --- /dev/null +++ b/heroku.yml @@ -0,0 +1,2 @@ +run: + migration: npm run-script nuke-and-replace-db From 342f8ad9ef1a4bce9416745fe87c03e4d9f1edfb Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Tue, 31 Dec 2019 12:58:42 -0800 Subject: [PATCH 05/14] Adding Buildkite --- .buildkite/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .buildkite/pipeline.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml new file mode 100644 index 000000000..5a7d94000 --- /dev/null +++ b/.buildkite/pipeline.yml @@ -0,0 +1,3 @@ +steps: + - label: ':eslint: ESLint' + command: 'npm run-script lint' From 814c22190bf5cedbd7df7f3dbfdab42d3febcd71 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:18:40 -0800 Subject: [PATCH 06/14] Switch over to Travis CI --- .buildkite/pipeline.yml | 3 --- .travis.yml | 6 ++++++ 2 files changed, 6 insertions(+), 3 deletions(-) delete mode 100644 .buildkite/pipeline.yml create mode 100644 .travis.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml deleted file mode 100644 index 5a7d94000..000000000 --- a/.buildkite/pipeline.yml +++ /dev/null @@ -1,3 +0,0 @@ -steps: - - label: ':eslint: ESLint' - command: 'npm run-script lint' diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..ae2c1b0b4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "11" + + script: + - npm run lint From f7d304e1e8b85fa2980e376112ee0bef77c748c6 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:29:57 -0800 Subject: [PATCH 07/14] Hmmm.... does this do it? --- .github/workflows/main.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..7cd025e94 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,19 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2.0.0 + - name: Trigger Buildkite Pipeline + uses: buildkite/trigger-pipeline-action@v1.2.0 From d5c087e0ed0f1dedecce70ee2a40055329ffcd51 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:48:06 -0800 Subject: [PATCH 08/14] Fix Travis file --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ae2c1b0b4..7348e5bce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: - - "11" + - 11 - script: +script: - npm run lint From cc5c4d7b4b070f2b91b5d36f0094255aaa38185b Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:50:20 -0800 Subject: [PATCH 09/14] Trigger Travis From 2b597a2784669880b86f216f2a8edf4853be96fb Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:53:16 -0800 Subject: [PATCH 10/14] Remove that --- .github/workflows/main.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 7cd025e94..000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: CI - -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2.0.0 - - name: Trigger Buildkite Pipeline - uses: buildkite/trigger-pipeline-action@v1.2.0 From 296efbcaf7efebff934a68914d705de3bb948f3e Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 21:55:04 -0800 Subject: [PATCH 11/14] Trigger Travis From ebb0171b6571e65b84bc8eb9ad31d507c11781d0 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 22:38:38 -0800 Subject: [PATCH 12/14] Does this still run for PRs? --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 7348e5bce..85ee5bec3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,9 @@ language: node_js node_js: - 11 +branches: + only: + - master + script: - npm run lint From 48ff77ef1fff20a820fb84cdfe1e09dc76019a9f Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Wed, 1 Jan 2020 22:42:19 -0800 Subject: [PATCH 13/14] Trigger Travis From af154ca4a3e839c8116ba0688ffd2fb84e9f7b69 Mon Sep 17 00:00:00 2001 From: Christopher Ward Date: Thu, 2 Jan 2020 08:48:49 -0800 Subject: [PATCH 14/14] Quick updates --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 5c876dc00..d41f293b0 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,21 @@ { "name": "5e-database", "version": "1.0.0", - "description": "Database fore 5e-srd-api", + "description": "Database for 5e-srd-api", "scripts": { "lint": "eslint . --ext .js,.json", "nuke-and-replace-db": "./scripts/nuke-and-replace-db.sh" }, "repository": { "type": "git", - "url": "git+https://github.com/adrpadua/5e-database.git" + "url": "git+https://github.com/bagelbits/5e-database.git" }, "author": "", "license": "MIT", "bugs": { - "url": "https://github.com/adrpadua/5e-database/issues" + "url": "https://github.com/bagelbits/5e-database/issues" }, - "homepage": "https://github.com/adrpadua/5e-database#readme", + "homepage": "https://github.com/bagelbits/5e-database#readme", "devDependencies": { "eslint": "^6.8.0", "eslint-plugin-json": "^2.0.1"