15
.gitignore
vendored
|
@ -1,9 +1,7 @@
|
||||||
.DS_Store
|
# Node Modules
|
||||||
node_modules
|
node_modules
|
||||||
/dist
|
|
||||||
|
|
||||||
|
# Local ENV files
|
||||||
# local env files
|
|
||||||
.env.local
|
.env.local
|
||||||
.env.*.local
|
.env.*.local
|
||||||
|
|
||||||
|
@ -13,7 +11,7 @@ yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor Directories/Files
|
||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode
|
||||||
*.suo
|
*.suo
|
||||||
|
@ -21,3 +19,10 @@ pnpm-debug.log*
|
||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
yarn.lock
|
||||||
|
|
||||||
|
# Custom
|
||||||
|
.env
|
||||||
|
config/config.json
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"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
|
@ -1,142 +0,0 @@
|
||||||
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;
|
|
|
@ -1,30 +0,0 @@
|
||||||
'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');
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -1,48 +0,0 @@
|
||||||
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,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
'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;
|
|
||||||
};
|
|
|
@ -1,37 +0,0 @@
|
||||||
'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;
|
|
40
package.json
|
@ -1,11 +1,41 @@
|
||||||
{
|
{
|
||||||
|
"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",
|
||||||
"glob": "^7.2.0",
|
"express-autosanitizer": "^1.0.2",
|
||||||
"js-crc": "^0.2.0",
|
"form-data": "^4.0.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",
|
||||||
"mysql2": "^2.3.0",
|
"multer": "^1.4.2",
|
||||||
"sequelize": "^6.6.5"
|
"mysql2": "^2.2.5",
|
||||||
|
"nodemon": "^2.0.12",
|
||||||
|
"sequelize": "^6.6.5",
|
||||||
|
"sequelize-cli": "^6.2.0",
|
||||||
|
"speakeasy": "^2.0.0",
|
||||||
|
"whois": "^2.13.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ module.exports = {
|
||||||
node: true
|
node: true
|
||||||
},
|
},
|
||||||
'extends': [
|
'extends': [
|
||||||
'plugin:vue/vue3-essential',
|
'plugin:vue/essential',
|
||||||
'eslint:recommended'
|
'eslint:recommended'
|
||||||
],
|
],
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
|
|
|
@ -1,35 +1,34 @@
|
||||||
{
|
{
|
||||||
"name": "ui",
|
"name": "ui",
|
||||||
"version": "0.1.0",
|
"version": "1.0.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",
|
||||||
"roboto-fontface": "*",
|
"patch-package": "^6.4.7",
|
||||||
"vue": "^3.0.0",
|
"register-service-worker": "^1.7.1",
|
||||||
"vue-router": "^4.0.0-0",
|
"vue": "^2.6.11",
|
||||||
"vuetify": "^3.0.0-alpha.0",
|
"vue-router": "^3.2.0",
|
||||||
"vuex": "^4.0.0-0",
|
"vuetify": "^2.4.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-plugin-vuex": "~4.5.0",
|
"@vue/cli-service": "~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": "^7.0.0",
|
"eslint-plugin-vue": "^6.2.2",
|
||||||
"sass": "^1.38.0",
|
"sass": "~1.32.0",
|
||||||
"sass-loader": "^10.0.0",
|
"sass-loader": "^10.0.0",
|
||||||
"vue-cli-plugin-vuetify": "~2.4.3",
|
"vue-cli-plugin-vuetify": "~2.4.2",
|
||||||
"vuetify-loader": "^2.0.0-alpha.0"
|
"vue-template-compiler": "^2.6.11",
|
||||||
|
"vuetify-loader": "^1.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
425
ui/patches/vuetify+2.5.8.patch
Normal file
|
@ -0,0 +1,425 @@
|
||||||
|
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;
|
BIN
ui/public/img/icons/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
ui/public/img/icons/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
ui/public/img/icons/android-chrome-maskable-192x192.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
ui/public/img/icons/android-chrome-maskable-512x512.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
ui/public/img/icons/apple-touch-icon-120x120.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
ui/public/img/icons/apple-touch-icon-152x152.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
ui/public/img/icons/apple-touch-icon-180x180.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
ui/public/img/icons/apple-touch-icon-60x60.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
ui/public/img/icons/apple-touch-icon-76x76.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ui/public/img/icons/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
ui/public/img/icons/favicon-16x16.png
Normal file
After Width: | Height: | Size: 799 B |
BIN
ui/public/img/icons/favicon-32x32.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
ui/public/img/icons/msapplication-icon-144x144.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
ui/public/img/icons/mstile-150x150.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
3
ui/public/img/icons/safari-pinned-tab.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<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>
|
After Width: | Height: | Size: 215 B |
|
@ -6,6 +6,8 @@
|
||||||
<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>
|
||||||
|
|
2
ui/public/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
|
@ -1,18 +1,21 @@
|
||||||
<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>
|
||||||
|
|
52
ui/src/components/Header.vue
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
<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>
|
|
@ -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="logo"
|
:src="require('../assets/logo.svg')"
|
||||||
class="my-3"
|
class="my-3"
|
||||||
contain
|
contain
|
||||||
height="200"
|
height="200"
|
||||||
|
@ -12,10 +12,9 @@
|
||||||
|
|
||||||
<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">
|
||||||
<div>Welcome to the Vuetify 3 Alpha</div>
|
Welcome to Vuetify
|
||||||
</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
|
||||||
|
@ -30,7 +29,7 @@
|
||||||
class="mb-5"
|
class="mb-5"
|
||||||
cols="12"
|
cols="12"
|
||||||
>
|
>
|
||||||
<h2 class="headline font-weight-bold mb-5">
|
<h2 class="headline font-weight-bold mb-3">
|
||||||
What's next?
|
What's next?
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
@ -51,7 +50,7 @@
|
||||||
class="mb-5"
|
class="mb-5"
|
||||||
cols="12"
|
cols="12"
|
||||||
>
|
>
|
||||||
<h2 class="headline font-weight-bold mb-5">
|
<h2 class="headline font-weight-bold mb-3">
|
||||||
Important Links
|
Important Links
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
@ -72,7 +71,7 @@
|
||||||
class="mb-5"
|
class="mb-5"
|
||||||
cols="12"
|
cols="12"
|
||||||
>
|
>
|
||||||
<h2 class="headline font-weight-bold mb-5">
|
<h2 class="headline font-weight-bold mb-3">
|
||||||
Ecosystem
|
Ecosystem
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
@ -93,9 +92,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import logo from '../assets/logo.svg'
|
export default {
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'HelloWorld',
|
name: 'HelloWorld',
|
||||||
|
|
||||||
data: () => ({
|
data: () => ({
|
||||||
|
@ -114,6 +111,10 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
importantLinks: [
|
importantLinks: [
|
||||||
|
{
|
||||||
|
text: 'Documentation',
|
||||||
|
href: 'https://vuetifyjs.com',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: 'Chat',
|
text: 'Chat',
|
||||||
href: 'https://community.vuetifyjs.com',
|
href: 'https://community.vuetifyjs.com',
|
||||||
|
@ -131,15 +132,14 @@ export default {
|
||||||
href: 'https://medium.com/vuetify',
|
href: 'https://medium.com/vuetify',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
logo,
|
|
||||||
whatsNext: [
|
whatsNext: [
|
||||||
{
|
{
|
||||||
text: 'Explore components',
|
text: 'Explore components',
|
||||||
href: 'https://vuetifyjs.com',
|
href: 'https://vuetifyjs.com/components/api-explorer',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: 'Roadmap',
|
text: 'Select a layout',
|
||||||
href: 'https://vuetifyjs.com/introduction/roadmap/',
|
href: 'https://vuetifyjs.com/getting-started/pre-made-layouts',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: 'Frequently Asked Questions',
|
text: 'Frequently Asked Questions',
|
||||||
|
@ -147,5 +147,5 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
import { createApp } from 'vue'
|
import Vue 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'
|
|
||||||
|
|
||||||
loadFonts()
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
createApp(App)
|
new Vue({
|
||||||
.use(router)
|
router,
|
||||||
.use(store)
|
vuetify,
|
||||||
.use(vuetify)
|
render: h => h(App)
|
||||||
.mount('#app')
|
}).$mount('#app')
|
||||||
|
|
|
@ -1,10 +1,24 @@
|
||||||
// Styles
|
import Vue from 'vue'
|
||||||
import '@mdi/font/css/materialdesignicons.css'
|
import Vuetify from 'vuetify/lib/framework'
|
||||||
import 'vuetify/styles'
|
import colors from "vuetify/es5/util/colors";
|
||||||
|
|
||||||
// Vuetify
|
Vue.use(Vuetify)
|
||||||
import { createVuetify } from 'vuetify'
|
|
||||||
|
|
||||||
export default createVuetify(
|
export default new Vuetify({
|
||||||
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
|
theme: {
|
||||||
)
|
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"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
/**
|
|
||||||
* 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'],
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
32
ui/src/registerServiceWorker.js
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/* 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)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -1,6 +1,9 @@
|
||||||
import { createRouter, createWebHistory } from 'vue-router'
|
import Vue from 'vue'
|
||||||
|
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: '/',
|
||||||
|
@ -17,8 +20,7 @@ const routes = [
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
const router = createRouter({
|
const router = new VueRouter({
|
||||||
history: createWebHistory(process.env.BASE_URL),
|
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
import { createStore } from 'vuex'
|
|
||||||
|
|
||||||
export default createStore({
|
|
||||||
state: {
|
|
||||||
},
|
|
||||||
mutations: {
|
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
},
|
|
||||||
modules: {
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -1,17 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<hello-world />
|
||||||
<HelloWorld/>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import HelloWorld from '../components/HelloWorld.vue';
|
import HelloWorld from '../components/HelloWorld'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
HelloWorld,
|
HelloWorld,
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
8705
ui/yarn.lock
639
yarn.lock
|
@ -1,639 +0,0 @@
|
||||||
# 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==
|
|