This commit is contained in:
Troplo 2021-10-10 17:39:23 +11:00
parent e6286d399c
commit 6a3fd2e0d7
40 changed files with 9819 additions and 687 deletions

15
.gitignore vendored
View file

@ -1,7 +1,9 @@
# Node Modules .DS_Store
node_modules node_modules
/dist
# Local ENV files
# local env files
.env.local .env.local
.env.*.local .env.*.local
@ -11,7 +13,7 @@ yarn-debug.log*
yarn-error.log* yarn-error.log*
pnpm-debug.log* pnpm-debug.log*
# Editor Directories/Files # Editor directories and files
.idea .idea
.vscode .vscode
*.suo *.suo
@ -19,10 +21,3 @@ pnpm-debug.log*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
.DS_Store
yarn.lock
# Custom
.env
config/config.json

26
config/config.json Normal file
View file

@ -0,0 +1,26 @@
{
"development": {
"username": "troplo_watchdogs",
"password": "Hum%r4T3g#*@W7F65wz%",
"database": "troplo_watchdogs",
"host": "192.168.0.13",
"dialect": "mysql",
"logging": false
},
"test": {
"username": "troplo_watchdogs",
"password": "Hum%r4T3g#*@W7F65wz%",
"database": "troplo_watchdogs",
"host": "192.168.0.13",
"dialect": "mysql",
"logging": false
},
"production": {
"username": "troplo_watchdogs",
"password": "Hum%r4T3g#*@W7F65wz%",
"database": "troplo_watchdogs",
"host": "192.168.0.13",
"dialect": "mysql",
"logging": false
}
}

142
index.js Normal file
View file

@ -0,0 +1,142 @@
const crc32 = require('js-crc').crc32;
const fs = require("fs");
const glob = require("glob");
const { File } = require("./models")
const {Op} = require("sequelize");
const express = require('express')
const os = require("os");
const moment = require("moment");
const app = express()
const port = 34895
const fsPromises = require("fs").promises
const readdir = fsPromises.readdir
const nodePath = require("path")
const path = require("path");
const stat = fsPromises.stat
async function list(depot, path) {
try {
let root
if(depot === "wd1") {
root = "/root/depots/" + depot
} else if(depot === "wdl-2450") {
root = "/root/depots/wdl-2450-main"
} else {
return {success: false, message: "Depot not found."}
}
let code = depot
let dirs = [],
files = [];
if (path[path.length - 1] !== "/") {
path += "/";
}
let filePath = nodePath.join(root + path);
console.log(filePath)
if (filePath.startsWith(root)) {
let items = await readdir(root + path, { withFileTypes: true });
for (let item of items) {
let isFile = item.isFile(),
isDir = item.isDirectory();
if (!isFile && !isDir) {
continue;
}
let result = {
type: isFile ? "file" : "dir",
path: path + item.name,
};
result.basename = result.name = nodePath.basename(result.path);
if (isFile) {
let fileStat = await stat(root + result.path);
result.size = fileStat.size;
result.extension = nodePath.extname(result.path).slice(1);
result.name = nodePath.basename(result.path, "." + result.extension);
files.push(result);
} else {
result.path += "/";
dirs.push(result);
}
}
return dirs.concat(files);
} else {
return {success: false, message: "Folder was not found in the depot"}
}
} catch (err) {
console.error(err);
}
}
app.get('/api/v1/browser/:depot/list', async(req, res) => {
try {
let result = await list(req.params.depot, req.query.path);
return res.json(result);
} catch (e){
console.log(e)
res.json({success: false, message: "Something went wrong."})
}
})
app.get('/api/v1/browser/:depot/download', async(req, res) => {
try {
let root
if(req.params.depot === "wd1") {
root = "/root/depots/" + req.params.depot + "/"
} else if(req.params.depot === "wdl-2450") {
root = "M:/"
} else {
return {success: false, message: "Depot not found."}
}
let file = root + req.query.path
let fileTest = fs.readFileSync(file, 'utf8')
let filePath = nodePath.join(file);
console.log(filePath)
if (filePath.startsWith(root)) {
res.download(file, file.name)
} else {
res.status(400)
res.json({success: false, message: "Something went wrong."})
}
} catch (e){
console.log(e)
res.status(400)
res.json({success: false, message: "Something went wrong."})
}
})
app.get('/api/v1/dl/:id', async(req, res) => {
try {
const find = await File.findOne({
where: {
id: req.params.id
}
})
if (find) {
if (find.fileObject) {
let file = find.path.replace(/^.*[\\\/]/, '')
res.download("/root/depots/" + find.project + "/" + find.path, file)
}
} else {
res.json({success: false, message: "This hash, or definition does not yet exist in our database."})
}
} catch (e){
console.log(e)
res.json({success: false, message: "Something went wrong while retrieving this file."})
}
})
app.get('/', async(req, res) => {
res.redirect('https://discord.gg/WKXjxj6kRN')
})
app.listen(port, () => {
console.log(`Nexus API running at http://localhost:${port}`)
})
module.exports = app;

