mirror of
https://github.com/tcgdex/javascript-sdk.git
synced 2025-07-13 10:35:11 +00:00
Compare commits
110 Commits
Author | SHA1 | Date | |
---|---|---|---|
e172465258
|
|||
9940961e20
|
|||
f25be8b5f5
|
|||
641f7861b8 | |||
3db69e0537 | |||
1c36d6b93e | |||
10083223e2
|
|||
95196ce551
|
|||
81200aede7
|
|||
35642ffd57
|
|||
4435f930ec | |||
46b74170fa
|
|||
de916e09eb
|
|||
96bc9149c9
|
|||
f858bd5c79
|
|||
8a0dac5e27
|
|||
941fd925b8 | |||
3684c61812
|
|||
a2f7018aa4 | |||
7014e0c511
|
|||
b951f6d2d1
|
|||
babd4e5f85
|
|||
efe5957946
|
|||
f19298e20d
|
|||
4789c15c7d
|
|||
f28fa11710
|
|||
95c48e530e
|
|||
c3791959be
|
|||
a3537a1af7 | |||
4da8131d11 | |||
8405302286 | |||
b1d97a4278 | |||
b004321f40 | |||
b3d34182a2 | |||
1b1bcfbb84 | |||
a593271aba | |||
6e93a70f1e | |||
fbf6f2e2cd | |||
8e3de78b00 | |||
b845e36784 | |||
23da33f81f | |||
f7010d5f93
|
|||
ed3fbcf5db
|
|||
f62615814d
|
|||
eec10c548a
|
|||
720bc6b43a
|
|||
3557334076
|
|||
a6e2ee60cc
|
|||
22589b0be5
|
|||
81d4447d27
|
|||
d7ba03749d
|
|||
6c5fc609ae
|
|||
4597476e6b
|
|||
2ac98526a1
|
|||
040cb4508a
|
|||
edbcf7f4da
|
|||
0cc19ec1f3
|
|||
551c3bbc6b
|
|||
4b644067fa
|
|||
41d105cda8
|
|||
73028f4803
|
|||
6d7381de7d
|
|||
00e61b370f
|
|||
3b6c5886ea
|
|||
96cbea47e2
|
|||
ae65bd4d8e
|
|||
d5c57fa6c7
|
|||
d42b0057c7
|
|||
b13e554162
|
|||
1db0b1ab38
|
|||
97acf4287f
|
|||
7f0e95d574
|
|||
b7d8fac835
|
|||
d965aabad7
|
|||
e22d63d2ee
|
|||
5d2b836af6
|
|||
dd7e252027
|
|||
c4fff9b370
|
|||
610d2590e8 | |||
b180369514
|
|||
17ffd73fb3
|
|||
ec4f5d1a84
|
|||
ae7f3077c0
|
|||
526c65bc7c
|
|||
2c0a12a2e8 | |||
8ae2b2dcb7 | |||
6621316e8d | |||
67c4066546 | |||
a3d4533887 | |||
5dbc361896 | |||
fdc3074118 | |||
771c5482af | |||
3b47e86cda | |||
739fe92eae | |||
e182ec5617 | |||
f779477fc9 | |||
8b8c20308f | |||
b1dcd5ae5e | |||
e9d6ac12e1 | |||
5ac1a18f6f | |||
624337467b | |||
eb96cb971c | |||
9902888304 | |||
2f1a293e3d | |||
04d13bd450 | |||
a886302e05 | |||
75bc7249f1 | |||
00316364fa | |||
3cdc149845 | |||
d0088d62cb |
@ -5,4 +5,8 @@ indent_style = tab
|
||||
indent_size = 4
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.yml]
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
|
4
.eslintignore
Normal file
4
.eslintignore
Normal file
@ -0,0 +1,4 @@
|
||||
dist/
|
||||
src/tcgdex.browser.ts
|
||||
__tests__
|
||||
*.js
|
5
.eslintrc.js
Normal file
5
.eslintrc.js
Normal file
@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
extends: [
|
||||
"./node_modules/@dzeio/config/eslint/typescript"
|
||||
]
|
||||
}
|
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
* text=auto eol=lf
|
44
.github/workflows/build.yml
vendored
Normal file
44
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: Build & Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# Run on any pull request
|
||||
pull_request:
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
# Follow current releases https://nodejs.org/en/about/releases/
|
||||
node-version: [12.x, 14.x, 16.x]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
|
||||
- name: Test
|
||||
run: npm run test
|
||||
|
||||
- name: Upload Coverage
|
||||
if: matrix.node-version == '16.x'
|
||||
uses: codecov/codecov-action@v1.0.13
|
||||
with:
|
||||
# Comma-separated list of files to upload
|
||||
files: ./coverage/coverage-final.json
|
26
.github/workflows/code-quality.yml
vendored
Normal file
26
.github/workflows/code-quality.yml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
name: Code Quality Checks
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# Run on any pull request
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup NodeJS
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: npm run lint
|
28
.github/workflows/publish.yml
vendored
Normal file
28
.github/workflows/publish.yml
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
name: publish
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v[0-9]+.[0-9]+.[0-9]+*'
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup NodeJS
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
|
||||
- name: Publish
|
||||
run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,5 +1,8 @@
|
||||
node_modules
|
||||
|
||||
# Dist files
|
||||
*.js
|
||||
*.d.ts
|
||||
# Dev Files
|
||||
node_modules
|
||||
test.ts
|
||||
coverage
|
||||
|
||||
# Dist files
|
||||
dist
|
||||
src/version.json
|
||||
|
10
.npmignore
10
.npmignore
@ -1 +1,9 @@
|
||||
*.ts
|
||||
src
|
||||
.editorconfig
|
||||
.gitignore
|
||||
.npmignore
|
||||
webpack.config.js
|
||||
tsconfig.*
|
||||
yarn.lock
|
||||
CHANGELOG.md
|
||||
coverage
|
||||
|
237
CHANGELOG.md
Normal file
237
CHANGELOG.md
Normal file
@ -0,0 +1,237 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## 2.4.1 - 2021-07-11
|
||||
|
||||
## Deprecated
|
||||
|
||||
- Deprecated `Languages` Type
|
||||
|
||||
## 2.4.0 - 2021-06-29
|
||||
|
||||
## Added
|
||||
|
||||
- Support for new languages
|
||||
|
||||
## 2.3.1 - 2021-06-22
|
||||
|
||||
### Fixed
|
||||
|
||||
- Cleaned dist folder
|
||||
|
||||
## 2.3.0-2.3.1 - 2021-06-22
|
||||
|
||||
### Added
|
||||
|
||||
- Browser specialized build
|
||||
- [#9](https://github.com/tcgdex/javascript-sdk/pull/9) Build/Unit/ESLint tests and coverage with Codecov using Github Action
|
||||
|
||||
### Changed
|
||||
|
||||
- [#10](https://github.com/tcgdex/javascript-sdk/pull/10) Simplified Request/Cache manager
|
||||
|
||||
## [2.2.0] - 2021-06-19
|
||||
|
||||
### Added
|
||||
|
||||
- Added new fields
|
||||
|
||||
## [2.1.1] - 2021-05-31
|
||||
|
||||
### Fixed
|
||||
|
||||
- Package building in the wrong version of ECMAScript
|
||||
|
||||
## [2.1.0] - 2021-05-31
|
||||
|
||||
### Added
|
||||
|
||||
- new `fetch` function that manage all the API endpoints
|
||||
|
||||
## [2.0.2-2.0.3] - 2021-05-28
|
||||
|
||||
### Fixed
|
||||
|
||||
- `rotationMark` should have been named `regulationMark`
|
||||
|
||||
## [2.0.1] - 2021-05-28
|
||||
|
||||
### Changed
|
||||
|
||||
- Hardcoded string values are now strings as they depends on the language
|
||||
|
||||
## [2.0.0] - 2021-05-28
|
||||
|
||||
### Added
|
||||
|
||||
- simple string endpoint typing
|
||||
- Typing is exported through the main.d.ts file
|
||||
- `cardCount` field in the set interface
|
||||
- a `rotationMark` to the card interface
|
||||
|
||||
### Changed
|
||||
|
||||
- Support new incoming datas
|
||||
- Point the SDK to the new V2
|
||||
- Renamed `getExpansion(s)` to `getSerie(s)`
|
||||
- Typing for the new SDK
|
||||
- Functions now use `fetch` instead of `get` in their names
|
||||
- URL Normalization is now done by the SDK
|
||||
|
||||
### Removed
|
||||
|
||||
- TranslationUtil as now translation are managed by the API
|
||||
- the interfaces folder as every interfaces are now in `interfaces.d.ts`
|
||||
- `this.gbu`
|
||||
- Translation files as they are now in the Compiler
|
||||
|
||||
## [1.7.0] - 2021-01-31
|
||||
|
||||
### Added
|
||||
|
||||
- new Rarities
|
||||
|
||||
## [1.6.1] - 2021-01-31
|
||||
|
||||
### Changed
|
||||
|
||||
- tags are now optionnal
|
||||
|
||||
## [1.6.0] - 2021-01-08
|
||||
|
||||
### Changed
|
||||
|
||||
- Errors are now handled to return `undefined`
|
||||
|
||||
### Removed
|
||||
|
||||
- console.warn when using `getCards`
|
||||
|
||||
## [1.5.0] - 2021-01-08
|
||||
|
||||
### Added
|
||||
|
||||
- getSet can now not transform the API Date to a Javascript Date
|
||||
|
||||
## [1.4.2] - 2021-01-08
|
||||
|
||||
### Added
|
||||
|
||||
- new Tags
|
||||
|
||||
### Changed
|
||||
|
||||
- rarities to have less strange rarities
|
||||
-
|
||||
|
||||
### Fixed
|
||||
|
||||
- CORS blocked
|
||||
|
||||
|
||||
## [1.4.1] - 2020-04-24
|
||||
|
||||
### Changed
|
||||
|
||||
- Changed API url to the new one
|
||||
|
||||
## [1.4.0] - 2020-03-25
|
||||
|
||||
### Added
|
||||
|
||||
- a `defaultLang` static field to customize the default lang
|
||||
- a `getLang` function to get the current lang for the SDK
|
||||
|
||||
### Fixed
|
||||
|
||||
- Warnings for translations
|
||||
|
||||
## [1.3.0] - 2020-03-18
|
||||
|
||||
### Added
|
||||
|
||||
- A cache system
|
||||
- some informations about differents tags on a card
|
||||
- lvl on the card interface
|
||||
|
||||
### Removed
|
||||
|
||||
- cardTypes on the card interface
|
||||
|
||||
## [1.2.1] - 2020-03-14
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix items datas not in the correct interface
|
||||
|
||||
## [1.2.0] - 2020-03-14
|
||||
|
||||
### Added
|
||||
|
||||
- Added The getCards endpoint to fetch the big list of card with an optionnal filter on the set
|
||||
- Added The getExpansions endpoint to fetch the list of expansions
|
||||
- Added Some informations about cardTypes
|
||||
- Updated DB to add support for items
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix translation not getting the correct file
|
||||
|
||||
|
||||
## [1.0.8] - 2020-03-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Changed typing for some interfaces
|
||||
|
||||
## [1.0.1-1.0.7] - 2020-03-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Renamed the class Name from `TCGDex` to `TCGdex`
|
||||
- lang argument is now public so it can be changed while the SDK is active
|
||||
|
||||
### Added
|
||||
|
||||
- some typing for getCard and translationUtil
|
||||
|
||||
## [1.0.0] - 2020-03-11
|
||||
|
||||
### Added
|
||||
|
||||
- the getCard function to use with the fetch a card with it's id
|
||||
- the getSet function to use with the fetch a set with it's id
|
||||
- the getExpansion function to use with the fetch an expansion with it's id
|
||||
- Constructor arg support for multiple langs
|
||||
- TranslationUtil to go from the SDK value to a text value
|
||||
|
||||
[Unreleased]: https://github.com/tcgdex/javascript-sdk/compare/v2.3.1...HEAD
|
||||
|
||||
[2.4.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.4.0
|
||||
[2.3.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.3.1
|
||||
[2.3.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.3.0
|
||||
[2.2.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.2.0
|
||||
[2.1.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.1.1
|
||||
[2.1.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.1.0
|
||||
[2.0.2-2.0.3]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.0.3
|
||||
[2.0.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.0.1
|
||||
[2.0.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v2.0.0
|
||||
[1.7.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v1.7.0
|
||||
[1.6.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/v1.6.1
|
||||
[1.6.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.6.0
|
||||
[1.5.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.5.0
|
||||
[1.4.2]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.4.2
|
||||
[1.4.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.4.1
|
||||
[1.4.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.4.0
|
||||
[1.3.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.3.0
|
||||
[1.2.1]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.2.1
|
||||
[1.2.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.2.0
|
||||
[1.0.8]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.0.8
|
||||
[1.0.1-1.0.7]: https://github.com/tcgdex/javascript-sdk/releases/tag/1.0.7
|
||||
[1.0.0]: https://github.com/tcgdex/javascript-sdk/releases/tag/v1.0.0
|
@ -2,7 +2,7 @@
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 TCGdex
|
||||
Copyright (c) 2021 TCGdex
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
116
README.md
116
README.md
@ -1,44 +1,72 @@
|
||||
# TCGdex Javacript SDK
|
||||
|
||||
## Install
|
||||
|
||||
### Yarn/npm
|
||||
|
||||
```bash
|
||||
yarn add @tcgdex/sdk
|
||||
```
|
||||
or with npm
|
||||
```bash
|
||||
npm install @tcgdex/sdk
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
_Note: a complete documentation is in progress_
|
||||
|
||||
```javascript
|
||||
import TCGdex from '@tcgdex/sdk'
|
||||
import TranslationUtil from '@tcgdex/sdk/TranslationUtil'
|
||||
import Tag from '@tcgdex/sdk/interfaces/Tag'
|
||||
|
||||
// init the class
|
||||
const tcgdex = new TCGdex("en") // Lang code (Optionnal) (See TranslationUtil.ts line 3)
|
||||
|
||||
// change lang
|
||||
tcgdex.lang = "fr"
|
||||
|
||||
// get Card object wih global id
|
||||
await tcgdex.getCard("base1-1")
|
||||
|
||||
// get Card object with local id and set
|
||||
await tcgdex.getCard(1, "base1")
|
||||
|
||||
// get Set informations
|
||||
await tcgdex.getSet("base1")
|
||||
|
||||
// get Expansion
|
||||
await tcgdex.getExpansion("base")
|
||||
|
||||
// Translate information from code to the lang
|
||||
TranslationUtil.translate("tag", Tag.STAGE2, "en")
|
||||
```
|
||||
<p align="center">
|
||||
<a href="http://npmjs.com/@tcgdex/sdk">
|
||||
<img src="https://img.shields.io/npm/v/@tcgdex/sdk?style=flat-square" alt="NOM Version">
|
||||
</a>
|
||||
<a href="http://npmjs.com/@tcgdex/sdk">
|
||||
<img src="https://img.shields.io/npm/dw/@tcgdex/sdk?style=flat-square" alt="NPM Downloads">
|
||||
</a>
|
||||
<a href="https://app.codecov.io/gh/tcgdex/javascript-sdk/">
|
||||
<img src="https://img.shields.io/codecov/c/github/tcgdex/javascript-sdk?style=flat-square&token=FR4BI94N4Q" alt="npm version">
|
||||
</a>
|
||||
<a href="https://github.com/tcgdex/javascript-sdk/blob/master/LICENSE.md">
|
||||
<img src="https://img.shields.io/github/license/tcgdex/javascript-sdk?style=flat-square" alt="the TCGdex JAvascript SDK is released under the MIT license." />
|
||||
</a>
|
||||
<a href="https://github.com/tcgdex/javascript-sdk/blob/master/LICENSE.md">
|
||||
<img src="https://img.shields.io/github/workflow/status/tcgdex/javascript-sdk/Build%20&%20Test?style=flat-square" alt="the TCGdex JAvascript SDK is released under the MIT license." />
|
||||
</a>
|
||||
<a href="https://discord.gg/NehYTAhsZE">
|
||||
<img src="https://img.shields.io/discord/857231041261076491?color=%235865F2&label=Discord&style=flat-square" alt="Discord Link">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# TCGdex JavaScript/TypeScript SDK
|
||||
|
||||
Communicate with the Open Source TCGdex API in Javascript/Typescript using the SDK
|
||||
|
||||
Full API/SDK documentation in progress at https://www.tcgdex.net/docs
|
||||
|
||||
## Getting Started
|
||||
|
||||
Install the SDK using:
|
||||
```bash
|
||||
yarn add @tcgdex/sdk
|
||||
# or
|
||||
npm install @tcgdex/sdk
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
_Note: a complete documentation is in progress_
|
||||
|
||||
```javascript
|
||||
import TCGdex from '@tcgdex/sdk'
|
||||
|
||||
// initialize the SDK
|
||||
const tcgdex = new TCGdex('en') // Lang code (Optionnal) (See interfaces.ts line 1 for supported languages)
|
||||
|
||||
// if you need to change the language
|
||||
tcgdex.lang = 'fr'
|
||||
|
||||
// get a Card using its global ID
|
||||
await tcgdex.fetch('cards', 'base1-1')
|
||||
|
||||
// fetch a Card using it's local id and set name/ID
|
||||
await tcgdex.fetch('sets', 'Base Set', 1)
|
||||
|
||||
// fetch a Set's informations using the set's name/ID
|
||||
await tcgdex.fetch('sets', 'Sword & Shield')
|
||||
|
||||
// Fetch a serie using the serie's name/ID
|
||||
await tcgdex.fetch('series', 'Black & White')
|
||||
|
||||
// Fetch cards using other endpoints
|
||||
/**
|
||||
* categories => the the different cards categories
|
||||
* hp => fetch the different cards possible HPs
|
||||
* illustrators => fetch all the cards illustrators
|
||||
* rarities => fetch the cards rarities
|
||||
* retreats => fetch the cards using the retreat count
|
||||
* types => fetch the cards using the Pokémon type(s)
|
||||
**/
|
||||
await tcgdex.fetch('categories')
|
||||
```
|
||||
|
@ -1,24 +0,0 @@
|
||||
import LangList, { Langs } from "./interfaces/LangList";
|
||||
import AbilityType from "./interfaces/AbilityType";
|
||||
import Category from "./interfaces/Category";
|
||||
import Rarity from "./interfaces/Rarity";
|
||||
import Tag from "./interfaces/Tag";
|
||||
import Type from "./interfaces/Type";
|
||||
|
||||
type possibilities = "abilityType" | "category" | "rarity" | "tag" | "type"
|
||||
|
||||
export default class TranslationUtil {
|
||||
public static translate(master: "abilityType",a: AbilityType, lang: Langs): string|undefined;
|
||||
public static translate(master: "category",a: Category, lang: Langs): string|undefined;
|
||||
public static translate(master: "rarity",a: Rarity, lang: Langs): string|undefined;
|
||||
public static translate(master: "tag",a: Tag, lang: Langs): string|undefined;
|
||||
public static translate(master: "type",a: Type, lang: Langs): string|undefined;
|
||||
public static translate(master: possibilities,a: number, lang: Langs): string|undefined {
|
||||
const trans = require(`./${master}`).default as translations
|
||||
const tmp = trans[lang]
|
||||
if (!tmp) return
|
||||
return tmp[a]
|
||||
}
|
||||
}
|
||||
|
||||
export type translations = LangList<Array<string>>
|
66
__tests__/basic.test.js
Normal file
66
__tests__/basic.test.js
Normal file
@ -0,0 +1,66 @@
|
||||
const TCGdex = require("../src/tcgdex").default
|
||||
const fetch = require('node-fetch')
|
||||
|
||||
const fakeFetch = (response, status = 200) => jest.fn(() =>
|
||||
Promise.resolve({
|
||||
status: status,
|
||||
json: () => Promise.resolve(response),
|
||||
})
|
||||
);
|
||||
|
||||
|
||||
|
||||
test('Basic test', async () => {
|
||||
const tcgdex = new TCGdex('en')
|
||||
TCGdex.fetch = fakeFetch({ok: true})
|
||||
const res = await tcgdex.fetch('cards', 'basic-test')
|
||||
expect(res).toEqual({ok: true})
|
||||
expect(TCGdex.fetch).toHaveBeenCalledTimes(1)
|
||||
})
|
||||
|
||||
test('Cache test', async () => {
|
||||
const tcgdex = new TCGdex('en')
|
||||
TCGdex.fetch = fakeFetch({ok: 'a'})
|
||||
const res1 = await tcgdex.fetch('cards', 'cache-test')
|
||||
expect(res1).toEqual({ok: 'a'})
|
||||
TCGdex.fetch = fakeFetch({ok: 'b'})
|
||||
const res2 = await tcgdex.fetch('cards', 'cache-test')
|
||||
expect(res2).toEqual({ok: 'a'})
|
||||
})
|
||||
|
||||
test('endpoint errors', async () => {
|
||||
const tcgdex = new TCGdex('en')
|
||||
TCGdex.fetch = fakeFetch({ok: 'a'})
|
||||
await expect(tcgdex.fetch('non existing endpoint')).rejects.toThrow()
|
||||
await expect(tcgdex.fetch()).rejects.toThrow()
|
||||
})
|
||||
|
||||
test('404 test', async () => {
|
||||
const tcgdex = new TCGdex('en')
|
||||
TCGdex.fetch = fakeFetch(undefined, 404)
|
||||
expect(
|
||||
await tcgdex.fetch('cards', '404-test')
|
||||
).not.toBeDefined()
|
||||
})
|
||||
|
||||
test('test real endpoints', async () => {
|
||||
const tcgdex = new TCGdex('en')
|
||||
TCGdex.fetch = fetch
|
||||
const endpoints = [
|
||||
{endpoint: 'fetchCard', params: ['swsh1-1']},
|
||||
{endpoint: 'fetchCard', params: ['1', 'Sword & Shield']},
|
||||
{endpoint: 'fetchCards', params: ['swsh1']},
|
||||
{endpoint: 'fetchCards', params: []},
|
||||
{endpoint: 'fetchSet', params: ['swsh1']},
|
||||
{endpoint: 'fetchSets', params: ['swsh']},
|
||||
{endpoint: 'fetchSets', params: []},
|
||||
{endpoint: 'fetchSeries', params: []},
|
||||
{endpoint: 'fetchSerie', params: ['swsh']},
|
||||
]
|
||||
|
||||
for await (const item of endpoints) {
|
||||
expect(
|
||||
await tcgdex[item.endpoint](...item.params)
|
||||
).toBeDefined()
|
||||
}
|
||||
})
|
7
babel.config.js
Normal file
7
babel.config.js
Normal file
@ -0,0 +1,7 @@
|
||||
// Babel config for Jest
|
||||
module.exports = {
|
||||
presets: [
|
||||
['@babel/preset-env', {targets: {node: 'current'}}],
|
||||
'@babel/preset-typescript'
|
||||
],
|
||||
};
|
@ -1,19 +0,0 @@
|
||||
import AbilityType, { AbilityTypeSimple } from "./AbilityType";
|
||||
import LangList from "./LangList";
|
||||
|
||||
export interface AbilitySingle extends AbilitySimple {
|
||||
type: AbilityTypeSimple
|
||||
text: string
|
||||
}
|
||||
|
||||
export interface AbilitySimple {
|
||||
// id: number // WIP
|
||||
name: string
|
||||
}
|
||||
|
||||
export default interface Ability {
|
||||
id?: number
|
||||
type: AbilityType
|
||||
name: LangList<string>
|
||||
text: LangList<string>
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
export interface AbilityTypeSimple {
|
||||
id: AbilityType
|
||||
name: string
|
||||
}
|
||||
|
||||
export type AbilityTypeSingle = {
|
||||
id: AbilityType
|
||||
name: string
|
||||
cards: string
|
||||
}
|
||||
|
||||
enum AbilityType {
|
||||
POKEBODY,
|
||||
POKEPOWER,
|
||||
TALENT,
|
||||
ANCIENTTRAIT
|
||||
}
|
||||
|
||||
export default AbilityType
|
@ -1,20 +0,0 @@
|
||||
import Type from "./Type";
|
||||
import LangList from "./LangList";
|
||||
|
||||
export interface AttackSingle extends AttackSimple {
|
||||
cost?: Array<string>
|
||||
text?: string
|
||||
damage?: string|number
|
||||
}
|
||||
|
||||
export interface AttackSimple {
|
||||
// id: number
|
||||
name: string
|
||||
}
|
||||
|
||||
export default interface Attack {
|
||||
cost?: Array<Type>
|
||||
name: LangList<string>
|
||||
text?: LangList<string>
|
||||
damage?: string|number
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
import Type, { TypeSimple } from "./Type";
|
||||
import Tag, { TagSimple } from "./Tag";
|
||||
import { RaritySimple, Rarity } from "./Rarity";
|
||||
import { CategorySimple, Category } from "./Category";
|
||||
import { IllustratorSimple } from "./Illustrator";
|
||||
import Ability, { AbilitySingle } from "./Ability";
|
||||
import Attack, { AttackSingle } from "./Attack";
|
||||
import { List } from "./General";
|
||||
import LangList from "./LangList";
|
||||
import Set from "./Set";
|
||||
|
||||
export interface CardSimple {
|
||||
id: string
|
||||
name: string
|
||||
image: string
|
||||
}
|
||||
|
||||
export interface CardSingle {
|
||||
// General
|
||||
id: string
|
||||
localId: number|string
|
||||
name: string
|
||||
image?: {
|
||||
low: string
|
||||
high?: string
|
||||
}
|
||||
tags: Array<TagSimple>
|
||||
illustrator?: IllustratorSimple
|
||||
rarity: RaritySimple
|
||||
category: CategorySimple
|
||||
set: {
|
||||
name: string
|
||||
code: string
|
||||
}
|
||||
cardTypes?: {
|
||||
normal: boolean
|
||||
reverse: boolean
|
||||
holo: boolean
|
||||
firstEd: boolean
|
||||
}
|
||||
|
||||
// Pokémon only
|
||||
hp?: number
|
||||
dexId?: number
|
||||
type?: Array<TypeSimple>
|
||||
evolveFrom?: string
|
||||
evolveTo?: Array<string>
|
||||
abilities?: Array<AbilitySingle>
|
||||
attacks?: Array<AttackSingle>
|
||||
weaknesses?: Array<WeakRes>
|
||||
|
||||
resistances?: Array<WeakRes>
|
||||
retreat?: number
|
||||
|
||||
// Trainer/Energy only
|
||||
effect?: string
|
||||
}
|
||||
|
||||
export type CardList = List<CardSimple>
|
||||
|
||||
type WeakRes = {
|
||||
type: TypeSimple
|
||||
value?: string
|
||||
}
|
||||
|
||||
type Card = {
|
||||
|
||||
// global id made of setid and localId
|
||||
id: string
|
||||
|
||||
// set id
|
||||
localId: string|number
|
||||
|
||||
dexId?: number
|
||||
|
||||
// Card informations (from top to bottom of card)
|
||||
name: LangList<string>
|
||||
hp?: number //optionnal because energy/trainer cards might have not any hp
|
||||
type?: Array<Type> // ex for multiple https://api.pokemon.com/us/pokemon-tcg/pokemon-cards/ex-series/ex13/17/
|
||||
|
||||
image?: {
|
||||
low: LangList<string>
|
||||
high?: LangList<string>
|
||||
}
|
||||
|
||||
evolveFrom?: LangList<string>
|
||||
evolveTo?: Array<LangList<string>>
|
||||
tags: Array<Tag> // made after
|
||||
illustrator?: string
|
||||
|
||||
abilities?: Array<Ability>
|
||||
|
||||
attacks?: Array<Attack>
|
||||
|
||||
// If card is trainer or energy effect is here
|
||||
effect?: LangList<string>
|
||||
|
||||
weaknesses?: Array<{
|
||||
type: Type
|
||||
value?: string
|
||||
}>
|
||||
|
||||
resistances?: Array<{
|
||||
type: Type
|
||||
value?: string
|
||||
}>
|
||||
|
||||
retreat?: number
|
||||
|
||||
rarity: Rarity
|
||||
|
||||
// Other elements
|
||||
category: Category
|
||||
set: {
|
||||
name: string
|
||||
code: string
|
||||
}| Set
|
||||
|
||||
/**
|
||||
* Override Set defaults
|
||||
*/
|
||||
cardTypes?: {
|
||||
normal: boolean
|
||||
reverse: boolean
|
||||
holo: boolean
|
||||
firstEd: boolean
|
||||
}
|
||||
}
|
||||
|
||||
export default Card
|
@ -1,24 +0,0 @@
|
||||
import { List } from "./General"
|
||||
import { CardSimple } from "./Card"
|
||||
|
||||
export enum Category {
|
||||
POKEMON,
|
||||
TRAINER,
|
||||
ENERGY
|
||||
}
|
||||
|
||||
export default Category
|
||||
|
||||
export type CategorySingle = {
|
||||
id: Category
|
||||
name: string
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
|
||||
export type CategorySimple = {
|
||||
id: Category
|
||||
name: string
|
||||
}
|
||||
|
||||
export type CategoryList = List<CategorySimple>
|
@ -1,22 +0,0 @@
|
||||
import { SetSimple } from "./Set";
|
||||
import { List } from "./General";
|
||||
import LangList from "./LangList";
|
||||
|
||||
export type ExpansionSingle = {
|
||||
code: string
|
||||
name: string
|
||||
sets: Array<SetSimple>
|
||||
}
|
||||
|
||||
export type ExpansionSimple = {
|
||||
code: string
|
||||
name: string
|
||||
}
|
||||
|
||||
export type ExpansionList = List<ExpansionSimple>
|
||||
|
||||
export default interface Expansion {
|
||||
name: LangList<string> | string
|
||||
code: string
|
||||
sets?: Array<string>
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
export type List<T> = {
|
||||
count: number
|
||||
list: Array<T>
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
import { CardSimple } from "./Card";
|
||||
import { List } from "./General";
|
||||
|
||||
export type HpSingle = {
|
||||
hp: number
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type HpSimple = number
|
||||
|
||||
export type HpList = List<HpSimple>
|
@ -1,22 +0,0 @@
|
||||
import { CardSimple } from "./Card";
|
||||
import { List } from "./General";
|
||||
|
||||
export type IllustratorSingle = {
|
||||
id: number,
|
||||
name: string,
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export interface IllustratorSimple {
|
||||
id: number
|
||||
name: string
|
||||
}
|
||||
|
||||
export type IllustratorsList = List<IllustratorSimple>
|
||||
|
||||
interface Illustrator {
|
||||
id: number
|
||||
name: string
|
||||
}
|
||||
|
||||
export default Illustrator
|
@ -1,15 +0,0 @@
|
||||
type LangList<T> = {
|
||||
[key in Langs]?: T
|
||||
}
|
||||
|
||||
export type Langs = "en" | "fr"
|
||||
|
||||
namespace LangList {
|
||||
export function insert(from: LangList<any>, el: any, lang: Langs) {
|
||||
if (typeof from !== "object") from = {}
|
||||
from[lang] = el
|
||||
return from
|
||||
}
|
||||
}
|
||||
|
||||
export default LangList
|
@ -1,6 +0,0 @@
|
||||
import { Langs as l } from './LangList'
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
export type Langs = l
|
@ -1,43 +0,0 @@
|
||||
import { List } from "./General"
|
||||
import { CardSimple } from "./Card"
|
||||
|
||||
export enum Rarity {
|
||||
Common,
|
||||
Uncommon,
|
||||
Rare,
|
||||
|
||||
// Rare holo
|
||||
RareHolo,
|
||||
RareHoloEX,
|
||||
RareHoloGX,
|
||||
RareHoloLvX,
|
||||
|
||||
// Rare other
|
||||
RareUltra,
|
||||
RarePrime,
|
||||
RareACE,
|
||||
RareBREAK,
|
||||
RareRainbow,
|
||||
|
||||
// Other
|
||||
LEGEND,
|
||||
|
||||
// V & Vmax
|
||||
RareV,
|
||||
RareVMAX,
|
||||
}
|
||||
|
||||
export default Rarity
|
||||
|
||||
export interface RaritySimple {
|
||||
id: Rarity
|
||||
name: string
|
||||
}
|
||||
|
||||
export type RaritySingle = {
|
||||
id: Rarity
|
||||
name: string
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type RarityList = List<RaritySimple>
|
@ -1,11 +0,0 @@
|
||||
import { CardSimple } from "./Card";
|
||||
import { List } from "./General";
|
||||
|
||||
export type RetreatSimple = number
|
||||
|
||||
export interface RetreatSingle {
|
||||
id: RetreatSimple
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type RetreatList = List<RetreatSimple>
|
@ -1,158 +0,0 @@
|
||||
import { CardSimple } from "./Card";
|
||||
import { List } from "./General";
|
||||
import LangList from "./LangList";
|
||||
import Expansion from "./Expansion";
|
||||
|
||||
|
||||
export type SetRequest = SetSingle
|
||||
|
||||
export type SetSingle = {
|
||||
name: string
|
||||
code: string
|
||||
|
||||
expansionCode?: string
|
||||
tcgoCode?: string
|
||||
|
||||
cardCount: {
|
||||
total: number
|
||||
official: number
|
||||
}
|
||||
|
||||
releaseDate: Date|string
|
||||
|
||||
legal?: {
|
||||
standard: boolean
|
||||
expanded: boolean
|
||||
}
|
||||
|
||||
images?: {
|
||||
symbol?: string
|
||||
logo?: string
|
||||
}
|
||||
|
||||
list: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type SetSimple = {
|
||||
code: string
|
||||
name: string
|
||||
total: number
|
||||
}
|
||||
|
||||
export type SetList = List<SetSimple>
|
||||
|
||||
|
||||
export default interface Set {
|
||||
/**
|
||||
* Display Name
|
||||
*/
|
||||
name: LangList<string> | string
|
||||
|
||||
/**
|
||||
* Expansion Object
|
||||
*/
|
||||
expansion?: Expansion
|
||||
|
||||
/**
|
||||
* Expansion code
|
||||
*/
|
||||
expansionCode?: string
|
||||
|
||||
/**
|
||||
* Set code (Also used as the slug)
|
||||
*/
|
||||
code: string
|
||||
|
||||
/**
|
||||
* Trading card online code
|
||||
*/
|
||||
tcgoCode?: string
|
||||
|
||||
cardCount: {
|
||||
/**
|
||||
* total number of cards including secrets
|
||||
*/
|
||||
total: number
|
||||
/**
|
||||
* number of card indicated at the bottom of each cards
|
||||
*/
|
||||
official: number
|
||||
}
|
||||
|
||||
cardTypes?: {
|
||||
/**
|
||||
* Default: true
|
||||
*/
|
||||
normal: boolean
|
||||
/**
|
||||
* Default: true
|
||||
*/
|
||||
reverse: boolean
|
||||
/**
|
||||
* Default: true
|
||||
*/
|
||||
holo: boolean
|
||||
/**
|
||||
* Default: false
|
||||
*/
|
||||
ed1: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Format of numbering
|
||||
* ex: SWSH[000] mean that it has SWSH as prefix and start at 000 -> 001 -> 002 -> etc
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof Set
|
||||
*/
|
||||
format?: string
|
||||
|
||||
/**
|
||||
* Release date of the set
|
||||
* in format: yyyy-mm-dd
|
||||
* ex: 2002-12-22
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof Set
|
||||
*/
|
||||
releaseDate: string // date in format yyyy-mm-dd
|
||||
|
||||
/**
|
||||
* Aol Endpoint for scrapping
|
||||
*/
|
||||
api?: string
|
||||
|
||||
/**
|
||||
* Competition usage
|
||||
*/
|
||||
legal?: {
|
||||
standard: boolean
|
||||
expanded: boolean
|
||||
}
|
||||
|
||||
images?: {
|
||||
/**
|
||||
* Symbol icon on bottom of card
|
||||
* available extensions [
|
||||
* webp
|
||||
* jpg
|
||||
* png
|
||||
* ]
|
||||
*/
|
||||
symbol?: string
|
||||
/**
|
||||
* Official logo of set
|
||||
* available extensions [
|
||||
* webp
|
||||
* jpg
|
||||
* png
|
||||
* ]
|
||||
*/
|
||||
logo?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Language in which the set is available
|
||||
*/
|
||||
availability?: LangList<boolean>
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
import { List } from "./General"
|
||||
import { CardSimple } from "./Card"
|
||||
|
||||
enum Tag {
|
||||
BASIC,
|
||||
BASICENERGY,
|
||||
BREAK,
|
||||
EX,
|
||||
GX,
|
||||
ITEM,
|
||||
LEGEND,
|
||||
LEVELUP,
|
||||
MEGA,
|
||||
RESTORED,
|
||||
ROCKETSECRETMACHINE,
|
||||
SP,
|
||||
SPECIAL,
|
||||
STADIUM,
|
||||
STAGE1,
|
||||
STAGE2,
|
||||
SUPPORTER,
|
||||
TAGTEAM,
|
||||
TECHNICALMACHINE,
|
||||
TOOL,
|
||||
V,
|
||||
VMAX,
|
||||
}
|
||||
|
||||
export default Tag
|
||||
|
||||
export interface TagSimple {
|
||||
id: Tag
|
||||
name: string
|
||||
}
|
||||
|
||||
export type TagSingle = {
|
||||
id: Tag
|
||||
name: string
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type TagList = List<TagSimple>
|
@ -1,31 +0,0 @@
|
||||
import { List } from "./General"
|
||||
import { CardSimple } from "./Card"
|
||||
|
||||
enum Type {
|
||||
COLORLESS,
|
||||
DARKNESS,
|
||||
DRAGON,
|
||||
FAIRY,
|
||||
FIGHTING,
|
||||
FIRE,
|
||||
GRASS,
|
||||
LIGHTNING,
|
||||
METAL,
|
||||
PSYCHIC,
|
||||
WATER,
|
||||
}
|
||||
|
||||
export interface TypeSimple {
|
||||
id: Type
|
||||
name: string
|
||||
}
|
||||
|
||||
export type TypeSingle = {
|
||||
id: Type
|
||||
name: string
|
||||
cards: Array<CardSimple>
|
||||
}
|
||||
|
||||
export type TypeList = List<TypeSimple>
|
||||
|
||||
export default Type
|
15619
package-lock.json
generated
Normal file
15619
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
85
package.json
85
package.json
@ -1,25 +1,60 @@
|
||||
{
|
||||
"name": "@tcgdex/sdk",
|
||||
"version": "1.0.8",
|
||||
"main": "./tcgdex.js",
|
||||
"types": "./types/tcgdex.d.ts",
|
||||
"repository": "https://git.delta-wings.net/tcgdex/javascript-sdk.git",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/node-fetch": "^2.5.4",
|
||||
"typescript": "^3.7.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"isomorphic-unfetch": "^3.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc --project tsconfig.json",
|
||||
"prepublishOnly": "yarn build"
|
||||
},
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.d.ts",
|
||||
"**/*.js",
|
||||
"**/*.d.ts"
|
||||
]
|
||||
}
|
||||
{
|
||||
"name": "@tcgdex/sdk",
|
||||
"version": "2.4.2",
|
||||
"main": "./dist/cjs/tcgdex.node.js",
|
||||
"types": "./dist/types/tcgdex.d.ts",
|
||||
"description": "Communicate with the Open Source TCGdex API in Javascript/Typescript using the SDK",
|
||||
"repository": "https://github.com/tcgdex/javascript-sdk.git",
|
||||
"homepage": "https://github.com/tcgdex/javascript-sdk",
|
||||
"author": "Aviortheking",
|
||||
"keywords": [
|
||||
"tcgdex",
|
||||
"pokemon",
|
||||
"trading",
|
||||
"card",
|
||||
"tcg",
|
||||
"sdk",
|
||||
"api",
|
||||
"typescript",
|
||||
"javascript",
|
||||
"typing"
|
||||
],
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.14.6",
|
||||
"@babel/preset-env": "^7.14.7",
|
||||
"@babel/preset-typescript": "^7.14.5",
|
||||
"@dzeio/config": "^1.0.0",
|
||||
"@types/node-fetch": "^2.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "^4.28.0",
|
||||
"@typescript-eslint/parser": "^4.28.0",
|
||||
"eslint": "^7.29.0",
|
||||
"jest": "^27.0.5",
|
||||
"ts-loader": "^9.2.3",
|
||||
"ts-node": "^10.0.0",
|
||||
"typescript": "^4.1.3",
|
||||
"webpack": "^5.40.0",
|
||||
"webpack-nano": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"dependencies": {
|
||||
"isomorphic-unfetch": "^3.1.0",
|
||||
"unfetch": "^4.2.0"
|
||||
},
|
||||
"scripts": {
|
||||
"prebuild": "node scripts/export-version-number.js",
|
||||
"build": "npm run prebuild && npm run build:cjs && npm run build:browser && npm run build:es2015",
|
||||
"build:cjs": "tsc --project tsconfig.json",
|
||||
"build:es2015": "tsc --project tsconfig.es2015.json",
|
||||
"build:browser": "wp --config webpack.config.js",
|
||||
"prepublishOnly": "npm run build",
|
||||
"lint": "eslint",
|
||||
"test": "jest --coverage"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"sideEffects": false
|
||||
}
|
||||
|
4
scripts/export-version-number.js
Normal file
4
scripts/export-version-number.js
Normal file
@ -0,0 +1,4 @@
|
||||
const { version } = require('../package.json')
|
||||
const fs = require('fs')
|
||||
|
||||
fs.writeFileSync('./src/version.json', JSON.stringify({version}))
|
31
src/Request.ts
Normal file
31
src/Request.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import TCGdex from './tcgdex'
|
||||
import { version } from './version.json'
|
||||
|
||||
export default class Request {
|
||||
|
||||
// 1 hour of TTL by default
|
||||
public static ttl = 1000 * 60 * 60
|
||||
|
||||
private static cache: Record<string, {response: any, time: number}> = {}
|
||||
|
||||
public static async fetch<T>(url: string): Promise<T | undefined> {
|
||||
let request = this.cache[url]
|
||||
const now = new Date().getTime()
|
||||
if (!request || now - request.time > this.ttl) {
|
||||
const unfetch = TCGdex.fetch
|
||||
const resp = await unfetch(url, {
|
||||
headers: {
|
||||
'user-agent': `@tcgdex/javascript-sdk/${version}`
|
||||
}
|
||||
})
|
||||
if (resp.status !== 200) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
this.cache[url] = { response: await resp.json(), time: now }
|
||||
request = this.cache[url]
|
||||
}
|
||||
return request.response
|
||||
}
|
||||
|
||||
}
|
311
src/interfaces.ts
Normal file
311
src/interfaces.ts
Normal file
@ -0,0 +1,311 @@
|
||||
export type SupportedLanguages = 'en' | 'fr' | 'es' | 'it' | 'pt' | 'de'
|
||||
|
||||
/**
|
||||
* @deprecated This is not used anymore in the API V2
|
||||
*/
|
||||
export type Languages<T = string> = Partial<Record<SupportedLanguages, T>>
|
||||
|
||||
export interface SerieResume {
|
||||
id: string
|
||||
name: string
|
||||
}
|
||||
|
||||
export interface Serie extends SerieResume {
|
||||
sets: SetList
|
||||
}
|
||||
|
||||
interface variants {
|
||||
normal?: boolean
|
||||
reverse?: boolean
|
||||
holo?: boolean
|
||||
firstEdition?: boolean
|
||||
}
|
||||
|
||||
export type SetList = Array<SetResume>
|
||||
export type SerieList = Array<SerieResume>
|
||||
export type CardList = Array<CardResume>
|
||||
|
||||
export interface SetResume {
|
||||
id: string
|
||||
name: string
|
||||
logo?: string
|
||||
symbol?: string
|
||||
cardCount: {
|
||||
|
||||
/**
|
||||
* total of number of cards
|
||||
*/
|
||||
total: number
|
||||
|
||||
/**
|
||||
* number of cards officialy (on the bottom of each cards)
|
||||
*/
|
||||
official: number
|
||||
}
|
||||
}
|
||||
|
||||
export interface Set extends SetResume {
|
||||
serie: SerieResume
|
||||
tcgOnline?: string
|
||||
variants?: variants
|
||||
|
||||
releaseDate: string
|
||||
|
||||
/**
|
||||
* Designate if the set is usable in tournaments
|
||||
*
|
||||
* Note: this is specific to the set and if a
|
||||
* card is banned from the set it will still be true
|
||||
*/
|
||||
legal: {
|
||||
|
||||
/**
|
||||
* Ability to play in standard tournaments
|
||||
*/
|
||||
standard: boolean
|
||||
|
||||
/**
|
||||
* Ability to play in expanded tournaments
|
||||
*/
|
||||
expanded: boolean
|
||||
}
|
||||
|
||||
cardCount: {
|
||||
|
||||
/**
|
||||
* total of number of cards
|
||||
*/
|
||||
total: number
|
||||
|
||||
/**
|
||||
* number of cards officialy (on the bottom of each cards)
|
||||
*/
|
||||
official: number
|
||||
|
||||
/**
|
||||
* number of cards having a normal version
|
||||
*/
|
||||
normal: number
|
||||
|
||||
/**
|
||||
* number of cards having an reverse version
|
||||
*/
|
||||
reverse: number
|
||||
|
||||
/**
|
||||
* number of cards having an holo version
|
||||
*/
|
||||
holo: number
|
||||
|
||||
/**
|
||||
* Number of possible cards
|
||||
*/
|
||||
firstEd?: number
|
||||
}
|
||||
|
||||
cards: CardList
|
||||
}
|
||||
|
||||
export interface CardResume {
|
||||
id: string
|
||||
localId: string
|
||||
|
||||
/**
|
||||
* Card Name (Including the suffix if next to card name)
|
||||
*/
|
||||
name: string
|
||||
image?: string
|
||||
}
|
||||
|
||||
export interface Card<SetType extends SetResume = SetResume> extends CardResume {
|
||||
|
||||
/**
|
||||
* Card illustrator
|
||||
*/
|
||||
illustrator?: string
|
||||
|
||||
/**
|
||||
* Card Rarity
|
||||
*
|
||||
* - None https://www.tcgdex.net/database/sm/smp/SM01
|
||||
* - Common https://www.tcgdex.net/database/xy/xy9/1
|
||||
* - Uncommon https://www.tcgdex.net/database/xy/xy9/2
|
||||
* - Rare https://www.tcgdex.net/database/xy/xy9/3
|
||||
* - Ultra Rare
|
||||
* - Secret Rare
|
||||
*/
|
||||
rarity: string
|
||||
|
||||
/**
|
||||
* Card Category
|
||||
*
|
||||
* - Pokemon
|
||||
* - Trainer
|
||||
* - Energy
|
||||
*/
|
||||
category: string
|
||||
|
||||
/**
|
||||
* Card Variants (Override Set Variants)
|
||||
*/
|
||||
variants?: variants
|
||||
|
||||
/**
|
||||
* Card Set
|
||||
*/
|
||||
set: SetType
|
||||
|
||||
/**
|
||||
* Pokemon only elements
|
||||
*/
|
||||
|
||||
/**
|
||||
* Pokemon Pokedex ID
|
||||
*/
|
||||
dexId?: Array<number>
|
||||
|
||||
/**
|
||||
* Pokemon HP
|
||||
*/
|
||||
hp?: number
|
||||
|
||||
/**
|
||||
* Pokemon Types
|
||||
* ex for multiple https://www.tcgdex.net/database/ex/ex13/17
|
||||
*/
|
||||
types?: Array<string>
|
||||
|
||||
/**
|
||||
* Pokemon Sub Evolution
|
||||
*/
|
||||
evolveFrom?: string
|
||||
|
||||
/**
|
||||
* Pokemon Weight
|
||||
*/
|
||||
weight?: string
|
||||
|
||||
/**
|
||||
* Pokemon Description
|
||||
*/
|
||||
description?: string
|
||||
|
||||
/**
|
||||
* Level of the Pokemon
|
||||
*
|
||||
* NOTE: can be equal to 'X' when the pokemon is a LEVEL-UP one
|
||||
*/
|
||||
level?: number | string
|
||||
|
||||
/**
|
||||
* Pokemon Stage
|
||||
*
|
||||
* - Basic https://www.tcgdex.net/database/xy/xy9/1
|
||||
* - BREAK https://www.tcgdex.net/database/xy/xy9/18
|
||||
* - LEVEL-UP https://www.tcgdex.net/database/dp/dp1/121
|
||||
* - MEGA https://www.tcgdex.net/database/xy/xy1/2
|
||||
* - RESTORED https://www.tcgdex.net/database/bw/bw5/53
|
||||
* - Stage1 https://www.tcgdex.net/database/xy/xy9/2
|
||||
* - Stage2 https://www.tcgdex.net/database/xy/xy9/3
|
||||
* - VMAX https://www.tcgdex.net/database/swsh/swsh1/50
|
||||
*/
|
||||
stage?: string
|
||||
|
||||
/**
|
||||
* Card Suffix
|
||||
*
|
||||
* - EX https://www.tcgdex.net/database/ex/ex2/94
|
||||
* - GX https://www.tcgdex.net/database/sm/sm12/4
|
||||
* - V https://www.tcgdex.net/database/swsh/swsh1/1
|
||||
* - Legend https://www.tcgdex.net/database/hgss/hgss1/114
|
||||
* - Prime https://www.tcgdex.net/database/hgss/hgss2/85
|
||||
* - SP https://www.tcgdex.net/database/pl/pl1/7
|
||||
* - TAG TEAM-GX https://www.tcgdex.net/database/sm/sm12/226
|
||||
*/
|
||||
suffix?: string
|
||||
|
||||
/**
|
||||
* Pokemon Held Item
|
||||
*
|
||||
* ex https://www.tcgdex.net/database/dp/dp2/75
|
||||
*/
|
||||
item?: {
|
||||
name: string
|
||||
effect: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Pokemon Abilities
|
||||
*
|
||||
* multi abilities ex https://www.tcgdex.net/database/ex/ex15/10
|
||||
*/
|
||||
abilities?: Array<{
|
||||
type: string
|
||||
name: string
|
||||
effect: string
|
||||
}>
|
||||
|
||||
/**
|
||||
* Pokemon Attacks
|
||||
*/
|
||||
attacks?: Array<{
|
||||
cost?: Array<string>
|
||||
name: string
|
||||
effect?: string
|
||||
damage?: string | number
|
||||
}>
|
||||
|
||||
/**
|
||||
* Pokemon Weaknesses
|
||||
*/
|
||||
weaknesses?: Array<{
|
||||
type: string
|
||||
value?: string
|
||||
}>
|
||||
|
||||
resistances?: Array<{
|
||||
type: string
|
||||
value?: string
|
||||
}>
|
||||
|
||||
retreat?: number
|
||||
|
||||
// Trainer/Energy
|
||||
effect?: string
|
||||
|
||||
// Trainer Only
|
||||
trainerType?: string
|
||||
|
||||
// Energy Only
|
||||
energyType?: string
|
||||
|
||||
/**
|
||||
* Define the rotation mark on cards >= Sword & Shield
|
||||
*/
|
||||
regulationMark?: string
|
||||
|
||||
/**
|
||||
* Card ability to be played in official tournaments
|
||||
*
|
||||
* Note: all cards are avaialable to play in unlimited tournaments
|
||||
*/
|
||||
legal: {
|
||||
|
||||
/**
|
||||
* Ability to play in standard tournaments
|
||||
*/
|
||||
standard: boolean
|
||||
|
||||
/**
|
||||
* Ability to play in expanded tournaments
|
||||
*/
|
||||
expanded: boolean
|
||||
}
|
||||
}
|
||||
|
||||
export type StringEndpointList = Array<string>
|
||||
|
||||
export interface StringEndpoint {
|
||||
name: string
|
||||
cards: Array<CardResume>
|
||||
}
|
6
src/tcgdex.browser.ts
Normal file
6
src/tcgdex.browser.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import TCGdex from './tcgdex'
|
||||
import unfetch from 'unfetch'
|
||||
|
||||
TCGdex.fetch = window.fetch ?? unfetch as any
|
||||
|
||||
module.exports = TCGdex
|
7
src/tcgdex.node.ts
Normal file
7
src/tcgdex.node.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import TCGdex from './tcgdex'
|
||||
import fetch from 'isomorphic-unfetch'
|
||||
|
||||
TCGdex.fetch = fetch as any
|
||||
|
||||
export default TCGdex
|
||||
export * from './tcgdex'
|
185
src/tcgdex.ts
Normal file
185
src/tcgdex.ts
Normal file
@ -0,0 +1,185 @@
|
||||
import RequestWrapper from './Request'
|
||||
import { Serie, Set, Card, CardResume, SerieList, SetList, SupportedLanguages, StringEndpoint } from './interfaces'
|
||||
type Endpoint = 'cards' | 'categories' | 'hp' | 'illustrators' | 'rarities' | 'retreats' | 'series' | 'sets' | 'types'
|
||||
|
||||
const ENDPOINTS: Array<Endpoint> = ['cards', 'categories', 'hp', 'illustrators', 'rarities', 'retreats', 'series', 'sets', 'types']
|
||||
const BASE_URL = 'https://api.tcgdex.net/v2'
|
||||
export default class TCGdex {
|
||||
|
||||
public static fetch: typeof fetch
|
||||
|
||||
/**
|
||||
* @deprecated to change the lang use `this.lang`
|
||||
*/
|
||||
public static defaultLang: SupportedLanguages = 'en'
|
||||
|
||||
public constructor(public lang?: SupportedLanguages) {}
|
||||
|
||||
public getLang(): SupportedLanguages {
|
||||
return this.lang ?? TCGdex.defaultLang ?? 'en'
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut to easily fetch a card using both it's global id and it's local ID
|
||||
* @param id the card global/local ID
|
||||
* @param set the card set name/ID (optionnal)
|
||||
* @returns the card object
|
||||
*/
|
||||
public async fetchCard(id: string | number, set?: string): Promise<Card | undefined> {
|
||||
const path = set ? ['sets', set] : ['cards']
|
||||
// @ts-expect-error the base endpoint is 'sets' or 'cards'
|
||||
return this.fetch(...path, id)
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut to easily fetch cards using an optionnal set name/ID
|
||||
* @param set the card set name/ID (optionnal)
|
||||
* @returns a card list
|
||||
*/
|
||||
public async fetchCards(set?: string): Promise<Array<CardResume> | undefined> {
|
||||
if (set) {
|
||||
const fSet = await this.fetch('sets', set)
|
||||
return fSet ? fSet.cards : undefined
|
||||
}
|
||||
return this.fetch('cards')
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use `this.fetch('sets', set)`
|
||||
*/
|
||||
public async fetchSet(set: string): Promise<Set | undefined> {
|
||||
return this.fetch('sets', set)
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use `this.fetch('series', serie)`
|
||||
*/
|
||||
public async fetchSerie(serie: string): Promise<Serie | undefined> {
|
||||
return this.fetch('series', serie)
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use `this.fetch('series')`
|
||||
*/
|
||||
public async fetchSeries(): Promise<SerieList | undefined> {
|
||||
return this.fetch('series')
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut to easily fetch sets using an optionnal serie name/ID
|
||||
* @param serie the card set name/ID (optionnal)
|
||||
* @returns a card list
|
||||
*/
|
||||
public async fetchSets(serie?: string): Promise<SetList | undefined> {
|
||||
if (serie) {
|
||||
const fSerie = await this.fetch('series', serie)
|
||||
return fSerie ? fSerie.sets : undefined
|
||||
}
|
||||
return this.fetch('sets')
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch a card using its global id
|
||||
* @param endpoint_0 'cards'
|
||||
* @param endpoint_1 {string} the card global ID
|
||||
*/
|
||||
public async fetch(...type: ['cards', string]): Promise<Card | undefined>
|
||||
|
||||
/**
|
||||
* Fetch every cards in the database
|
||||
* @param endpoint_0 'cards'
|
||||
*/
|
||||
public async fetch(type: 'cards'): Promise<Array<CardResume> | undefined>
|
||||
|
||||
/**
|
||||
* Fetch a card using its local id and its set
|
||||
* @param endpoint_0 'sets'
|
||||
* @param endpoint_1 {string} the set name or ID
|
||||
* @param endpoint_2 {string} the card local ID
|
||||
*/
|
||||
public async fetch(...endpoint: ['sets', string, string]): Promise<Card | undefined>
|
||||
|
||||
/**
|
||||
* Fetch a set
|
||||
* @param endpoint_0 'sets'
|
||||
* @param endpoint_1 {string} the set name or ID
|
||||
*/
|
||||
public async fetch(...endpoint: ['sets', string]): Promise<Set | undefined>
|
||||
|
||||
/**
|
||||
* Fetch every sets
|
||||
* @param endpoint_0 'sets'
|
||||
*/
|
||||
public async fetch(endpoint: 'sets'): Promise<SetList | undefined>
|
||||
|
||||
/**
|
||||
* Fetch a serie
|
||||
* @param endpoint_0 'series'
|
||||
* @param endpoint_1 {string} the serie name or ID
|
||||
*/
|
||||
public async fetch(...endpoint: ['series', string]): Promise<Serie | undefined>
|
||||
|
||||
/**
|
||||
* Fetch every series
|
||||
* @param endpoint_0 'series'
|
||||
*/
|
||||
public async fetch(endpoint: 'series'): Promise<SerieList | undefined>
|
||||
|
||||
/**
|
||||
* Fetch cards depending on a specific filter
|
||||
* @param endpoint_0 {'categories' | 'hp' | 'illustrators' | 'rarities' | 'retreats' | 'types'}
|
||||
* Possible value 'categories' | 'hp' | 'illustrators' | 'rarities' | 'retreats' | 'types'
|
||||
* @param endpoint_1 {string} the value set while fetching the index
|
||||
*/
|
||||
public async fetch(...endpoint: ['categories' | 'hp' | 'illustrators' | 'rarities' | 'retreats' | 'types', string]): Promise<StringEndpoint | undefined>
|
||||
|
||||
/**
|
||||
* Fetch cards depending on a specific filter
|
||||
* @param endpoint_0 {'hp' | 'retreats' | 'categories' | 'illustrators' | 'rarities' | 'types'}
|
||||
* Possible value 'hp' | 'retreats' | 'categories' | 'illustrators' | 'rarities' | 'types'
|
||||
* @param endpoint_1 {string} Fetch the possible values to use depending on the endpoint
|
||||
*/
|
||||
public async fetch(endpoint: 'hp' | 'retreats' | 'categories' | 'illustrators' | 'rarities' | 'types'): Promise<Array<string> | undefined>
|
||||
|
||||
/**
|
||||
* Fetch The differents endpoints depending on the first argument
|
||||
* @param endpoint_0 {'hp' | 'retreats' | 'categories' | 'illustrators' | 'rarities' | 'types'}
|
||||
* Possible value 'cards' | 'categories' | 'hp' | 'illustrators' | 'rarities' | 'retreats' | 'series' | 'sets' | 'types'
|
||||
* @param endpoint_1 {string} (Optionnal) some details to go from the index file to the item file (mostly the ID/name)
|
||||
* @param endpoint_2 {string} (Optionnal) only for sets the card local ID to fetch the card through the set
|
||||
*/
|
||||
public async fetch(...endpoint: Array<Endpoint | string>): Promise<any | undefined> {
|
||||
if (endpoint.length === 0) {
|
||||
throw new Error('endpoint to fetch is empty!')
|
||||
}
|
||||
// @ts-expect-error with the precedent check, we KNOW that type is not empty
|
||||
const baseEndpoint = endpoint.shift().toLowerCase() as Endpoint
|
||||
if (!ENDPOINTS.includes(baseEndpoint)) {
|
||||
throw new Error(`unknown endpoint to fetch! (${baseEndpoint})`)
|
||||
}
|
||||
return this.makeRequest(baseEndpoint, ...endpoint)
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to make the request and normalize the whole path
|
||||
*/
|
||||
private makeRequest<T = any>(...url: Array<string | number>) {
|
||||
// Normalize path
|
||||
const path = url.map((subPath) => encodeURI(
|
||||
subPath
|
||||
// Transform numbers to string
|
||||
.toString()
|
||||
// replace this special character with an escaped one
|
||||
.replace('?', '%3F')
|
||||
// normalize the string
|
||||
.normalize('NFC')
|
||||
// remove some special chars by nothing
|
||||
// eslint-disable-next-line no-misleading-character-class
|
||||
.replace(/["'\u0300-\u036f]/gu, '')
|
||||
)).join('/')
|
||||
return RequestWrapper.fetch<T>(`${BASE_URL}/${this.getLang()}/${path}`)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export * from './interfaces'
|
68
tcgdex.ts
68
tcgdex.ts
@ -1,68 +0,0 @@
|
||||
import fetch from 'isomorphic-unfetch'
|
||||
import { Langs } from './interfaces/Langs'
|
||||
import { SetSingle, SetRequest } from './interfaces/Set'
|
||||
import { CardSingle } from './interfaces/Card'
|
||||
import { ExpansionSingle } from './interfaces/Expansion'
|
||||
|
||||
export default class TCGdex {
|
||||
public lang: Langs = "en"
|
||||
|
||||
public constructor(lang?: Langs) {
|
||||
if (lang) this.lang = lang
|
||||
}
|
||||
|
||||
private getBaseUrl() {
|
||||
return `https://api.tcgdex.net/${this.lang}`
|
||||
}
|
||||
|
||||
private gbu() {
|
||||
return this.getBaseUrl()
|
||||
}
|
||||
|
||||
public async getCard(id: string|number, set: string): Promise<CardSingle>;
|
||||
public async getCard(id: string): Promise<CardSingle>;
|
||||
public async getCard(id: string|number, set?: string): Promise<CardSingle> {
|
||||
try {
|
||||
const txt = set ? `sets/${set}` : "cards"
|
||||
const resp = await fetch(`${this.gbu()}/${txt}/${id}`)
|
||||
if (resp.status !== 200) throw new Error("Card not found")
|
||||
try {
|
||||
return await resp.json()
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
public async getSet(set: string): Promise<SetSingle> {
|
||||
try {
|
||||
const resp = await fetch(`${this.gbu()}/sets/${set}`)
|
||||
console.log(resp.status)
|
||||
if (resp.status !== 200) throw new Error("Set not found")
|
||||
try {
|
||||
const setTmp: SetRequest = await resp.json();
|
||||
return Object.assign(setTmp, {releaseDate: new Date(setTmp.releaseDate)}) as SetSingle
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
public async getExpansion(expansion: string): Promise<ExpansionSingle> {
|
||||
try {
|
||||
const resp = await fetch(`${this.gbu()}/expansions/${expansion}`)
|
||||
if (resp.status !== 200) throw new Error("Expansion not found")
|
||||
try {
|
||||
return await resp.json()
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Poké-Body",
|
||||
"Poké-Power",
|
||||
"Ability",
|
||||
"Ancient Trait"
|
||||
],
|
||||
fr: [
|
||||
"Poké-Body",
|
||||
"Poké-Power",
|
||||
"Talent",
|
||||
"Trait Ancien"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,15 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Pokémon",
|
||||
"Trainer",
|
||||
"Energy"
|
||||
],
|
||||
fr: [
|
||||
"Pokémon",
|
||||
"Dresseur",
|
||||
"Énergie"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,47 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Common",
|
||||
"unCommon",
|
||||
"Rare",
|
||||
|
||||
"Rare Holo",
|
||||
"Rare Holo EX",
|
||||
"Rare Holo GX",
|
||||
"Rare Holo Lv.X",
|
||||
|
||||
"Rare Ultra",
|
||||
"Rare Prime",
|
||||
"Rare ACE",
|
||||
"Rare BREAK",
|
||||
"Rainbow Rare",
|
||||
|
||||
"LEGEND",
|
||||
|
||||
"V",
|
||||
"VMax"
|
||||
],
|
||||
fr: [
|
||||
"Commun",
|
||||
"Non Commun",
|
||||
"Rare",
|
||||
|
||||
"Rare Holo",
|
||||
"Rare Holo EX",
|
||||
"Rare Holo GX",
|
||||
"Rare Holo Lv.X",
|
||||
|
||||
"Rare Ultra",
|
||||
"Rare Prime",
|
||||
"Rare ACE",
|
||||
"Rare BREAK",
|
||||
"Rainbow Rare",
|
||||
|
||||
"LEGEND",
|
||||
|
||||
"V",
|
||||
"VMax"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,53 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Basic Pokémon",
|
||||
"Basic Energy",
|
||||
"BREAK",
|
||||
"EX",
|
||||
"GX",
|
||||
"Item",
|
||||
"LEGEND",
|
||||
"Level-Up",
|
||||
"MEGA",
|
||||
"Restored",
|
||||
"Rocket's Secret Machine",
|
||||
"SP",
|
||||
"Special",
|
||||
"Stadium",
|
||||
"Stage 1",
|
||||
"Stage 2",
|
||||
"Supporter",
|
||||
"Tag Team",
|
||||
"Technical Machine",
|
||||
"Tool",
|
||||
"Pokémon V",
|
||||
"Pokémon VMAX"
|
||||
],
|
||||
fr: [
|
||||
"Pokémon de base",
|
||||
"Energie de base",
|
||||
"TURBO",
|
||||
"EX",
|
||||
"GX",
|
||||
"Objet",
|
||||
"LÉGENDE",
|
||||
"Niveau Sup",
|
||||
"Méga",
|
||||
"Restauré",
|
||||
"Machine secrète dees Rocket",
|
||||
"SP",
|
||||
"Spéciale",
|
||||
"Stadium",
|
||||
"Niveau 1",
|
||||
"Niveau 2",
|
||||
"Supporter",
|
||||
"ESCOUADE",
|
||||
"Machine Technique",
|
||||
"Outil",
|
||||
"Pokémon V",
|
||||
"Pokémon VMAX"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,32 +0,0 @@
|
||||
import { translations } from "../TranslationUtil";
|
||||
|
||||
const trans: translations = {
|
||||
en: [
|
||||
"Colorless",
|
||||
"Darkness",
|
||||
"Dragon",
|
||||
"Fairy",
|
||||
"Fighting",
|
||||
"Fire",
|
||||
"Grass",
|
||||
"Lightning",
|
||||
"Metal",
|
||||
"Psychic",
|
||||
"Water"
|
||||
],
|
||||
fr: [
|
||||
"Incolore",
|
||||
"Obscurité",
|
||||
"Dragon",
|
||||
"Fée",
|
||||
"Combat",
|
||||
"Feu",
|
||||
"Plante",
|
||||
"Électrique",
|
||||
"Métal",
|
||||
"Psy",
|
||||
"Eau"
|
||||
]
|
||||
}
|
||||
|
||||
export default trans
|
11
tsconfig.es2015.json
Normal file
11
tsconfig.es2015.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"include": ["./src/tcgdex.node.ts"],
|
||||
"compilerOptions": {
|
||||
"target": "ES2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "ES2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
"declaration": false, /* Generates corresponding '.d.ts' file. */
|
||||
"declarationDir": null,
|
||||
"outDir": "./dist/modules", /* Redirect output structure to the directory. */
|
||||
}
|
||||
}
|
@ -1,65 +1,15 @@
|
||||
{
|
||||
"include": ["**/*.ts"],
|
||||
"extends": "./node_modules/@dzeio/config/tsconfig.base",
|
||||
"include": ["./src/tcgdex.node.ts"],
|
||||
"compilerOptions": {
|
||||
/* Basic Options */
|
||||
// "incremental": true, /* Enable incremental compilation */
|
||||
"target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
// "lib": [], /* Specify library files to be included in the compilation. */
|
||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||
// "checkJs": true, /* Report errors in .js files. */
|
||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||
"declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||
// "declarationDir": "types", /* Folder where the declarations are*/
|
||||
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
// "sourceMap": true, /* Generates corresponding '.map' file. */
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
// "outDir": "./", /* Redirect output structure to the directory. */
|
||||
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
// "composite": true, /* Enable project compilation */
|
||||
// "tsBuildInfoFile": "", /* Specify file to store incremental compilation information */
|
||||
"removeComments": true, /* Do not emit comments to output. */
|
||||
// "noEmit": true, /* Do not emit outputs. */
|
||||
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
||||
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||
/* Strict Type-Checking Options */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||
|
||||
/* Additional Checks */
|
||||
"noUnusedLocals": true, /* Report errors on unused locals. */
|
||||
"noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||
"noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"target": "ES2015",
|
||||
|
||||
/* Module Resolution Options */
|
||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||
// "types": [], /* Type declaration files to be included in compilation. */
|
||||
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||
"declaration": true,
|
||||
"declarationDir": "./dist/types",
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
"outDir": "./dist/cjs",
|
||||
"rootDir": "./src",
|
||||
|
||||
/* Experimental Options */
|
||||
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
||||
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
34
webpack.config.js
Normal file
34
webpack.config.js
Normal file
@ -0,0 +1,34 @@
|
||||
const path = require('path')
|
||||
|
||||
module.exports = {
|
||||
mode: 'production',
|
||||
entry: './src/tcgdex.browser.ts',
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: 'tcgdex.browser.js',
|
||||
libraryTarget: 'umd',
|
||||
library: 'TCGdex',
|
||||
umdNamedDefine: true
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.ts']
|
||||
},
|
||||
optimization: {
|
||||
minimize: true
|
||||
},
|
||||
module: {
|
||||
rules: [{
|
||||
test: /\.ts$/,
|
||||
loader: 'ts-loader',
|
||||
exclude: /node_modules/,
|
||||
options: {
|
||||
compilerOptions: {
|
||||
sourceMap: false,
|
||||
declaration: false,
|
||||
declarationDir: null,
|
||||
target: 'ES2016'
|
||||
}
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
565
yarn.lock
565
yarn.lock
@ -1,565 +0,0 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
|
||||
integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
|
||||
dependencies:
|
||||
"@babel/highlight" "^7.8.3"
|
||||
|
||||
"@babel/core@^7.8.4":
|
||||
version "7.8.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b"
|
||||
integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.8.3"
|
||||
"@babel/generator" "^7.8.7"
|
||||
"@babel/helpers" "^7.8.4"
|
||||
"@babel/parser" "^7.8.7"
|
||||
"@babel/template" "^7.8.6"
|
||||
"@babel/traverse" "^7.8.6"
|
||||
"@babel/types" "^7.8.7"
|
||||
convert-source-map "^1.7.0"
|
||||
debug "^4.1.0"
|
||||
gensync "^1.0.0-beta.1"
|
||||
json5 "^2.1.0"
|
||||
lodash "^4.17.13"
|
||||
resolve "^1.3.2"
|
||||
semver "^5.4.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@^7.8.6", "@babel/generator@^7.8.7":
|
||||
version "7.8.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.7.tgz#870b3cf7984f5297998152af625c4f3e341400f7"
|
||||
integrity sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==
|
||||
dependencies:
|
||||
"@babel/types" "^7.8.7"
|
||||
jsesc "^2.5.1"
|
||||
lodash "^4.17.13"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/helper-function-name@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca"
|
||||
integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==
|
||||
dependencies:
|
||||
"@babel/helper-get-function-arity" "^7.8.3"
|
||||
"@babel/template" "^7.8.3"
|
||||
"@babel/types" "^7.8.3"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
|
||||
integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
|
||||
dependencies:
|
||||
"@babel/types" "^7.8.3"
|
||||
|
||||
"@babel/helper-module-imports@^7.0.0":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
|
||||
integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
|
||||
dependencies:
|
||||
"@babel/types" "^7.8.3"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
|
||||
integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
|
||||
dependencies:
|
||||
"@babel/types" "^7.8.3"
|
||||
|
||||
"@babel/helpers@^7.8.4":
|
||||
version "7.8.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73"
|
||||
integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==
|
||||
dependencies:
|
||||
"@babel/template" "^7.8.3"
|
||||
"@babel/traverse" "^7.8.4"
|
||||
"@babel/types" "^7.8.3"
|
||||
|
||||
"@babel/highlight@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
|
||||
integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
|
||||
dependencies:
|
||||
chalk "^2.0.0"
|
||||
esutils "^2.0.2"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.8.6", "@babel/parser@^7.8.7":
|
||||
version "7.8.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.7.tgz#7b8facf95d25fef9534aad51c4ffecde1a61e26a"
|
||||
integrity sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==
|
||||
|
||||
"@babel/template@^7.8.3", "@babel/template@^7.8.6":
|
||||
version "7.8.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
|
||||
integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.8.3"
|
||||
"@babel/parser" "^7.8.6"
|
||||
"@babel/types" "^7.8.6"
|
||||
|
||||
"@babel/traverse@^7.8.4", "@babel/traverse@^7.8.6":
|
||||
version "7.8.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff"
|
||||
integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.8.3"
|
||||
"@babel/generator" "^7.8.6"
|
||||
"@babel/helper-function-name" "^7.8.3"
|
||||
"@babel/helper-split-export-declaration" "^7.8.3"
|
||||
"@babel/parser" "^7.8.6"
|
||||
"@babel/types" "^7.8.6"
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
lodash "^4.17.13"
|
||||
|
||||
"@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7":
|
||||
version "7.8.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d"
|
||||
integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
lodash "^4.17.13"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@types/estree@*":
|
||||
version "0.0.42"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.42.tgz#8d0c1f480339efedb3e46070e22dd63e0430dd11"
|
||||
integrity sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==
|
||||
|
||||
"@types/node-fetch@^2.5.4":
|
||||
version "2.5.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.5.tgz#cd264e20a81f4600a6c52864d38e7fef72485e92"
|
||||
integrity sha512-IWwjsyYjGw+em3xTvWVQi5MgYKbRs0du57klfTaZkv/B24AEQ/p/IopNeqIYNy3EsfHOpg8ieQSDomPcsYMHpA==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*":
|
||||
version "13.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589"
|
||||
integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==
|
||||
|
||||
acorn@^7.1.0:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
|
||||
integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||
|
||||
chalk@^2.0.0:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||
dependencies:
|
||||
ansi-styles "^3.2.1"
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
color-convert@^1.9.0:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
|
||||
dependencies:
|
||||
color-name "1.1.3"
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
|
||||
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
|
||||
|
||||
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"
|
||||
|
||||
commander@^2.20.0:
|
||||
version "2.20.3"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||
|
||||
commondir@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
|
||||
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
|
||||
|
||||
convert-source-map@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
|
||||
integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.1"
|
||||
|
||||
debug@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
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=
|
||||
|
||||
escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
||||
|
||||
estree-walker@^0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
|
||||
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
|
||||
|
||||
esutils@^2.0.2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||
|
||||
find-cache-dir@^3.2.0:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
|
||||
integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
|
||||
dependencies:
|
||||
commondir "^1.0.1"
|
||||
make-dir "^3.0.2"
|
||||
pkg-dir "^4.1.0"
|
||||
|
||||
find-up@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
|
||||
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
|
||||
dependencies:
|
||||
locate-path "^5.0.0"
|
||||
path-exists "^4.0.0"
|
||||
|
||||
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-extra@8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
|
||||
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
gensync@^1.0.0-beta.1:
|
||||
version "1.0.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
|
||||
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
|
||||
|
||||
globals@^11.1.0:
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||
|
||||
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
|
||||
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
|
||||
|
||||
has-flag@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
|
||||
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
|
||||
|
||||
isomorphic-unfetch@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.0.0.tgz#de6d80abde487b17de2c400a7ef9e5ecc2efb362"
|
||||
integrity sha512-V0tmJSYfkKokZ5mgl0cmfQMTb7MLHsBMngTkbLY0eXvKqiVRRoZP04Ly+KhKrJfKtzC9E6Pp15Jo+bwh7Vi2XQ==
|
||||
dependencies:
|
||||
node-fetch "^2.2.0"
|
||||
unfetch "^4.0.0"
|
||||
|
||||
jest-worker@^24.9.0:
|
||||
version "24.9.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
|
||||
integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
|
||||
dependencies:
|
||||
merge-stream "^2.0.0"
|
||||
supports-color "^6.1.0"
|
||||
|
||||
js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
jsesc@^2.5.1:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
||||
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
|
||||
|
||||
json5@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6"
|
||||
integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
||||
locate-path@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
|
||||
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
|
||||
dependencies:
|
||||
p-locate "^4.1.0"
|
||||
|
||||
lodash@^4.17.13:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
|
||||
make-dir@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392"
|
||||
integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
merge-stream@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
|
||||
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
|
||||
|
||||
mime-db@1.43.0:
|
||||
version "1.43.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
|
||||
integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
|
||||
|
||||
mime-types@^2.1.12:
|
||||
version "2.1.26"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
|
||||
integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
|
||||
dependencies:
|
||||
mime-db "1.43.0"
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz#3db5c0765545ab8637be71f333a104a965a9ca3f"
|
||||
integrity sha512-+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw==
|
||||
|
||||
ms@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
node-fetch@^2.2.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
|
||||
integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
|
||||
|
||||
p-limit@^2.2.0:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e"
|
||||
integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==
|
||||
dependencies:
|
||||
p-try "^2.0.0"
|
||||
|
||||
p-locate@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
|
||||
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
|
||||
dependencies:
|
||||
p-limit "^2.2.0"
|
||||
|
||||
p-try@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||
|
||||
path-exists@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
|
||||
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
|
||||
|
||||
path-parse@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
|
||||
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
|
||||
|
||||
pkg-dir@^4.1.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
|
||||
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
|
||||
dependencies:
|
||||
find-up "^4.0.0"
|
||||
|
||||
resolve@1.15.1, resolve@^1.3.2:
|
||||
version "1.15.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
|
||||
integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
|
||||
dependencies:
|
||||
path-parse "^1.0.6"
|
||||
|
||||
rollup-plugin-babel@^4.3.3:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb"
|
||||
integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==
|
||||
dependencies:
|
||||
"@babel/helper-module-imports" "^7.0.0"
|
||||
rollup-pluginutils "^2.8.1"
|
||||
|
||||
rollup-plugin-terser@^5.2.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e"
|
||||
integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.5.5"
|
||||
jest-worker "^24.9.0"
|
||||
rollup-pluginutils "^2.8.2"
|
||||
serialize-javascript "^2.1.2"
|
||||
terser "^4.6.2"
|
||||
|
||||
rollup-plugin-typescript2@^0.26.0:
|
||||
version "0.26.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.26.0.tgz#cee2b44d51d9623686656d76dc30a73c4de91672"
|
||||
integrity sha512-lUK7XZVG77tu8dmv1L/0LZFlavED/5Yo6e4iMMl6fdox/yKdj4IFRRPPJEXNdmEaT1nDQQeCi7b5IwKHffMNeg==
|
||||
dependencies:
|
||||
find-cache-dir "^3.2.0"
|
||||
fs-extra "8.1.0"
|
||||
resolve "1.15.1"
|
||||
rollup-pluginutils "2.8.2"
|
||||
tslib "1.10.0"
|
||||
|
||||
rollup-pluginutils@2.8.2, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
|
||||
version "2.8.2"
|
||||
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
|
||||
integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
|
||||
dependencies:
|
||||
estree-walker "^0.6.1"
|
||||
|
||||
rollup@^1.31.1:
|
||||
version "1.32.1"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4"
|
||||
integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==
|
||||
dependencies:
|
||||
"@types/estree" "*"
|
||||
"@types/node" "*"
|
||||
acorn "^7.1.0"
|
||||
|
||||
safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
semver@^5.4.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||
|
||||
semver@^6.0.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
serialize-javascript@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
|
||||
integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
|
||||
|
||||
source-map-support@~0.5.12:
|
||||
version "0.5.16"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
|
||||
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@^0.5.0:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
|
||||
|
||||
source-map@^0.6.0, source-map@~0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
supports-color@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
|
||||
integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
terser@^4.6.2:
|
||||
version "4.6.6"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.6.tgz#da2382e6cafbdf86205e82fb9a115bd664d54863"
|
||||
integrity sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==
|
||||
dependencies:
|
||||
commander "^2.20.0"
|
||||
source-map "~0.6.1"
|
||||
source-map-support "~0.5.12"
|
||||
|
||||
to-fast-properties@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
||||
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
|
||||
|
||||
tslib@1.10.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
|
||||
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
|
||||
|
||||
tslib@^1.10.0:
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
|
||||
integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
|
||||
|
||||
typescript@^3.7.5:
|
||||
version "3.8.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"
|
||||
integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==
|
||||
|
||||
unfetch@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db"
|
||||
integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==
|
||||
|
||||
universalify@^0.1.0:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
Reference in New Issue
Block a user