diff --git a/.drone.yml b/.drone.yml index 4c15184..3c00c28 100644 --- a/.drone.yml +++ b/.drone.yml @@ -37,3 +37,17 @@ steps: from_secret: PUSH_EMAIL PUSH_NAME: from_secret: PUSH_NAME + - name: Upload + image: alpine + commands: + - apk -q add openssh-client + - sshpass -p ${UPLOAD_PASSWORD} scp -vvv -r dist/ ${UPLOAD_USERNAME}@${UPLOAD_REMOTE}:${UPLOAD_DIST} + environment: + UPLOAD_USERNAME: + from_secret: UPLOAD_USERNAME + UPLOAD_PASSWORD: + from_secret: UPLOAD_PASSWORD + UPLOAD_DIST: + from_secret: UPLOAD_DIST + UPLOAD_REMOTE: + from_secret: UPLOAD_REMOTE diff --git a/db b/db index a284fca..a44b94c 160000 --- a/db +++ b/db @@ -1 +1 @@ -Subproject commit a284fcac640f66dda9e7a322c7865b3389bf0d32 +Subproject commit a44b94c8543de57e0672a9f0f5d5b4783f37cca9 diff --git a/dist b/dist index 34f7f45..1a20a3b 160000 --- a/dist +++ b/dist @@ -1 +1 @@ -Subproject commit 34f7f45aaef1f1158b987bf8bfaee3dd72a66650 +Subproject commit 1a20a3b572f5df38d0cedbdda22228fefd489187 diff --git a/endpoints/TagUtil.ts b/endpoints/TagUtil.ts index e0ba3d0..2f148d5 100644 --- a/endpoints/TagUtil.ts +++ b/endpoints/TagUtil.ts @@ -1,9 +1,8 @@ -import Tag from "@tcgdex/sdk/interfaces/Tag"; +import Tag, { TagSimple } from "@tcgdex/sdk/interfaces/Tag"; import { Langs } from "@tcgdex/sdk/interfaces/LangList"; -import { tagSimple } from "./tags/tag"; import TranslationUtil from "@tcgdex/sdk/TranslationUtil"; -export function tagToTagSimple(tag: Tag, lang: Langs): tagSimple { +export function tagToTagSimple(tag: Tag, lang: Langs): TagSimple { return { id: tag, name: TranslationUtil.translate("tag", tag, lang) diff --git a/endpoints/cardUtil.ts b/endpoints/cardUtil.ts index 7dd9b4c..7b11845 100644 --- a/endpoints/cardUtil.ts +++ b/endpoints/cardUtil.ts @@ -9,12 +9,13 @@ import { abilityToAbilitySingle } from "./abilityUtil"; import { getExpansion } from "./expansionUtil"; import { getSet } from "./setUtil"; import Expansion from "@tcgdex/sdk/interfaces/Expansion"; -import { fetchIllustrators, fetchIllustratorsSync } from "./illustratorUtil"; +import { fetchIllustratorsSync } from "./illustratorUtil"; import TranslationUtil from "@tcgdex/sdk/TranslationUtil"; export function cardToCardSimple(card: Card, lang: Langs): CardSimple { return { id: card.id, + localId: card.localId, name: card.name[lang], image: card.image && card.image.low[lang] } diff --git a/endpoints/cards/index.ts b/endpoints/cards/index.ts index 3d665d5..aaa0281 100644 --- a/endpoints/cards/index.ts +++ b/endpoints/cards/index.ts @@ -16,7 +16,6 @@ const bootstrap = async () => { el = el.replace("./", "../../") const card: Card = require(el).default - console.log(el) if (!isCardAvailable(card, lang)) continue items.push( cardToCardSimple(card, lang) diff --git a/endpoints/cards/item.ts b/endpoints/cards/item.ts index 3a57c72..934285f 100644 --- a/endpoints/cards/item.ts +++ b/endpoints/cards/item.ts @@ -10,12 +10,10 @@ const endpoint = getBaseFolder(lang, "cards") const bootstrap = async () => { const list = await getAllCards2() - console.log(list) for (let el of list) { el = el.replace("./", "../../") const card: Card = require(el).default - console.log(el) if (!isCardAvailable(card, lang)) continue await fs.mkdir(`${endpoint}/${card.id}/`, {recursive: true}) diff --git a/endpoints/expansionUtil.ts b/endpoints/expansionUtil.ts index 94a0fe4..8779f41 100644 --- a/endpoints/expansionUtil.ts +++ b/endpoints/expansionUtil.ts @@ -27,9 +27,15 @@ export function expansionToExpansionSimple(expansion: Expansion, lang: Langs) { } export function expansionToExpansionSingle(expansion: Expansion, lang: Langs): ExpansionSingle { + const sets = getAllSets(expansion.code, true) + .map(el => fetchSet(expansion.code, el)) + .sort((a, b) => { + return a.releaseDate > b.releaseDate ? 1 : -1 + }) + .map(el => setToSetSimple(el, lang)) return { code: expansion.code, name: typeof expansion.name === "string" ? expansion.name : expansion.name[lang], - sets: getAllSets(expansion.code, true).map(el => setToSetSimple(fetchSet(expansion.code, el), lang)) + sets } } diff --git a/endpoints/expansions/index.ts b/endpoints/expansions/index.ts index ce2fdae..2044c81 100644 --- a/endpoints/expansions/index.ts +++ b/endpoints/expansions/index.ts @@ -22,7 +22,6 @@ const btsp = async () => { expansion.sets = sets let oldestRelease = "9999-99-99" for (const j of sets) { - console.log(j) const set = fetchSet(expansion.code, j) oldestRelease = set.releaseDate < oldestRelease ? set.releaseDate : oldestRelease } diff --git a/endpoints/illustrators/updateDB.ts b/endpoints/illustrators/updateDB.ts index 85f190b..41032b2 100644 --- a/endpoints/illustrators/updateDB.ts +++ b/endpoints/illustrators/updateDB.ts @@ -16,7 +16,6 @@ const btsp = async () => { const card: Card = require(i).default if (!card.illustrator) continue - console.log(i) const illustrator = card.illustrator diff --git a/endpoints/retreat/index.ts b/endpoints/retreat/index.ts index c56b345..0a6e7d5 100644 --- a/endpoints/retreat/index.ts +++ b/endpoints/retreat/index.ts @@ -20,7 +20,6 @@ const btsp = async () => { !card.retreat || count.includes(card.retreat) ) continue - console.log(file) count.push(card.retreat) } diff --git a/endpoints/retreat/item.ts b/endpoints/retreat/item.ts index f8ce0aa..78cffa1 100644 --- a/endpoints/retreat/item.ts +++ b/endpoints/retreat/item.ts @@ -19,7 +19,6 @@ const btsp = async () => { !isCardAvailable(card, lang) || !card.retreat ) continue - console.log(file) if (!(card.retreat in count)) count[card.retreat] = [] count[card.retreat].push(card) } diff --git a/endpoints/setUtil.ts b/endpoints/setUtil.ts index 9de5896..074fbd2 100644 --- a/endpoints/setUtil.ts +++ b/endpoints/setUtil.ts @@ -20,7 +20,6 @@ export function isSet(set: Set | {name: string, code: string}): set is Set { export function getSet(card: Card): Set { if (!(card.set.code in setCache)) { if (isSet(card.set)) setCache[card.set.code] = card.set - console.log(card.set.code) let setPath = glob.sync(`./db/sets/**/${card.set.code}.js`)[0] setPath = setPath.replace('./', '../') setCache[card.set.code] = require(setPath).default @@ -40,24 +39,31 @@ export function isSetAvailable(set: Set, lang: Langs) { export function setToSetSimple(set: Set, lang: Langs): SetSimple { return { code: set.code, + logo: set.images && set.images.logo, + symbol: set.images && set.images.symbol, name: typeof set.name === "string" ? set.name : set.name[lang], total: set.cardCount.total } } export function getSetCards(set: Set, lang: Langs): Array { - const cards = getAllCards2(set.code) - const items: Array = [] - for (let el of cards) { + const cardes = getAllCards2(set.code) + const cards: Array = [] + for (let el of cardes) { el = el.replace("./", "../") const card: Card = require(el).default - items.push( - cardToCardSimple(card, lang) + cards.push( + card ) } - return items + return cards.sort((a, b) => { + if (!isNaN(parseInt(a.localId + "")) && !isNaN(parseInt(b.localId + ""))) { + return parseInt(a.localId + "") - parseInt(b.localId + "") + } + return a.localId > b.localId ? 1 : -1 + }).map(el => cardToCardSimple(el, lang)) } export function setToSetSingle(set: Set, lang: Langs): SetSingle { diff --git a/endpoints/sets/index.ts b/endpoints/sets/index.ts index 79c0b62..d20b151 100644 --- a/endpoints/sets/index.ts +++ b/endpoints/sets/index.ts @@ -16,7 +16,6 @@ const bootstrap = async () => { el = el.replace("./", "../../") const set: Set = require(el).default - console.log(el) if (!isSetAvailable(set, lang)) continue items.push( set @@ -37,6 +36,4 @@ const bootstrap = async () => { } -console.log("Building sets/index") - bootstrap() diff --git a/endpoints/sets/item.ts b/endpoints/sets/item.ts index bee695d..56a4766 100644 --- a/endpoints/sets/item.ts +++ b/endpoints/sets/item.ts @@ -15,7 +15,6 @@ const bootstrap = async () => { const set: Set = require(el).default if (!isSetAvailable(set, lang)) continue - console.log(el) await fs.mkdir(`${endpoint}/${set.code}/`, {recursive: true}) await fs.writeFile(`${endpoint}/${set.code}/index.json`, JSON.stringify(setToSetSingle(set, lang))) @@ -23,6 +22,5 @@ const bootstrap = async () => { } -console.log("Building sets/item") bootstrap() diff --git a/endpoints/sets/subitem.ts b/endpoints/sets/subitem.ts index 7d96c21..1dbad6a 100644 --- a/endpoints/sets/subitem.ts +++ b/endpoints/sets/subitem.ts @@ -17,7 +17,6 @@ const bootstrap = async () => { el = el.replace("./", "../../") const set: Set = require(el).default - console.log(el) if (!isSetAvailable(set, lang)) continue const lit = await getAllCards2(set.code) @@ -26,7 +25,6 @@ const bootstrap = async () => { const card: Card = require(i).default if (!isCardAvailable(card, lang)) continue - console.log(i) 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))) @@ -37,6 +35,4 @@ const bootstrap = async () => { } -console.log("Building sets/subitem") - bootstrap() diff --git a/endpoints/tags/tag.ts b/endpoints/tags/tag.ts deleted file mode 100644 index 58e5a43..0000000 --- a/endpoints/tags/tag.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { cardSimple } from "../cards/card"; - -export interface tagSimple { - id: number - name: string -} - -export interface tagSingle extends tagSimple { - cards: Array -} - -export interface tagList { - count: number - list: Array -} diff --git a/generated/illustrators.json b/generated/illustrators.json index e518975..73ea68f 100644 --- a/generated/illustrators.json +++ b/generated/illustrators.json @@ -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"] \ No newline at end of file +["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"] \ No newline at end of file diff --git a/package.json b/package.json index 7fbf659..18063a1 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "tcgdex-compiler", + "name": "@tcgdex/compiler", "version": "1.0.0", "main": "index.js", "repository": "git@git.delta-wings.net:tcgdex/compiler.git", @@ -12,17 +12,17 @@ "gen:all": "yarn gen:types && yarn gen:illustrators && yarn gen:hp && yarn gen:sets && yarn gen:tags && yarn gen:retreat && yarn gen:categories && yarn gen:rarities && yarn gen:cards && yarn gen:expansions", "gen:types": "ts-node endpoints/types/index.ts && ts-node endpoints/types/item.ts", "gen:illustrators": "ts-node endpoints/illustrators/updateDB.ts && ts-node endpoints/illustrators/index.ts && ts-node endpoints/illustrators/item.ts", - "gen:hp": "ts-node web/hp/generator.ts", + "gen:hp": "ts-node endpoints/hp/index.ts && ts-node endpoints/hp/item.ts", "gen:sets": "ts-node endpoints/sets/index.ts && ts-node endpoints/sets/item.ts && ts-node endpoints/sets/subitem.ts", - "gen:tags": "ts-node web/tags/generator.ts", - "gen:retreat": "ts-node web/retreat/generator.ts", - "gen:categories": "ts-node web/categories/generator.ts", - "gen:rarities": "ts-node web/rarities/generator.ts", + "gen:tags": "ts-node endpoints/tags/index.ts && ts-node endpoints/tags/item.ts", + "gen:retreat": "ts-node endpoints/retreat/index.ts && ts-node endpoints/retreat/item.ts", + "gen:categories": "ts-node endpoints/categories/index.ts && ts-node endpoints/categories/item.ts", + "gen:rarities": "ts-node endpoints/rarities/index.ts && ts-node endpoints/rarities/item.ts", "gen:cards": "ts-node endpoints/cards/index.ts && ts-node endpoints/cards/item.ts", "gen:expansions": "ts-node endpoints/expansions/index.ts && ts-node endpoints/expansions/item.ts" }, "dependencies": { - "@tcgdex/sdk": "^1.0.2", + "@tcgdex/sdk": "next", "glob": "^7.1.6" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index a7a2bd9..ad4aa4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@tcgdex/sdk@^1.0.2": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@tcgdex/sdk/-/sdk-1.0.8.tgz#adeca1f69a5e32a7747678d566d1bd5f3f151b94" - integrity sha512-zHeUk+T3CuxBj8p9o5ThzM2YTs5J6g07TK0DLfC/65KVWXNJ2JvuMMYPUryo8ShcVI/nXReJQDPGylN/NRxyUw== +"@tcgdex/sdk@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@tcgdex/sdk/-/sdk-1.2.1.tgz#c25f9b26ab632db935c6c11a50a75b8768c64ba2" + integrity sha512-gzGvKzZoMx66QJ0z6fsXy1i8hKzVImHYRXwu5p996ERRA7XCg8zx0TA0soZ0XEP3azRdF74SR1pQ6zyqtRalIg== dependencies: isomorphic-unfetch "^3.0.0"