View file

@ -0,0 +1,30 @@
'use strict';
module.exports = {
up: async(queryInterface, Sequelize) => {
await queryInterface.createTable('files', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.BIGINT
},
crc32: Sequelize.STRING,
fnv32: Sequelize.STRING,
fnv64: Sequelize.STRING,
path: Sequelize.STRING,
project: {
type: Sequelize.STRING,
defaultValue: "wd1Retail"
},
createdAt: {
type: Sequelize.DATE
},
updatedAt: {
type: Sequelize.DATE
}
});
},
down: async(queryInterface, Sequelize) => {
await queryInterface.dropTable('files');
}
};

View file

@ -0,0 +1,48 @@
module.exports = {
up(queryInterface, Sequelize) {
return Promise.all([
queryInterface.addColumn(
'files',
'definition',
{
type: Sequelize.TEXT,
},
),
queryInterface.addColumn(
'files',
'fnv32Rev',
{
type: Sequelize.STRING,
},
),
queryInterface.addColumn(
'files',
'fnv64Rev',
{
type: Sequelize.STRING,
},
),
queryInterface.addColumn(
'files',
'crc32Rev',
{
type: Sequelize.STRING,
},
),
queryInterface.addColumn(
'files',
'fileObject',
{
type: Sequelize.JSON,
},
),
queryInterface.addColumn(
'files',
'otherProperties',
{
type: Sequelize.JSON,
},
),
]);
},
}

44
models/files.js Normal file
View file

@ -0,0 +1,44 @@
'use strict';
const {
Model, DATE
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class File extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
}
}
File.init({
crc32: DataTypes.STRING,
fnv32: DataTypes.STRING,
fnv64: DataTypes.STRING,
path: DataTypes.STRING,
project: {
type: DataTypes.STRING,
defaultValue: "wd1Retail"
},
createdAt: {
type: DataTypes.DATE
},
updatedAt: {
type: DataTypes.DATE
},
definition: DataTypes.TEXT,
fnv32Rev: DataTypes.STRING,
fnv64Rev: DataTypes.STRING,
crc32Rev: DataTypes.STRING,
fileObject: DataTypes.JSON,
otherProperties: DataTypes.JSON
}, {
sequelize,
modelName: 'File',
});
return File;
};

37
models/index.js Normal file
View file

@ -0,0 +1,37 @@
'use strict';
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
db[model.name] = model;
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;

View file

@ -1,41 +1,11 @@
{ {
"name": "jays-host",
"version": "1.0.0",
"description": "A ShareX photo gallery.",
"main": "index.js",
"scripts": {
"serve": "nodemon --ignore ./ui/"
},
"author": "Troplo",
"license": "Internal use only.",
"private": true,
"dependencies": { "dependencies": {
"@discordjs/rest": "^0.1.0-canary.0",
"axios": "^0.21.1",
"bcryptjs": "^2.4.3",
"body-parser": "^1.19.0",
"btcpay": "^0.2.5",
"btoa": "^1.2.1",
"cloudflare": "^2.8.0",
"cors": "^2.8.5",
"crypto-random-string": "3.3.1",
"discord.js": "^13.1.0",
"dotenv": "^10.0.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-autosanitizer": "^1.0.2", "glob": "^7.2.0",
"form-data": "^4.0.0", "js-crc": "^0.2.0",
"helmet": "^4.6.0",
"is-valid-domain": "^0.1.2",
"jsonwebtoken": "^8.5.1",
"jw-paginate": "^1.0.4",
"microstats": "^0.1.2",
"moment": "^2.29.1", "moment": "^2.29.1",
"multer": "^1.4.2", "mysql2": "^2.3.0",
"mysql2": "^2.2.5", "sequelize": "^6.6.5"
"nodemon": "^2.0.12",
"sequelize": "^6.6.5",
"sequelize-cli": "^6.2.0",
"speakeasy": "^2.0.0",
"whois": "^2.13.5"
} }
} }

View file

