mirror of
https://github.com/tcgdex/compiler.git
synced 2025-04-22 10:42:09 +00:00
Update in progress
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
This commit is contained in:
parent
557dad7e33
commit
1e4a9ba9d1
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,7 +1,7 @@
|
|||||||
[submodule "db"]
|
[submodule "db"]
|
||||||
path = db
|
path = db
|
||||||
url = https://git.delta-wings.net/tcgdex/db.git
|
url = https://github.com/tcgdex/cards-database.git
|
||||||
|
|
||||||
[submodule "dist"]
|
[submodule "dist"]
|
||||||
path = dist
|
path = dist
|
||||||
url = https://git.delta-wings.net/tcgdex/compiled.git
|
url = https://github.com/tcgdex/distribution.git
|
||||||
|
14
all.ts
14
all.ts
@ -1,3 +1,6 @@
|
|||||||
|
import Logger from '@dzeio/logger'
|
||||||
|
const logger = new Logger('Compiler')
|
||||||
|
|
||||||
import cardIndex from './endpoints/cards/index'
|
import cardIndex from './endpoints/cards/index'
|
||||||
import cardItem from './endpoints/cards/item'
|
import cardItem from './endpoints/cards/item'
|
||||||
|
|
||||||
@ -31,14 +34,18 @@ import typesItem from './endpoints/types/item'
|
|||||||
|
|
||||||
import tagsIndex from './endpoints/tags/index'
|
import tagsIndex from './endpoints/tags/index'
|
||||||
import tagsItem from './endpoints/tags/item'
|
import tagsItem from './endpoints/tags/item'
|
||||||
|
import { fetchRemoteFile } from './endpoints/util'
|
||||||
|
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.log('Preparing Database Update')
|
logger.log('Preparing Database Update')
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
illustratorsDB()
|
illustratorsDB(),
|
||||||
|
fetchRemoteFile('https://assets.tcgdex.net/data-en.json'),
|
||||||
|
fetchRemoteFile('https://assets.tcgdex.net/data-fr.json'),
|
||||||
|
fetchRemoteFile('https://assets.tcgdex.net/data-univ.json')
|
||||||
])
|
])
|
||||||
console.log('UPDATING...')
|
logger.log('UPDATING...')
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
cardIndex(),
|
cardIndex(),
|
||||||
cardItem(),
|
cardItem(),
|
||||||
@ -73,4 +80,5 @@ import tagsItem from './endpoints/tags/item'
|
|||||||
tagsIndex(),
|
tagsIndex(),
|
||||||
tagsItem(),
|
tagsItem(),
|
||||||
])
|
])
|
||||||
|
process.exit(0)
|
||||||
})()
|
})()
|
||||||
|
2
db
2
db
@ -1 +1 @@
|
|||||||
Subproject commit f6b9eafec4e9bfc0f5cd3f7a4eedfb844bf9fbe2
|
Subproject commit fc5cd3aba3500b19222ce5bf185ca4a8361d601d
|
@ -6,18 +6,33 @@ import { tagToTagSimple } from "./TagUtil";
|
|||||||
import Category from "@tcgdex/sdk/interfaces/Category";
|
import Category from "@tcgdex/sdk/interfaces/Category";
|
||||||
import { attackToAttackSingle } from "./attackUtil";
|
import { attackToAttackSingle } from "./attackUtil";
|
||||||
import { abilityToAbilitySingle } from "./abilityUtil";
|
import { abilityToAbilitySingle } from "./abilityUtil";
|
||||||
import { getExpansion } from "./expansionUtil";
|
import { getExpansion, getExpansionFromSetName } from "./expansionUtil";
|
||||||
import { getSet } from "./setUtil";
|
import { getSet } from "./setUtil";
|
||||||
import Expansion from "@tcgdex/sdk/interfaces/Expansion";
|
import Expansion from "@tcgdex/sdk/interfaces/Expansion";
|
||||||
import { fetchIllustratorsSync } from "./illustratorUtil";
|
import { fetchIllustratorsSync } from "./illustratorUtil";
|
||||||
import TranslationUtil from "@tcgdex/sdk/TranslationUtil";
|
import TranslationUtil from "@tcgdex/sdk/TranslationUtil";
|
||||||
|
import { fetchRemoteFile } from "./util";
|
||||||
|
|
||||||
|
interface ObjectList<T = any> {
|
||||||
|
[key: string]: T
|
||||||
|
}
|
||||||
|
|
||||||
|
type RemoteData = ObjectList<ObjectList<ObjectList<boolean>>>
|
||||||
|
|
||||||
|
export async function cardToCardSimple(card: Card, lang: Langs): Promise<CardSimple> {
|
||||||
|
let image: string = undefined
|
||||||
|
const file: RemoteData = await fetchRemoteFile(`https://assets.tcgdex.net/data-${lang}.json`)
|
||||||
|
const expansion = getExpansionFromSetName(card.set.code)
|
||||||
|
if (file[expansion.code] && file[expansion.code][card.set.code] && file[expansion.code][card.set.code][card.localId]) {
|
||||||
|
const basePath = `https://assets.tcgdex.net/${lang}/${expansion.code}/${card.set.code}/${card.localId}`
|
||||||
|
image = `${basePath}/low`
|
||||||
|
}
|
||||||
|
|
||||||
export function cardToCardSimple(card: Card, lang: Langs): CardSimple {
|
|
||||||
return {
|
return {
|
||||||
id: card.id,
|
id: card.id,
|
||||||
localId: card.localId,
|
localId: card.localId,
|
||||||
name: card.name[lang],
|
name: card.name[lang],
|
||||||
image: card.image && card.image.low[lang]
|
image
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,14 +40,21 @@ export function getCardExpansion(card: Card): Expansion {
|
|||||||
return getExpansion(getSet(card))
|
return getExpansion(getSet(card))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function cardToCardSingle(card: Card, lang: Langs): CardSingle {
|
export async function cardToCardSingle(card: Card, lang: Langs): Promise<CardSingle> {
|
||||||
|
|
||||||
const images: {
|
let images: {
|
||||||
low: string,
|
low: string;
|
||||||
high?: string
|
high?: string;
|
||||||
} = card.image && {
|
} = undefined
|
||||||
low: card.image.low[lang],
|
|
||||||
high: card.image.high && card.image.high[lang]
|
const file: RemoteData = await fetchRemoteFile(`https://assets.tcgdex.net/data-${lang}.json`)
|
||||||
|
const expansion = getExpansionFromSetName(card.set.code)
|
||||||
|
if (file[expansion.code] && file[expansion.code][card.set.code] && file[expansion.code][card.set.code][card.localId]) {
|
||||||
|
const basePath = `https://assets.tcgdex.net/${lang}/${expansion.code}/${card.set.code}/${card.localId}`
|
||||||
|
images = {
|
||||||
|
low: `${basePath}/low`,
|
||||||
|
high: `${basePath}/high`
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -19,7 +19,7 @@ export default async () => {
|
|||||||
|
|
||||||
if (!isCardAvailable(card, lang)) continue
|
if (!isCardAvailable(card, lang)) continue
|
||||||
items.push(
|
items.push(
|
||||||
cardToCardSimple(card, lang)
|
await cardToCardSimple(card, lang)
|
||||||
)
|
)
|
||||||
|
|
||||||
// if (if (typeof card.set.availability === "undefined"))
|
// if (if (typeof card.set.availability === "undefined"))
|
||||||
|
@ -17,8 +17,12 @@ export default async () => {
|
|||||||
|
|
||||||
if (!isCardAvailable(card, lang)) continue
|
if (!isCardAvailable(card, lang)) continue
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${card.id}/`, {recursive: true})
|
try {
|
||||||
await fs.writeFile(`${endpoint}/${card.id}/index.json`, JSON.stringify(cardToCardSingle(card, lang)))
|
await fs.mkdir(`${endpoint}/${encodeURI(card.id)}/`, {recursive: true})
|
||||||
|
await fs.writeFile(`${endpoint}/${encodeURI(card.id)}/index.json`, JSON.stringify(await cardToCardSingle(card, lang)))
|
||||||
|
} catch {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// if (if (typeof card.set.availability === "undefined"))
|
// if (if (typeof card.set.availability === "undefined"))
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,15 @@ import Category, { CategorySimple, CategoryList } from '@tcgdex/sdk/interfaces/C
|
|||||||
import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
||||||
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
||||||
import { promises as fs } from 'fs'
|
import { promises as fs } from 'fs'
|
||||||
|
import Logger from '@dzeio/logger'
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
const endpoint = getBaseFolder(lang, "categories")
|
const endpoint = getBaseFolder(lang, "categories")
|
||||||
|
|
||||||
|
const logger = new Logger('Category/Index')
|
||||||
|
|
||||||
export default async () => {
|
export default async () => {
|
||||||
console.log(endpoint)
|
logger.log(endpoint)
|
||||||
|
|
||||||
const list: Array<CategorySimple> = []
|
const list: Array<CategorySimple> = []
|
||||||
for (const cat of Object.values(Category)) {
|
for (const cat of Object.values(Category)) {
|
||||||
@ -26,5 +29,5 @@ export default async () => {
|
|||||||
|
|
||||||
await fs.mkdir(endpoint, {recursive: true})
|
await fs.mkdir(endpoint, {recursive: true})
|
||||||
await fs.writeFile(`${endpoint}/index.json`, JSON.stringify(res))
|
await fs.writeFile(`${endpoint}/index.json`, JSON.stringify(res))
|
||||||
console.log('ended ' + endpoint)
|
logger.log('ended')
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ export default async () => {
|
|||||||
const toSave: CategorySingle = {
|
const toSave: CategorySingle = {
|
||||||
id: rCat,
|
id: rCat,
|
||||||
name: TranslationUtil.translate("category", rCat, lang),
|
name: TranslationUtil.translate("category", rCat, lang),
|
||||||
cards: cards.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(cards.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
const index = `${endpoint}/${toSave.id}`
|
const index = `${endpoint}/${toSave.id}`
|
||||||
|
@ -11,12 +11,33 @@ export function getExpansion(set: Set): Expansion {
|
|||||||
return require(`../../db/expansions/${set.expansionCode}`)
|
return require(`../../db/expansions/${set.expansionCode}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getAllExpansions(): Array<string> {
|
const setExpansionLink: Record<string, string> = {}
|
||||||
return glob.sync("./db/expansions/*.ts").map(el => el.substr(16, el.length-15-1-3)) // -15 = start -1 = 0 index -3 = .ts
|
|
||||||
|
export function getExpansionFromSetName(setName: string): Expansion {
|
||||||
|
try {
|
||||||
|
if (!setExpansionLink[setName]) {
|
||||||
|
setExpansionLink[setName] = glob.sync(`./db/sets/**/${setName}.ts`)[0].split('/')[3]
|
||||||
|
}
|
||||||
|
const expansionName = setExpansionLink[setName]
|
||||||
|
return fetchExpansion(expansionName)
|
||||||
|
} catch (e) {
|
||||||
|
console.error(glob.sync(`./db/sets/**/${setName}`))
|
||||||
|
throw new Error(setName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getAllExpansions(): Array<string> {
|
||||||
|
return glob.sync("./db/expansions/*.ts").map(el => el.split('/')[3].substr(0, el.length-1-3)) // -15 = start -1 = 0 index -3 = .ts
|
||||||
|
}
|
||||||
|
|
||||||
|
const expansionCache: Record<string, Expansion> = {}
|
||||||
|
|
||||||
export function fetchExpansion(name: string): Expansion {
|
export function fetchExpansion(name: string): Expansion {
|
||||||
return require(`../db/expansions/${name}.js`).default
|
name = name.replace('.ts', '')
|
||||||
|
if (!expansionCache[name]) {
|
||||||
|
expansionCache[name] = require(`../db/expansions/${name}.js`).default
|
||||||
|
}
|
||||||
|
return expansionCache[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
export function expansionToExpansionSimple(expansion: Expansion, lang: Langs) {
|
export function expansionToExpansionSimple(expansion: Expansion, lang: Langs) {
|
||||||
|
@ -31,7 +31,7 @@ export default async () => {
|
|||||||
|
|
||||||
const toSave: HpSingle = {
|
const toSave: HpSingle = {
|
||||||
hp: hp as unknown as number,
|
hp: hp as unknown as number,
|
||||||
cards: cards.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(cards.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${toSave.hp}/`, {recursive: true})
|
await fs.mkdir(`${endpoint}/${toSave.hp}/`, {recursive: true})
|
||||||
|
@ -38,7 +38,7 @@ export default async () => {
|
|||||||
const toSave: IllustratorSingle = {
|
const toSave: IllustratorSingle = {
|
||||||
id: db.indexOf(illustrator),
|
id: db.indexOf(illustrator),
|
||||||
name: illustrator,
|
name: illustrator,
|
||||||
cards: list.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(list.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${toSave.id}`, {recursive: true})
|
await fs.mkdir(`${endpoint}/${toSave.id}`, {recursive: true})
|
||||||
|
@ -4,6 +4,10 @@ import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
|||||||
import { promises as fs } from 'fs'
|
import { promises as fs } from 'fs'
|
||||||
import Rarity, { RaritySimple, RarityList } from "@tcgdex/sdk/interfaces/Rarity"
|
import Rarity, { RaritySimple, RarityList } from "@tcgdex/sdk/interfaces/Rarity"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Rarities/Index'
|
||||||
|
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
const endpoint = getBaseFolder(lang, "rarities")
|
const endpoint = getBaseFolder(lang, "rarities")
|
||||||
|
|
||||||
|
@ -6,6 +6,10 @@ import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
|||||||
import { promises } from "fs"
|
import { promises } from "fs"
|
||||||
import Rarity, { RaritySingle } from "@tcgdex/sdk/interfaces/Rarity"
|
import Rarity, { RaritySingle } from "@tcgdex/sdk/interfaces/Rarity"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Rarities/Item'
|
||||||
|
|
||||||
|
|
||||||
type rarityCards = {
|
type rarityCards = {
|
||||||
[key in Rarity]?: Array<Card>
|
[key in Rarity]?: Array<Card>
|
||||||
}
|
}
|
||||||
@ -37,7 +41,7 @@ export default async () => {
|
|||||||
const toSave: RaritySingle = {
|
const toSave: RaritySingle = {
|
||||||
id: rCat,
|
id: rCat,
|
||||||
name: TranslationUtil.translate("rarity", rCat, lang),
|
name: TranslationUtil.translate("rarity", rCat, lang),
|
||||||
cards: cards.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(cards.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
const index = `${endpoint}/${toSave.id}`
|
const index = `${endpoint}/${toSave.id}`
|
||||||
|
@ -5,6 +5,9 @@ import { isCardAvailable } from "../cardUtil"
|
|||||||
import { RetreatList } from '@tcgdex/sdk/interfaces/Retreat'
|
import { RetreatList } from '@tcgdex/sdk/interfaces/Retreat'
|
||||||
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Retreat/Index'
|
||||||
|
|
||||||
const lang = (process.env.CARDLANG || "en") as Langs
|
const lang = (process.env.CARDLANG || "en") as Langs
|
||||||
const endpoint = getBaseFolder(lang, "retreat")
|
const endpoint = getBaseFolder(lang, "retreat")
|
||||||
|
|
||||||
|
@ -5,6 +5,9 @@ import { isCardAvailable, cardToCardSimple } from "../cardUtil"
|
|||||||
import { RetreatSingle } from '@tcgdex/sdk/interfaces/Retreat'
|
import { RetreatSingle } from '@tcgdex/sdk/interfaces/Retreat'
|
||||||
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Retreat/Item'
|
||||||
|
|
||||||
const lang = (process.env.CARDLANG || "en") as Langs
|
const lang = (process.env.CARDLANG || "en") as Langs
|
||||||
const endpoint = getBaseFolder(lang, "retreat")
|
const endpoint = getBaseFolder(lang, "retreat")
|
||||||
|
|
||||||
@ -30,7 +33,7 @@ export default async () => {
|
|||||||
|
|
||||||
const item: RetreatSingle = {
|
const item: RetreatSingle = {
|
||||||
id: retreat as unknown as number,
|
id: retreat as unknown as number,
|
||||||
cards: cardArr.map((val) => cardToCardSimple(val, lang))
|
cards: await Promise.all(cardArr.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${item.id}`, {recursive: true})
|
await fs.mkdir(`${endpoint}/${item.id}`, {recursive: true})
|
||||||
|
@ -46,7 +46,7 @@ export function setToSetSimple(set: Set, lang: Langs): SetSimple {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getSetCards(set: Set, lang: Langs): Array<CardSimple> {
|
export async function getSetCards(set: Set, lang: Langs): Promise<Array<CardSimple>> {
|
||||||
const cardes = getAllCards2(set.code)
|
const cardes = getAllCards2(set.code)
|
||||||
const cards: Array<Card> = []
|
const cards: Array<Card> = []
|
||||||
for (let el of cardes) {
|
for (let el of cardes) {
|
||||||
@ -57,16 +57,15 @@ export function getSetCards(set: Set, lang: Langs): Array<CardSimple> {
|
|||||||
card
|
card
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
return await Promise.all(cards.sort((a, b) => {
|
||||||
return cards.sort((a, b) => {
|
|
||||||
if (!isNaN(parseInt(a.localId + "")) && !isNaN(parseInt(b.localId + ""))) {
|
if (!isNaN(parseInt(a.localId + "")) && !isNaN(parseInt(b.localId + ""))) {
|
||||||
return parseInt(a.localId + "") - parseInt(b.localId + "")
|
return parseInt(a.localId + "") - parseInt(b.localId + "")
|
||||||
}
|
}
|
||||||
return a.localId > b.localId ? 1 : -1
|
return a.localId > b.localId ? 1 : -1
|
||||||
}).map(el => cardToCardSimple(el, lang))
|
}).map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setToSetSingle(set: Set, lang: Langs): SetSingle {
|
export async function setToSetSingle(set: Set, lang: Langs): Promise<SetSingle> {
|
||||||
return {
|
return {
|
||||||
name: set.name[lang],
|
name: set.name[lang],
|
||||||
code: set.code,
|
code: set.code,
|
||||||
@ -85,6 +84,6 @@ export function setToSetSingle(set: Set, lang: Langs): SetSingle {
|
|||||||
symbol: set.images.symbol,
|
symbol: set.images.symbol,
|
||||||
logo: set.images.logo
|
logo: set.images.logo
|
||||||
},
|
},
|
||||||
list: getSetCards(set, lang)
|
list: await getSetCards(set, lang)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,10 @@ import { SetSimple, SetList } from "@tcgdex/sdk/interfaces/Set"
|
|||||||
import { getAllSets, getBaseFolder } from "../util"
|
import { getAllSets, getBaseFolder } from "../util"
|
||||||
import { isSetAvailable, setToSetSimple } from "../setUtil"
|
import { isSetAvailable, setToSetSimple } from "../setUtil"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Sets/Index'
|
||||||
|
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
|
|
||||||
const endpoint = getBaseFolder(lang, "sets")
|
const endpoint = getBaseFolder(lang, "sets")
|
||||||
|
@ -4,6 +4,9 @@ import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
|||||||
import { promises as fs } from 'fs'
|
import { promises as fs } from 'fs'
|
||||||
import { isSetAvailable, setToSetSingle } from "../setUtil"
|
import { isSetAvailable, setToSetSingle } from "../setUtil"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Sets/Item'
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
|
|
||||||
const endpoint = getBaseFolder(lang, "sets")
|
const endpoint = getBaseFolder(lang, "sets")
|
||||||
@ -18,7 +21,7 @@ export default async () => {
|
|||||||
if (!isSetAvailable(set, lang)) continue
|
if (!isSetAvailable(set, lang)) continue
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${set.code}/`, {recursive: true})
|
await fs.mkdir(`${endpoint}/${set.code}/`, {recursive: true})
|
||||||
await fs.writeFile(`${endpoint}/${set.code}/index.json`, JSON.stringify(setToSetSingle(set, lang)))
|
await fs.writeFile(`${endpoint}/${set.code}/index.json`, JSON.stringify(await setToSetSingle(set, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,6 +7,10 @@ import { getAllCards2 } from "../util"
|
|||||||
import Card from "@tcgdex/sdk/interfaces/Card"
|
import Card from "@tcgdex/sdk/interfaces/Card"
|
||||||
import { cardToCardSingle, isCardAvailable } from "../cardUtil"
|
import { cardToCardSingle, isCardAvailable } from "../cardUtil"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Sets/SubItem'
|
||||||
|
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
|
|
||||||
const endpoint = getBaseFolder(lang, "sets")
|
const endpoint = getBaseFolder(lang, "sets")
|
||||||
@ -28,7 +32,7 @@ export default async () => {
|
|||||||
if (!isCardAvailable(card, lang)) continue
|
if (!isCardAvailable(card, lang)) continue
|
||||||
|
|
||||||
await fs.mkdir(`${endpoint}/${set.code}/${card.localId}`, {recursive: true})
|
await fs.mkdir(`${endpoint}/${set.code}/${card.localId}`, {recursive: true})
|
||||||
await fs.writeFile(`${endpoint}/${set.code}/${card.localId}/index.json`, JSON.stringify(cardToCardSingle(card, lang)))
|
await fs.writeFile(`${endpoint}/${set.code}/${card.localId}/index.json`, JSON.stringify(await cardToCardSingle(card, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,14 @@ import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
|||||||
import { promises as fs } from 'fs'
|
import { promises as fs } from 'fs'
|
||||||
import Tag, { TagSimple, TagList } from "@tcgdex/sdk/interfaces/Tag"
|
import Tag, { TagSimple, TagList } from "@tcgdex/sdk/interfaces/Tag"
|
||||||
|
|
||||||
|
import Logger from '@dzeio/logger'
|
||||||
|
const logger = new Logger('Tags/Index')
|
||||||
|
|
||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
const endpoint = getBaseFolder(lang, "tags")
|
const endpoint = getBaseFolder(lang, "tags")
|
||||||
|
|
||||||
export default async () => {
|
export default async () => {
|
||||||
console.log(endpoint)
|
logger.log(endpoint)
|
||||||
|
|
||||||
const list: Array<TagSimple> = []
|
const list: Array<TagSimple> = []
|
||||||
for (const cat of Object.values(Tag)) {
|
for (const cat of Object.values(Tag)) {
|
||||||
@ -26,5 +29,5 @@ export default async () => {
|
|||||||
|
|
||||||
await fs.mkdir(endpoint, {recursive: true})
|
await fs.mkdir(endpoint, {recursive: true})
|
||||||
await fs.writeFile(`${endpoint}/index.json`, JSON.stringify(res))
|
await fs.writeFile(`${endpoint}/index.json`, JSON.stringify(res))
|
||||||
console.log('ended ' + endpoint)
|
logger.log('ended ' + endpoint)
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { getAllCards, getBaseFolder, urlize } from "../util"
|
import { getAllCards, getBaseFolder, urlize } from "../util"
|
||||||
import { fetchCard, isCardAvailable, cardToCardSimple } from "../cardUtil"
|
import { fetchCard, isCardAvailable, cardToCardSimple, fetchCardAsync } from "../cardUtil"
|
||||||
import Type, { TypeSingle } from "@tcgdex/sdk/interfaces/Type"
|
import Type, { TypeSingle } from "@tcgdex/sdk/interfaces/Type"
|
||||||
import Card from "@tcgdex/sdk/interfaces/Card"
|
import Card from "@tcgdex/sdk/interfaces/Card"
|
||||||
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
||||||
@ -7,6 +7,10 @@ import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
|||||||
import { promises } from "fs"
|
import { promises } from "fs"
|
||||||
import Tag, { TagSingle } from "@tcgdex/sdk/interfaces/Tag"
|
import Tag, { TagSingle } from "@tcgdex/sdk/interfaces/Tag"
|
||||||
|
|
||||||
|
import Logger from '@dzeio/logger'
|
||||||
|
import { objectKeys, objectSize } from '@dzeio/object-util'
|
||||||
|
const logger = new Logger('Tags/Item')
|
||||||
|
|
||||||
type tagCards = {
|
type tagCards = {
|
||||||
[key in Tag]?: Array<Card>
|
[key in Tag]?: Array<Card>
|
||||||
}
|
}
|
||||||
@ -16,28 +20,31 @@ const endpoint = getBaseFolder(lang, "tags")
|
|||||||
|
|
||||||
|
|
||||||
export default async () => {
|
export default async () => {
|
||||||
console.log(endpoint)
|
logger.log('part 1')
|
||||||
const list = getAllCards()
|
const list = getAllCards()
|
||||||
const arr: tagCards = {}
|
const arr: tagCards = {}
|
||||||
for (const i of list) {
|
for (const i of list) {
|
||||||
const card = await fetchCard(i)
|
const card = await fetchCardAsync(i)
|
||||||
|
|
||||||
if (!isCardAvailable(card, lang)) continue
|
if (!isCardAvailable(card, lang) || !card.tags) continue
|
||||||
|
|
||||||
for (const tag of card.tags) {
|
for (const tag of card.tags) {
|
||||||
if (!(tag in arr)) arr[tag] = []
|
if (!(tag in arr)) arr[tag] = []
|
||||||
arr[tag].push(card)
|
arr[tag].push(card)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.log('part 2')
|
||||||
for (const type in arr) {
|
for (const type in arr) {
|
||||||
if (arr.hasOwnProperty(type)) {
|
if (arr.hasOwnProperty(type)) {
|
||||||
const cards: Array<Card> = arr[type];
|
const cards: Array<Card> = arr[type];
|
||||||
|
|
||||||
const rTag: Tag = parseInt(type)
|
const rTag: Tag = parseInt(type)
|
||||||
|
logger.log('Working on tag', TranslationUtil.translate("tag", rTag, lang), `${type}/${objectSize(arr)}`)
|
||||||
|
|
||||||
const toSave: TagSingle = {
|
const toSave: TagSingle = {
|
||||||
id: rTag,
|
id: rTag,
|
||||||
name: TranslationUtil.translate("tag", rTag, lang),
|
name: TranslationUtil.translate("tag", rTag, lang),
|
||||||
cards: cards.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(cards.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
const index = `${endpoint}/${toSave.id}`
|
const index = `${endpoint}/${toSave.id}`
|
||||||
@ -50,5 +57,5 @@ export default async () => {
|
|||||||
await promises.writeFile(`${name}/index.json`, JSON.stringify(toSave))
|
await promises.writeFile(`${name}/index.json`, JSON.stringify(toSave))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log('ended ' + endpoint)
|
logger.log('ended')
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,9 @@ import { List } from "@tcgdex/sdk/interfaces/General"
|
|||||||
const lang = process.env.CARDLANG as Langs || "en"
|
const lang = process.env.CARDLANG as Langs || "en"
|
||||||
const endpoint = getBaseFolder(lang, "types")
|
const endpoint = getBaseFolder(lang, "types")
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Types/Index'
|
||||||
|
|
||||||
export default async () => {
|
export default async () => {
|
||||||
console.log(endpoint)
|
console.log(endpoint)
|
||||||
const typeArr: Array<TypeSimple> = []
|
const typeArr: Array<TypeSimple> = []
|
||||||
|
@ -6,6 +6,9 @@ import { Langs } from "@tcgdex/sdk/interfaces/LangList"
|
|||||||
import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
import TranslationUtil from "@tcgdex/sdk/TranslationUtil"
|
||||||
import { promises } from "fs"
|
import { promises } from "fs"
|
||||||
|
|
||||||
|
import { logger as console } from '@dzeio/logger'
|
||||||
|
console.prefix = 'Types/Item'
|
||||||
|
|
||||||
type typeCards = {
|
type typeCards = {
|
||||||
[key in Type]?: Array<Card>
|
[key in Type]?: Array<Card>
|
||||||
}
|
}
|
||||||
@ -36,7 +39,7 @@ export default async () => {
|
|||||||
const toSave: TypeSingle = {
|
const toSave: TypeSingle = {
|
||||||
id: rType,
|
id: rType,
|
||||||
name: TranslationUtil.translate("type", rType, lang),
|
name: TranslationUtil.translate("type", rType, lang),
|
||||||
cards: cards.map(el => cardToCardSimple(el, lang))
|
cards: await Promise.all(cards.map(el => cardToCardSimple(el, lang)))
|
||||||
}
|
}
|
||||||
|
|
||||||
const index = `${endpoint}/${toSave.id}`
|
const index = `${endpoint}/${toSave.id}`
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { promises as fs, promises } from 'fs'
|
import { promises as fs, promises } from 'fs'
|
||||||
import * as glob from 'glob'
|
import * as glob from 'glob'
|
||||||
|
import fetch from 'node-fetch'
|
||||||
|
|
||||||
const VERSION = 'v1'
|
const VERSION = 'v1'
|
||||||
|
|
||||||
@ -68,3 +69,18 @@ export function urlize(str: string): string {
|
|||||||
str = str.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
|
str = str.normalize('NFD').replace(/[\u0300-\u036f]/g, "")
|
||||||
return str.replace(/ /g, "-").toLowerCase()
|
return str.replace(/ /g, "-").toLowerCase()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface fileCacheInterface {
|
||||||
|
[key: string]: any
|
||||||
|
}
|
||||||
|
const fileCache: fileCacheInterface = {}
|
||||||
|
|
||||||
|
export async function fetchRemoteFile<T = any>(url: string): Promise<T> {
|
||||||
|
// console.log(Object.keys(fileCache))
|
||||||
|
if (!fileCache[url]) {
|
||||||
|
const resp = await fetch(url)
|
||||||
|
// console.log(await resp.text(), url)
|
||||||
|
fileCache[url] = resp.json()
|
||||||
|
}
|
||||||
|
return fileCache[url]
|
||||||
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
["Ken Sugimori","Keiji Kinebuchi","Mitsuhiro Arita","Tomoaki Imakuni","Kagemaru Himeno","Miki Tanaka","Shin-ichi Yoshida","Takumi Akabane","Sumiyoshi Kizuki","Atsuko Nishida","Christopher Rush","Benimaru Itoh","Hiromichi Sugiyama","Kunihiko Yuyama","Toshinao Aoki","Gakuji Nomoto","Tomokazu Komiya","Hironobu Yoshida","Hideki Kazama","Craig Turvey","Hajime Kusajima","Ayaka Yoshida","5ban Graphics","Daisuke Iwamoto","Kouki Saitou","Naoyo Kimura","match","Shin Nagasawa","Masakazu Fukuda","Naoki Saito","sui","MAHOU","Midori Harada","Kent Kanetsuna","Ryo Ueda","Yuri Umemura","Noriko Hotta","Eske Yoshinob","Akira Komayama","Satoshi Shirai","kawayoo","Kyoko Umemoto","Shigenori Negishi","Suwama Chiaki","Mizue","HiRON","Yusuke Ohmura","kirisAki","Toyste Beach","Sanosuke Sakuma","Megumi Mizutani","TOKIYA","Kanako Eo","Aya Kusube","Shizurow","hatachu","Sachiko Adachi","Yukiko Baba","Hitoshi Ariga","Hiroki Asanuma","Yuka Morii","James Turner","Reiko Tanoue","Maiko Fujiwara","Tomohiro Kitakaze","Hideaki Hakozaki","BERUBURI","Kouji Tajima","Illus.&Direc.The Pokémon Company Art Team","Takashi Yamaguchi","Wataru Kawahara","Nakaoka","Mikiko Takeda","Hideyuki Nakajima","Shin-ichi Yoshikawa","Kai Ishikawa","Hiroaki Ito","Masahiko Ishii","Takabon","Kazuyuki Kano","Daisuke Ito","Emi Yoshida","Kenkichi Toyama","Hiroki Fuchino","Lee HyunJung","Satoshi Ohta","Takao Unno","Motofumi Fujiwara","Saya Tsuruta","Saya Tsuruta","Kazuaki Aihara","Ryota Saito","Makoto Imai","Yusuke Ishikawa","Masako Yamashita","Sachi Matoba","Yuichi Sawayama","Aimi Tomita","\"Big Mama\" Tagawa","Milky Isobe","Kimiya Masago","K. Hoshiba","Asuka Iwashita","Keiko Fukuyama","Hizuki Misono","Mikio Menjo","Kazuo Yazawa","Jungo Suzuki","Hisao Nakamura","Hikaru Koike","Katsura Tabata","Ken Ikuji","CR CG gangs","K. Hoshiba","Kyoko Koizumi","Zu-Ka","Yasuki Watanabe","Yusuke Shimada","Tomokazu","K. Utsunomiya","T. Honda","Mt. TBT","M. Akiyama","Atsuko Ujiie","Yosuke Da Silva","Big Mama\" Tagawa\"","Ken Ikugi","Tokumi Akabane","MikiTanaka","K Hoshiba","Emi Miwa","Midroi Harada","Tomoko Wakai","Shinji Higuchi","Shinji Higuchi + Sachiko Eba","Shinji Higuchi + Noriko Takaya","Wataru Kawahara/Direc. Shinji Higuchi","Kent Kanetsuna/Direc. Shinji Higuchi","Shinji Higuchi + Sachiko Eba/樋口真嗣 + 江場左知子","Shinji Higuchi + Sachiko Eba/樋口真嗣+江場左知子","Shinji Higuchi + Noriko Takaya/樋口真嗣+高屋法子","Imakuni?","Etsuya Hattori","Mana Ibe","Nobuyuki Fujimoto","Keiko Moritsugu","Framestore","MPC Film","Shibuzoh.","Yoshinobu Saito","kodama","Hasuno","chibi","Asako Ito","You Iribi","Eri Yamaki","DemizuPosuka","OOYAMA","PLANETA","Mina Nakai","miki kudo","Yumi","Anesaki Dynamic","Hiroyuki Yamamoto","Hideki Ishikawa","nagimiso","0313","sadaji","SATOSHI NAKAI","Sekio","otumami","PLANETA Igarashi","tetsuya koizumi","Misa Tsutsui","sowsow","kanahei","HYOGONOSUKE","Studio Bora Inc.","aky CG Works","so-taro","AKIRA EGAWA","PLANETA Tsuji","KEIICHIRO ITO","ryoma uratsuka","ConceptLab","PLANETA Otani","Pani Kobayashi","Ryuta Fuse","inose yukie","Ken Sugimori Yusuke Ohmura","Sakiko Maeda","Junsei Kuninobu","Uta","Noriko Uono","Nabana Kensaku","Ryota Murayama","Tomomi Kaneko","Misaki Hashimoto","Fumie Kittaka","Huang Tzu En","Avec Yoko","take","Emi Ando","2017 Pikachu Project","Taira Akitsu","Megumi Higuchi","Kazuma Koda","Jumpei Akasaka","Hasegawa Saki","GAME FREAK inc.","Dr.Ooyama","Rya Ueda","Nagimiso","Saki Hayashiro"]
|
["Ken Sugimori","Keiji Kinebuchi","Mitsuhiro Arita","Tomoaki Imakuni","Kagemaru Himeno","Miki Tanaka","Shin-ichi Yoshida","Takumi Akabane","Sumiyoshi Kizuki","Atsuko Nishida","Christopher Rush","Benimaru Itoh","Hiromichi Sugiyama","Kunihiko Yuyama","Toshinao Aoki","Gakuji Nomoto","Tomokazu Komiya","Hironobu Yoshida","Hideki Kazama","Craig Turvey","Hajime Kusajima","Ayaka Yoshida","5ban Graphics","Daisuke Iwamoto","Kouki Saitou","Naoyo Kimura","match","Shin Nagasawa","Masakazu Fukuda","Naoki Saito","sui","MAHOU","Midori Harada","Kent Kanetsuna","Ryo Ueda","Yuri Umemura","Noriko Hotta","Eske Yoshinob","Akira Komayama","Satoshi Shirai","kawayoo","Kyoko Umemoto","Shigenori Negishi","Suwama Chiaki","Mizue","HiRON","Yusuke Ohmura","kirisAki","Toyste Beach","Sanosuke Sakuma","Megumi Mizutani","TOKIYA","Kanako Eo","Aya Kusube","Shizurow","hatachu","Sachiko Adachi","Yukiko Baba","Hitoshi Ariga","Hiroki Asanuma","Yuka Morii","James Turner","Reiko Tanoue","Maiko Fujiwara","Tomohiro Kitakaze","Hideaki Hakozaki","BERUBURI","Kouji Tajima","Illus.&Direc.The Pokémon Company Art Team","Takashi Yamaguchi","Wataru Kawahara","Nakaoka","Mikiko Takeda","Hideyuki Nakajima","Shin-ichi Yoshikawa","Kai Ishikawa","Hiroaki Ito","Masahiko Ishii","Takabon","Kazuyuki Kano","Daisuke Ito","Emi Yoshida","Kenkichi Toyama","Hiroki Fuchino","Lee HyunJung","Satoshi Ohta","Takao Unno","Motofumi Fujiwara","Saya Tsuruta","Saya Tsuruta","Kazuaki Aihara","Ryota Saito","Makoto Imai","Yusuke Ishikawa","Masako Yamashita","Sachi Matoba","Yuichi Sawayama","Aimi Tomita","\"Big Mama\" Tagawa","Milky Isobe","Kimiya Masago","K. Hoshiba","Asuka Iwashita","Keiko Fukuyama","Hizuki Misono","Mikio Menjo","Kazuo Yazawa","Jungo Suzuki","Hisao Nakamura","Hikaru Koike","Katsura Tabata","Ken Ikuji","CR CG gangs","K. Hoshiba","Kyoko Koizumi","Zu-Ka","Yasuki Watanabe","Yusuke Shimada","Tomokazu","K. Utsunomiya","T. Honda","Mt. TBT","M. Akiyama","Atsuko Ujiie","Yosuke Da Silva","Big Mama\" Tagawa\"","Ken Ikugi","Tokumi Akabane","MikiTanaka","K Hoshiba","Emi Miwa","Midroi Harada","Tomoko Wakai","Shinji Higuchi","Shinji Higuchi + Sachiko Eba","Shinji Higuchi + Noriko Takaya","Wataru Kawahara/Direc. Shinji Higuchi","Kent Kanetsuna/Direc. Shinji Higuchi","Shinji Higuchi + Sachiko Eba/樋口真嗣 + 江場左知子","Shinji Higuchi + Sachiko Eba/樋口真嗣+江場左知子","Shinji Higuchi + Noriko Takaya/樋口真嗣+高屋法子","Imakuni?","Etsuya Hattori","Mana Ibe","Nobuyuki Fujimoto","Keiko Moritsugu","Framestore","MPC Film","Shibuzoh.","Yoshinobu Saito","kodama","Hasuno","chibi","Asako Ito","You Iribi","Eri Yamaki","DemizuPosuka","OOYAMA","PLANETA","Mina Nakai","miki kudo","Yumi","Anesaki Dynamic","Hiroyuki Yamamoto","Hideki Ishikawa","nagimiso","0313","sadaji","SATOSHI NAKAI","Sekio","otumami","PLANETA Igarashi","tetsuya koizumi","Misa Tsutsui","sowsow","kanahei","HYOGONOSUKE","Studio Bora Inc.","aky CG Works","so-taro","AKIRA EGAWA","PLANETA Tsuji","KEIICHIRO ITO","ryoma uratsuka","ConceptLab","PLANETA Otani","Pani Kobayashi","Ryuta Fuse","inose yukie","Ken Sugimori Yusuke Ohmura","Sakiko Maeda","Junsei Kuninobu","Uta","Noriko Uono","Nabana Kensaku","Ryota Murayama","Tomomi Kaneko","Misaki Hashimoto","Fumie Kittaka","Huang Tzu En","Avec Yoko","take","Emi Ando","2017 Pikachu Project","Taira Akitsu","Megumi Higuchi","Kazuma Koda","Jumpei Akasaka","Hasegawa Saki","GAME FREAK inc.","Dr.Ooyama","Rya Ueda","Nagimiso","Saki Hayashiro","PLANETA Mochizuki","NC Empire","Tika Matsuno"]
|
@ -9,16 +9,20 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"db:compile": "cd db && tsc --project tsconfig.json",
|
"db:compile": "cd db && tsc --project tsconfig.json",
|
||||||
"db:test": "cd db && tsc --noEmit --project tsconfig.json",
|
"db:test": "cd db && tsc --noEmit --project tsconfig.json",
|
||||||
"gen": "yarn ts-node all.ts"
|
"gen": "ts-node --transpile-only all.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@dzeio/logger": "^2.0.0-alpha.0",
|
||||||
|
"@dzeio/object-util": "^1.0.4",
|
||||||
"@tcgdex/sdk": "^1.5.0",
|
"@tcgdex/sdk": "^1.5.0",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
|
"node-fetch": "^2.6.0",
|
||||||
"ssh2-sftp-client": "^5.1.1"
|
"ssh2-sftp-client": "^5.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/glob": "^7.1.1",
|
"@types/glob": "^7.1.1",
|
||||||
"@types/node": "^13.7.4",
|
"@types/node": "^13.7.4",
|
||||||
|
"@types/node-fetch": "^2.5.7",
|
||||||
"ts-node": "^8.6.2",
|
"ts-node": "^8.6.2",
|
||||||
"typescript": "^3.7.5"
|
"typescript": "^3.7.5"
|
||||||
}
|
}
|
||||||
|
148
yarn.lock
148
yarn.lock
@ -2,24 +2,30 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"@tcgdex/sdk@^1.5.0":
|
"@dzeio/logger@^2.0.0-alpha.0":
|
||||||
version "1.5.0"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/@tcgdex/sdk/-/sdk-1.5.0.tgz#892b5aa29ac55c399d5f8130615fc3898f5f76e6"
|
resolved "https://registry.yarnpkg.com/@dzeio/logger/-/logger-2.0.2.tgz#a9d58fba6c0b5e181c3247a66d2e908936f52866"
|
||||||
integrity sha512-oPWYQdV26eIywM1JRannDuE2mgn49eRjRfqw5sSi0jZMGFWwR7ZindUeSbUyghno2m4YxpgfJgAaxeyMhnYtkg==
|
integrity sha512-P5N7g9xIxyhr5AlW+PHKK5h0e7gF9Ha9hJQOSs02yssf09dCrRN6xd7BUrbLLemyLvy4wnQ9+IpvOR8KWB3ltA==
|
||||||
dependencies:
|
dependencies:
|
||||||
isomorphic-unfetch "^3.0.0"
|
ansi-colors "^4.1.1"
|
||||||
|
|
||||||
"@types/events@*":
|
"@dzeio/object-util@^1.0.4":
|
||||||
version "3.0.0"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
|
resolved "https://registry.yarnpkg.com/@dzeio/object-util/-/object-util-1.0.4.tgz#1cd8855e9437ec5b94c079421e74e913acec9847"
|
||||||
integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
|
integrity sha512-poLW0k3BB345lQDqtaMiBpIHcglg4HCcg8FblAGZ0n/M0cOaeiq1kwRm2Z/6rIplelntWUrPqQRAUcr6DnAONQ==
|
||||||
|
|
||||||
|
"@tcgdex/sdk@^1.5.0":
|
||||||
|
version "1.7.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tcgdex/sdk/-/sdk-1.7.0.tgz#66c3891cbc044a7b9ab20c4a0b5cb1a5d3803fc6"
|
||||||
|
integrity sha512-LXswGVzVrx6enO71NhEhjiz1dqig7lC1AFVep7xt7HySGrNt/vTWPRjsgmKiHFivVoz2cLhULUacQL64A+5mBw==
|
||||||
|
dependencies:
|
||||||
|
isomorphic-unfetch "^3.1.0"
|
||||||
|
|
||||||
"@types/glob@^7.1.1":
|
"@types/glob@^7.1.1":
|
||||||
version "7.1.1"
|
version "7.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
|
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
|
||||||
integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
|
integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/events" "*"
|
|
||||||
"@types/minimatch" "*"
|
"@types/minimatch" "*"
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
@ -28,10 +34,28 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
|
||||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||||
|
|
||||||
"@types/node@*", "@types/node@^13.7.4":
|
"@types/node-fetch@^2.5.7":
|
||||||
version "13.13.2"
|
version "2.5.8"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.2.tgz#160d82623610db590a64e8ca81784e11117e5a54"
|
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.8.tgz#e199c835d234c7eb0846f6618012e558544ee2fb"
|
||||||
integrity sha512-LB2R1Oyhpg8gu4SON/mfforE525+Hi/M1ineICEDftqNVTyFg1aRIeGuTvXAoWHc4nbrFncWtJgMmoyRvuGh7A==
|
integrity sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
form-data "^3.0.0"
|
||||||
|
|
||||||
|
"@types/node@*":
|
||||||
|
version "14.14.22"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18"
|
||||||
|
integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==
|
||||||
|
|
||||||
|
"@types/node@^13.7.4":
|
||||||
|
version "13.13.40"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.40.tgz#f655ef327362cc83912f2e69336ddc62a24a9f88"
|
||||||
|
integrity sha512-eKaRo87lu1yAXrzEJl0zcJxfUMDT5/mZalFyOkT44rnQps41eS2pfWzbaulSPpQLFNy29bFqn+Y5lOTL8ATlEQ==
|
||||||
|
|
||||||
|
ansi-colors@^4.1.1:
|
||||||
|
version "4.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
|
||||||
|
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
|
||||||
|
|
||||||
arg@^4.1.0:
|
arg@^4.1.0:
|
||||||
version "4.1.3"
|
version "4.1.3"
|
||||||
@ -45,6 +69,11 @@ asn1@~0.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safer-buffer "~2.1.0"
|
safer-buffer "~2.1.0"
|
||||||
|
|
||||||
|
asynckit@^0.4.0:
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||||
|
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||||
@ -70,6 +99,13 @@ buffer-from@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||||
|
|
||||||
|
combined-stream@^1.0.8:
|
||||||
|
version "1.0.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||||
|
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||||
|
dependencies:
|
||||||
|
delayed-stream "~1.0.0"
|
||||||
|
|
||||||
concat-map@0.0.1:
|
concat-map@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||||
@ -85,11 +121,25 @@ concat-stream@^2.0.0:
|
|||||||
readable-stream "^3.0.2"
|
readable-stream "^3.0.2"
|
||||||
typedarray "^0.0.6"
|
typedarray "^0.0.6"
|
||||||
|
|
||||||
|
delayed-stream@~1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||||
|
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
|
||||||
|
|
||||||
diff@^4.0.1:
|
diff@^4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||||
|
|
||||||
|
form-data@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
|
||||||
|
integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
|
||||||
|
dependencies:
|
||||||
|
asynckit "^0.4.0"
|
||||||
|
combined-stream "^1.0.8"
|
||||||
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
fs.realpath@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||||
@ -120,19 +170,31 @@ inherits@2, inherits@^2.0.3:
|
|||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
|
|
||||||
isomorphic-unfetch@^3.0.0:
|
isomorphic-unfetch@^3.1.0:
|
||||||
version "3.0.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.0.0.tgz#de6d80abde487b17de2c400a7ef9e5ecc2efb362"
|
resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f"
|
||||||
integrity sha512-V0tmJSYfkKokZ5mgl0cmfQMTb7MLHsBMngTkbLY0eXvKqiVRRoZP04Ly+KhKrJfKtzC9E6Pp15Jo+bwh7Vi2XQ==
|
integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
node-fetch "^2.2.0"
|
node-fetch "^2.6.1"
|
||||||
unfetch "^4.0.0"
|
unfetch "^4.2.0"
|
||||||
|
|
||||||
make-error@^1.1.1:
|
make-error@^1.1.1:
|
||||||
version "1.3.6"
|
version "1.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||||
|
|
||||||
|
mime-db@1.45.0:
|
||||||
|
version "1.45.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
|
||||||
|
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
|
||||||
|
|
||||||
|
mime-types@^2.1.12:
|
||||||
|
version "2.1.28"
|
||||||
|
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
|
||||||
|
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
|
||||||
|
dependencies:
|
||||||
|
mime-db "1.45.0"
|
||||||
|
|
||||||
minimatch@^3.0.4:
|
minimatch@^3.0.4:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||||
@ -140,10 +202,10 @@ minimatch@^3.0.4:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
node-fetch@^2.2.0:
|
node-fetch@^2.6.0, node-fetch@^2.6.1:
|
||||||
version "2.6.0"
|
version "2.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
||||||
integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
|
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
||||||
|
|
||||||
once@^1.3.0:
|
once@^1.3.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
@ -172,9 +234,9 @@ retry@^0.12.0:
|
|||||||
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
|
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
|
||||||
|
|
||||||
safe-buffer@~5.2.0:
|
safe-buffer@~5.2.0:
|
||||||
version "5.2.0"
|
version "5.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||||
integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
|
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||||
|
|
||||||
safer-buffer@~2.1.0:
|
safer-buffer@~2.1.0:
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
@ -195,9 +257,9 @@ source-map@^0.6.0:
|
|||||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||||
|
|
||||||
ssh2-sftp-client@^5.1.1:
|
ssh2-sftp-client@^5.1.1:
|
||||||
version "5.1.2"
|
version "5.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/ssh2-sftp-client/-/ssh2-sftp-client-5.1.2.tgz#8138f050c5933bbeb2f916f2a1513f124ad61116"
|
resolved "https://registry.yarnpkg.com/ssh2-sftp-client/-/ssh2-sftp-client-5.3.2.tgz#a7f4383b96468fde3ee8fe1b7f1db352c6160946"
|
||||||
integrity sha512-pKmoDdxa4jwjMr+eZTm2IP8iYxuyM/O74rbz54t0UcETnRNmkLnv3NmKiFK5/hstacyO3WS4Tu8fRBGVGY0UAQ==
|
integrity sha512-YD38WQKleuapAZyvqRJq7PN8pC6GnzWdWcnZN4vsPXMHtZpjcg/ipBcFGtDsC5rkHp5qXgRu56WPcDUkM87FiA==
|
||||||
dependencies:
|
dependencies:
|
||||||
concat-stream "^2.0.0"
|
concat-stream "^2.0.0"
|
||||||
retry "^0.12.0"
|
retry "^0.12.0"
|
||||||
@ -232,9 +294,9 @@ string_decoder@^1.1.1:
|
|||||||
safe-buffer "~5.2.0"
|
safe-buffer "~5.2.0"
|
||||||
|
|
||||||
ts-node@^8.6.2:
|
ts-node@^8.6.2:
|
||||||
version "8.9.0"
|
version "8.10.2"
|
||||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.0.tgz#d7bf7272dcbecd3a2aa18bd0b96c7d2f270c15d4"
|
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d"
|
||||||
integrity sha512-rwkXfOs9zmoHrV8xE++dmNd6ZIS+nmHHCxcV53ekGJrxFLMbp+pizpPS07ARvhwneCIECPppOwbZHvw9sQtU4w==
|
integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==
|
||||||
dependencies:
|
dependencies:
|
||||||
arg "^4.1.0"
|
arg "^4.1.0"
|
||||||
diff "^4.0.1"
|
diff "^4.0.1"
|
||||||
@ -253,14 +315,14 @@ typedarray@^0.0.6:
|
|||||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||||
|
|
||||||
typescript@^3.7.5:
|
typescript@^3.7.5:
|
||||||
version "3.8.3"
|
version "3.9.7"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
|
||||||
integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==
|
integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
|
||||||
|
|
||||||
unfetch@^4.0.0:
|
unfetch@^4.2.0:
|
||||||
version "4.1.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db"
|
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
|
||||||
integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==
|
integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
|
||||||
|
|
||||||
util-deprecate@^1.0.1:
|
util-deprecate@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user