diff --git a/CHANGELOG.md b/CHANGELOG.md index 4422c1b..e8880bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,208 +1,217 @@ -# 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.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 - -### Fixed - -- `getSerie(s)` now point to the correct endpoint - -### 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.1.1...HEAD - -[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 +# 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.3.0 - 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.0...HEAD + +[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 diff --git a/README.md b/README.md index 60906c7..4f24e50 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,70 @@ -# TCGdex JavaScript/TypeScript SDK - -This is the SDK used to communicate with the Open source [TCGdex API](https://www.github.com/tcgdex/cards-database) - -Full API/SDK documentation in progress at https://www.tcgdex.net/docs - -## Install - -```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.d.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') -``` +
+ +# 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') +``` diff --git a/package.json b/package.json index 8fb0502..fd1ec40 100644 --- a/package.json +++ b/package.json @@ -1,43 +1,57 @@ -{ - "name": "@tcgdex/sdk", - "version": "2.3.0-beta.2", - "main": "./dist/cjs/tcgdex.node.js", - "types": "./dist/types/tcgdex.d.ts", - "repository": "https://github.com/tcgdex/javascript-sdk.git", - "license": "MIT", - "devDependencies": { - "@babel/core": "^7.14.6", - "@babel/preset-env": "^7.14.7", - "@babel/preset-typescript": "^7.14.5", - "@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": { - "build": "yarn build:cjs && yarn build:browser && yarn build:es2015", - "build:cjs": "tsc --project tsconfig.json", - "build:es2015": "tsc --project tsconfig.es2015.json", - "build:browser": "wp --config webpack.config.js", - "prepublishOnly": "yarn build", - "lint": "eslint", - "test": "jest --coverage" - }, - "files": [ - "dist" - ], - "sideEffects": false -} +{ + "name": "@tcgdex/sdk", + "version": "2.3.0-beta.2", + "main": "./dist/cjs/tcgdex.node.js", + "types": "./dist/types/tcgdex.d.ts", + "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", + "@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": { + "build": "yarn build:cjs && yarn build:browser && yarn build:es2015", + "build:cjs": "tsc --project tsconfig.json", + "build:es2015": "tsc --project tsconfig.es2015.json", + "build:browser": "wp --config webpack.config.js", + "prepublishOnly": "yarn build", + "lint": "eslint", + "test": "jest --coverage" + }, + "files": [ + "dist" + ], + "sideEffects": false +}