15
.gitignore
vendored
|
@ -1,9 +1,7 @@
|
|||
.DS_Store
|
||||
# Node Modules
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
|
||||
# local env files
|
||||
# Local ENV files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
|
@ -13,7 +11,7 @@ yarn-debug.log*
|
|||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
# Editor Directories/Files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
|
@ -21,3 +19,10 @@ pnpm-debug.log*
|
|||
*.njsproj
|
||||
*.sln
|
||||
*.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": {
|
||||
"@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",
|
||||
"glob": "^7.2.0",
|
||||
"js-crc": "^0.2.0",
|
||||
"express-autosanitizer": "^1.0.2",
|
||||
"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",
|
||||
"mysql2": "^2.3.0",
|
||||
"sequelize": "^6.6.5"
|
||||
"multer": "^1.4.2",
|
||||
"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
|
||||
},
|
||||
'extends': [
|
||||
'plugin:vue/vue3-essential',
|
||||
'plugin:vue/essential',
|
||||
'eslint:recommended'
|
||||
],
|
||||
parserOptions: {
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
{
|
||||
"name": "ui",
|
||||
"version": "0.1.0",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"lint": "vue-cli-service lint"
|
||||
"lint": "vue-cli-service lint",
|
||||
"postinstall": "patch-package"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mdi/font": "5.9.55",
|
||||
"core-js": "^3.6.5",
|
||||
"roboto-fontface": "*",
|
||||
"vue": "^3.0.0",
|
||||
"vue-router": "^4.0.0-0",
|
||||
"vuetify": "^3.0.0-alpha.0",
|
||||
"vuex": "^4.0.0-0",
|
||||
"webfontloader": "^1.0.0"
|
||||
"patch-package": "^6.4.7",
|
||||
"register-service-worker": "^1.7.1",
|
||||
"vue": "^2.6.11",
|
||||
"vue-router": "^3.2.0",
|
||||
"vuetify": "^2.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "~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-vuex": "~4.5.0",
|
||||
"@vue/cli-service": "~5.0.0-beta.3",
|
||||
"@vue/compiler-sfc": "^3.0.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^7.0.0",
|
||||
"sass": "^1.38.0",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"sass": "~1.32.0",
|
||||
"sass-loader": "^10.0.0",
|
||||
"vue-cli-plugin-vuetify": "~2.4.3",
|
||||
"vuetify-loader": "^2.0.0-alpha.0"
|
||||
"vue-cli-plugin-vuetify": "~2.4.2",
|
||||
"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">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<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>
|
||||
<body>
|
||||
<noscript>
|
||||
|
|
2
ui/public/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
Disallow:
|
|
@ -1,18 +1,21 @@
|
|||
<template>
|
||||
<v-app>
|
||||
<v-main>
|
||||
<Header></Header>
|
||||
<router-view/>
|
||||
</v-main>
|
||||
</v-app>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import Header from './components/Header.vue'
|
||||
export default {
|
||||
name: 'App',
|
||||
|
||||
components: {
|
||||
Header
|
||||
},
|
||||
data: () => ({
|
||||
//
|
||||
}),
|
||||
}
|
||||
};
|
||||
</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-col cols="12">
|
||||
<v-img
|
||||
:src="logo"
|
||||
:src="require('../assets/logo.svg')"
|
||||
class="my-3"
|
||||
contain
|
||||
height="200"
|
||||
|
@ -12,10 +12,9 @@
|
|||
|
||||
<v-col class="mb-4">
|
||||
<h1 class="display-2 font-weight-bold mb-3">
|
||||
<div>Welcome to the Vuetify 3 Alpha</div>
|
||||
Welcome to Vuetify
|
||||
</h1>
|
||||
|
||||
|
||||
<p class="subheading font-weight-regular">
|
||||
For help and collaboration with other Vuetify developers,
|
||||
<br>please join our online
|
||||
|
@ -30,7 +29,7 @@
|
|||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-5">
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
What's next?
|
||||
</h2>
|
||||
|
||||
|
@ -51,7 +50,7 @@
|
|||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-5">
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
Important Links
|
||||
</h2>
|
||||
|
||||
|
@ -72,7 +71,7 @@
|
|||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-5">
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
Ecosystem
|
||||
</h2>
|
||||
|
||||
|
@ -93,59 +92,60 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import logo from '../assets/logo.svg'
|
||||
export default {
|
||||
name: 'HelloWorld',
|
||||
|
||||
export default {
|
||||
name: 'HelloWorld',
|
||||
|
||||
data: () => ({
|
||||
ecosystem: [
|
||||
{
|
||||
text: 'vuetify-loader',
|
||||
href: 'https://github.com/vuetifyjs/vuetify-loader',
|
||||
},
|
||||
{
|
||||
text: 'github',
|
||||
href: 'https://github.com/vuetifyjs/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'awesome-vuetify',
|
||||
href: 'https://github.com/vuetifyjs/awesome-vuetify',
|
||||
},
|
||||
],
|
||||
importantLinks: [
|
||||
{
|
||||
text: 'Chat',
|
||||
href: 'https://community.vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Made with Vuetify',
|
||||
href: 'https://madewithvuejs.com/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'Twitter',
|
||||
href: 'https://twitter.com/vuetifyjs',
|
||||
},
|
||||
{
|
||||
text: 'Articles',
|
||||
href: 'https://medium.com/vuetify',
|
||||
},
|
||||
],
|
||||
logo,
|
||||
whatsNext: [
|
||||
{
|
||||
text: 'Explore components',
|
||||
href: 'https://vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Roadmap',
|
||||
href: 'https://vuetifyjs.com/introduction/roadmap/',
|
||||
},
|
||||
{
|
||||
text: 'Frequently Asked Questions',
|
||||
href: 'https://vuetifyjs.com/getting-started/frequently-asked-questions',
|
||||
},
|
||||
],
|
||||
}),
|
||||
}
|
||||
data: () => ({
|
||||
ecosystem: [
|
||||
{
|
||||
text: 'vuetify-loader',
|
||||
href: 'https://github.com/vuetifyjs/vuetify-loader',
|
||||
},
|
||||
{
|
||||
text: 'github',
|
||||
href: 'https://github.com/vuetifyjs/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'awesome-vuetify',
|
||||
href: 'https://github.com/vuetifyjs/awesome-vuetify',
|
||||
},
|
||||
],
|
||||
importantLinks: [
|
||||
{
|
||||
text: 'Documentation',
|
||||
href: 'https://vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Chat',
|
||||
href: 'https://community.vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Made with Vuetify',
|
||||
href: 'https://madewithvuejs.com/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'Twitter',
|
||||
href: 'https://twitter.com/vuetifyjs',
|
||||
},
|
||||
{
|
||||
text: 'Articles',
|
||||
href: 'https://medium.com/vuetify',
|
||||
},
|
||||
],
|
||||
whatsNext: [
|
||||
{
|
||||
text: 'Explore components',
|
||||
href: 'https://vuetifyjs.com/components/api-explorer',
|
||||
},
|
||||
{
|
||||
text: 'Select a layout',
|
||||
href: 'https://vuetifyjs.com/getting-started/pre-made-layouts',
|
||||
},
|
||||
{
|
||||
text: 'Frequently Asked Questions',
|
||||
href: 'https://vuetifyjs.com/getting-started/frequently-asked-questions',
|
||||
},
|
||||
],
|
||||
}),
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
import { createApp } from 'vue'
|
||||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import './registerServiceWorker'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
import vuetify from './plugins/vuetify'
|
||||
import { loadFonts } from './plugins/webfontloader'
|
||||
|
||||
loadFonts()
|
||||
Vue.config.productionTip = false
|
||||
|
||||
createApp(App)
|
||||
.use(router)
|
||||
.use(store)
|
||||
.use(vuetify)
|
||||
.mount('#app')
|
||||
new Vue({
|
||||
router,
|
||||
vuetify,
|
||||
render: h => h(App)
|
||||
}).$mount('#app')
|
||||
|
|
|
@ -1,10 +1,24 @@
|
|||
// Styles
|
||||
import '@mdi/font/css/materialdesignicons.css'
|
||||
import 'vuetify/styles'
|
||||
import Vue from 'vue'
|
||||
import Vuetify from 'vuetify/lib/framework'
|
||||
import colors from "vuetify/es5/util/colors";
|
||||
|
||||
// Vuetify
|
||||
import { createVuetify } from 'vuetify'
|
||||
Vue.use(Vuetify)
|
||||
|
||||
export default createVuetify(
|
||||
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
|
||||
)
|
||||
export default new Vuetify({
|
||||
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'
|
||||
|
||||
Vue.use(VueRouter)
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
|
@ -17,8 +20,7 @@ const routes = [
|
|||
}
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(process.env.BASE_URL),
|
||||
const router = new VueRouter({
|
||||
routes
|
||||
})
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
import { createStore } from 'vuex'
|
||||
|
||||
export default createStore({
|
||||
state: {
|
||||
},
|
||||
mutations: {
|
||||
},
|
||||
actions: {
|
||||
},
|
||||
modules: {
|
||||
}
|
||||
})
|
|
@ -1,17 +1,15 @@
|
|||
<template>
|
||||
<div>
|
||||
<HelloWorld/>
|
||||
</div>
|
||||
<hello-world />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HelloWorld from '../components/HelloWorld.vue';
|
||||
import HelloWorld from '../components/HelloWorld'
|
||||
|
||||
export default {
|
||||
name: 'Home',
|
||||
export default {
|
||||
name: 'Home',
|
||||
|
||||
components: {
|
||||
HelloWorld,
|
||||
},
|
||||
};
|
||||
components: {
|
||||
HelloWorld,
|
||||
},
|
||||
}
|
||||
</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==
|