mirror of
https://github.com/freqtrade/frequi.git
synced 2024-11-10 10:21:55 +00:00
commit
3cd96a09cd
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -24,4 +24,4 @@ jobs:
|
|||
|
||||
- name: Run Lint
|
||||
run: |
|
||||
npm run lint-ci
|
||||
yarn lint-ci
|
||||
|
|
10
README.md
10
README.md
|
@ -13,25 +13,25 @@ It will require Freqtrade to be running on the same host with the API enabled un
|
|||
### Project setup
|
||||
|
||||
```
|
||||
npm install
|
||||
yarn install
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
|
||||
```
|
||||
npm run serve
|
||||
yarn serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
|
||||
```
|
||||
npm run build
|
||||
yarn build
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
|
||||
```
|
||||
npm run lint
|
||||
yarn lint
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
|
@ -76,4 +76,4 @@ View > Command palette > Enter: Remote-Containers rebuild container
|
|||
yarn serve
|
||||
```
|
||||
|
||||
You now have useful vscode extentions, git support, your command history of the project.
|
||||
You now have useful vscode extentions, git support, your command history of the project.
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"bootstrap-vue": "^2.14.0",
|
||||
"bootswatch": "^4.5.0",
|
||||
"core-js": "^3.6.4",
|
||||
"moment": "^2.26.0",
|
||||
"vue": "^2.6.11",
|
||||
"vue-router": "^3.2.0",
|
||||
"vuex": "^3.4.0"
|
||||
|
|
55
src/components/ftbot/TradeDetail.vue
Normal file
55
src/components/ftbot/TradeDetail.vue
Normal file
|
@ -0,0 +1,55 @@
|
|||
<template>
|
||||
<b-card header="Trade detail">
|
||||
<ValuePair description="TradeId">{{ trade.trade_id }}</ValuePair>
|
||||
<ValuePair description="Pair">{{ trade.pair }}</ValuePair>
|
||||
<ValuePair description="Stoploss">
|
||||
{{ formatPercent(trade.stop_loss_pct / 100) }} |
|
||||
{{ formatPrice(trade.stop_loss) }}
|
||||
</ValuePair>
|
||||
<ValuePair description="Initial Stoploss">
|
||||
{{ formatPercent(trade.initial_stop_loss_pct / 100) }} |
|
||||
{{ formatPrice(trade.initial_stop_loss) }}
|
||||
</ValuePair>
|
||||
<ValuePair description="Current stoploss dist">
|
||||
{{ formatPercent(trade.stoploss_current_dist_ratio) }} |
|
||||
{{ formatPrice(trade.stoploss_current_dist) }}
|
||||
</ValuePair>
|
||||
<ValuePair description="Open Rate">{{ trade.open_rate }}</ValuePair>
|
||||
<ValuePair description="Close Rate" v-if="!trade.is_open">{{ trade.close_rate }}</ValuePair>
|
||||
<ValuePair description="Min Rate">{{ trade.min_rate }}</ValuePair>
|
||||
<ValuePair description="Max Rate">{{ trade.max_rate }}</ValuePair>
|
||||
<ValuePair description="Open date">{{ timestampms(trade.open_timestamp) }}</ValuePair>
|
||||
<ValuePair description="Close date" v-if="trade.close_timestamp">
|
||||
{{ timestampms(trade.close_timestamp) }}
|
||||
</ValuePair>
|
||||
<ValuePair description="Stoploss last updated">
|
||||
{{ timestampms(trade.stoploss_last_update_timestamp) }}
|
||||
</ValuePair>
|
||||
<ValuePair description="Current profit" v-if="trade.current_profit_abs">
|
||||
{{ trade.current_profit_abs }}
|
||||
</ValuePair>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { formatPercent, formatPrice, timestampms } from '@/shared/formatters';
|
||||
import ValuePair from '@/components/ftbot/ValuePair.vue';
|
||||
|
||||
export default {
|
||||
name: 'TradeDetail',
|
||||
props: {
|
||||
trade: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
components: { ValuePair },
|
||||
methods: {
|
||||
formatPercent,
|
||||
formatPrice,
|
||||
timestampms,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
</style>
|
|
@ -1,7 +1,6 @@
|
|||
<template>
|
||||
<div class="card">
|
||||
<div class="card-header">{{ title }}</div>
|
||||
<div class="card-body">
|
||||
<b-card :header="title" no-body>
|
||||
<b-card-body>
|
||||
<b-table
|
||||
class="table-sm"
|
||||
:items="trades"
|
||||
|
@ -14,6 +13,7 @@
|
|||
<b-button size="sm" @click="forcesellHandler(row.item, row.index, $event.target)">
|
||||
Forcesell
|
||||
</b-button>
|
||||
<b-button size="sm" @click="showDetails(row.item)">D</b-button>
|
||||
</template>
|
||||
<template v-slot:cell(pair)="row">
|
||||
<span class="mr-1" v-html="profitSymbol(row.item)"></span>
|
||||
|
@ -22,12 +22,13 @@
|
|||
</span>
|
||||
</template>
|
||||
</b-table>
|
||||
</div>
|
||||
</div>
|
||||
</b-card-body>
|
||||
</b-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapActions } from 'vuex';
|
||||
import { mapActions, mapMutations, mapGetters, mapState } from 'vuex';
|
||||
import { formatPercent } from '@/shared/formatters';
|
||||
|
||||
export default {
|
||||
name: 'TradeList',
|
||||
|
@ -52,6 +53,10 @@ export default {
|
|||
default: 'No Trades to show.',
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('ftbot', ['openTradeDetail']),
|
||||
...mapState('ftbot', ['detailTradeId']),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
table_fields: [
|
||||
|
@ -77,9 +82,9 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
...mapActions('ftbot', ['forcesell']),
|
||||
formatPercent(value) {
|
||||
return `${(value * 100).toFixed(3)}%`;
|
||||
},
|
||||
...mapMutations('ftbot', ['setDetailTrade']),
|
||||
|
||||
formatPercent,
|
||||
profitSymbol(item) {
|
||||
// Red arrow / green circle
|
||||
return item.close_profit < 0 || item.current_profit < 0 ? `🔴` : `🟢`;
|
||||
|
@ -98,6 +103,13 @@ export default {
|
|||
// log the selected item to the console
|
||||
console.log(item);
|
||||
},
|
||||
showDetails(trade) {
|
||||
if (this.detailTradeId === trade.trade_id) {
|
||||
this.setDetailTrade(null);
|
||||
} else {
|
||||
this.setDetailTrade(trade);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
29
src/components/ftbot/ValuePair.vue
Normal file
29
src/components/ftbot/ValuePair.vue
Normal file
|
@ -0,0 +1,29 @@
|
|||
<template>
|
||||
<div class="row">
|
||||
<label class="col-4">{{ description }}</label>
|
||||
<div class="col-8">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ValuePair',
|
||||
props: {
|
||||
description: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
label {
|
||||
font-weight: bold;
|
||||
}
|
||||
.row {
|
||||
max-width: 50em;
|
||||
}
|
||||
</style>
|
19
src/shared/formatters.js
Normal file
19
src/shared/formatters.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
import moment from 'moment';
|
||||
|
||||
export function formatPercent(value) {
|
||||
return value ? `${(value * 100).toFixed(3)}%` : '';
|
||||
}
|
||||
|
||||
export function formatPrice(value) {
|
||||
return value ? value.toFixed(8) : '';
|
||||
}
|
||||
|
||||
export function timestampms(ts) {
|
||||
return moment(ts).format('YYYY-MM-DD hh:mm:ss');
|
||||
}
|
||||
|
||||
export default {
|
||||
formatPrice,
|
||||
formatPercent,
|
||||
timestampms,
|
||||
};
|
|
@ -15,12 +15,17 @@ export default {
|
|||
balance: {},
|
||||
dailyStats: [],
|
||||
pairlistMethods: [],
|
||||
detailTradeId: null,
|
||||
},
|
||||
getters: {
|
||||
openTrades(state) {
|
||||
return state.openTrades;
|
||||
// return state.trades.filter((item) => item.is_open);
|
||||
},
|
||||
openTradeDetail(state) {
|
||||
const [dTrade] = state.openTrades.filter((item) => item.trade_id === state.detailTradeId);
|
||||
return dTrade;
|
||||
},
|
||||
closedtrades(state) {
|
||||
return state.trades.filter((item) => !item.is_open);
|
||||
},
|
||||
|
@ -58,6 +63,9 @@ export default {
|
|||
updateVersion(state, version) {
|
||||
state.version = version.version;
|
||||
},
|
||||
setDetailTrade(state, trade) {
|
||||
state.detailTradeId = trade ? trade.trade_id : null;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
ping({ commit }) {
|
||||
|
|
|
@ -58,7 +58,9 @@
|
|||
:trades="closedtrades"
|
||||
title="Trade history"
|
||||
emptyText="No closed trades so far."
|
||||
v-if="!detailTradeId"
|
||||
/>
|
||||
<TradeDetail v-if="detailTradeId" :trade="openTradeDetail"></TradeDetail>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,6 +78,7 @@ import BotStatus from '@/components/ftbot/BotStatus.vue';
|
|||
import Balance from '@/components/ftbot/Balance.vue';
|
||||
import DailyStats from '@/components/ftbot/DailyStats.vue';
|
||||
import FTBotAPIPairList from '@/components/ftbot/FTBotAPIPairList.vue';
|
||||
import TradeDetail from '@/components/ftbot/TradeDetail.vue';
|
||||
|
||||
export default {
|
||||
name: 'Trade',
|
||||
|
@ -87,6 +90,7 @@ export default {
|
|||
Balance,
|
||||
DailyStats,
|
||||
FTBotAPIPairList,
|
||||
TradeDetail,
|
||||
},
|
||||
created() {
|
||||
this.refreshOnce();
|
||||
|
@ -100,8 +104,8 @@ export default {
|
|||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('ftbot', ['open_trades']),
|
||||
...mapGetters('ftbot', ['openTrades', 'closedtrades']),
|
||||
...mapState('ftbot', ['open_trades', 'detailTradeId']),
|
||||
...mapGetters('ftbot', ['openTrades', 'closedtrades', 'openTradeDetail']),
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['refreshSlow', 'refreshFrequent', 'refreshAll', 'refreshOnce']),
|
||||
|
|
117
yarn.lock
117
yarn.lock
|
@ -903,26 +903,20 @@
|
|||
string-width "^2.0.0"
|
||||
|
||||
"@soda/get-current-script@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.0.tgz#623aa40623550e3b94767cffeb096a6fb597ed09"
|
||||
integrity sha512-9GvTek+7cVw7r+L7TNGOG1astZJWXz2h5q4BqMXl28KN+24iSCm1xo+RhZOZvwdT3bzNe9hD7riJc/lBoO7mgg==
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.1.tgz#f4afffcb36e069a801d5339c90499601c47a2516"
|
||||
integrity sha512-zeOomWIE52M9JpYXlsR3iOf7TXTTmNQHnSbqjMsQZ5phzfAenHzL/1+vQ0ZoJfagocK11LNf8vnn2JG0ufRMUQ==
|
||||
|
||||
"@types/color-name@^1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
||||
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
|
||||
|
||||
"@types/events@*":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
|
||||
integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
|
||||
|
||||
"@types/glob@^7.1.1":
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
|
||||
integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.2.tgz#06ca26521353a545d94a0adc74f38a59d232c987"
|
||||
integrity sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==
|
||||
dependencies:
|
||||
"@types/events" "*"
|
||||
"@types/minimatch" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
|
@ -931,15 +925,20 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
|
||||
integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
|
||||
|
||||
"@types/json5@^0.0.29":
|
||||
version "0.0.29"
|
||||
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
|
||||
|
||||
"@types/minimatch@*":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||
|
||||
"@types/node@*":
|
||||
version "14.0.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.10.tgz#dbfaa170bd9eafccccb6d7060743a761b0844afd"
|
||||
integrity sha512-Bz23oN/5bi0rniKT24ExLf4cK0JdvN3dH/3k0whYkdN4eI4vS2ZW/2ENNn2uxHCzWcbdHIa/GRuWQytfzCjRYw==
|
||||
version "14.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz#61d4886e2424da73b7b25547f59fdcb534c165a3"
|
||||
integrity sha512-lCvvI24L21ZVeIiyIUHZ5Oflv1hhHQ5E1S25IRlKIXaRkVgmXpJMI3wUJkmym2bTbCe+WoIibQnMVAU3FguaOg==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0":
|
||||
version "2.4.0"
|
||||
|
@ -1542,7 +1541,7 @@ array-flatten@^2.1.0:
|
|||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
|
||||
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
|
||||
|
||||
array-includes@^3.0.3:
|
||||
array-includes@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
|
||||
integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
|
||||
|
@ -1568,7 +1567,7 @@ array-unique@^0.3.2:
|
|||
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
|
||||
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
|
||||
|
||||
array.prototype.flat@^1.2.1:
|
||||
array.prototype.flat@^1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
|
||||
integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
|
||||
|
@ -2119,9 +2118,9 @@ caniuse-api@^3.0.0:
|
|||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061:
|
||||
version "1.0.30001077"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001077.tgz#5d7da6a120b08d9f4fd94823786ecb454aaa5626"
|
||||
integrity sha512-AEzsGvjBJL0lby/87W96PyEvwN0GsYvk5LHsglLg9tW37K4BqvAvoSCdWIE13OZQ8afupqZ73+oL/1LkedN8hA==
|
||||
version "1.0.30001079"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz#ed3e5225cd9a6850984fdd88bf24ce45d69b9c22"
|
||||
integrity sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==
|
||||
|
||||
case-sensitive-paths-webpack-plugin@^2.3.0:
|
||||
version "2.3.0"
|
||||
|
@ -3164,9 +3163,9 @@ ejs@^2.6.1:
|
|||
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
|
||||
|
||||
electron-to-chromium@^1.3.413:
|
||||
version "1.3.459"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.459.tgz#49a43d78f60b5bf42312b636f3af43c695e0c652"
|
||||
integrity sha512-aN3Z89qEYIwVjzGi9SrcTjjopRZ3STUA6xTufS0fxZy8xOO2iqVw8rYKdT32CHgOKHOYj5KGmz3n6xUKE4QJiQ==
|
||||
version "1.3.464"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.464.tgz#fe13feaa08f6f865d3c89d5d72e54c194f463aa5"
|
||||
integrity sha512-Oo+0+CN9d2z6FToQW6Hwvi9ez09Y/usKwr0tsDsyg43a871zVJCi1nR0v03djLbRNcaCKjtrnVf2XJhTxEpPCg==
|
||||
|
||||
elliptic@^6.0.0, elliptic@^6.5.2:
|
||||
version "6.5.2"
|
||||
|
@ -3323,7 +3322,7 @@ eslint-config-prettier@^6.11.0:
|
|||
dependencies:
|
||||
get-stdin "^6.0.0"
|
||||
|
||||
eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.3:
|
||||
eslint-import-resolver-node@^0.3.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404"
|
||||
integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==
|
||||
|
@ -3358,7 +3357,7 @@ eslint-loader@^2.2.1:
|
|||
object-hash "^1.1.4"
|
||||
rimraf "^2.6.1"
|
||||
|
||||
eslint-module-utils@^2.4.1:
|
||||
eslint-module-utils@^2.6.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
|
||||
integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
|
||||
|
@ -3367,22 +3366,23 @@ eslint-module-utils@^2.4.1:
|
|||
pkg-dir "^2.0.0"
|
||||
|
||||
eslint-plugin-import@^2.18.2:
|
||||
version "2.20.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz#91fc3807ce08be4837141272c8b99073906e588d"
|
||||
integrity sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==
|
||||
version "2.21.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.1.tgz#3398318e5e4abbd23395c4964ce61538705154c8"
|
||||
integrity sha512-qYOOsgUv63vHof7BqbzuD+Ud34bXHxFJxntuAC1ZappFZXYbRIek3aJ7jc9i2dHDGDyZ/0zlO0cpioES265Lsw==
|
||||
dependencies:
|
||||
array-includes "^3.0.3"
|
||||
array.prototype.flat "^1.2.1"
|
||||
array-includes "^3.1.1"
|
||||
array.prototype.flat "^1.2.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.1"
|
||||
eslint-import-resolver-node "^0.3.3"
|
||||
eslint-module-utils "^2.6.0"
|
||||
has "^1.0.3"
|
||||
minimatch "^3.0.4"
|
||||
object.values "^1.1.0"
|
||||
object.values "^1.1.1"
|
||||
read-pkg-up "^2.0.0"
|
||||
resolve "^1.12.0"
|
||||
resolve "^1.17.0"
|
||||
tsconfig-paths "^3.9.0"
|
||||
|
||||
eslint-plugin-prettier-vue@^2.1.0:
|
||||
version "2.1.0"
|
||||
|
@ -3420,9 +3420,9 @@ eslint-scope@^4.0.3:
|
|||
estraverse "^4.1.1"
|
||||
|
||||
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==
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
|
||||
integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
|
||||
dependencies:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
@ -3435,9 +3435,9 @@ eslint-utils@^1.4.3:
|
|||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
eslint-visitor-keys@^1.0.0, 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==
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa"
|
||||
integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==
|
||||
|
||||
eslint@^6.7.2:
|
||||
version "6.8.0"
|
||||
|
@ -3705,9 +3705,9 @@ extsprintf@^1.2.0:
|
|||
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
|
||||
|
||||
fast-deep-equal@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
|
||||
integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
|
||||
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
||||
|
||||
fast-diff@^1.1.2:
|
||||
version "1.2.0"
|
||||
|
@ -5498,6 +5498,11 @@ mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1:
|
|||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
moment@^2.26.0:
|
||||
version "2.26.0"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"
|
||||
integrity sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==
|
||||
|
||||
move-concurrently@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
|
||||
|
@ -5815,7 +5820,7 @@ object.pick@^1.3.0:
|
|||
dependencies:
|
||||
isobject "^3.0.1"
|
||||
|
||||
object.values@^1.1.0:
|
||||
object.values@^1.1.0, object.values@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
|
||||
integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
|
||||
|
@ -6156,9 +6161,9 @@ path-type@^3.0.0:
|
|||
pify "^3.0.0"
|
||||
|
||||
pbkdf2@^3.0.3:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.0.tgz#8839d778223e922164803a411dc62fddb57d3b02"
|
||||
integrity sha512-wHMFZ6HTLGlB9f/WsQBs5OwMQJoLXYuJUzbA+j+hRBf7+Y8KcXpatzIviIcTy1OAyhWQp08nyiPO8Dnv0z4Sww==
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
|
||||
integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
|
||||
dependencies:
|
||||
create-hash "^1.1.2"
|
||||
create-hmac "^1.1.4"
|
||||
|
@ -6880,9 +6885,9 @@ regenerate-unicode-properties@^8.2.0:
|
|||
regenerate "^1.4.0"
|
||||
|
||||
regenerate@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
|
||||
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f"
|
||||
integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==
|
||||
|
||||
regenerator-runtime@^0.13.4:
|
||||
version "0.13.5"
|
||||
|
@ -7052,7 +7057,7 @@ resolve-url@^0.2.1:
|
|||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.8.1:
|
||||
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
|
||||
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
|
||||
|
@ -8018,6 +8023,16 @@ ts-pnp@^1.1.6:
|
|||
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
|
||||
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
|
||||
|
||||
tsconfig-paths@^3.9.0:
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
|
||||
integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
|
||||
dependencies:
|
||||
"@types/json5" "^0.0.29"
|
||||
json5 "^1.0.1"
|
||||
minimist "^1.2.0"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@^1.9.0:
|
||||
version "1.13.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
|
||||
|
|
Loading…
Reference in New Issue
Block a user