@ -4,7 +4,7 @@ module.exports = {
node: true node: true
}, },
'extends': [ 'extends': [
'plugin:vue/essential', 'plugin:vue/vue3-essential',
'eslint:recommended' 'eslint:recommended'
], ],
parserOptions: { parserOptions: {

View file

@ -1,34 +1,35 @@
{ {
"name": "ui", "name": "ui",
"version": "1.0.0", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint", "lint": "vue-cli-service lint"
"postinstall": "patch-package"
}, },
"dependencies": { "dependencies": {
"@mdi/font": "5.9.55",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"patch-package": "^6.4.7", "roboto-fontface": "*",
"register-service-worker": "^1.7.1", "vue": "^3.0.0",
"vue": "^2.6.11", "vue-router": "^4.0.0-0",
"vue-router": "^3.2.0", "vuetify": "^3.0.0-alpha.0",
"vuetify": "^2.4.0" "vuex": "^4.0.0-0",
"webfontloader": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-pwa": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-service": "~4.5.0", "@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~5.0.0-beta.3",
"@vue/compiler-sfc": "^3.0.0",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"eslint": "^6.7.2", "eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^7.0.0",
"sass": "~1.32.0", "sass": "^1.38.0",
"sass-loader": "^10.0.0", "sass-loader": "^10.0.0",
"vue-cli-plugin-vuetify": "~2.4.2", "vue-cli-plugin-vuetify": "~2.4.3",
"vue-template-compiler": "^2.6.11", "vuetify-loader": "^2.0.0-alpha.0"
"vuetify-loader": "^1.7.0"
} }
} }

View file

