├── sql ├── DO NOT DELETE.txt └── fivem-1-1670119010221.sql ├── package.json ├── fxmanifest.lua ├── config.json ├── README.md ├── index.js └── yarn.lock /sql/DO NOT DELETE.txt: -------------------------------------------------------------------------------- 1 | Do not delete this folder..... -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "discord-webhook-node": "^1.1.8", 4 | "mysqldump": "^3.2.0" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /fxmanifest.lua: -------------------------------------------------------------------------------- 1 | fx_version 'cerulean' 2 | games { 'gta5' } 3 | author 'NAT2K15 Development' 4 | 5 | server_scripts { 6 | 'index.js' 7 | } -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "database_info": { 3 | "host": "localhost", 4 | "user": "root", 5 | "password": "", 6 | "database": "fivem" 7 | }, 8 | 9 | "discord": { 10 | "savetodiscord": true, 11 | "webhook": "discord webhook", 12 | "color": "#000000", 13 | "footer": "Database backup" 14 | }, 15 | 16 | "interval": { 17 | "time": 30 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SQL Backup manager 2 | A simple script that was made in JS. Using public npm modules to help servers save all their player's databases just in case anything gets deleted within the server. Such as a modder or loss of credentials. 3 | 4 | # Features 5 | * Sends to discord via webhook 6 | * Easy to setup 7 | * Saves locally (aka files) 8 | * Time can be changed within config (default is 30min) 9 | 10 | # Photo 11 | ![Photo](https://forum.cfx.re/uploads/default/original/4X/2/8/e/28e27390ffcfc971a207dc044edd6a77ef691a01.png) 12 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // vars // 2 | const mysqldump = require('mysqldump'); 3 | const config = require('./config.json'); 4 | const { Webhook, MessageBuilder } = require('discord-webhook-node'); 5 | const root = GetResourcePath(GetCurrentResourceName()); 6 | let num = 0; 7 | 8 | 9 | // loop // 10 | setInterval(async() => { 11 | num = num + 1; 12 | let filename = `${root}/sql/${config.database_info.database}-${num}-${Date.now()}.sql` 13 | console.log(filename) 14 | mysqldump({ 15 | connection: { 16 | host: config.database_info.host, 17 | user: config.database_info.user, 18 | password: config.database_info.password, 19 | database: config.database_info.database, 20 | }, 21 | dumpToFile: filename, 22 | }) 23 | await Delay(3500) 24 | if (config.discord.savetodiscord) { 25 | let webhook = config.discord.webhook 26 | if (!webhook) return; 27 | const hook = new Webhook(webhook); 28 | let embed = new MessageBuilder() 29 | .setAuthor('Database backup') 30 | .setTimestamp() 31 | .setColor(config.discord.color) 32 | .addField(`File Path`, `\`${filename}\``) 33 | .addField(`Database`, config.database_info.database) 34 | .addField(`Date`, `${new Date()}`) 35 | .setFooter(config.discord.footer) 36 | hook.send(embed) 37 | hook.sendFile(`${filename}`) 38 | } 39 | 40 | }, config.interval.time * 1000 * 60); 41 | 42 | 43 | // functions // 44 | function Delay(ms) { 45 | return new Promise((res) => { 46 | setTimeout(res, ms) 47 | }) 48 | } 49 | -------------------------------------------------------------------------------- /sql/fivem-1-1670119010221.sql: -------------------------------------------------------------------------------- 1 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 2 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 3 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 4 | /*!40101 SET NAMES utf8 */; 5 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 6 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 7 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; 8 | 9 | # ------------------------------------------------------------ 10 | # SCHEMA DUMP FOR TABLE: bans 11 | # ------------------------------------------------------------ 12 | 13 | CREATE TABLE IF NOT EXISTS `bans` ( 14 | `steam` varchar(255) DEFAULT 'Not Found', 15 | `discord` varchar(255) DEFAULT 'Not Found', 16 | `fivem` varchar(255) DEFAULT 'Not Found', 17 | `reason` varchar(255) DEFAULT 'Not Found', 18 | `staff` varchar(255) DEFAULT 'Not Found', 19 | `timeoftheban` varchar(255) DEFAULT 'Not Found' 20 | ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; 21 | 22 | # ------------------------------------------------------------ 23 | # SCHEMA DUMP FOR TABLE: cached_players 24 | # ------------------------------------------------------------ 25 | 26 | CREATE TABLE IF NOT EXISTS `cached_players` ( 27 | `steam` varchar(255) DEFAULT 'Not Found', 28 | `discord` varchar(255) DEFAULT 'Not Found', 29 | `fivem` varchar(255) DEFAULT 'Not Found', 30 | `ip` varchar(255) DEFAULT 'Not Found', 31 | `connections` varchar(255) DEFAULT '1' 32 | ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; 33 | 34 | # ------------------------------------------------------------ 35 | # SCHEMA DUMP FOR TABLE: characters 36 | # ------------------------------------------------------------ 37 | 38 | CREATE TABLE IF NOT EXISTS `characters` ( 39 | `id` int(11) NOT NULL AUTO_INCREMENT, 40 | `discord` varchar(50) DEFAULT NULL, 41 | `steamid` varchar(50) DEFAULT NULL, 42 | `first_name` varchar(50) DEFAULT NULL, 43 | `last_name` varchar(50) DEFAULT NULL, 44 | `twitter_name` varchar(50) DEFAULT NULL, 45 | `dob` varchar(50) DEFAULT NULL, 46 | `gender` varchar(50) DEFAULT NULL, 47 | `dept` varchar(50) DEFAULT NULL, 48 | `lastLoc` varchar(250) DEFAULT NULL, 49 | `phone_number` varchar(20) DEFAULT NULL, 50 | PRIMARY KEY (`id`) 51 | ) ENGINE = InnoDB AUTO_INCREMENT = 5 DEFAULT CHARSET = utf8mb4; 52 | 53 | # ------------------------------------------------------------ 54 | # SCHEMA DUMP FOR TABLE: characters_bans 55 | # ------------------------------------------------------------ 56 | 57 | CREATE TABLE IF NOT EXISTS `characters_bans` ( 58 | `banid` varchar(50) DEFAULT NULL, 59 | `ip` varchar(50) DEFAULT NULL, 60 | `staff` varchar(50) DEFAULT NULL, 61 | `reason` varchar(50) DEFAULT NULL, 62 | `date` varchar(50) DEFAULT NULL, 63 | `expiry` varchar(50) DEFAULT NULL 64 | ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; 65 | 66 | # ------------------------------------------------------------ 67 | # SCHEMA DUMP FOR TABLE: characters_settings 68 | # ------------------------------------------------------------ 69 | 70 | CREATE TABLE IF NOT EXISTS `characters_settings` ( 71 | `discord` varchar(50) DEFAULT NULL, 72 | `steamid` varchar(50) DEFAULT NULL, 73 | `dark_mode` varchar(50) DEFAULT '1', 74 | `cloud_spawning` varchar(50) DEFAULT '1', 75 | `image_slideshow` varchar(50) DEFAULT '0', 76 | `character_gardient_color` varchar(50) DEFAULT '#DDADF3|#582185', 77 | `refresh_gardient_color` varchar(50) DEFAULT '#3E3BDF|#6529C5', 78 | `settings_gardient_color` varchar(50) DEFAULT '#1792DA|#49C06D', 79 | `disconnect_gardient_color` varchar(50) DEFAULT '#FF0000|#EB7F27' 80 | ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; 81 | 82 | # ------------------------------------------------------------ 83 | # SCHEMA DUMP FOR TABLE: money 84 | # ------------------------------------------------------------ 85 | 86 | CREATE TABLE IF NOT EXISTS `money` ( 87 | `steam` varchar(255) DEFAULT NULL, 88 | `discord` varchar(255) DEFAULT NULL, 89 | `first` varchar(255) DEFAULT NULL, 90 | `last` varchar(255) DEFAULT NULL, 91 | `dept` varchar(255) DEFAULT NULL, 92 | `amount` varchar(255) DEFAULT '0', 93 | `bank` varchar(255) DEFAULT '0' 94 | ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; 95 | 96 | # ------------------------------------------------------------ 97 | # DATA DUMP FOR TABLE: bans 98 | # ------------------------------------------------------------ 99 | 100 | 101 | # ------------------------------------------------------------ 102 | # DATA DUMP FOR TABLE: cached_players 103 | # ------------------------------------------------------------ 104 | 105 | 106 | # ------------------------------------------------------------ 107 | # DATA DUMP FOR TABLE: characters 108 | # ------------------------------------------------------------ 109 | 110 | INSERT INTO 111 | `characters` ( 112 | `id`, 113 | `discord`, 114 | `steamid`, 115 | `first_name`, 116 | `last_name`, 117 | `twitter_name`, 118 | `dob`, 119 | `gender`, 120 | `dept`, 121 | `lastLoc`, 122 | `phone_number` 123 | ) 124 | VALUES 125 | ( 126 | 2, 127 | '576971985108860929', 128 | 'steam:11000013ceddcb3', 129 | 'Test', 130 | 'Tes', 131 | 'qwdwq', 132 | '2022-08-16', 133 | 'Male', 134 | 'BCSO', 135 | 'x=-217.1604309082|y=6558.4350585938|z=10.91357421875', 136 | '626-343-0029' 137 | ); 138 | INSERT INTO 139 | `characters` ( 140 | `id`, 141 | `discord`, 142 | `steamid`, 143 | `first_name`, 144 | `last_name`, 145 | `twitter_name`, 146 | `dob`, 147 | `gender`, 148 | `dept`, 149 | `lastLoc`, 150 | `phone_number` 151 | ) 152 | VALUES 153 | ( 154 | 4, 155 | '576971985108860929', 156 | 'license:cc61ece4a77ebd7e3f73309cf1a8e9a3ecc39710', 157 | 'Qwdqw', 158 | 'Dqwdwq', 159 | 'dqwdqwd', 160 | '2022-08-22', 161 | 'Male', 162 | 'BCSO', 163 | 'x=1856.2945556641|y=2585.6176757812|z=45.657836914062', 164 | NULL 165 | ); 166 | 167 | # ------------------------------------------------------------ 168 | # DATA DUMP FOR TABLE: characters_bans 169 | # ------------------------------------------------------------ 170 | 171 | 172 | # ------------------------------------------------------------ 173 | # DATA DUMP FOR TABLE: characters_settings 174 | # ------------------------------------------------------------ 175 | 176 | INSERT INTO 177 | `characters_settings` ( 178 | `discord`, 179 | `steamid`, 180 | `dark_mode`, 181 | `cloud_spawning`, 182 | `image_slideshow`, 183 | `character_gardient_color`, 184 | `refresh_gardient_color`, 185 | `settings_gardient_color`, 186 | `disconnect_gardient_color` 187 | ) 188 | VALUES 189 | ( 190 | '576971985108860929', 191 | 'steam:11000013ceddcb3', 192 | '1', 193 | '1', 194 | '0', 195 | '#DDADF3|#582185', 196 | '#3E3BDF|#6529C5', 197 | '#1792DA|#49C06D', 198 | '#FF0000|#EB7F27' 199 | ); 200 | INSERT INTO 201 | `characters_settings` ( 202 | `discord`, 203 | `steamid`, 204 | `dark_mode`, 205 | `cloud_spawning`, 206 | `image_slideshow`, 207 | `character_gardient_color`, 208 | `refresh_gardient_color`, 209 | `settings_gardient_color`, 210 | `disconnect_gardient_color` 211 | ) 212 | VALUES 213 | ( 214 | '576971985108860929', 215 | 'license:cc61ece4a77ebd7e3f73309cf1a8e9a3ecc39710', 216 | '1', 217 | '0', 218 | '0', 219 | '#DDADF3|#582185', 220 | '#3E3BDF|#6529C5', 221 | '#1792DA|#49C06D', 222 | '#FF0000|#EB7F27' 223 | ); 224 | 225 | # ------------------------------------------------------------ 226 | # DATA DUMP FOR TABLE: money 227 | # ------------------------------------------------------------ 228 | 229 | INSERT INTO 230 | `money` ( 231 | `steam`, 232 | `discord`, 233 | `first`, 234 | `last`, 235 | `dept`, 236 | `amount`, 237 | `bank` 238 | ) 239 | VALUES 240 | ( 241 | 'license:cc61ece4a77ebd7e3f73309cf1a8e9a3ecc39710', 242 | '576971985108860929', 243 | 'Qwdqw', 244 | 'Dqwdwq', 245 | 'BCSO', 246 | '0', 247 | '10000' 248 | ); 249 | 250 | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; 251 | /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; 252 | /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; 253 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; 254 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; 255 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 256 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | asynckit@^0.4.0: 6 | version "0.4.0" 7 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 8 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 9 | 10 | combined-stream@^1.0.8: 11 | version "1.0.8" 12 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 13 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 14 | dependencies: 15 | delayed-stream "~1.0.0" 16 | 17 | deepmerge@^3.2.0: 18 | version "3.3.0" 19 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" 20 | integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== 21 | 22 | delayed-stream@~1.0.0: 23 | version "1.0.0" 24 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 25 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 26 | 27 | denque@^2.0.1: 28 | version "2.1.0" 29 | resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" 30 | integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== 31 | 32 | discord-webhook-node@^1.1.8: 33 | version "1.1.8" 34 | resolved "https://registry.yarnpkg.com/discord-webhook-node/-/discord-webhook-node-1.1.8.tgz#3993273b3e5ad276a35022c51d5f64131651a214" 35 | integrity sha512-3u0rrwywwYGc6HrgYirN/9gkBYqmdpvReyQjapoXARAHi0P0fIyf3W5tS5i3U3cc7e44E+e7dIHYUeec7yWaug== 36 | dependencies: 37 | form-data "^3.0.0" 38 | node-fetch "^2.6.0" 39 | 40 | form-data@^3.0.0: 41 | version "3.0.1" 42 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 43 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 44 | dependencies: 45 | asynckit "^0.4.0" 46 | combined-stream "^1.0.8" 47 | mime-types "^2.1.12" 48 | 49 | generate-function@^2.3.1: 50 | version "2.3.1" 51 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" 52 | integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== 53 | dependencies: 54 | is-property "^1.0.2" 55 | 56 | iconv-lite@^0.6.3: 57 | version "0.6.3" 58 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 59 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 60 | dependencies: 61 | safer-buffer ">= 2.1.2 < 3.0.0" 62 | 63 | is-property@^1.0.2: 64 | version "1.0.2" 65 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 66 | integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== 67 | 68 | lodash@^4.17.20: 69 | version "4.17.21" 70 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 71 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 72 | 73 | long@^4.0.0: 74 | version "4.0.0" 75 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 76 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 77 | 78 | lru-cache@^4.1.3: 79 | version "4.1.5" 80 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 81 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 82 | dependencies: 83 | pseudomap "^1.0.2" 84 | yallist "^2.1.2" 85 | 86 | lru-cache@^6.0.0: 87 | version "6.0.0" 88 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 89 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 90 | dependencies: 91 | yallist "^4.0.0" 92 | 93 | mime-db@1.52.0: 94 | version "1.52.0" 95 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 96 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 97 | 98 | mime-types@^2.1.12: 99 | version "2.1.35" 100 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 101 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 102 | dependencies: 103 | mime-db "1.52.0" 104 | 105 | mysql2@^2.1.0: 106 | version "2.3.3" 107 | resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.3.3.tgz#944f3deca4b16629052ff8614fbf89d5552545a0" 108 | integrity sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA== 109 | dependencies: 110 | denque "^2.0.1" 111 | generate-function "^2.3.1" 112 | iconv-lite "^0.6.3" 113 | long "^4.0.0" 114 | lru-cache "^6.0.0" 115 | named-placeholders "^1.1.2" 116 | seq-queue "^0.0.5" 117 | sqlstring "^2.3.2" 118 | 119 | mysqldump@^3.2.0: 120 | version "3.2.0" 121 | resolved "https://registry.yarnpkg.com/mysqldump/-/mysqldump-3.2.0.tgz#780abaf82f5c3f216d4e16db585092389d2a5497" 122 | integrity sha512-hS4jUk23BT+qZEwp668eGwyFhmsDFHkIDYANLFeNXlvPK1AhOMLV+SGoKpAk8290sUhtUAIG16R3YrNhHmZ+zQ== 123 | dependencies: 124 | deepmerge "^3.2.0" 125 | mysql2 "^2.1.0" 126 | sql-formatter "^2.3.2" 127 | sqlstring "^2.3.1" 128 | 129 | named-placeholders@^1.1.2: 130 | version "1.1.2" 131 | resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8" 132 | integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA== 133 | dependencies: 134 | lru-cache "^4.1.3" 135 | 136 | node-fetch@^2.6.0: 137 | version "2.6.7" 138 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 139 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 140 | dependencies: 141 | whatwg-url "^5.0.0" 142 | 143 | pseudomap@^1.0.2: 144 | version "1.0.2" 145 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 146 | integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== 147 | 148 | "safer-buffer@>= 2.1.2 < 3.0.0": 149 | version "2.1.2" 150 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 151 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 152 | 153 | seq-queue@^0.0.5: 154 | version "0.0.5" 155 | resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" 156 | integrity sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q== 157 | 158 | sql-formatter@^2.3.2: 159 | version "2.3.4" 160 | resolved "https://registry.yarnpkg.com/sql-formatter/-/sql-formatter-2.3.4.tgz#85ff9a946d8157e3917c0b1db514ca8184a1b6f1" 161 | integrity sha512-CajWtvzYoBJbD5PQeVe3E7AOHAIYvRQEPOKgF9kfKNeY8jtjBiiA6pDzkMuAID8jJMluoPvyKveLigSaA5tKQQ== 162 | dependencies: 163 | lodash "^4.17.20" 164 | 165 | sqlstring@^2.3.1, sqlstring@^2.3.2: 166 | version "2.3.3" 167 | resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.3.tgz#2ddc21f03bce2c387ed60680e739922c65751d0c" 168 | integrity sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg== 169 | 170 | tr46@~0.0.3: 171 | version "0.0.3" 172 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 173 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 174 | 175 | webidl-conversions@^3.0.0: 176 | version "3.0.1" 177 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 178 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 179 | 180 | whatwg-url@^5.0.0: 181 | version "5.0.0" 182 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 183 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 184 | dependencies: 185 | tr46 "~0.0.3" 186 | webidl-conversions "^3.0.0" 187 | 188 | yallist@^2.1.2: 189 | version "2.1.2" 190 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 191 | integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== 192 | 193 | yallist@^4.0.0: 194 | version "4.0.0" 195 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 196 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 197 | --------------------------------------------------------------------------------