1
0
mirror of https://github.com/tcgdex/cards-database.git synced 2025-08-15 01:41:59 +00:00

Compare commits

..

38 Commits

Author SHA1 Message Date
d48971c95e fix: Ordering failing when one value is null (#490) 2024-05-19 01:32:23 +02:00
16fe072e7e fix: Updated field not working as intended (#488) 2024-05-12 02:32:58 +02:00
c476d82618 feat: Add an updated field to the card field (#460) 2024-05-12 00:51:56 +02:00
e4aba3bf1c feat: Add random card/set/serie endpoint (#484)
Co-authored-by: Avior <git@avior.me>
2024-05-10 02:44:50 +02:00
df154e6b9b Chore: upgrade deps (#483)
Co-authored-by: Avior <git@avior.me>
2024-05-07 02:41:57 +02:00
c7b3267ca2 fix: Missing Compilation when testing 2024-05-06 01:39:46 +02:00
14418b0c94 chore: Add metadata for Portuguese (#482) 2024-05-06 01:37:29 +02:00
aa99ed2750 fix: Add the two missing sets in german (#479) 2024-03-25 00:48:31 +01:00
2d27a129a1 feat: Paldean Fates and Temporal Forces (#478) 2024-03-25 00:30:17 +01:00
0c29886812 fix: better error logging for GraphQL
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
2024-02-29 15:12:39 +01:00
f6e7871fc5 fix: Remove even more requires
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
2024-02-29 14:53:30 +01:00
f9aa90ed09 fix: Move from require to import
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
2024-02-29 14:38:32 +01:00
8e3406f8fc feat: Add more error loggin to catch this shitty error
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
2024-02-29 14:14:05 +01:00
e6a8c1dd71 chore: Add error handling directing to a Glitchtip server to log errors
Signed-off-by: Avior <github@avior.me>
2024-01-22 23:45:48 +01:00
0146765e7a fix: Cache saving 5xx errors
Signed-off-by: Avior <github@avior.me>
2024-01-22 23:22:39 +01:00
41bf9afde7 feat: Add ability for users to requests using the subfields values (#477) 2024-01-22 01:48:04 +01:00
2cfa860f6d fix: Undefined values crashing the request (#476) 2024-01-22 01:42:59 +01:00
b168b86006 chore: Update Bruno tests (#473) 2024-01-08 01:33:47 +01:00
dependabot[bot]
3a441887b8 build: bump actions/setup-node from 3 to 4 (#470)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avior <github@avior.me>
2024-01-08 00:50:15 +01:00
dependabot[bot]
e36c92a0b0 build: bump actions/checkout from 3 to 4 (#469)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 00:48:09 +01:00
33007d83bc fix: Invalid card when searching using the set and localid (#472) 2024-01-08 00:40:31 +01:00
8684fb14e4 feat: Add bruno to tests the APIs (#468) 2024-01-03 23:42:56 +01:00
8fd7afeb32 fix: better sorting defaults
Signed-off-by: Avior <github@avior.me>
2024-01-03 23:24:52 +01:00
28fcb66fc9 fix: 404 error for options requests
Signed-off-by: Avior <github@avior.me>
2024-01-03 21:06:52 +01:00
12ed23b5a2 fix: invalid OPTIONS request handling (#467) 2024-01-03 20:25:15 +01:00
b4dbdef4fa fix: set order not following the old way (#465) 2024-01-03 12:16:57 +01:00
ef23029d24 fix: log that want to production
Signed-off-by: Avior <github@avior.me>
2024-01-03 03:51:42 +01:00
b333423c5d feat: Add Paradox Rift (#464) 2024-01-03 03:34:52 +01:00
7fe2f0283c chore: Update legal cards for the 2023 season (#462) 2024-01-03 03:18:09 +01:00
b7e150fe45 chore: Document the GraphQL definition (#461) 2024-01-03 03:11:50 +01:00
5c8ca20a41 feat: Add better sorting/filtering/pagination (#458) 2024-01-03 02:27:56 +01:00
034b7e2cec feat: Move internals to bunJS (#459) 2024-01-03 00:40:03 +01:00
f8c1d7dce9 fix: HeartGold & Soulsilver serie rarities (#457) 2023-12-28 13:55:56 +01:00
2b9c364625 fix: Call of Legends rarity errors (#456) 2023-12-27 22:12:54 +01:00
c8db79bfaa fix: Gym Challenge errors (#455) 2023-12-27 22:05:41 +01:00
e18c919cfc fix: Diamond & Pearl rarities (#454) 2023-12-27 21:34:54 +01:00
3cb7e062da fix: Platinum Serie rarities (#453) 2023-12-27 20:33:44 +01:00
ed4d9a18b0 fix: invalid Sword & Shield rarities (#447) 2023-12-27 19:30:08 +01:00
2019 changed files with 45708 additions and 6302 deletions

8
.bruno/bruno.json Normal file
View File

@@ -0,0 +1,8 @@
{
"version": "1",
"name": "TCGdex",
"type": "collection",
"presets": {
"requestType": "http"
}
}

View File

@@ -0,0 +1,28 @@
meta {
name: Get the cards list
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/cards?sort:field=name&sort:order=DESC&pagination:page=1&pagination:itemsPerPage=4
body: none
auth: none
}
query {
sort:field: name
sort:order: DESC
pagination:page: 1
pagination:itemsPerPage: 4
~name: furret
}
assert {
res.status: eq 200
res.body.length: eq 4
}
docs {
Fully describe the card list request, it also has every parameters it can
}

View File

@@ -0,0 +1,16 @@
meta {
name: Get one card
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/cards/swsh3-136
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3-136
}

View File

@@ -0,0 +1,3 @@
vars {
BASE_URL: http://localhost:3000
}

View File

@@ -0,0 +1,3 @@
vars {
BASE_URL: https://api.tcgdex.net
}

View File

@@ -0,0 +1,22 @@
meta {
name: 466 - Invalid Sorting
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh8/53
body: none
auth: none
}
assert {
res.body.id: eq swsh8-53
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/466
}

View File

@@ -0,0 +1,15 @@
meta {
name: 467 - Validate that we can run OPTIONS
type: http
seq: 2
}
options {
url: {{BASE_URL}}/status
body: none
auth: none
}
assert {
res.status: eq 200
}

View File

@@ -0,0 +1,22 @@
meta {
name: 471 - Invalid Set Sorting
type: http
seq: 3
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh12/10
body: none
auth: none
}
assert {
res.body.id: eq swsh12-010
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/471
}

View File

@@ -0,0 +1,25 @@
meta {
name: 474 - Queries crashing the server
type: http
seq: 4
}
get {
url: {{BASE_URL}}/v2/en/cards?legal.standard=true
body: none
auth: none
}
query {
legal.standard: true
}
assert {
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/474
}

View File

@@ -0,0 +1,25 @@
meta {
name: 475 - Ability to query subfileds
type: http
seq: 5
}
get {
url: {{BASE_URL}}/v2/en/cards?legal.standard=true
body: none
auth: none
}
query {
legal.standard: true
}
assert {
res.status: eq 200
}
docs {
Validate the issue seen in
https://github.com/tcgdex/cards-database/issues/474
}

View File

@@ -0,0 +1,17 @@
meta {
name: 489 - Crash When sorting with Null values
type: http
seq: 6
}
get {
url: {{BASE_URL}}/v2/en/cards?name=pikachu&sort:field=hp&sort:order=DESC
body: none
auth: none
}
query {
name: pikachu
sort:field: hp
sort:order: DESC
}

33
.bruno/graphql.bru Normal file
View File

@@ -0,0 +1,33 @@
meta {
name: GraphQL API
type: graphql
seq: 1
}
post {
url: {{BASE_URL}}/v2/graphql
body: graphql
auth: none
}
body:graphql {
query Pouet {
cards {
id
localId
name
set {
id
name
serie {
id
name
}
}
}
}
}
assert {
res.status: eq 200
}

View File

@@ -0,0 +1,20 @@
meta {
name: Random Card
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/random/card?name=furret
body: none
auth: none
}
query {
name: furret
}
assert {
res.status: eq 200
res.body.name: contains Furret
}

View File

@@ -0,0 +1,19 @@
meta {
name: Random Serie
type: http
seq: 3
}
get {
url: {{BASE_URL}}/v2/en/random/serie?name=p
body: none
auth: none
}
query {
name: p
}
assert {
res.status: eq 200
}

View File

@@ -0,0 +1,20 @@
meta {
name: Random Set
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/random/set?name=sword
body: none
auth: none
}
query {
name: sword
}
assert {
res.status: eq 200
res.body.name: contains Sword
}

View File

@@ -0,0 +1,25 @@
meta {
name: Get a list of sets
type: http
seq: 3
}
get {
url: {{BASE_URL}}/v2/en/sets?sort:field=name&sort:order=DESC&pagination:page=1&pagination:itemsPerPage=1&name=Dark
body: none
auth: none
}
query {
sort:field: name
sort:order: DESC
pagination:page: 1
pagination:itemsPerPage: 1
name: Dark
}
assert {
res.status: eq 200
res.body[0].id: eq swsh3
res.body.length: eq 1
}

16
.bruno/sets/get-a-set.bru Normal file
View File

@@ -0,0 +1,16 @@
meta {
name: Get a set
type: http
seq: 2
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh3
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3
}

View File

@@ -0,0 +1,16 @@
meta {
name: Get one card from a set
type: http
seq: 1
}
get {
url: {{BASE_URL}}/v2/en/sets/swsh3/136
body: none
auth: none
}
assert {
res.status: eq 200
res.body.id: eq swsh3-136
}

View File

@@ -6,7 +6,7 @@ on:
tags:
- v*
pull_request:
branches:
branches:
- master
jobs:
@@ -15,8 +15,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
@@ -31,7 +33,7 @@ jobs:
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=semver,pattern=latest
type=semver,pattern=latest
- name: Login to Docker Hub
uses: docker/login-action@v3

View File

@@ -5,8 +5,8 @@ jobs:
name: Conventional PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: beemojs/conventional-pr-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

33
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Test the Data
on:
push:
branches:
- '*'
pull_request:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup BunJS
uses: oven-sh/setup-bun@v1
- name: Install deps
run: |
bun install --frozen-lockfile
cd server
bun install --frozen-lockfile
bun run compile
- name: Validate the data & the server
run: |
bun run validate
cd server
bun run validate

View File

@@ -1,5 +0,0 @@
{
"files.exclude": {
"**/*.js": true
}
}

View File

@@ -1,44 +1,53 @@
FROM node:alpine as BUILD_IMAGE
FROM docker.io/oven/bun:1-alpine as BUILD_IMAGE
WORKDIR /app
# go to work folder
WORKDIR /usr/src/app
ADD package.json package-lock.json ./
ADD server/package.json server/package-lock.json ./server/
# Add git as it is used to fetch updated times
RUN apk add git &&\
git config --global safe.directory '*'
ADD --chown=bun:bun package.json bun.lockb ./
ADD --chown=bun:bun server/package.json server/bun.lockb ./server/
# install dependencies
RUN npm ci && \
RUN bun install --frozen-lockfile && \
cd server && \
npm ci
bun install --frozen-lockfile
# Add project files
ADD . .
ADD --chown=bun:bun . .
# build
RUN npm run compile && \
cd server && \
npm run compile && \
npm run build
RUN cd server && \
bun run compile
# remove dev dependencies
RUN npm prune --production && \
cd server && \
npm prune --production
# remove dev dependencies (bun do not yet support "prune")
RUN cd server && \
rm -rf node_modules && \
bun install --frozen-install --production
# go to another VM
FROM node:alpine
FROM docker.io/oven/bun:1-alpine as PROD_IMAGE
# go to folder
WORKDIR /app
# inform software to be in production
ENV NODE_ENV=production
# run as non root user
USER bun
# go to work folder
WORKDIR /usr/src/app
# copy from build image
COPY --from=BUILD_IMAGE /app/server/generated ./generated
COPY --from=BUILD_IMAGE /app/server/node_modules ./node_modules
COPY --from=BUILD_IMAGE /app/server/dist ./dist
COPY --from=BUILD_IMAGE /app/server/public ./public
COPY --from=BUILD_IMAGE /app/server/package.json ./package.json
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/generated ./generated
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/node_modules ./node_modules
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/src ./src
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/public ./public
COPY --chown=bun:bun --from=BUILD_IMAGE /usr/src/app/server/package.json ./package.json
# Expose port
EXPOSE 3000
# run it !
CMD ["npm", "run", "start"]
CMD ["bun", "run", "start"]

BIN
bun.lockb Executable file

Binary file not shown.

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Pixi"
},
illustrator: "sui",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Hundemon"
},
illustrator: "Kagemaru Himeno",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Jirachi"
},
illustrator: "match",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Kyogre"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Folipurba"
},
illustrator: "match",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Lucario"
},
illustrator: "Takashi Yamaguchi",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Lugia"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Magbrant"
},
illustrator: "Hajime Kusajima",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Vulnona"
},
illustrator: "TOKIYA",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Pachirisu"
},
illustrator: "Noriko Hotta",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Palkia"
},
illustrator: "Daisuke Iwamoto",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Deoxys"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Rayquaza"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Farbeagle"
},
illustrator: "Midori Harada",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Nachtara"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Dialga"
},
illustrator: "Ayaka Yoshida",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Psiana"
},
illustrator: "match",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Forstellka"
},
illustrator: "Kyoko Umemoto",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Groudon"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Garados"
},
illustrator: "Mitsuhiro Arita",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -7,7 +7,7 @@ const card: Card = {
de: "Kapoera"
},
illustrator: "Shigenori Negishi",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Ho-Oh"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Deoxys"
},
illustrator: "Noriko Hotta",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Rayquaza"
},
illustrator: "Noriko Hotta",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Suicune"
},
illustrator: "Ayaka Yoshida",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Dialga"
},
illustrator: "Ayaka Yoshida",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Entei"
},
illustrator: "Yuri Umemura",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Groudon"
},
illustrator: "Yuri Umemura",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Ho-Oh"
},
illustrator: "Hideaki Hakozaki",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Kyogre"
},
illustrator: "Yuri Umemura",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Lugia"
},
illustrator: "Hideaki Hakozaki",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Palkia"
},
illustrator: "Ayaka Yoshida",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Raikou"
},
illustrator: "Noriko Hotta",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Traunmagil"
},
illustrator: "Mikiko Takeda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Impoleon"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Panferno"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Chelterrar"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Masakazu Fukuda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Hiroaki Ito",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Masahiko Ishii",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Chelterrar"
},
illustrator: "Masahiko Ishii",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Takabon",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Panferno"
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Lucario"
},
illustrator: "Ken Sugimori",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Luxtra"
},
illustrator: "Mikiko Takeda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Magnezone"
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Manaphy"
},
illustrator: "Nakaoka",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Lohgock"
},
illustrator: "Kagemaru Himeno",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Tangoloss"
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Cresselia"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Darkrai"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Dialga"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Palkia"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Togekiss"
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Cresselia"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Darkrai"
},
illustrator: "Masakazu Fukuda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Darkrai"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Pachirisu"
},
illustrator: "Hironobu Yoshida",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Porygon-Z"
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Rotom"
},
illustrator: "Daisuke Ito",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Gewaldro"
},
illustrator: "Masakazu Fukuda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Sumpex"
},
illustrator: "Kouki Saitou",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Ken Sugimori",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Masakazu Fukuda",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -9,7 +9,7 @@ const card: Card = {
},
illustrator: "Kent Kanetsuna",
rarity: "Rare",
rarity: "Rare Holo",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Tobutz"
},
illustrator: "Shizurow",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

View File

@@ -8,7 +8,7 @@ const card: Card = {
de: "Skorgro"
},
illustrator: "Ryo Ueda",
rarity: "Rare",
rarity: "Rare Holo LV.X",
category: "Pokemon",
set: Set,

Some files were not shown because too many files have changed in this diff Show More