@ -1,425 +0,0 @@
diff --git a/node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass b/node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass
index ee4419a..6d1ba3d 100644
--- a/node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass
+++ b/node_modules/vuetify/src/components/VNavigationDrawer/VNavigationDrawer.sass
@@ -9,7 +9,7 @@
background-color: map-get($material, 'dividers')
.v-divider
- border-color: map-get($material, 'dividers')
+ width: 0
// Block
.v-navigation-drawer
diff --git a/node_modules/vuetify/src/styles/settings/_variables.scss b/node_modules/vuetify/src/styles/settings/_variables.scss
index f5cc26b..6b998f1 100644
--- a/node_modules/vuetify/src/styles/settings/_variables.scss
+++ b/node_modules/vuetify/src/styles/settings/_variables.scss
@@ -2,23 +2,24 @@
$color-pack: true !default;
-$body-font-family: 'Roboto', sans-serif !default;
+$body-font-family: 'Montserrat', sans-serif !default;
$font-size-root: 16px !default;
$line-height-root: 1.5 !default;
$border-radius-root: 4px !default;
$rounded: () !default;
$rounded: map-deep-merge(
- (
- 0: 0,
- 'sm': $border-radius-root / 2,
- null: $border-radius-root,
- 'lg': $border-radius-root * 2,
- 'xl': $border-radius-root * 6,
- 'pill': 9999px,
- 'circle': 50%
- ),
- $rounded
+ (
+ 0: 0,
+ 'sm': $border-radius-root / 2,
+ null: $border-radius-root,
+ 'lg': $border-radius-root * 2,
+ 'xl': $border-radius-root * 3,
+ 'xxl': $border-radius-root * 6,
+ 'pill': 9999px,
+ 'circle': 50%
+ ),
+ $rounded
);
$spacer: 4px !default;
@@ -39,14 +40,14 @@ $negative-spacers: () !default;
$grid-breakpoints: () !default;
$grid-breakpoints: map-deep-merge(
- (
- 'xs': 0,
- 'sm': 600px,
- 'md': 960px,
- 'lg': 1280px - 16px,
- 'xl': 1920px - 16px
- ),
- $grid-breakpoints
+ (
+ 'xs': 0,
+ 'sm': 600px,
+ 'md': 960px,
+ 'lg': 1280px - 16px,
+ 'xl': 1920px - 16px
+ ),
+ $grid-breakpoints
);
$grid-gutter: $spacer * 6 !default;
@@ -57,191 +58,191 @@ $container-padding-x: $grid-gutter / 2 !default;
$grid-gutters: () !default;
$grid-gutters: map-deep-merge(
- (
- 'xs': $grid-gutter / 12,
- 'sm': $grid-gutter / 6,
- 'md': $grid-gutter / 3,
- 'lg': $grid-gutter * 2/3,
- 'xl': $grid-gutter
- ),
- $grid-gutters
+ (
+ 'xs': $grid-gutter / 12,
+ 'sm': $grid-gutter / 6,
+ 'md': $grid-gutter / 3,
+ 'lg': $grid-gutter * 2/3,
+ 'xl': $grid-gutter
+ ),
+ $grid-gutters
);
$container-max-widths: () !default;
$container-max-widths: map-deep-merge(
- (
- 'md': map-get($grid-breakpoints, 'md') * 0.9375,
- 'lg': map-get($grid-breakpoints, 'lg') * 0.9375,
- 'xl': map-get($grid-breakpoints, 'xl') * 0.9375
- ),
- $container-max-widths
+ (
+ 'md': map-get($grid-breakpoints, 'md') * 0.9375,
+ 'lg': map-get($grid-breakpoints, 'lg') * 0.9375,
+ 'xl': map-get($grid-breakpoints, 'xl') * 0.9375
+ ),
+ $container-max-widths
);
$display-breakpoints: () !default;
$display-breakpoints: map-deep-merge(
- (
- 'print-only': 'only print',
- 'screen-only': 'only screen',
- 'xs-only': 'only screen and (max-width: #{map-get($grid-breakpoints, 'sm') - 1})',
- 'sm-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'sm')}) and (max-width: #{map-get($grid-breakpoints, 'md') - 1})',
- 'sm-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'md') - 1})',
- 'sm-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'sm')})',
- 'md-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'md')}) and (max-width: #{map-get($grid-breakpoints, 'lg') - 1})',
- 'md-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'lg') - 1})',
- 'md-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'md')})',
- 'lg-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'lg')}) and (max-width: #{map-get($grid-breakpoints, 'xl') - 1})',
- 'lg-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'xl') - 1})',
- 'lg-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'lg')})',
- 'xl-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'xl')})'
- ),
- $display-breakpoints
+ (
+ 'print-only': 'only print',
+ 'screen-only': 'only screen',
+ 'xs-only': 'only screen and (max-width: #{map-get($grid-breakpoints, 'sm') - 1})',
+ 'sm-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'sm')}) and (max-width: #{map-get($grid-breakpoints, 'md') - 1})',
+ 'sm-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'md') - 1})',
+ 'sm-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'sm')})',
+ 'md-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'md')}) and (max-width: #{map-get($grid-breakpoints, 'lg') - 1})',
+ 'md-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'lg') - 1})',
+ 'md-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'md')})',
+ 'lg-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'lg')}) and (max-width: #{map-get($grid-breakpoints, 'xl') - 1})',
+ 'lg-and-down': 'only screen and (max-width: #{map-get($grid-breakpoints, 'xl') - 1})',
+ 'lg-and-up': 'only screen and (min-width: #{map-get($grid-breakpoints, 'lg')})',
+ 'xl-only': 'only screen and (min-width: #{map-get($grid-breakpoints, 'xl')})'
+ ),
+ $display-breakpoints
);
$font-weights: () !default;
$font-weights: map-deep-merge(
- (
- 'thin': 100,
- 'light': 300,
- 'regular': 400,
- 'medium': 500,
- 'bold': 700,
- 'black': 900
- ),
- $font-weights
+ (
+ 'thin': 100,
+ 'light': 300,
+ 'regular': 400,
+ 'medium': 500,
+ 'bold': 700,
+ 'black': 900
+ ),
+ $font-weights
);
$heading-font-family: $body-font-family !default;
$headings: () !default;
$headings: map-deep-merge(
- (
- 'h1': (
- 'size': 6rem,
- 'weight': 300,
- 'line-height': 6rem,
- 'letter-spacing': -.015625em,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'h2': (
- 'size': 3.75rem,
- 'weight': 300,
- 'line-height': 3.75rem,
- 'letter-spacing': -.0083333333em,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'h3': (
- 'size': 3rem,
- 'weight': 400,
- 'line-height': 3.125rem,
- 'letter-spacing': normal,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'h4': (
- 'size': 2.125rem,
- 'weight': 400,
- 'line-height': 2.5rem,
- 'letter-spacing': .0073529412em,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'h5': (
- 'size': 1.5rem,
- 'weight': 400,
- 'line-height': 2rem,
- 'letter-spacing': normal,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'h6': (
- 'size': 1.25rem,
- 'weight': 500,
- 'line-height': 2rem,
- 'letter-spacing': .0125em,
- 'font-family': $heading-font-family,
- 'text-transform': false
- ),
- 'subtitle-1': (
- 'size': 1rem,
- 'weight': normal,
- 'line-height': 1.75rem,
- 'letter-spacing': .009375em,
- 'font-family': $body-font-family,
- 'text-transform': false
- ),
- 'subtitle-2': (
- 'size': .875rem,
- 'weight': 500,
- 'line-height': 1.375rem,
- 'letter-spacing': .0071428571em,
- 'font-family': $body-font-family,
- 'text-transform': false
- ),
- 'body-1': (
- 'size': 1rem,
- 'weight': 400,
- 'line-height': 1.5rem,
- 'letter-spacing': .03125em,
- 'font-family': $body-font-family,
- 'text-transform': false
- ),
- 'body-2': (
- 'size': .875rem,
- 'weight': 400,
- 'line-height': 1.25rem,
- 'letter-spacing': .0178571429em,
- 'font-family': $body-font-family,
- 'text-transform': false
- ),
- 'button': (
- 'size': .875rem,
- 'weight': 500,
- 'line-height': 2.25rem,
- 'letter-spacing': .0892857143em,
- 'font-family': $body-font-family,
- 'text-transform': uppercase
- ),
- 'caption': (
- 'size': .75rem,
- 'weight': 400,
- 'line-height': 1.25rem,
- 'letter-spacing': .0333333333em,
- 'font-family': $body-font-family,
- 'text-transform': false
- ),
- 'overline': (
- 'size': .75rem,
- 'weight': 500,
- 'line-height': 2rem,
- 'letter-spacing': .1666666667em,
- 'font-family': $body-font-family,
- 'text-transform': uppercase
- )
- ),
- $headings
+ (
+ 'h1': (
+ 'size': 6rem,
+ 'weight': 300,
+ 'line-height': 6rem,
+ 'letter-spacing': -.015625em,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'h2': (
+ 'size': 3.75rem,
+ 'weight': 300,
+ 'line-height': 3.75rem,
+ 'letter-spacing': -.0083333333em,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'h3': (
+ 'size': 3rem,
+ 'weight': 400,
+ 'line-height': 3.125rem,
+ 'letter-spacing': normal,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'h4': (
+ 'size': 2.125rem,
+ 'weight': 400,
+ 'line-height': 2.5rem,
+ 'letter-spacing': .0073529412em,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'h5': (
+ 'size': 1.5rem,
+ 'weight': 400,
+ 'line-height': 2rem,
+ 'letter-spacing': normal,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'h6': (
+ 'size': 1.25rem,
+ 'weight': 500,
+ 'line-height': 2rem,
+ 'letter-spacing': .0125em,
+ 'font-family': $heading-font-family,
+ 'text-transform': false
+ ),
+ 'subtitle-1': (
+ 'size': 1rem,
+ 'weight': normal,
+ 'line-height': 1.75rem,
+ 'letter-spacing': .009375em,
+ 'font-family': $body-font-family,
+ 'text-transform': false
+ ),
+ 'subtitle-2': (
+ 'size': .875rem,
+ 'weight': 500,
+ 'line-height': 1.375rem,
+ 'letter-spacing': .0071428571em,
+ 'font-family': $body-font-family,
+ 'text-transform': false
+ ),
+ 'body-1': (
+ 'size': 1rem,
+ 'weight': 400,
+ 'line-height': 1.5rem,
+ 'letter-spacing': .03125em,
+ 'font-family': $body-font-family,
+ 'text-transform': false
+ ),
+ 'body-2': (
+ 'size': .875rem,
+ 'weight': 400,
+ 'line-height': 1.25rem,
+ 'letter-spacing': .0178571429em,
+ 'font-family': $body-font-family,
+ 'text-transform': false
+ ),
+ 'button': (
+ 'size': .875rem,
+ 'weight': 500,
+ 'line-height': 2.25rem,
+ 'letter-spacing': .0892857143em,
+ 'font-family': $body-font-family,
+ 'text-transform': uppercase
+ ),
+ 'caption': (
+ 'size': .75rem,
+ 'weight': 400,
+ 'line-height': 1.25rem,
+ 'letter-spacing': .0333333333em,
+ 'font-family': $body-font-family,
+ 'text-transform': false
+ ),
+ 'overline': (
+ 'size': .75rem,
+ 'weight': 500,
+ 'line-height': 2rem,
+ 'letter-spacing': .1666666667em,
+ 'font-family': $body-font-family,
+ 'text-transform': uppercase
+ )
+ ),
+ $headings
);
$typography: () !default;
@each $type, $values in $headings {
$typography: map-deep-merge(
- $typography,
- (#{$type}: map-values($values))
+ $typography,
+ (#{$type}: map-values($values))
);
}
$transition: () !default;
$transition: map-deep-merge(
- (
- 'fast-out-slow-in': cubic-bezier(0.4, 0, 0.2, 1),
- 'linear-out-slow-in': cubic-bezier(0, 0, 0.2, 1),
- 'fast-out-linear-in': cubic-bezier(0.4, 0, 1, 1),
- 'ease-in-out': cubic-bezier(0.4, 0, 0.6, 1),
- 'fast-in-fast-out': cubic-bezier(0.25, 0.8, 0.25, 1),
- 'swing': cubic-bezier(0.25, 0.8, 0.5, 1)
- ),
- $transition
+ (
+ 'fast-out-slow-in': cubic-bezier(0.4, 0, 0.2, 1),
+ 'linear-out-slow-in': cubic-bezier(0, 0, 0.2, 1),
+ 'fast-out-linear-in': cubic-bezier(0.4, 0, 1, 1),
+ 'ease-in-out': cubic-bezier(0.4, 0, 0.6, 1),
+ 'fast-in-fast-out': cubic-bezier(0.25, 0.8, 0.25, 1),
+ 'swing': cubic-bezier(0.25, 0.8, 0.5, 1)
+ ),
+ $transition
);
$primary-transition: 0.3s map-get($transition, 'swing') !default;
$secondary-transition: 0.2s map-get($transition, 'ease-in-out') !default;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -1,3 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.00251 14.9297L0 1.07422H6.14651L8.00251 4.27503L9.84583 1.07422H16L8.00251 14.9297Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 215 B

View file

@ -6,8 +6,6 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title> <title><%= htmlWebpackPlugin.options.title %></title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
</head> </head>
<body> <body>
<noscript> <noscript>

View file

@ -1,2 +0,0 @@
User-agent: *
Disallow:

View file

@ -1,21 +1,18 @@
<template> <template>
<v-app> <v-app>
<v-main> <v-main>
<Header></Header>
<router-view/> <router-view/>
</v-main> </v-main>
</v-app> </v-app>
</template> </template>
<script> <script>
import Header from './components/Header.vue'
export default { export default {
name: 'App', name: 'App',
components: {
Header
},
data: () => ({ data: () => ({
// //
}), }),
}; }
</script> </script>

View file

@ -1,52 +0,0 @@
<template>
<div id="header">
<v-navigation-drawer
floating
color="#1c1c1c"
app
expand>
<v-divider></v-divider>
<v-list nav dense>
<v-list>
<v-list>
<v-list-item
v-for="item in items"
:key="item.id"
link
:to="item.path"
>
<v-list-item-icon>
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</v-list>
</v-list>
</v-navigation-drawer>
</div>
</template>
<script>
export default {
name: "Header",
data() {
return {
items: [
{id: 1, title: "Home", icon: "mdi-home", path: "/"},
{id: 1, title: "Watch_Dogs Tools", icon: "mdi-nexus", path: "/"}
]
}
},
mounted() {
this.$vuetify.theme = { dark: true }
}
}
</script>
<style scoped>
</style>

View file

@ -3,7 +3,7 @@
<v-row class="text-center"> <v-row class="text-center">
<v-col cols="12"> <v-col cols="12">
<v-img <v-img
:src="require('../assets/logo.svg')" :src="logo"
class="my-3" class="my-3"
contain contain
height="200" height="200"
@ -12,9 +12,10 @@
<v-col class="mb-4"> <v-col class="mb-4">
<h1 class="display-2 font-weight-bold mb-3"> <h1 class="display-2 font-weight-bold mb-3">
Welcome to Vuetify <div>Welcome to the Vuetify 3 Alpha</div>
</h1> </h1>
<p class="subheading font-weight-regular"> <p class="subheading font-weight-regular">
For help and collaboration with other Vuetify developers, For help and collaboration with other Vuetify developers,
<br>please join our online <br>please join our online
@ -29,7 +30,7 @@
class="mb-5" class="mb-5"
cols="12" cols="12"
> >
<h2 class="headline font-weight-bold mb-3"> <h2 class="headline font-weight-bold mb-5">
What's next? What's next?
</h2> </h2>
@ -50,7 +51,7 @@
class="mb-5" class="mb-5"
cols="12" cols="12"
> >
<h2 class="headline font-weight-bold mb-3"> <h2 class="headline font-weight-bold mb-5">
Important Links Important Links
</h2> </h2>
@ -71,7 +72,7 @@
class="mb-5" class="mb-5"
cols="12" cols="12"
> >
<h2 class="headline font-weight-bold mb-3"> <h2 class="headline font-weight-bold mb-5">
Ecosystem Ecosystem
</h2> </h2>
@ -92,7 +93,9 @@
</template> </template>
<script> <script>
export default { import logo from '../assets/logo.svg'
export default {
name: 'HelloWorld', name: 'HelloWorld',
data: () => ({ data: () => ({
@ -111,10 +114,6 @@
}, },
], ],
importantLinks: [ importantLinks: [
{
text: 'Documentation',
href: 'https://vuetifyjs.com',
},
{ {
text: 'Chat', text: 'Chat',
href: 'https://community.vuetifyjs.com', href: 'https://community.vuetifyjs.com',
@ -132,14 +131,15 @@
href: 'https://medium.com/vuetify', href: 'https://medium.com/vuetify',
}, },
], ],
logo,
whatsNext: [ whatsNext: [
{ {
text: 'Explore components', text: 'Explore components',
href: 'https://vuetifyjs.com/components/api-explorer', href: 'https://vuetifyjs.com',
}, },
{ {
text: 'Select a layout', text: 'Roadmap',
href: 'https://vuetifyjs.com/getting-started/pre-made-layouts', href: 'https://vuetifyjs.com/introduction/roadmap/',
}, },
{ {
text: 'Frequently Asked Questions', text: 'Frequently Asked Questions',
@ -147,5 +147,5 @@
}, },
], ],
}), }),
} }
</script> </script>

View file

@ -1,13 +1,14 @@
import Vue from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import './registerServiceWorker'
import router from './router' import router from './router'
import store from './store'
import vuetify from './plugins/vuetify' import vuetify from './plugins/vuetify'
import { loadFonts } from './plugins/webfontloader'
Vue.config.productionTip = false loadFonts()
new Vue({ createApp(App)
router, .use(router)
vuetify, .use(store)
render: h => h(App) .use(vuetify)
}).$mount('#app') .mount('#app')

View file

@ -1,24 +1,10 @@
import Vue from 'vue' // Styles
import Vuetify from 'vuetify/lib/framework' import '@mdi/font/css/materialdesignicons.css'
import colors from "vuetify/es5/util/colors"; import 'vuetify/styles'
Vue.use(Vuetify) // Vuetify
import { createVuetify } from 'vuetify'
export default new Vuetify({ export default createVuetify(
theme: { // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
themes: { )
light: {
primary: colors.blue.lighten3,
secondary: colors.grey.darken1,
accent: colors.shades.black,
error: colors.red.accent3,
text: "#000000"
},
dark: {
primary: colors.blue,
dark: "#1c1c1c",
text: "#ffffff"
},
},
}
});

View file

@ -0,0 +1,15 @@
/**
* plugins/webfontloader.js
*
* webfontloader documentation: https://github.com/typekit/webfontloader
*/
export async function loadFonts () {
const webFontLoader = await import(/* webpackChunkName: "webfontloader" */'webfontloader')
webFontLoader.load({
google: {
families: ['Roboto:100,300,400,500,700,900&display=swap'],
},
})
}

View file

@ -1,32 +0,0 @@
/* eslint-disable no-console */
import { register } from 'register-service-worker'
if (process.env.NODE_ENV === 'production') {
register(`${process.env.BASE_URL}service-worker.js`, {
ready () {
console.log(
'App is being served from cache by a service worker.\n' +
'For more details, visit https://goo.gl/AFskqB'
)
},
registered () {
console.log('Service worker has been registered.')
},
cached () {
console.log('Content has been cached for offline use.')
},
updatefound () {
console.log('New content is downloading.')
},
updated () {
console.log('New content is available; please refresh.')
},
offline () {
console.log('No internet connection found. App is running in offline mode.')
},
error (error) {
console.error('Error during service worker registration:', error)
}
})
}

View file

@ -1,9 +1,6 @@
import Vue from 'vue' import { createRouter, createWebHistory } from 'vue-router'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue' import Home from '../views/Home.vue'
Vue.use(VueRouter)
const routes = [ const routes = [
{ {
path: '/', path: '/',
@ -20,7 +17,8 @@ const routes = [
} }
] ]
const router = new VueRouter({ const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes routes
}) })

12
ui/src/store/index.js Normal file
View file

@ -0,0 +1,12 @@
import { createStore } from 'vuex'
export default createStore({
state: {
},
mutations: {
},
actions: {
},
modules: {
}
})

View file

@ -1,15 +1,17 @@
<template> <template>
<hello-world /> <div>
<HelloWorld/>
</div>
</template> </template>
<script> <script>
import HelloWorld from '../components/HelloWorld' import HelloWorld from '../components/HelloWorld.vue';
export default { export default {
name: 'Home', name: 'Home',
components: { components: {
HelloWorld, HelloWorld,
}, },
} };
</script> </script>

8705
ui/yarn.lock Normal file

File diff suppressed because it is too large Load diff

639
yarn.lock Normal file
View file

@ -0,0 +1,639 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@types/node@*":
version "16.10.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.1.tgz#f3647623199ca920960006b3dccf633ea905f243"
integrity sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==
accepts@~1.3.7:
version "1.3.7"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
dependencies:
mime-types "~2.1.24"
negotiator "0.6.2"
any-promise@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
body-parser@1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
dependencies:
bytes "3.1.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.2"
http-errors "1.7.2"
iconv-lite "0.4.24"
on-finished "~2.3.0"
qs "6.7.0"
raw-body "2.4.0"
type-is "~1.6.17"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
bytes@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
dependencies:
safe-buffer "5.1.2"
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
cookie@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
debug@2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^4.1.1:
version "4.3.2"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
dependencies:
ms "2.1.2"
denque@^1.4.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
dottie@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154"
integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
etag@~1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
express@^4.17.1:
version "4.17.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
dependencies:
accepts "~1.3.7"
array-flatten "1.1.1"
body-parser "1.19.0"
content-disposition "0.5.3"
content-type "~1.0.4"
cookie "0.4.0"
cookie-signature "1.0.6"
debug "2.6.9"
depd "~1.1.2"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
finalhandler "~1.1.2"
fresh "0.5.2"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.3"
path-to-regexp "0.1.7"
proxy-addr "~2.0.5"
qs "6.7.0"
range-parser "~1.2.1"
safe-buffer "5.1.2"
send "0.17.1"
serve-static "1.14.1"
setprototypeof "1.1.1"
statuses "~1.5.0"
type-is "~1.6.18"
utils-merge "1.0.1"
vary "~1.1.2"
finalhandler@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.3"
statuses "~1.5.0"
unpipe "~1.0.0"
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
generate-function@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
dependencies:
is-property "^1.0.2"
glob@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
dependencies:
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"
http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.1"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
http-errors@~1.7.2:
version "1.7.3"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
dependencies:
depd "~1.1.2"
inherits "2.0.4"
setprototypeof "1.1.1"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
inflection@1.13.1:
version "1.13.1"
resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.13.1.tgz#c5cadd80888a90cf84c2e96e340d7edc85d5f0cb"
integrity sha512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA==
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
inherits@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
is-property@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
js-crc@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/js-crc/-/js-crc-0.2.0.tgz#f72c5c7618176bff75cc812a1cedbde3d8eb6839"
integrity sha1-9yxcdhgXa/91zIEqHO2949jraDk=
lodash@^4.17.20:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
long@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
lru-cache@^4.1.3:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
mime-db@1.49.0:
version "1.49.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed"
integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==
mime-types@~2.1.24:
version "2.1.32"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5"
integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==
dependencies:
mime-db "1.49.0"
mime@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
moment-timezone@^0.5.31:
version "0.5.33"
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.33.tgz#b252fd6bb57f341c9b59a5ab61a8e51a73bbd22c"
integrity sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==
dependencies:
moment ">= 2.9.0"
"moment@>= 2.9.0", moment@^2.26.0, moment@^2.29.1:
version "2.29.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
ms@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
mysql2@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.3.0.tgz#600f5cc27e397dfb77b59eac93666434f88e8079"
integrity sha512-0t5Ivps5Tdy5YHk5NdKwQhe/4Qyn2pload+S+UooDBvsqngtzujG1BaTWBihQLfeKO3t3122/GtusBtmHEHqww==
dependencies:
denque "^1.4.1"
generate-function "^2.3.1"
iconv-lite "^0.6.2"
long "^4.0.0"
lru-cache "^6.0.0"
named-placeholders "^1.1.2"
seq-queue "^0.0.5"
sqlstring "^2.3.2"
named-placeholders@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8"
integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==
dependencies:
lru-cache "^4.1.3"
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
dependencies:
ee-first "1.1.1"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
proxy-addr@~2.0.5:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
dependencies:
forwarded "0.2.0"
ipaddr.js "1.9.1"
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
raw-body@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
dependencies:
bytes "3.1.0"
http-errors "1.7.2"
iconv-lite "0.4.24"
unpipe "1.0.0"
retry-as-promised@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543"
integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==
dependencies:
any-promise "^1.3.0"
safe-buffer@5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
semver@^7.3.2:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
dependencies:
debug "2.6.9"
depd "~1.1.2"
destroy "~1.0.4"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
fresh "0.5.2"
http-errors "~1.7.2"
mime "1.6.0"
ms "2.1.1"
on-finished "~2.3.0"
range-parser "~1.2.1"
statuses "~1.5.0"
seq-queue@^0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e"
integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=
sequelize-pool@^6.0.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-6.1.0.tgz#caaa0c1e324d3c2c3a399fed2c7998970925d668"
integrity sha512-4YwEw3ZgK/tY/so+GfnSgXkdwIJJ1I32uZJztIEgZeAO6HMgj64OzySbWLgxj+tXhZCJnzRfkY9gINw8Ft8ZMg==
sequelize@^6.6.5:
version "6.6.5"
resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.6.5.tgz#6f618e99f3df1fc81f28709e8a3139cec3ef1f0c"
integrity sha512-QyRrJrDRiwuiILqTMHUA1yWOPIL12KlfmgZ3hnzQwbMvp2vJ6fzu9bYJQB+qPMosck4mBUggY4Cjoc6Et8FBIQ==
dependencies:
debug "^4.1.1"
dottie "^2.0.0"
inflection "1.13.1"
lodash "^4.17.20"
moment "^2.26.0"
moment-timezone "^0.5.31"
retry-as-promised "^3.2.0"
semver "^7.3.2"
sequelize-pool "^6.0.0"
toposort-class "^1.0.1"
uuid "^8.1.0"
validator "^13.6.0"
wkx "^0.5.0"
serve-static@1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.3"
send "0.17.1"
setprototypeof@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
sqlstring@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.2.tgz#cdae7169389a1375b18e885f2e60b3e460809514"
integrity sha512-vF4ZbYdKS8OnoJAWBmMxCQDkiEBkGQYU7UZPtL8flbDRSNkhaXvRJ279ZtI6M+zDaQovVU4tuRgzK5fVhvFAhg==
"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
toidentifier@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
toposort-class@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"
integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=
type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
dependencies:
media-typer "0.3.0"
mime-types "~2.1.24"
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
uuid@^8.1.0:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
validator@^13.6.0:
version "13.6.0"
resolved "https://registry.yarnpkg.com/validator/-/validator-13.6.0.tgz#1e71899c14cdc7b2068463cb24c1cc16f6ec7059"
integrity sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
wkx@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.5.0.tgz#c6c37019acf40e517cc6b94657a25a3d4aa33e8c"
integrity sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==
dependencies:
"@types/node" "*"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==