mirror of
https://github.com/bs-community/blessing-skin-server.git
synced 2025-01-09 04:27:47 +08:00
Upgrade ESLint-related
This commit is contained in:
parent
3d578963ea
commit
7235375581
61
package.json
61
package.json
@ -12,7 +12,7 @@
|
||||
"scripts": {
|
||||
"dev": "webpack-dev-server",
|
||||
"build": "webpack --mode=production -p",
|
||||
"lint": "eslint --ext=.js,.vue,.ts -f=beauty .",
|
||||
"lint": "eslint --ext=js,vue,ts -f=beauty .",
|
||||
"test": "jest",
|
||||
"codecov": "codecov -F js"
|
||||
},
|
||||
@ -42,8 +42,8 @@
|
||||
"@types/jest": "^24.0.23",
|
||||
"@types/jquery": "^3.3.29",
|
||||
"@types/webpack": "^4.39.1",
|
||||
"@typescript-eslint/eslint-plugin": "^1.7.0",
|
||||
"@typescript-eslint/parser": "^1.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.8.0",
|
||||
"@typescript-eslint/parser": "^2.8.0",
|
||||
"@vue/test-utils": "^1.0.0-beta.29",
|
||||
"autoprefixer": "^9.7.2",
|
||||
"babel-eslint": "^10.0.3",
|
||||
@ -54,10 +54,10 @@
|
||||
"cache-loader": "^4.1.0",
|
||||
"codecov": "^3.6.1",
|
||||
"css-loader": "^3.2.0",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint-config-gplane": "^5.1.3",
|
||||
"eslint": "^6.7.1",
|
||||
"eslint-config-gplane": "^6.2.1",
|
||||
"eslint-formatter-beauty": "^3.0.0",
|
||||
"eslint-plugin-vue": "^5.2.2",
|
||||
"eslint-plugin-vue": "^6.0.1",
|
||||
"expose-loader": "^0.7.5",
|
||||
"file-loader": "^3.0.1",
|
||||
"jest": "^24.9.0",
|
||||
@ -81,6 +81,9 @@
|
||||
"webpack-manifest-plugin": "^2.2.0",
|
||||
"webpackbar": "^4.0.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"vue-eslint-parser": "^7.0.0"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"not dead",
|
||||
@ -102,11 +105,6 @@
|
||||
"gplane/vue"
|
||||
],
|
||||
"parser": "vue-eslint-parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2018,
|
||||
"sourceType": "module",
|
||||
"parser": "babel-eslint"
|
||||
},
|
||||
"env": {
|
||||
"node": true,
|
||||
"es6": true,
|
||||
@ -127,15 +125,18 @@
|
||||
2,
|
||||
120
|
||||
],
|
||||
"prefer-destructuring": 0,
|
||||
"prefer-object-spread": 0,
|
||||
"import/no-unresolved": 0
|
||||
"prefer-destructuring": 0
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts"
|
||||
],
|
||||
"extends": [
|
||||
"gplane",
|
||||
"gplane/typescript",
|
||||
"gplane/vue"
|
||||
],
|
||||
"parserOptions": {
|
||||
"parser": "@typescript-eslint/parser"
|
||||
},
|
||||
@ -143,18 +144,32 @@
|
||||
"@typescript-eslint"
|
||||
],
|
||||
"rules": {
|
||||
"no-undef": 0,
|
||||
"no-unused-vars": 0,
|
||||
"no-invalid-this": 0,
|
||||
"no-extra-parens": 0,
|
||||
"indent": 0,
|
||||
"@typescript-eslint/indent": [
|
||||
2,
|
||||
"@typescript-eslint/camelcase": [
|
||||
2,
|
||||
{
|
||||
"SwitchCase": 1
|
||||
"properties": "never",
|
||||
"ignoreDestructuring": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"@typescript-eslint/no-invalid-this": 0,
|
||||
"no-invalid-this": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["resources/assets/tests/**/*.ts", "*.d.ts"],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-empty-function": 0,
|
||||
"@typescript-eslint/unbound-method": 0,
|
||||
"@typescript-eslint/no-extra-parens": 0,
|
||||
"max-len": [2, 120]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"resources/assets/src/components/mixins/*.ts"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-extra-parens": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
/* eslint-disable global-require */
|
||||
module.exports = {
|
||||
plugins: [
|
||||
|
@ -64,7 +64,7 @@ export default {
|
||||
async addPlayer() {
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/player/add',
|
||||
{ name: this.name }
|
||||
{ name: this.name },
|
||||
)
|
||||
if (code === 0) {
|
||||
$('#modal-add-player').modal('hide')
|
||||
|
@ -88,7 +88,7 @@ export default {
|
||||
{
|
||||
skin: this.skin || undefined,
|
||||
cape: this.cape || undefined,
|
||||
}
|
||||
},
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -88,7 +88,7 @@ export default {
|
||||
inputValue: this.textureName,
|
||||
showCancelButton: true,
|
||||
inputValidator: value => !!value || this.$t('skinlib.emptyNewTextureName'),
|
||||
}
|
||||
},
|
||||
))
|
||||
} catch {
|
||||
return
|
||||
@ -96,7 +96,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
`/user/closet/rename/${this.tid}`,
|
||||
{ name: newTextureName }
|
||||
{ name: newTextureName },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.textureName = newTextureName
|
||||
|
@ -2,7 +2,7 @@ import Vue from 'vue'
|
||||
import { MessageBoxInputData } from 'element-ui/types/message-box'
|
||||
|
||||
export default Vue.extend<{
|
||||
name: string,
|
||||
name: string
|
||||
tid: number
|
||||
}, { addClosetItem(): Promise<void> }, {}>({
|
||||
methods: {
|
||||
@ -16,7 +16,7 @@ export default Vue.extend<{
|
||||
inputValue: this.name,
|
||||
showCancelButton: true,
|
||||
inputValidator: val => !!val || this.$t('skinlib.emptyItemName'),
|
||||
}
|
||||
},
|
||||
) as MessageBoxInputData)
|
||||
} catch {
|
||||
return
|
||||
@ -24,7 +24,7 @@ export default Vue.extend<{
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/closet/add',
|
||||
{ tid: this.tid, name: value }
|
||||
{ tid: this.tid, name: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message!)
|
||||
|
@ -6,15 +6,15 @@ export default Vue.extend({
|
||||
async enablePlugin({
|
||||
name, dependencies: { all }, originalIndex,
|
||||
}: {
|
||||
name: string,
|
||||
dependencies: { all: { [name: string]: string } },
|
||||
name: string
|
||||
dependencies: { all: { [name: string]: string } }
|
||||
originalIndex: number
|
||||
}) {
|
||||
if (Object.keys(all).length === 0) {
|
||||
try {
|
||||
await this.$confirm(
|
||||
this.$t('admin.noDependenciesNotice'),
|
||||
{ type: 'warning' }
|
||||
{ type: 'warning' },
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
@ -25,7 +25,7 @@ export default Vue.extend({
|
||||
code, message, data: { reason } = { reason: [] },
|
||||
} = await this.$http.post(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'enable', name }
|
||||
{ action: 'enable', name },
|
||||
) as { code: number, message: string, data: { reason: string[] } }
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
export default Vue.extend<{
|
||||
name: string,
|
||||
name: string
|
||||
tid: number
|
||||
}, { removeClosetItem(): Promise<void> }, {}>({
|
||||
methods: {
|
||||
@ -9,7 +9,7 @@ export default Vue.extend<{
|
||||
try {
|
||||
await this.$confirm(
|
||||
this.$t('user.removeFromClosetNotice'),
|
||||
{ type: 'warning' }
|
||||
{ type: 'warning' },
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
|
@ -27,7 +27,7 @@ export default Vue.extend({
|
||||
this.serverParams.perPage = params.currentPerPage
|
||||
this.fetchData()
|
||||
},
|
||||
onSortChange([params]: { type: 'asc' | 'desc', field: string }[]) {
|
||||
onSortChange([params]: Array<{ type: 'asc' | 'desc', field: string }>) {
|
||||
this.serverParams.sortType = params.type
|
||||
this.serverParams.sortField = params.field
|
||||
this.fetchData()
|
||||
|
@ -8,7 +8,7 @@ export default Vue.extend<{
|
||||
try {
|
||||
await this.$confirm(
|
||||
this.$t('user.setAvatarNotice'),
|
||||
this.$t('user.setAvatar')
|
||||
this.$t('user.setAvatar'),
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
@ -16,12 +16,15 @@ export default Vue.extend<{
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/profile/avatar',
|
||||
{ tid: this.tid }
|
||||
{ tid: this.tid },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message!)
|
||||
|
||||
Array.from(document.querySelectorAll<HTMLImageElement>('[alt="User Image"]'))
|
||||
Array
|
||||
.from(
|
||||
document.querySelectorAll<HTMLImageElement>('[alt="User Image"]'),
|
||||
)
|
||||
.forEach(el => (el.src += `?${new Date().getTime()}`))
|
||||
} else {
|
||||
this.$message.warning(message!)
|
||||
|
@ -10,14 +10,14 @@ loadI18n().then(loadModules)
|
||||
function loadModules() {
|
||||
const route = routes.find(
|
||||
// eslint-disable-next-line no-shadow
|
||||
route => (new RegExp(`^${route.path}$`, 'i')).test(blessing.route)
|
||||
route => new RegExp(`^${route.path}$`, 'i').test(blessing.route),
|
||||
)
|
||||
if (route) {
|
||||
if (route.module) {
|
||||
Promise.all(route.module.map(m => m()))
|
||||
}
|
||||
if (route.component) {
|
||||
Vue.prototype.$route = (new RegExp(`^${route.path}$`, 'i')).exec(blessing.route)
|
||||
Vue.prototype.$route = new RegExp(`^${route.path}$`, 'i').exec(blessing.route)
|
||||
// eslint-disable-next-line no-new
|
||||
new Vue({
|
||||
el: route.el,
|
||||
|
@ -26,7 +26,8 @@ export async function checkForPluginUpdates(): Promise<void> {
|
||||
const data = await response.json()
|
||||
const el = document.querySelector(`[href="${blessing.base_url}/admin/plugins/market"] p`)
|
||||
if (data.available && el) {
|
||||
el.innerHTML += `<span class="right badge badge-success">${data.plugins.length}</span>`
|
||||
const length = data.plugins.length as number
|
||||
el.innerHTML += `<span class="right badge badge-success">${length}</span>`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
||||
const bus: { [name: string]: CallableFunction[] } = Object.create(null)
|
||||
|
||||
export function on(eventName: string, listener: CallableFunction) {
|
||||
|
@ -2,7 +2,10 @@ import Vue from 'vue'
|
||||
|
||||
export function trans(key: string, parameters = Object.create(null)): string {
|
||||
const segments = key.split('.')
|
||||
let temp = (blessing.i18n || Object.create(null)) as { [k: string]: string | { [k: string]: string } }
|
||||
let temp = (
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
blessing.i18n || Object.create(null)
|
||||
) as { [k: string]: string | { [k: string]: string } }
|
||||
let result = ''
|
||||
|
||||
for (const segment of segments) {
|
||||
@ -24,6 +27,7 @@ export function trans(key: string, parameters = Object.create(null)): string {
|
||||
}
|
||||
|
||||
Vue.use(_Vue => {
|
||||
// eslint-disable-next-line @typescript-eslint/unbound-method
|
||||
_Vue.prototype.$t = trans
|
||||
_Vue.directive('t', (el, { value }) => {
|
||||
if (typeof value === 'string') {
|
||||
@ -41,4 +45,5 @@ Vue.use(_Vue => {
|
||||
})
|
||||
})
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/unbound-method
|
||||
window.trans = trans
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
import './public-path' // Must be first
|
||||
import $ from 'jquery'
|
||||
import 'bootstrap'
|
||||
|
@ -1,4 +1,5 @@
|
||||
const chooser: HTMLInputElement | null = document.querySelector('#language-chooser')
|
||||
const chooser: HTMLInputElement | null =
|
||||
document.querySelector('#language-chooser')
|
||||
if (chooser) {
|
||||
chooser.addEventListener('change', () => {
|
||||
window.location.href = `?lang=${chooser.value}`
|
||||
|
@ -21,7 +21,9 @@ export const init: RequestInit = {
|
||||
}
|
||||
|
||||
function retrieveToken() {
|
||||
const csrfField: HTMLMetaElement | null = document.querySelector('meta[name="csrf-token"]')
|
||||
const csrfField: HTMLMetaElement | null =
|
||||
document.querySelector('meta[name="csrf-token"]')
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
return (csrfField && csrfField.content) || ''
|
||||
}
|
||||
|
||||
@ -37,11 +39,14 @@ export async function walkFetch(request: Request): Promise<any> {
|
||||
if (response.ok) {
|
||||
return body
|
||||
}
|
||||
let message = body.message
|
||||
let message: string = body.message
|
||||
|
||||
if (response.status === 422) {
|
||||
// Process validation errors from Laravel.
|
||||
const { errors }: { message: string, errors: { [field: string]: string[] } } = body
|
||||
const { errors }: {
|
||||
message: string
|
||||
errors: { [field: string]: string[] }
|
||||
} = body
|
||||
return {
|
||||
code: 1,
|
||||
message: Object.keys(errors).map(field => errors[field][0])[0],
|
||||
@ -52,7 +57,7 @@ export async function walkFetch(request: Request): Promise<any> {
|
||||
}
|
||||
|
||||
if (body.exception && Array.isArray(body.trace)) {
|
||||
const trace = (body.trace as { file: string, line: number }[])
|
||||
const trace = (body.trace as Array<{ file: string, line: number }>)
|
||||
.map((t, i) => `[${i + 1}] ${t.file}#L${t.line}`)
|
||||
.join('\n')
|
||||
message = `${message}\n<details>${trace}</details>`
|
||||
@ -91,6 +96,7 @@ function nonGet(method: string, url: string, data: any): Promise<any> {
|
||||
method: method.toUpperCase(),
|
||||
...init,
|
||||
})
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
!isFormData && request.headers.set('Content-Type', 'application/json')
|
||||
|
||||
return walkFetch(request)
|
||||
|
@ -6,10 +6,15 @@ export default async function handler(event: Event) {
|
||||
const id = item.getAttribute('data-nid')
|
||||
const {
|
||||
title, content, time,
|
||||
} = await get(`/user/notifications/${id}`)
|
||||
}: {
|
||||
title: string
|
||||
content: string
|
||||
time: string
|
||||
} = await get(`/user/notifications/${id!}`)
|
||||
showModal(`${content}<br><small>${time}</small>`, title)
|
||||
item.remove()
|
||||
const counter = document.querySelector('.notifications-counter') as HTMLSpanElement
|
||||
const counter = document
|
||||
.querySelector('.notifications-counter') as HTMLSpanElement
|
||||
const value = Number.parseInt(counter.textContent!) - 1
|
||||
if (value > 0) {
|
||||
counter.textContent = value.toString()
|
||||
|
@ -4,18 +4,24 @@ import { ModalOptions } from '../shims'
|
||||
import { trans } from './i18n'
|
||||
|
||||
export function showAjaxError(error: Error): void {
|
||||
showModal(error.message.replace(/\n/g, '<br>'), trans('general.fatalError'), 'danger')
|
||||
showModal(
|
||||
error.message.replace(/\n/g, '<br>'),
|
||||
trans('general.fatalError'),
|
||||
'danger',
|
||||
)
|
||||
}
|
||||
|
||||
export function showModal(
|
||||
message: string, title = 'Message',
|
||||
type = 'default',
|
||||
options: ModalOptions = {}
|
||||
options: ModalOptions = {},
|
||||
): void {
|
||||
const btnType = type === 'default' ? 'btn-primary' : 'btn-outline'
|
||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||
const btnText = options.btnText || 'OK'
|
||||
const onClick = options.callback === undefined
|
||||
? 'data-dismiss="modal"'
|
||||
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
||||
: `onclick="${options.callback}"`
|
||||
const destroyOnClose = options.destroyOnClose !== false
|
||||
|
||||
@ -43,7 +49,9 @@ export function showModal(
|
||||
|
||||
$(dom)
|
||||
.on('hidden.bs.modal', /* istanbul ignore next */ function modal() {
|
||||
destroyOnClose && $(this).remove()
|
||||
if (destroyOnClose) {
|
||||
$(this).remove()
|
||||
}
|
||||
})
|
||||
// @ts-ignore
|
||||
.modal(options)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* eslint-disable prefer-const */
|
||||
/* eslint-disable camelcase */
|
||||
/* eslint-disable @typescript-eslint/camelcase */
|
||||
declare let __webpack_public_path__: string
|
||||
|
||||
const url = new URL(blessing.base_url)
|
||||
|
@ -7,7 +7,7 @@ export function debounce(func: CallableFunction, delay: number) {
|
||||
}
|
||||
|
||||
export function queryString(key: string, defaultValue: string = ''): string {
|
||||
const result = location.search.match(new RegExp(`[?&]${key}=([^&]+)`, 'i'))
|
||||
const result = new RegExp(`[?&]${key}=([^&]+)`, 'i').exec(location.search)
|
||||
|
||||
if (result === null || result.length < 1) {
|
||||
return defaultValue
|
||||
|
13
resources/assets/src/shims.d.ts
vendored
13
resources/assets/src/shims.d.ts
vendored
@ -5,6 +5,7 @@ import * as JQuery from 'jquery'
|
||||
type I18n = 'en' | 'zh_CN'
|
||||
|
||||
declare global {
|
||||
// eslint-disable-next-line no-redeclare
|
||||
let blessing: {
|
||||
base_url: string
|
||||
debug: boolean
|
||||
@ -47,10 +48,10 @@ declare module 'vue/types/vue' {
|
||||
$t(key: string, parameters?: object): string
|
||||
|
||||
$http: {
|
||||
get(url: string, params?: object)
|
||||
post(url: string, data?: object): { code?: number, message?: string }
|
||||
put(url: string, data?: object): { code?: number, message?: string }
|
||||
del(url: string, data?: object): { code?: number, message?: string }
|
||||
get(url: string, params?: object): Promise<any>
|
||||
post(url: string, data?: object): Promise<{ code?: number, message?: string }>
|
||||
put(url: string, data?: object): Promise<{ code?: number, message?: string }>
|
||||
del(url: string, data?: object): Promise<{ code?: number, message?: string }>
|
||||
}
|
||||
|
||||
$route: RegExpExecArray | null
|
||||
@ -58,7 +59,7 @@ declare module 'vue/types/vue' {
|
||||
}
|
||||
|
||||
interface ModalOptions {
|
||||
btnText?: string,
|
||||
callback?: CallableFunction,
|
||||
btnText?: string
|
||||
callback?: CallableFunction
|
||||
destroyOnClose?: boolean
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ function handler(event: Event): void {
|
||||
document.body.className.replace(
|
||||
/skin-\w+(?:-light)?/,
|
||||
// eslint-disable-next-line no-extra-parens
|
||||
(event.target as HTMLInputElement).value
|
||||
(event.target as HTMLInputElement).value,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
import 'zrender/lib/svg/svg'
|
||||
import echarts from 'echarts/lib/echarts'
|
||||
import 'echarts/lib/chart/line'
|
||||
@ -99,7 +98,7 @@ async function createChart(el: HTMLDivElement) {
|
||||
smooth: true,
|
||||
symbol: 'circle',
|
||||
yAxisIndex: index,
|
||||
})
|
||||
}),
|
||||
),
|
||||
})
|
||||
|
||||
|
@ -135,7 +135,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/plugins/market/download',
|
||||
{ name }
|
||||
{ name },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
@ -152,7 +152,7 @@ export default {
|
||||
await this.$confirm(
|
||||
this.$t('admin.confirmUpdate', {
|
||||
plugin: plugin.title, old: plugin.installed, new: plugin.version,
|
||||
})
|
||||
}),
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
|
@ -171,7 +171,7 @@ export default {
|
||||
async fetchData() {
|
||||
const { data, totalRecords } = await this.$http.get(
|
||||
`/admin/player-data${location.search}`,
|
||||
!location.search && this.serverParams
|
||||
!location.search && this.serverParams,
|
||||
)
|
||||
this.totalRecords = totalRecords
|
||||
this.players = data
|
||||
@ -184,7 +184,7 @@ export default {
|
||||
'/admin/players?action=texture',
|
||||
{
|
||||
pid: player.pid, type, tid,
|
||||
}
|
||||
},
|
||||
)
|
||||
if (code === 0) {
|
||||
player[`tid_${type}`] = tid
|
||||
@ -207,7 +207,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/players?action=name',
|
||||
{ pid: player.pid, name: value }
|
||||
{ pid: player.pid, name: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
player.name = value
|
||||
@ -228,7 +228,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/players?action=owner',
|
||||
{ pid: player.pid, uid: value }
|
||||
{ pid: player.pid, uid: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
player.uid = value
|
||||
@ -248,7 +248,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/players?action=delete',
|
||||
{ pid }
|
||||
{ pid },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$delete(this.players, originalIndex)
|
||||
|
@ -132,7 +132,7 @@ export default {
|
||||
async disablePlugin({ name, originalIndex }) {
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'disable', name }
|
||||
{ action: 'disable', name },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
@ -150,7 +150,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'delete', name }
|
||||
{ action: 'delete', name },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$delete(this.plugins, originalIndex)
|
||||
|
@ -110,7 +110,7 @@ export default {
|
||||
async fetchData() {
|
||||
const { data, totalRecords } = await this.$http.get(
|
||||
'/admin/report-data',
|
||||
this.serverParams
|
||||
this.serverParams,
|
||||
)
|
||||
this.totalRecords = totalRecords
|
||||
this.reports = data
|
||||
@ -129,7 +129,7 @@ export default {
|
||||
code, message, data,
|
||||
} = await this.$http.post(
|
||||
'/admin/reports',
|
||||
{ id: report.id, action }
|
||||
{ id: report.id, action },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -76,7 +76,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.put(
|
||||
'/admin/i18n',
|
||||
{ id: line.id, text }
|
||||
{ id: line.id, text },
|
||||
)
|
||||
if (code === 0) {
|
||||
line.text = text
|
||||
|
@ -69,7 +69,7 @@ export default {
|
||||
setTimeout(() => this.polling(), POLLING_INTERVAL)
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/update/download',
|
||||
{ action: 'download' }
|
||||
{ action: 'download' },
|
||||
)
|
||||
this.updating = false
|
||||
if (code) {
|
||||
@ -82,7 +82,7 @@ export default {
|
||||
async polling() {
|
||||
const percentage = await this.$http.get(
|
||||
'/admin/update/download',
|
||||
{ action: 'progress' }
|
||||
{ action: 'progress' },
|
||||
)
|
||||
this.percentage = ~~percentage * 100
|
||||
this.updating && setTimeout(this.polling, POLLING_INTERVAL)
|
||||
|
@ -158,7 +158,7 @@ export default {
|
||||
async fetchData() {
|
||||
const { data, totalRecords } = await this.$http.get(
|
||||
`/admin/user-data${location.search}`,
|
||||
!location.search && this.serverParams
|
||||
!location.search && this.serverParams,
|
||||
)
|
||||
this.totalRecords = totalRecords
|
||||
this.users = data
|
||||
@ -176,7 +176,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=email',
|
||||
{ uid: user.uid, email: value }
|
||||
{ uid: user.uid, email: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
user.email = value
|
||||
@ -188,7 +188,7 @@ export default {
|
||||
async toggleVerification(user) {
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=verification',
|
||||
{ uid: user.uid }
|
||||
{ uid: user.uid },
|
||||
)
|
||||
if (code === 0) {
|
||||
user.verified = !user.verified
|
||||
@ -210,7 +210,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=nickname',
|
||||
{ uid: user.uid, nickname: value }
|
||||
{ uid: user.uid, nickname: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
user.nickname = value
|
||||
@ -231,7 +231,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=password',
|
||||
{ uid: user.uid, password: value }
|
||||
{ uid: user.uid, password: value },
|
||||
)
|
||||
code === 0 ? this.$message.success(message) : this.$message.warning(message)
|
||||
},
|
||||
@ -249,7 +249,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=score',
|
||||
{ uid: user.uid, score }
|
||||
{ uid: user.uid, score },
|
||||
)
|
||||
if (code === 0) {
|
||||
user.score = score
|
||||
@ -273,7 +273,7 @@ export default {
|
||||
h(
|
||||
'select',
|
||||
{ attrs: { selectedIndex: 0 } },
|
||||
options.map(option => h('option', null, option))
|
||||
options.map(option => h('option', null, option)),
|
||||
),
|
||||
])
|
||||
|
||||
@ -309,7 +309,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/admin/users?action=delete',
|
||||
{ uid }
|
||||
{ uid },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$delete(this.users, originalIndex)
|
||||
|
@ -73,7 +73,7 @@ export default {
|
||||
this.pending = true
|
||||
const { code, message } = await this.$http.post(
|
||||
'/auth/forgot',
|
||||
{ email, captcha: await this.$refs.captcha.execute() }
|
||||
{ email, captcha: await this.$refs.captcha.execute() },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.warningMsg = ''
|
||||
|
@ -107,7 +107,7 @@ export default {
|
||||
captcha: this.tooManyFails
|
||||
? await this.$refs.captcha.execute()
|
||||
: void 0,
|
||||
}
|
||||
},
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -166,7 +166,7 @@ export default {
|
||||
email,
|
||||
password,
|
||||
captcha: await this.$refs.captcha.execute(),
|
||||
}, this.requirePlayer ? { player_name: playerName } : { nickname })
|
||||
}, this.requirePlayer ? { player_name: playerName } : { nickname }),
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -87,7 +87,7 @@ export default {
|
||||
this.pending = true
|
||||
const { code, message } = await this.$http.post(
|
||||
`/auth/reset/${this.uid}${location.search}`,
|
||||
{ password }
|
||||
{ password },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -252,7 +252,7 @@ export default {
|
||||
sort: this.sort,
|
||||
keyword: this.keyword,
|
||||
page: this.page,
|
||||
}
|
||||
},
|
||||
)
|
||||
this.items = items
|
||||
this.totalPages = totalPages
|
||||
|
@ -266,7 +266,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/skinlib/rename',
|
||||
{ tid: this.tid, new_name: value }
|
||||
{ tid: this.tid, new_name: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.name = value
|
||||
@ -297,7 +297,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/skinlib/model',
|
||||
{ tid: this.tid, model: value }
|
||||
{ tid: this.tid, model: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.type = value
|
||||
@ -312,7 +312,7 @@ export default {
|
||||
this.public
|
||||
? this.$t('skinlib.setPrivateNotice')
|
||||
: this.$t('skinlib.setPublicNotice'),
|
||||
{ type: 'warning' }
|
||||
{ type: 'warning' },
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
@ -320,7 +320,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/skinlib/privacy',
|
||||
{ tid: this.tid }
|
||||
{ tid: this.tid },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
@ -333,7 +333,7 @@ export default {
|
||||
try {
|
||||
await this.$confirm(
|
||||
this.$t('skinlib.deleteNotice'),
|
||||
{ type: 'warning' }
|
||||
{ type: 'warning' },
|
||||
)
|
||||
} catch {
|
||||
return
|
||||
@ -341,7 +341,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/skinlib/delete',
|
||||
{ tid: this.tid }
|
||||
{ tid: this.tid },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
@ -371,7 +371,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/skinlib/report',
|
||||
{ tid: this.tid, reason }
|
||||
{ tid: this.tid, reason },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
|
@ -60,7 +60,7 @@ export default {
|
||||
this.pending = true
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/player/bind',
|
||||
{ player: this.selected }
|
||||
{ player: this.selected },
|
||||
)
|
||||
this.pending = false
|
||||
if (code === 0) {
|
||||
|
@ -243,7 +243,7 @@ export default {
|
||||
category: this.category,
|
||||
q: this.query,
|
||||
page,
|
||||
}
|
||||
},
|
||||
)
|
||||
this[`${category}TotalPages`] = totalPages
|
||||
this[`${category}Items`] = items
|
||||
|
@ -114,7 +114,7 @@ export default {
|
||||
},
|
||||
signRemainingTime() {
|
||||
if (this.signAfterZero) {
|
||||
const today = (new Date()).setHours(0, 0, 0, 0)
|
||||
const today = new Date().setHours(0, 0, 0, 0)
|
||||
const tomorrow = today + ONE_DAY
|
||||
return this.lastSignAt.valueOf() < today ? 0 : tomorrow - Date.now()
|
||||
}
|
||||
@ -125,12 +125,12 @@ export default {
|
||||
if (time < 60) {
|
||||
return this.$t(
|
||||
'user.sign-remain-time',
|
||||
{ time: ~~time, unit: this.$t('user.time-unit-min') }
|
||||
{ time: ~~time, unit: this.$t('user.time-unit-min') },
|
||||
)
|
||||
}
|
||||
return this.$t(
|
||||
'user.sign-remain-time',
|
||||
{ time: ~~(time / 60), unit: this.$t('user.time-unit-hour') }
|
||||
{ time: ~~(time / 60), unit: this.$t('user.time-unit-hour') },
|
||||
)
|
||||
},
|
||||
canSign() {
|
||||
|
@ -198,7 +198,7 @@ export default {
|
||||
Object.assign({}, init, {
|
||||
body: JSON.stringify(Object.assign({ name: client.name, redirect: client.redirect }, modified)),
|
||||
method: 'PUT',
|
||||
})
|
||||
}),
|
||||
)
|
||||
request.headers.set('Content-Type', 'application/json')
|
||||
const result = await walkFetch(request)
|
||||
@ -216,7 +216,7 @@ export default {
|
||||
}
|
||||
const request = new Request(
|
||||
`/oauth/clients/${client.id}`,
|
||||
Object.assign({}, init, { method: 'DELETE' })
|
||||
Object.assign({}, init, { method: 'DELETE' }),
|
||||
)
|
||||
await walkFetch(request)
|
||||
this.$delete(this.clients, this.clients.findIndex(({ id }) => id === client.id))
|
||||
|
@ -240,7 +240,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
`/user/player/rename/${player.pid}`,
|
||||
{ name: value }
|
||||
{ name: value },
|
||||
)
|
||||
if (code === 0) {
|
||||
this.$message.success(message)
|
||||
@ -256,7 +256,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
`/user/player/texture/clear/${this.selected}`,
|
||||
this.clear
|
||||
this.clear,
|
||||
)
|
||||
if (code === 0) {
|
||||
$('.modal').modal('hide')
|
||||
|
@ -242,7 +242,7 @@ export default {
|
||||
|
||||
const { message } = await this.$http.post(
|
||||
'/user/profile/avatar',
|
||||
{ tid: 0 }
|
||||
{ tid: 0 },
|
||||
)
|
||||
this.$message.success(message)
|
||||
Array.from(document.querySelectorAll('[alt="User Image"]'))
|
||||
@ -261,7 +261,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/profile?action=password',
|
||||
{ current_password: oldPassword, new_password: newPassword }
|
||||
{ current_password: oldPassword, new_password: newPassword },
|
||||
)
|
||||
if (code === 0) {
|
||||
await this.$alert(message)
|
||||
@ -280,7 +280,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/profile?action=nickname',
|
||||
{ new_nickname: nickname }
|
||||
{ new_nickname: nickname },
|
||||
)
|
||||
if (code === 0) {
|
||||
Array.from(document.querySelectorAll('.nickname'))
|
||||
@ -300,7 +300,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/profile?action=email',
|
||||
{ new_email: email, password: this.currentPassword }
|
||||
{ new_email: email, password: this.currentPassword },
|
||||
)
|
||||
if (code === 0) {
|
||||
await this.$message.success(message)
|
||||
@ -313,7 +313,7 @@ export default {
|
||||
|
||||
const { code, message } = await this.$http.post(
|
||||
'/user/profile?action=delete',
|
||||
{ password }
|
||||
{ password },
|
||||
)
|
||||
if (code === 0) {
|
||||
await this.$alert(message, { type: 'success' })
|
||||
|
@ -21,7 +21,7 @@ test('add player', async () => {
|
||||
button.trigger('click')
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/player/add',
|
||||
{ name: 'the-new' }
|
||||
{ name: 'the-new' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(wrapper.text()).not.toContain('the-new')
|
||||
|
@ -25,7 +25,7 @@ test('submit applying texture', async () => {
|
||||
{
|
||||
skin: 1,
|
||||
cape: undefined,
|
||||
}
|
||||
},
|
||||
)
|
||||
wrapper.setProps({ skin: 0, cape: 1 })
|
||||
button.trigger('click')
|
||||
@ -34,7 +34,7 @@ test('submit applying texture', async () => {
|
||||
{
|
||||
skin: undefined,
|
||||
cape: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('ok')
|
||||
|
@ -20,7 +20,7 @@ test('computed values', () => {
|
||||
wrapper
|
||||
.findAll('.dropdown-item')
|
||||
.at(2)
|
||||
.attributes('href')
|
||||
.attributes('href'),
|
||||
).toBe('/skinlib/show/1')
|
||||
})
|
||||
|
||||
@ -66,7 +66,7 @@ test('rename texture', async () => {
|
||||
expect(wrapper.find('[data-test="name"]').text()).toBe('new-name (steve)')
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/closet/rename/1',
|
||||
{ name: 'new-name' }
|
||||
{ name: 'new-name' },
|
||||
)
|
||||
})
|
||||
|
||||
|
@ -100,7 +100,7 @@ test('reset', () => {
|
||||
mockedSkinview3d.SkinViewer.prototype.dispose = jest.fn(
|
||||
function (this: mockedSkinview3d.SkinViewer) {
|
||||
this.disposed = true
|
||||
}.bind(new mockedSkinview3d.SkinViewer())
|
||||
}.bind(new mockedSkinview3d.SkinViewer()),
|
||||
)
|
||||
const wrapper = mount<Viewer>(Previewer, {
|
||||
propsData: {
|
||||
|
@ -98,7 +98,7 @@ test('add to closet', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/closet/add',
|
||||
{ tid: 1, name: 'name' }
|
||||
{ tid: 1, name: 'name' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('1')
|
||||
|
||||
|
@ -10,7 +10,7 @@ test('should be transparent at top', () => {
|
||||
handler()
|
||||
window.dispatchEvent(new Event('scroll'))
|
||||
expect(
|
||||
document.querySelector('nav')!.classList.contains('transparent')
|
||||
document.querySelector('nav')!.classList.contains('transparent'),
|
||||
).toBeTrue()
|
||||
})
|
||||
|
||||
@ -20,6 +20,6 @@ test('should not be transparent at bottom', () => {
|
||||
handler()
|
||||
window.dispatchEvent(new Event('scroll'))
|
||||
expect(
|
||||
document.querySelector('nav')!.classList.contains('transparent')
|
||||
document.querySelector('nav')!.classList.contains('transparent'),
|
||||
).toBeFalse()
|
||||
})
|
||||
|
@ -205,7 +205,7 @@ test('process backend errors', async () => {
|
||||
})
|
||||
|
||||
const result: {
|
||||
code: number,
|
||||
code: number
|
||||
message: string
|
||||
} = await net.walkFetch({ headers: new Headers() } as Request)
|
||||
expect(result.code).toBe(1)
|
||||
@ -216,7 +216,7 @@ test('process backend errors', async () => {
|
||||
|
||||
await net.walkFetch({ headers: new Headers() } as Request)
|
||||
expect(showAjaxError.mock.calls[0][0].message).toBe(
|
||||
'fake exception\n<details>[1] k.php#L2\n[2] v.php#L3</details>'
|
||||
'fake exception\n<details>[1] k.php#L2\n[2] v.php#L3</details>',
|
||||
)
|
||||
})
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* eslint-disable max-classes-per-file */
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
import 'jest-extended'
|
||||
import Vue from 'vue'
|
||||
import {
|
||||
|
2
resources/assets/tests/shims.d.ts
vendored
2
resources/assets/tests/shims.d.ts
vendored
@ -10,7 +10,7 @@ declare module 'vue/types/vue' {
|
||||
post: jest.Mock<any>
|
||||
put: jest.Mock<any>
|
||||
del: jest.Mock<any>
|
||||
},
|
||||
}
|
||||
$message: {
|
||||
info: jest.Mock<ReturnType<typeof Message>, Parameters<typeof Message>>
|
||||
success: jest.Mock<ReturnType<typeof Message>, Parameters<typeof Message>>
|
||||
|
@ -1,9 +1,10 @@
|
||||
/* eslint-disable max-len */
|
||||
import { ElMessage } from 'element-ui/types/message'
|
||||
import { ElMessageBox } from 'element-ui/types/message-box'
|
||||
|
||||
export const Message = {} as jest.Mock<ReturnType<ElMessage>, Parameters<ElMessage>>
|
||||
export const MessageBox = {} as jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>> & {
|
||||
alert: jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>>,
|
||||
confirm: jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>>,
|
||||
alert: jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>>
|
||||
confirm: jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>>
|
||||
prompt: jest.Mock<ReturnType<ElMessageBox>, Parameters<ElMessageBox>>
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ test('install plugin', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/plugins/market/download',
|
||||
{ name: 'd' }
|
||||
{ name: 'd' },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -97,6 +97,6 @@ test('update plugin', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/plugins/market/download',
|
||||
{ name: 'a' }
|
||||
{ name: 'a' },
|
||||
)
|
||||
})
|
||||
|
@ -11,7 +11,7 @@ test('fetch data after initializing', () => {
|
||||
'/admin/player-data',
|
||||
{
|
||||
page: 1, perPage: 10, search: '', sortField: 'pid', sortType: 'asc',
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@ -39,7 +39,7 @@ test('change texture', async () => {
|
||||
'/admin/players?action=texture',
|
||||
{
|
||||
pid: 1, tid: 5, type: 'skin',
|
||||
}
|
||||
},
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -76,7 +76,7 @@ test('change player name', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/players?action=name',
|
||||
{ pid: 1, name: 'new' }
|
||||
{ pid: 1, name: 'new' },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -107,7 +107,7 @@ test('change owner', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/players?action=owner',
|
||||
{ pid: 1, uid: '3' }
|
||||
{ pid: 1, uid: '3' },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -138,7 +138,7 @@ test('delete player', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/players?action=delete',
|
||||
{ pid: 1 }
|
||||
{ pid: 1 },
|
||||
)
|
||||
expect(wrapper.text()).toContain('to-be-deleted')
|
||||
|
||||
|
@ -81,7 +81,7 @@ test('enable plugin', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'enable', name: 'a' }
|
||||
{ action: 'enable', name: 'a' },
|
||||
)
|
||||
expect(Vue.prototype.$alert).toBeCalledWith('', ({
|
||||
type: 'warning',
|
||||
@ -112,7 +112,7 @@ test('disable plugin', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'disable', name: 'a' }
|
||||
{ action: 'disable', name: 'a' },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -148,7 +148,7 @@ test('delete plugin', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/plugins/manage',
|
||||
{ action: 'delete', name: 'a' }
|
||||
{ action: 'delete', name: 'a' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('1')
|
||||
|
||||
|
@ -48,7 +48,7 @@ test('delete texture', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/reports',
|
||||
{ id: 1, action: 'delete' }
|
||||
{ id: 1, action: 'delete' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('fail')
|
||||
|
||||
@ -72,7 +72,7 @@ test('ban uploader', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/reports',
|
||||
{ id: 1, action: 'ban' }
|
||||
{ id: 1, action: 'ban' },
|
||||
)
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('ok')
|
||||
expect(wrapper.text()).toContain('report.status.1')
|
||||
@ -92,7 +92,7 @@ test('reject', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/reports',
|
||||
{ id: 1, action: 'reject' }
|
||||
{ id: 1, action: 'reject' },
|
||||
)
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('ok')
|
||||
expect(wrapper.text()).toContain('report.status.2')
|
||||
|
@ -43,7 +43,7 @@ test('modify line', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.put).toBeCalledWith(
|
||||
'/admin/i18n',
|
||||
{ id: 1, text: '' }
|
||||
{ id: 1, text: '' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('failed')
|
||||
expect(wrapper.text()).not.toContain('wanshengwei')
|
||||
@ -52,7 +52,7 @@ test('modify line', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.put).toBeCalledWith(
|
||||
'/admin/i18n',
|
||||
{ id: 1, text: 'wanshengwei' }
|
||||
{ id: 1, text: 'wanshengwei' },
|
||||
)
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('ok')
|
||||
expect(wrapper.text()).toContain('wanshengwei')
|
||||
|
@ -32,11 +32,11 @@ test('perform update', async () => {
|
||||
expect($).toBeCalled()
|
||||
expect(Vue.prototype.$http.get).toBeCalledWith(
|
||||
'/admin/update/download',
|
||||
{ action: 'progress' }
|
||||
{ action: 'progress' },
|
||||
)
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/update/download',
|
||||
{ action: 'download' }
|
||||
{ action: 'download' },
|
||||
)
|
||||
})
|
||||
|
||||
@ -46,6 +46,6 @@ test('polling for querying download progress', async () => {
|
||||
await wrapper.vm.polling()
|
||||
expect(Vue.prototype.$http.get).toBeCalledWith(
|
||||
'/admin/update/download',
|
||||
{ action: 'progress' }
|
||||
{ action: 'progress' },
|
||||
)
|
||||
})
|
||||
|
@ -16,7 +16,7 @@ test('fetch data after initializing', () => {
|
||||
'/admin/user-data',
|
||||
{
|
||||
page: 1, perPage: 10, search: '', sortField: 'uid', sortType: 'asc',
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@ -256,7 +256,7 @@ test('change email', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=email',
|
||||
{ uid: 1, email: 'd@e.f' }
|
||||
{ uid: 1, email: 'd@e.f' },
|
||||
)
|
||||
expect(wrapper.text()).toContain('a@b.c')
|
||||
|
||||
@ -283,7 +283,7 @@ test('toggle verification', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=verification',
|
||||
{ uid: 1 }
|
||||
{ uid: 1 },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -319,7 +319,7 @@ test('change nickname', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=nickname',
|
||||
{ uid: 1, nickname: 'new' }
|
||||
{ uid: 1, nickname: 'new' },
|
||||
)
|
||||
expect(wrapper.text()).toContain('old')
|
||||
|
||||
@ -352,7 +352,7 @@ test('change password', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=password',
|
||||
{ uid: 1, password: 'password' }
|
||||
{ uid: 1, password: 'password' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('0')
|
||||
@ -387,7 +387,7 @@ test('change score', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=score',
|
||||
{ uid: 1, score: 45 }
|
||||
{ uid: 1, score: 45 },
|
||||
)
|
||||
expect(wrapper.text()).toContain('23')
|
||||
|
||||
@ -452,7 +452,7 @@ test('change permission', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=permission',
|
||||
{ uid: 1, permission: 1 }
|
||||
{ uid: 1, permission: 1 },
|
||||
)
|
||||
expect(wrapper.text()).toContain('admin.normal')
|
||||
|
||||
@ -489,7 +489,7 @@ test('delete user', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/admin/users?action=delete',
|
||||
{ uid: 1 }
|
||||
{ uid: 1 },
|
||||
)
|
||||
expect(wrapper.text()).toContain('to-be-deleted')
|
||||
|
||||
|
@ -28,7 +28,7 @@ test('submit forgot form', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/auth/forgot',
|
||||
{ email: 'a@b.c', captcha: 'captcha' }
|
||||
{ email: 'a@b.c', captcha: 'captcha' },
|
||||
)
|
||||
expect(warning.text()).toBe('fail')
|
||||
|
||||
|
@ -41,7 +41,7 @@ test('login', async () => {
|
||||
'/auth/login',
|
||||
{
|
||||
identification: 'a@b.c', password: '123', keep: false,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(warning.text()).toBe('fail')
|
||||
|
||||
@ -70,7 +70,7 @@ test('login', async () => {
|
||||
'/auth/login',
|
||||
{
|
||||
identification: 'a@b.c', password: '123', keep: true, captcha: 'a',
|
||||
}
|
||||
},
|
||||
)
|
||||
await flushPromises()
|
||||
jest.runAllTimers()
|
||||
|
@ -56,7 +56,7 @@ test('register', async () => {
|
||||
password: '12345678',
|
||||
nickname: 'abc',
|
||||
captcha: 'captcha',
|
||||
}
|
||||
},
|
||||
)
|
||||
await flushPromises()
|
||||
expect(warning.text()).toBe('fail')
|
||||
@ -88,6 +88,6 @@ test('register with player name', async () => {
|
||||
password: '12345678',
|
||||
player_name: 'abc',
|
||||
captcha: 'captcha',
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
@ -29,7 +29,7 @@ test('reset password', async () => {
|
||||
form.trigger('submit')
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/auth/reset/1', // Ignore `location.search`
|
||||
{ password: '12345678' }
|
||||
{ password: '12345678' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(warning.text()).toBe('fail')
|
||||
|
@ -19,7 +19,7 @@ test('fetch data before mounting', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@ -67,7 +67,7 @@ test('toggle texture type', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'steve', uploader: 0, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
btnAlex.trigger('click')
|
||||
@ -81,7 +81,7 @@ test('toggle texture type', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'alex', uploader: 0, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('filter')).toBe('alex')
|
||||
|
||||
@ -96,7 +96,7 @@ test('toggle texture type', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'cape', uploader: 0, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('filter')).toBe('cape')
|
||||
})
|
||||
@ -120,7 +120,7 @@ test('check specified uploader', async () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 1, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('uploader')).toBe('1')
|
||||
})
|
||||
@ -141,7 +141,7 @@ test('sort items', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'likes', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(wrapper.text()).toContain('skinlib.sort.likes')
|
||||
expect(sortByLikes.classes()).toContain('active')
|
||||
@ -152,7 +152,7 @@ test('sort items', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'time', keyword: '', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(wrapper.text()).toContain('skinlib.sort.time')
|
||||
expect(sortByTime.classes()).toContain('active')
|
||||
@ -174,7 +174,7 @@ test('search by keyword', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'time', keyword: 'a', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('keyword')).toBe('a')
|
||||
|
||||
@ -184,7 +184,7 @@ test('search by keyword', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'time', keyword: 'b', page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('keyword')).toBe('b')
|
||||
})
|
||||
@ -231,7 +231,7 @@ test('on page changed', () => {
|
||||
'/skinlib/data',
|
||||
{
|
||||
filter: 'skin', uploader: 0, sort: 'time', keyword: '', page: 2,
|
||||
}
|
||||
},
|
||||
)
|
||||
expect(queryString('page')).toBe('2')
|
||||
})
|
||||
@ -247,7 +247,7 @@ test('on like toggled', async () => {
|
||||
},
|
||||
})
|
||||
const wrapper = mount<Vue & {
|
||||
onLikeToggled(tid: number, like: boolean): void,
|
||||
onLikeToggled(tid: number, like: boolean): void
|
||||
items: Array<{ liked: boolean, likes: number }>
|
||||
}>(List)
|
||||
await flushPromises()
|
||||
|
@ -269,7 +269,7 @@ test('change texture name', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/skinlib/rename',
|
||||
{ tid: 1, new_name: 'new-name' }
|
||||
{ tid: 1, new_name: 'new-name' },
|
||||
)
|
||||
expect(Vue.prototype.$message.error).toBeCalledWith('1')
|
||||
|
||||
@ -314,7 +314,7 @@ test('change texture model', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/skinlib/model',
|
||||
{ tid: 1, model: 'alex' }
|
||||
{ tid: 1, model: 'alex' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('1')
|
||||
|
||||
@ -346,7 +346,7 @@ test('toggle privacy', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/skinlib/privacy',
|
||||
{ tid: 1 }
|
||||
{ tid: 1 },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('1')
|
||||
|
||||
@ -382,7 +382,7 @@ test('delete texture', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/skinlib/delete',
|
||||
{ tid: 1 }
|
||||
{ tid: 1 },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('1')
|
||||
|
||||
@ -432,7 +432,7 @@ test('report texture', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/skinlib/report',
|
||||
{ tid: 1, reason: 'reason' }
|
||||
{ tid: 1, reason: 'reason' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('duplicated')
|
||||
|
||||
|
@ -74,7 +74,9 @@ test('process input file', () => {
|
||||
this.src = ''
|
||||
this.onload = null
|
||||
Object.defineProperty(this, 'onload', {
|
||||
set: fn => fn(),
|
||||
set: fn => {
|
||||
fn()
|
||||
},
|
||||
})
|
||||
})
|
||||
.mockImplementationOnce(function (this: HTMLImageElement) {
|
||||
@ -82,7 +84,9 @@ test('process input file', () => {
|
||||
this.width = 500
|
||||
this.onload = null
|
||||
Object.defineProperty(this, 'onload', {
|
||||
set: fn => fn(),
|
||||
set: fn => {
|
||||
fn()
|
||||
},
|
||||
})
|
||||
})
|
||||
jest.spyOn(skinview3d, 'isSlimSkin')
|
||||
|
@ -17,7 +17,7 @@ test('fetch closet data before mount', () => {
|
||||
category: 'skin',
|
||||
q: '',
|
||||
page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@ -49,7 +49,7 @@ test('switch tabs', () => {
|
||||
category: 'skin',
|
||||
q: '',
|
||||
page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
wrapper
|
||||
.findAll('.nav-link')
|
||||
@ -62,7 +62,7 @@ test('switch tabs', () => {
|
||||
category: 'cape',
|
||||
q: '',
|
||||
page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
@ -74,7 +74,7 @@ test('different categories', () => {
|
||||
wrapper
|
||||
.findAll('.nav-link')
|
||||
.at(0)
|
||||
.classes('active')
|
||||
.classes('active'),
|
||||
).toBeTrue()
|
||||
expect(wrapper.find('#skin-category').classes('active')).toBeTrue()
|
||||
|
||||
@ -83,7 +83,7 @@ test('different categories', () => {
|
||||
wrapper
|
||||
.findAll('.nav-link')
|
||||
.at(1)
|
||||
.classes('active')
|
||||
.classes('active'),
|
||||
).toBeTrue()
|
||||
expect(wrapper.find('#cape-category').classes('active')).toBeTrue()
|
||||
})
|
||||
@ -103,7 +103,7 @@ test('search textures', () => {
|
||||
category: 'skin',
|
||||
q: 'q',
|
||||
page: 1,
|
||||
}
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
|
@ -39,7 +39,7 @@ test('create app', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/oauth/clients',
|
||||
{ name: 'name', redirect: 'https://example.com/' }
|
||||
{ name: 'name', redirect: 'https://example.com/' },
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('fail')
|
||||
|
||||
@ -73,7 +73,7 @@ test('modify name', async () => {
|
||||
url: '/oauth/clients/1',
|
||||
body: JSON.stringify({ name: 'new-name' }),
|
||||
method: 'PUT',
|
||||
})
|
||||
}),
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('fail')
|
||||
|
||||
@ -107,7 +107,7 @@ test('modify redirect', async () => {
|
||||
url: '/oauth/clients/1',
|
||||
body: JSON.stringify({ redirect: 'https://example.net/' }),
|
||||
method: 'PUT',
|
||||
})
|
||||
}),
|
||||
)
|
||||
expect(Vue.prototype.$message.warning).toBeCalledWith('fail')
|
||||
|
||||
|
@ -109,7 +109,7 @@ test('change player name', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/player/rename/1',
|
||||
{ name: 'new-name' }
|
||||
{ name: 'new-name' },
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
@ -196,7 +196,7 @@ test('clear texture', async () => {
|
||||
'/user/player/texture/clear/1',
|
||||
{
|
||||
skin: true, cape: false,
|
||||
}
|
||||
},
|
||||
)
|
||||
button.trigger('click')
|
||||
await flushPromises()
|
||||
|
@ -35,7 +35,7 @@ test('reset avatar', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/profile/avatar',
|
||||
{ tid: 0 }
|
||||
{ tid: 0 },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$message.success).toBeCalledWith('ok')
|
||||
@ -61,7 +61,7 @@ test('change password', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/profile?action=password',
|
||||
{ current_password: '1', new_password: '1' }
|
||||
{ current_password: '1', new_password: '1' },
|
||||
)
|
||||
expect(Vue.prototype.$alert).toBeCalledWith('w', { type: 'warning' })
|
||||
|
||||
@ -90,7 +90,7 @@ test('change nickname', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/profile?action=nickname',
|
||||
{ new_nickname: 'nickname' }
|
||||
{ new_nickname: 'nickname' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$alert).toBeCalledWith('w', { type: 'warning' })
|
||||
@ -120,7 +120,7 @@ test('change email', async () => {
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/profile?action=email',
|
||||
{ new_email: 'a@b.c', password: 'abc' }
|
||||
{ new_email: 'a@b.c', password: 'abc' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$alert).toBeCalledWith('w', { type: 'warning' })
|
||||
@ -142,7 +142,7 @@ test('delete account', async () => {
|
||||
form.trigger('submit')
|
||||
expect(Vue.prototype.$http.post).toBeCalledWith(
|
||||
'/user/profile?action=delete',
|
||||
{ password: 'abc' }
|
||||
{ password: 'abc' },
|
||||
)
|
||||
await flushPromises()
|
||||
expect(Vue.prototype.$alert).toBeCalledWith('w', { type: 'warning' })
|
||||
|
1
resources/assets/tests/webpack.d.ts
vendored
1
resources/assets/tests/webpack.d.ts
vendored
@ -1,4 +1,3 @@
|
||||
/* eslint-disable import/export */
|
||||
declare module '*.vue' {
|
||||
import Vue from 'vue'
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
const fs = require('fs')
|
||||
const sass = require('sass')
|
||||
const webpack = require('webpack')
|
||||
|
539
yarn.lock
539
yarn.lock
@ -1259,6 +1259,11 @@
|
||||
dependencies:
|
||||
"@types/sizzle" "*"
|
||||
|
||||
"@types/json-schema@^7.0.3":
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
|
||||
integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
|
||||
|
||||
"@types/minimatch@*":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
||||
@ -1339,42 +1344,48 @@
|
||||
resolved "https://registry.npmjs.org/@types/zrender/-/zrender-4.0.0.tgz#a6806f12ec4eccaaebd9b0d816f049aca6188fbd"
|
||||
integrity sha512-s89GOIeKFiod2KSqHkfd2rzx+T2DVu7ihZCBEBnhFrzvQPUmzvDSBot9Fi1DfMQm9Odg+rTqoMGC38RvrwJK2w==
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^1.7.0":
|
||||
version "1.10.2"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.10.2.tgz#552fc64cfcb19c6162190360217c945e8faa330a"
|
||||
integrity sha512-7449RhjE1oLFIy5E/5rT4wG5+KsfPzakJuhvpzXJ3C46lq7xywY0/Rjo9ZBcwrfbk0nRZ5xmUHkk7DZ67tSBKw==
|
||||
"@typescript-eslint/eslint-plugin@^2.8.0":
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.8.0.tgz#eca584d46094ebebc3cb3e9fb625bfbc904a534d"
|
||||
integrity sha512-ohqul5s6XEB0AzPWZCuJF5Fd6qC0b4+l5BGEnrlpmvXxvyymb8yw8Bs4YMF8usNAeuCJK87eFIHy8g8GFvOtGA==
|
||||
dependencies:
|
||||
"@typescript-eslint/experimental-utils" "1.10.2"
|
||||
eslint-utils "^1.3.1"
|
||||
"@typescript-eslint/experimental-utils" "2.8.0"
|
||||
eslint-utils "^1.4.3"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
regexpp "^2.0.1"
|
||||
tsutils "^3.7.0"
|
||||
regexpp "^3.0.0"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@typescript-eslint/experimental-utils@1.10.2":
|
||||
version "1.10.2"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.10.2.tgz#cd548c03fc1a2b3ba5c136d1599001a1ede24215"
|
||||
integrity sha512-Hf5lYcrnTH5Oc67SRrQUA7KuHErMvCf5RlZsyxXPIT6AXa8fKTyfFO6vaEnUmlz48RpbxO4f0fY3QtWkuHZNjg==
|
||||
"@typescript-eslint/experimental-utils@2.8.0":
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.8.0.tgz#208b4164d175587e9b03ce6fea97d55f19c30ca9"
|
||||
integrity sha512-jZ05E4SxCbbXseQGXOKf3ESKcsGxT8Ucpkp1jiVp55MGhOvZB2twmWKf894PAuVQTCgbPbJz9ZbRDqtUWzP8xA==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "1.10.2"
|
||||
eslint-scope "^4.0.0"
|
||||
"@types/json-schema" "^7.0.3"
|
||||
"@typescript-eslint/typescript-estree" "2.8.0"
|
||||
eslint-scope "^5.0.0"
|
||||
|
||||
"@typescript-eslint/parser@^1.7.0":
|
||||
version "1.10.2"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.10.2.tgz#36cfe8c6bf1b6c1dd81da56f88c8588f4b1a852b"
|
||||
integrity sha512-xWDWPfZfV0ENU17ermIUVEVSseBBJxKfqBcRCMZ8nAjJbfA5R7NWMZmFFHYnars5MjK4fPjhu4gwQv526oZIPQ==
|
||||
"@typescript-eslint/parser@^2.8.0":
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.8.0.tgz#e10f7c40c8cf2fb19920c879311e6c46ad17bacb"
|
||||
integrity sha512-NseXWzhkucq+JM2HgqAAoKEzGQMb5LuTRjFPLQzGIdLthXMNUfuiskbl7QSykvWW6mvzCtYbw1fYWGa2EIaekw==
|
||||
dependencies:
|
||||
"@types/eslint-visitor-keys" "^1.0.0"
|
||||
"@typescript-eslint/experimental-utils" "1.10.2"
|
||||
"@typescript-eslint/typescript-estree" "1.10.2"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
"@typescript-eslint/experimental-utils" "2.8.0"
|
||||
"@typescript-eslint/typescript-estree" "2.8.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
"@typescript-eslint/typescript-estree@1.10.2":
|
||||
version "1.10.2"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.10.2.tgz#8403585dd74b6cfb6f78aa98b6958de158b5897b"
|
||||
integrity sha512-Kutjz0i69qraOsWeI8ETqYJ07tRLvD9URmdrMoF10bG8y8ucLmPtSxROvVejWvlJUGl2et/plnMiKRDW+rhEhw==
|
||||
"@typescript-eslint/typescript-estree@2.8.0":
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.8.0.tgz#fcc3fe6532840085d29b75432c8a59895876aeca"
|
||||
integrity sha512-ksvjBDTdbAQ04cR5JyFSDX113k66FxH1tAXmi+dj6hufsl/G0eMc/f1GgLjEVPkYClDbRKv+rnBFuE5EusomUw==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
glob "^7.1.6"
|
||||
is-glob "^4.0.1"
|
||||
lodash.unescape "4.0.1"
|
||||
semver "5.5.0"
|
||||
semver "^6.3.0"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@vue/component-compiler-utils@^2.4.0":
|
||||
version "2.5.2"
|
||||
@ -1600,9 +1611,10 @@ acorn-globals@^4.1.0:
|
||||
acorn "^6.0.1"
|
||||
acorn-walk "^6.0.1"
|
||||
|
||||
acorn-jsx@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
|
||||
acorn-jsx@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
|
||||
integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
|
||||
|
||||
acorn-node@^1.3.0:
|
||||
version "1.7.0"
|
||||
@ -1629,15 +1641,16 @@ acorn@^6.0.1, acorn@^6.1.1:
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
|
||||
integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
|
||||
|
||||
acorn@^6.0.2, acorn@^6.0.7:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.0.tgz#b0a3be31752c97a0f7013c5f4903b71a05db6818"
|
||||
|
||||
acorn@^6.2.1:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
|
||||
integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==
|
||||
|
||||
acorn@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
|
||||
integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==
|
||||
|
||||
admin-lte@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/admin-lte/-/admin-lte-3.0.1.tgz#5d6768330868bdc8f424960f7eabc3f38af7a0f4"
|
||||
@ -1720,7 +1733,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
|
||||
resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
|
||||
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
|
||||
|
||||
ajv@^6.1.0, ajv@^6.10.2:
|
||||
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2:
|
||||
version "6.10.2"
|
||||
resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
|
||||
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
|
||||
@ -1763,7 +1776,7 @@ ansi-colors@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
|
||||
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
|
||||
|
||||
ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
|
||||
ansi-escapes@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
||||
|
||||
@ -1884,14 +1897,6 @@ array-from@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
|
||||
integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
|
||||
|
||||
array-includes@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
|
||||
integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=
|
||||
dependencies:
|
||||
define-properties "^1.1.2"
|
||||
es-abstract "^1.7.0"
|
||||
|
||||
array-union@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
||||
@ -2706,11 +2711,12 @@ class-utils@^0.3.5:
|
||||
isobject "^3.0.0"
|
||||
static-extend "^0.1.1"
|
||||
|
||||
cli-cursor@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
|
||||
cli-cursor@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
||||
integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
|
||||
dependencies:
|
||||
restore-cursor "^2.0.0"
|
||||
restore-cursor "^3.1.0"
|
||||
|
||||
cli-width@^2.0.0:
|
||||
version "2.2.0"
|
||||
@ -2924,11 +2930,6 @@ constants-browserify@^1.0.0:
|
||||
resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
|
||||
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
|
||||
|
||||
contains-path@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
|
||||
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
|
||||
|
||||
content-disposition@0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
|
||||
@ -3534,7 +3535,7 @@ debug@*:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
|
||||
@ -3746,14 +3747,6 @@ dns-txt@^2.0.2:
|
||||
dependencies:
|
||||
buffer-indexof "^1.0.0"
|
||||
|
||||
doctrine@1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
|
||||
integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
isarray "^1.0.0"
|
||||
|
||||
doctrine@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
|
||||
@ -3945,7 +3938,7 @@ errno@^0.1.3, errno@~0.1.7:
|
||||
dependencies:
|
||||
prr "~1.0.1"
|
||||
|
||||
error-ex@^1.2.0, error-ex@^1.3.1:
|
||||
error-ex@^1.3.1:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
|
||||
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
|
||||
@ -3968,7 +3961,7 @@ es-abstract@^1.12.0:
|
||||
string.prototype.trimleft "^2.0.0"
|
||||
string.prototype.trimright "^2.0.0"
|
||||
|
||||
es-abstract@^1.5.1, es-abstract@^1.7.0:
|
||||
es-abstract@^1.5.1:
|
||||
version "1.13.0"
|
||||
resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
|
||||
integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
|
||||
@ -4115,13 +4108,10 @@ escodegen@~1.9.0:
|
||||
optionalDependencies:
|
||||
source-map "~0.6.1"
|
||||
|
||||
eslint-config-gplane@^5.1.3:
|
||||
version "5.1.4"
|
||||
resolved "https://registry.npmjs.org/eslint-config-gplane/-/eslint-config-gplane-5.1.4.tgz#6200c516913bcc1fbf4410645b05440e99c93760"
|
||||
integrity sha512-TQ8iZcQGadgm//D5ryeqDbFRpHgiDqZHm/jFrRLQnC3CuWv723yMlhnd5nMbv2sCYPfpo1P5kMAWBRe4mYKFAw==
|
||||
dependencies:
|
||||
eslint-plugin-import "^2.16.0"
|
||||
eslint-plugin-node "^8.0.1"
|
||||
eslint-config-gplane@^6.2.1:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-gplane/-/eslint-config-gplane-6.2.1.tgz#ef64854427f83de2747e2b92aaf719ba138bcccb"
|
||||
integrity sha512-/OsRVL2fvfjNxqgGcmmcKVZifdFdyVZHt+nQg66lOIdLUvArmUjH29PHCccOZtcPWLfZKVfDqsoIERQgEDDtMw==
|
||||
|
||||
eslint-formatter-beauty@^3.0.0:
|
||||
version "3.0.0"
|
||||
@ -4133,67 +4123,14 @@ eslint-formatter-beauty@^3.0.0:
|
||||
code-excerpt "^2.1.1"
|
||||
log-symbols "^2.2.0"
|
||||
|
||||
eslint-import-resolver-node@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
|
||||
integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
|
||||
eslint-plugin-vue@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.0.1.tgz#166d3eb24cf290f3ff24d44fe9fca496f3924fc2"
|
||||
integrity sha512-5tgFPcxGDKjfVB/6Yi56bKiWxygUibfZmzSh26Np3kuwAk/lfaGbVld+Yt+MPgD84ppvcachtiL4/winsXLjXA==
|
||||
dependencies:
|
||||
debug "^2.6.9"
|
||||
resolve "^1.5.0"
|
||||
vue-eslint-parser "^6.0.5"
|
||||
|
||||
eslint-module-utils@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a"
|
||||
integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==
|
||||
dependencies:
|
||||
debug "^2.6.8"
|
||||
pkg-dir "^2.0.0"
|
||||
|
||||
eslint-plugin-es@^1.3.1:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6"
|
||||
integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw==
|
||||
dependencies:
|
||||
eslint-utils "^1.3.0"
|
||||
regexpp "^2.0.1"
|
||||
|
||||
eslint-plugin-import@^2.16.0:
|
||||
version "2.17.3"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189"
|
||||
integrity sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q==
|
||||
dependencies:
|
||||
array-includes "^3.0.3"
|
||||
contains-path "^0.1.0"
|
||||
debug "^2.6.9"
|
||||
doctrine "1.5.0"
|
||||
eslint-import-resolver-node "^0.3.2"
|
||||
eslint-module-utils "^2.4.0"
|
||||
has "^1.0.3"
|
||||
lodash "^4.17.11"
|
||||
minimatch "^3.0.4"
|
||||
read-pkg-up "^2.0.0"
|
||||
resolve "^1.11.0"
|
||||
|
||||
eslint-plugin-node@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz#55ae3560022863d141fa7a11799532340a685964"
|
||||
integrity sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==
|
||||
dependencies:
|
||||
eslint-plugin-es "^1.3.1"
|
||||
eslint-utils "^1.3.1"
|
||||
ignore "^5.0.2"
|
||||
minimatch "^3.0.4"
|
||||
resolve "^1.8.1"
|
||||
semver "^5.5.0"
|
||||
|
||||
eslint-plugin-vue@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.2.2.tgz#86601823b7721b70bc92d54f1728cfc03b36283c"
|
||||
integrity sha512-CtGWH7IB0DA6BZOwcV9w9q3Ri6Yuo8qMjx05SmOGJ6X6E0Yo3y9E/gQ5tuNxg2dEt30tRnBoFTbvtmW9iEoyHA==
|
||||
dependencies:
|
||||
vue-eslint-parser "^5.0.0"
|
||||
|
||||
eslint-scope@^4.0.0, eslint-scope@^4.0.3:
|
||||
eslint-scope@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
|
||||
integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
|
||||
@ -4201,74 +4138,82 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-utils@^1.3.0, eslint-utils@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
|
||||
integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
|
||||
eslint-scope@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
|
||||
integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
|
||||
dependencies:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-utils@^1.4.3:
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
|
||||
integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
eslint-visitor-keys@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
|
||||
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
|
||||
|
||||
eslint@^5.16.0:
|
||||
version "5.16.0"
|
||||
resolved "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
|
||||
integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==
|
||||
eslint-visitor-keys@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
|
||||
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
|
||||
|
||||
eslint@^6.7.1:
|
||||
version "6.7.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.7.1.tgz#269ccccec3ef60ab32358a44d147ac209154b919"
|
||||
integrity sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
ajv "^6.9.1"
|
||||
ajv "^6.10.0"
|
||||
chalk "^2.1.0"
|
||||
cross-spawn "^6.0.5"
|
||||
debug "^4.0.1"
|
||||
doctrine "^3.0.0"
|
||||
eslint-scope "^4.0.3"
|
||||
eslint-utils "^1.3.1"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
espree "^5.0.1"
|
||||
eslint-scope "^5.0.0"
|
||||
eslint-utils "^1.4.3"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
espree "^6.1.2"
|
||||
esquery "^1.0.1"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^5.0.1"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
glob "^7.1.2"
|
||||
globals "^11.7.0"
|
||||
glob-parent "^5.0.0"
|
||||
globals "^12.1.0"
|
||||
ignore "^4.0.6"
|
||||
import-fresh "^3.0.0"
|
||||
imurmurhash "^0.1.4"
|
||||
inquirer "^6.2.2"
|
||||
js-yaml "^3.13.0"
|
||||
inquirer "^7.0.0"
|
||||
is-glob "^4.0.0"
|
||||
js-yaml "^3.13.1"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
levn "^0.3.0"
|
||||
lodash "^4.17.11"
|
||||
lodash "^4.17.14"
|
||||
minimatch "^3.0.4"
|
||||
mkdirp "^0.5.1"
|
||||
natural-compare "^1.4.0"
|
||||
optionator "^0.8.2"
|
||||
path-is-inside "^1.0.2"
|
||||
optionator "^0.8.3"
|
||||
progress "^2.0.0"
|
||||
regexpp "^2.0.1"
|
||||
semver "^5.5.1"
|
||||
strip-ansi "^4.0.0"
|
||||
strip-json-comments "^2.0.1"
|
||||
semver "^6.1.2"
|
||||
strip-ansi "^5.2.0"
|
||||
strip-json-comments "^3.0.1"
|
||||
table "^5.2.3"
|
||||
text-table "^0.2.0"
|
||||
v8-compile-cache "^2.0.3"
|
||||
|
||||
espree@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f"
|
||||
integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==
|
||||
espree@^6.1.2:
|
||||
version "6.1.2"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d"
|
||||
integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==
|
||||
dependencies:
|
||||
acorn "^6.0.2"
|
||||
acorn-jsx "^5.0.0"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
|
||||
espree@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
|
||||
dependencies:
|
||||
acorn "^6.0.7"
|
||||
acorn-jsx "^5.0.0"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
acorn "^7.1.0"
|
||||
acorn-jsx "^5.1.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
esprima@^3.1.3:
|
||||
version "3.1.3"
|
||||
@ -4556,7 +4501,7 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
|
||||
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
|
||||
|
||||
fast-levenshtein@~2.0.4:
|
||||
fast-levenshtein@~2.0.4, fast-levenshtein@~2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
||||
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
|
||||
@ -4597,13 +4542,6 @@ figgy-pudding@^3.5.1:
|
||||
resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
|
||||
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
|
||||
|
||||
figures@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
|
||||
integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
|
||||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
figures@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9"
|
||||
@ -4680,13 +4618,6 @@ find-cache-dir@^3.0.0:
|
||||
make-dir "^3.0.0"
|
||||
pkg-dir "^4.1.0"
|
||||
|
||||
find-up@^2.0.0, find-up@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
|
||||
integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
|
||||
dependencies:
|
||||
locate-path "^2.0.0"
|
||||
|
||||
find-up@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
|
||||
@ -4976,6 +4907,18 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
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"
|
||||
|
||||
global-modules@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
|
||||
@ -5017,9 +4960,12 @@ globals@^11.1.0:
|
||||
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||
|
||||
globals@^11.7.0:
|
||||
version "11.7.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
|
||||
globals@^12.1.0:
|
||||
version "12.3.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13"
|
||||
integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==
|
||||
dependencies:
|
||||
type-fest "^0.8.1"
|
||||
|
||||
globby@^6.1.0:
|
||||
version "6.1.0"
|
||||
@ -5345,11 +5291,6 @@ ignore@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||
|
||||
ignore@^5.0.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz#e28e584d43ad7e92f96995019cc43b9e1ac49558"
|
||||
integrity sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==
|
||||
|
||||
imagesloaded@^4.1.4:
|
||||
version "4.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imagesloaded/-/imagesloaded-4.1.4.tgz#1376efcd162bb768c34c3727ac89cc04051f3cc7"
|
||||
@ -5445,22 +5386,23 @@ inputmask@^4.0.9:
|
||||
resolved "https://registry.yarnpkg.com/inputmask/-/inputmask-4.0.9.tgz#a60fc46cee52a35a0ba5f50b5cca3a6733ece18c"
|
||||
integrity sha512-EodaYhJKncXRBwvCE8YrRmAFmBJ6bWdgX4Qw8QSnK5GBDXE03jgpJhrS+a2N0v2Zsgp+OjKXy7qACktjYD83Uw==
|
||||
|
||||
inquirer@^6.2.2:
|
||||
version "6.2.2"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406"
|
||||
inquirer@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a"
|
||||
integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==
|
||||
dependencies:
|
||||
ansi-escapes "^3.2.0"
|
||||
ansi-escapes "^4.2.1"
|
||||
chalk "^2.4.2"
|
||||
cli-cursor "^2.1.0"
|
||||
cli-cursor "^3.1.0"
|
||||
cli-width "^2.0.0"
|
||||
external-editor "^3.0.3"
|
||||
figures "^2.0.0"
|
||||
lodash "^4.17.11"
|
||||
mute-stream "0.0.7"
|
||||
figures "^3.0.0"
|
||||
lodash "^4.17.15"
|
||||
mute-stream "0.0.8"
|
||||
run-async "^2.2.0"
|
||||
rxjs "^6.4.0"
|
||||
string-width "^2.1.0"
|
||||
strip-ansi "^5.0.0"
|
||||
string-width "^4.1.0"
|
||||
strip-ansi "^5.1.0"
|
||||
through "^2.3.6"
|
||||
|
||||
internal-ip@^4.3.0:
|
||||
@ -6305,14 +6247,6 @@ js-levenshtein@^1.1.3:
|
||||
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
js-yaml@^3.13.0:
|
||||
version "3.13.0"
|
||||
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e"
|
||||
integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^3.13.1:
|
||||
version "3.13.1"
|
||||
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||
@ -6540,16 +6474,6 @@ linebreak@^1.0.2:
|
||||
brfs "^2.0.2"
|
||||
unicode-trie "^1.0.0"
|
||||
|
||||
load-json-file@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
|
||||
integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
parse-json "^2.2.0"
|
||||
pify "^2.0.0"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
load-json-file@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
|
||||
@ -6574,14 +6498,6 @@ loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.
|
||||
emojis-list "^2.0.0"
|
||||
json5 "^1.0.1"
|
||||
|
||||
locate-path@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
|
||||
integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
|
||||
dependencies:
|
||||
p-locate "^2.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
locate-path@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
|
||||
@ -6652,7 +6568,7 @@ lodash.uniq@^4.5.0:
|
||||
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||
|
||||
lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.5:
|
||||
lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
@ -6879,14 +6795,9 @@ mime@^2.4.4:
|
||||
resolved "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
|
||||
integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
|
||||
|
||||
mimic-fn@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
||||
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
|
||||
|
||||
mimic-fn@^2.0.0:
|
||||
mimic-fn@^2.0.0, mimic-fn@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||
|
||||
mini-css-extract-plugin@^0.8.0:
|
||||
@ -7037,9 +6948,10 @@ multicast-dns@^6.0.1:
|
||||
dns-packet "^1.3.1"
|
||||
thunky "^1.0.2"
|
||||
|
||||
mute-stream@0.0.7:
|
||||
version "0.0.7"
|
||||
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
||||
mute-stream@0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
||||
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
|
||||
|
||||
nan@^2.12.1:
|
||||
version "2.14.0"
|
||||
@ -7422,11 +7334,12 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
onetime@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
|
||||
onetime@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
|
||||
integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
|
||||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
mimic-fn "^2.1.0"
|
||||
|
||||
opencollective-postinstall@2.0.2:
|
||||
version "2.0.2"
|
||||
@ -7456,7 +7369,7 @@ optimize-css-assets-webpack-plugin@^5.0.3:
|
||||
cssnano "^4.1.10"
|
||||
last-call-webpack-plugin "^3.0.0"
|
||||
|
||||
optionator@^0.8.1, optionator@^0.8.2:
|
||||
optionator@^0.8.1:
|
||||
version "0.8.2"
|
||||
resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
|
||||
dependencies:
|
||||
@ -7467,6 +7380,18 @@ optionator@^0.8.1, optionator@^0.8.2:
|
||||
type-check "~0.3.2"
|
||||
wordwrap "~1.0.0"
|
||||
|
||||
optionator@^0.8.3:
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
|
||||
integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
|
||||
dependencies:
|
||||
deep-is "~0.1.3"
|
||||
fast-levenshtein "~2.0.6"
|
||||
levn "~0.3.0"
|
||||
prelude-ls "~1.1.2"
|
||||
type-check "~0.3.2"
|
||||
word-wrap "~1.2.3"
|
||||
|
||||
original@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
|
||||
@ -7532,13 +7457,6 @@ p-is-promise@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
|
||||
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
|
||||
|
||||
p-limit@^1.1.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
|
||||
integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
|
||||
dependencies:
|
||||
p-try "^1.0.0"
|
||||
|
||||
p-limit@^2.0.0:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537"
|
||||
@ -7553,13 +7471,6 @@ p-limit@^2.2.0:
|
||||
dependencies:
|
||||
p-try "^2.0.0"
|
||||
|
||||
p-locate@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
|
||||
integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
|
||||
dependencies:
|
||||
p-limit "^1.1.0"
|
||||
|
||||
p-locate@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
|
||||
@ -7591,11 +7502,6 @@ p-retry@^3.0.1:
|
||||
dependencies:
|
||||
retry "^0.12.0"
|
||||
|
||||
p-try@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
|
||||
integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
|
||||
|
||||
p-try@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
@ -7638,13 +7544,6 @@ parse-asn1@^5.0.0:
|
||||
pbkdf2 "^3.0.3"
|
||||
safe-buffer "^5.1.1"
|
||||
|
||||
parse-json@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
|
||||
integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
|
||||
dependencies:
|
||||
error-ex "^1.2.0"
|
||||
|
||||
parse-json@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
|
||||
@ -7718,13 +7617,6 @@ path-to-regexp@0.1.7:
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
||||
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
|
||||
|
||||
path-type@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
|
||||
integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
|
||||
dependencies:
|
||||
pify "^2.0.0"
|
||||
|
||||
path-type@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
|
||||
@ -7807,13 +7699,6 @@ pirates@^4.0.1:
|
||||
dependencies:
|
||||
node-modules-regexp "^1.0.0"
|
||||
|
||||
pkg-dir@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
|
||||
integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
|
||||
dependencies:
|
||||
find-up "^2.1.0"
|
||||
|
||||
pkg-dir@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
|
||||
@ -8468,14 +8353,6 @@ react-is@^16.8.4:
|
||||
resolved "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
|
||||
integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
|
||||
|
||||
read-pkg-up@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
|
||||
integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
|
||||
dependencies:
|
||||
find-up "^2.0.0"
|
||||
read-pkg "^2.0.0"
|
||||
|
||||
read-pkg-up@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
|
||||
@ -8484,15 +8361,6 @@ read-pkg-up@^4.0.0:
|
||||
find-up "^3.0.0"
|
||||
read-pkg "^3.0.0"
|
||||
|
||||
read-pkg@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
|
||||
integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
|
||||
dependencies:
|
||||
load-json-file "^2.0.0"
|
||||
normalize-package-data "^2.3.2"
|
||||
path-type "^2.0.0"
|
||||
|
||||
read-pkg@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
|
||||
@ -8596,6 +8464,11 @@ regexpp@^2.0.1:
|
||||
resolved "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
|
||||
integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
|
||||
|
||||
regexpp@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e"
|
||||
integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==
|
||||
|
||||
regexpu-core@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6"
|
||||
@ -8753,18 +8626,19 @@ resolve@^1.1.5, resolve@^1.12.0:
|
||||
dependencies:
|
||||
path-parse "^1.0.6"
|
||||
|
||||
resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
|
||||
resolve@^1.3.2, resolve@^1.8.1:
|
||||
version "1.11.0"
|
||||
resolved "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
|
||||
integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==
|
||||
dependencies:
|
||||
path-parse "^1.0.6"
|
||||
|
||||
restore-cursor@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
|
||||
restore-cursor@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
||||
integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
|
||||
dependencies:
|
||||
onetime "^2.0.0"
|
||||
onetime "^5.1.0"
|
||||
signal-exit "^3.0.2"
|
||||
|
||||
restructure@^0.5.3:
|
||||
@ -8964,11 +8838,6 @@ selfsigned@^1.10.7:
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
|
||||
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
|
||||
|
||||
semver@5.5.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||
integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
|
||||
|
||||
semver@^5.3.0, semver@^5.6.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
@ -8988,7 +8857,7 @@ semver@^6.0.0:
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
|
||||
integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==
|
||||
|
||||
semver@^6.1.1, semver@^6.2.0, semver@^6.3.0:
|
||||
semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
@ -9485,7 +9354,7 @@ string-width@^1.0.1:
|
||||
is-fullwidth-code-point "^1.0.0"
|
||||
strip-ansi "^3.0.0"
|
||||
|
||||
"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
|
||||
"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
|
||||
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
|
||||
@ -9571,7 +9440,12 @@ strip-eof@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||
|
||||
strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
|
||||
strip-json-comments@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
|
||||
integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
|
||||
|
||||
strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
|
||||
@ -9915,10 +9789,10 @@ tslib@^1.8.1, tslib@^1.9.0:
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
||||
|
||||
tsutils@^3.7.0:
|
||||
version "3.14.0"
|
||||
resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77"
|
||||
integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==
|
||||
tsutils@^3.17.1:
|
||||
version "3.17.1"
|
||||
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
|
||||
integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
|
||||
dependencies:
|
||||
tslib "^1.8.1"
|
||||
|
||||
@ -9951,6 +9825,11 @@ type-fest@^0.5.2:
|
||||
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
|
||||
integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==
|
||||
|
||||
type-fest@^0.8.1:
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
|
||||
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
|
||||
|
||||
type-is@~1.6.17, type-is@~1.6.18:
|
||||
version "1.6.18"
|
||||
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
|
||||
@ -10192,6 +10071,11 @@ v8-compile-cache@2.0.3:
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
|
||||
integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==
|
||||
|
||||
v8-compile-cache@^2.0.3:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
|
||||
integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
|
||||
|
||||
validate-npm-package-license@^3.0.1:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
|
||||
@ -10229,17 +10113,17 @@ vm-browserify@^1.0.1:
|
||||
resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
|
||||
integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
|
||||
|
||||
vue-eslint-parser@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz#00f4e4da94ec974b821a26ff0ed0f7a78402b8a1"
|
||||
integrity sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==
|
||||
vue-eslint-parser@^6.0.5, vue-eslint-parser@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6"
|
||||
integrity sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g==
|
||||
dependencies:
|
||||
debug "^4.1.0"
|
||||
eslint-scope "^4.0.0"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
espree "^4.1.0"
|
||||
debug "^4.1.1"
|
||||
eslint-scope "^5.0.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
espree "^6.1.2"
|
||||
esquery "^1.0.1"
|
||||
lodash "^4.17.11"
|
||||
lodash "^4.17.15"
|
||||
|
||||
vue-good-table@^2.18.1:
|
||||
version "2.18.1"
|
||||
@ -10568,6 +10452,11 @@ wide-align@^1.1.0:
|
||||
dependencies:
|
||||
string-width "^1.0.2 || 2"
|
||||
|
||||
word-wrap@~1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||
|
||||
wordwrap@~0.0.2:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
|
||||
|
Loading…
Reference in New Issue
Block a user