nintendo-switch-eshop
Advanced tools
Comparing version 7.1.0 to 7.1.1
@@ -5,12 +5,32 @@ # Changelog | ||
# [3.0.1](https://github.com/favna/nintendo-switch-eshop/compare/v3.0.0...v3.0.1) - (2020-02-04) | ||
# [7.1.1](https://github.com/favna/nintendo-switch-eshop/compare/v7.1.0...v7.1.1) - (2022-08-15) | ||
## 🐛 Bug Fixes | ||
- **getQueriesGamesAmerica:** Fetch both the old and new Algolia indices and merge data to ensure all available data is returned ([df1a806](https://github.com/favna/nintendo-switch-eshop/commit/df1a8069db4c3144dc0d9e1b9af85dd9b0629e3b)) | ||
## 📝 Documentation | ||
- Update docusaurus setup ([ef3d13a](https://github.com/favna/nintendo-switch-eshop/commit/ef3d13ab4f52c559f5d3ccd56b7e70ccc32fa527)) | ||
- Fix welcome install command ([22ff98d](https://github.com/favna/nintendo-switch-eshop/commit/22ff98d669735d689278bb2fa78c0226a413a988)) | ||
- Update license header for `getQueriedGamesBrazil` and `getQueriedGamesAmerica` ([0746f6d](https://github.com/favna/nintendo-switch-eshop/commit/0746f6d0976a54835171980e26f3d1e055aac555)) | ||
## 🧪 Testing | ||
- Migrate to vitest ([4ceb03a](https://github.com/favna/nintendo-switch-eshop/commit/4ceb03a8dcad2927cec01ec38eaa697fd87e5b6e)) | ||
# [7.1.0](https://github.com/favna/nintendo-switch-eshop/compare/v7.0.2...v7.1.0) - (2022-04-16) | ||
## Bug Fixes | ||
- Fixed package config for yarn npm publish ([c816444](https://github.com/favna/nintendo-switch-eshop/commit/c816444f32c82ad209c51469244a8273103fbd59)) | ||
- Add `module` to package.json and add `types` to export maps for `NodeNext` support ([68021b2](https://github.com/favna/nintendo-switch-eshop/commit/68021b2756877561ee26dd4efcb1a66bdd52a172)) | ||
## Documentation | ||
- Bump license year ([2812cc4](https://github.com/favna/nintendo-switch-eshop/commit/2812cc447f16d5c1f5ca3871b73b161dd9f88edf)) | ||
- **api-docs:** Update api docs ([f10da7a](https://github.com/favna/nintendo-switch-eshop/commit/f10da7a3bbcad134ddd4b5c65d61ca450c12cc70)) | ||
- Fix docusaurus config ([893de09](https://github.com/favna/nintendo-switch-eshop/commit/893de098a2053f8786fe897221c719e67633c305)) | ||
## Testing | ||
## Features | ||
- Remove shop property from JS based test ([96d9ace](https://github.com/favna/nintendo-switch-eshop/commit/96d9ace13ae2f54fc121e7335ca16e9564001e33)) | ||
- Add `getQueriedGamesBrazil` and `getGamesBrazil` (#4) ([dcf9d50](https://github.com/favna/nintendo-switch-eshop/commit/dcf9d50b3a2e81f842ebb84a21a027776917ddc0)) | ||
@@ -17,0 +37,0 @@ ### [7.0.2](https://github.com/favna/nintendo-switch-eshop/compare/v7.0.1...v7.0.2) (2022-02-07) |
export { getGamesAmerica as default, getGamesAmerica } from './lib/getGames/getGamesAmerica'; | ||
export { getGamesBrazil } from './lib/getGames/getGamesBrazil'; | ||
export { getGamesEurope } from './lib/getGames/getGamesEurope'; | ||
export { getGamesJapan } from './lib/getGames/getGamesJapan'; | ||
export { getGamesBrazil } from './lib/getGames/getGamesBrazil'; | ||
export { getQueriedGamesAmerica } from './lib/getGames/getQueriedGamesAmerica'; | ||
@@ -15,5 +15,5 @@ export { getQueriedGamesBrazil } from './lib/getGames/getQueriedGamesBrazil'; | ||
export { parseNSUID } from './lib/other/parseNSUID'; | ||
export { EU_GET_GAMES_URL, JP_GET_GAMES_URL, PRICE_GET_URL, QUERIED_US_ALGOLIA_KEY, QUERIED_US_GET_GAMES_URL, QUERIED_BR_ALGOLIA_KEY, QUERIED_BR_GET_GAMES_URL, Region, US_ALGOLIA_HEADERS, US_ALGOLIA_ID, US_ALGOLIA_KEY, US_GET_GAMES_URL, BR_ALGOLIA_HEADERS, BR_ALGOLIA_ID, BR_ALGOLIA_KEY, BR_GET_GAMES_URL } from './lib/utils/constants'; | ||
export { BR_ALGOLIA_HEADERS, BR_ALGOLIA_ID, BR_ALGOLIA_KEY, BR_GET_GAMES_URL, EU_GET_GAMES_URL, JP_GET_GAMES_URL, PRICE_GET_URL, QUERIED_BR_ALGOLIA_KEY, QUERIED_BR_GET_GAMES_URL, QUERIED_US_ALGOLIA_KEY_NEW, QUERIED_US_ALGOLIA_KEY_OLD, QUERIED_US_GET_GAMES_URL_NEW, QUERIED_US_GET_GAMES_URL_OLD, Region, US_ALGOLIA_HEADERS, US_ALGOLIA_ID, US_ALGOLIA_KEY, US_GET_GAMES_URL } from './lib/utils/constants'; | ||
export type { EShop, EURequestOptions, GameEU, GameJP, GameUS, HighlightResult, Nsuid, PriceResponse, QueriedGameResult, QueriedGamesAmericaOptions, QueriedGameUS, TitleData } from './lib/utils/interfaces'; | ||
export { EshopError } from './lib/utils/utils'; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.EshopError = exports.BR_GET_GAMES_URL = exports.BR_ALGOLIA_KEY = exports.BR_ALGOLIA_ID = exports.BR_ALGOLIA_HEADERS = exports.US_GET_GAMES_URL = exports.US_ALGOLIA_KEY = exports.US_ALGOLIA_ID = exports.US_ALGOLIA_HEADERS = exports.Region = exports.QUERIED_BR_GET_GAMES_URL = exports.QUERIED_BR_ALGOLIA_KEY = exports.QUERIED_US_GET_GAMES_URL = exports.QUERIED_US_ALGOLIA_KEY = exports.PRICE_GET_URL = exports.JP_GET_GAMES_URL = exports.EU_GET_GAMES_URL = exports.parseNSUID = exports.parseGameCode = exports.getShopsByCountryCodes = exports.getPrices = exports.getShopsEurope = exports.getShopsAsia = exports.getShopsAmerica = exports.getActiveShops = exports.getQueriedGamesBrazil = exports.getQueriedGamesAmerica = exports.getGamesBrazil = exports.getGamesJapan = exports.getGamesEurope = exports.getGamesAmerica = exports.default = void 0; | ||
exports.EshopError = exports.US_GET_GAMES_URL = exports.US_ALGOLIA_KEY = exports.US_ALGOLIA_ID = exports.US_ALGOLIA_HEADERS = exports.Region = exports.QUERIED_US_GET_GAMES_URL_OLD = exports.QUERIED_US_GET_GAMES_URL_NEW = exports.QUERIED_US_ALGOLIA_KEY_OLD = exports.QUERIED_US_ALGOLIA_KEY_NEW = exports.QUERIED_BR_GET_GAMES_URL = exports.QUERIED_BR_ALGOLIA_KEY = exports.PRICE_GET_URL = exports.JP_GET_GAMES_URL = exports.EU_GET_GAMES_URL = exports.BR_GET_GAMES_URL = exports.BR_ALGOLIA_KEY = exports.BR_ALGOLIA_ID = exports.BR_ALGOLIA_HEADERS = exports.parseNSUID = exports.parseGameCode = exports.getShopsByCountryCodes = exports.getPrices = exports.getShopsEurope = exports.getShopsAsia = exports.getShopsAmerica = exports.getActiveShops = exports.getQueriedGamesBrazil = exports.getQueriedGamesAmerica = exports.getGamesJapan = exports.getGamesEurope = exports.getGamesBrazil = exports.getGamesAmerica = exports.default = void 0; | ||
var getGamesAmerica_1 = require("./lib/getGames/getGamesAmerica"); | ||
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return getGamesAmerica_1.getGamesAmerica; } }); | ||
Object.defineProperty(exports, "getGamesAmerica", { enumerable: true, get: function () { return getGamesAmerica_1.getGamesAmerica; } }); | ||
var getGamesBrazil_1 = require("./lib/getGames/getGamesBrazil"); | ||
Object.defineProperty(exports, "getGamesBrazil", { enumerable: true, get: function () { return getGamesBrazil_1.getGamesBrazil; } }); | ||
var getGamesEurope_1 = require("./lib/getGames/getGamesEurope"); | ||
@@ -11,4 +13,2 @@ Object.defineProperty(exports, "getGamesEurope", { enumerable: true, get: function () { return getGamesEurope_1.getGamesEurope; } }); | ||
Object.defineProperty(exports, "getGamesJapan", { enumerable: true, get: function () { return getGamesJapan_1.getGamesJapan; } }); | ||
var getGamesBrazil_1 = require("./lib/getGames/getGamesBrazil"); | ||
Object.defineProperty(exports, "getGamesBrazil", { enumerable: true, get: function () { return getGamesBrazil_1.getGamesBrazil; } }); | ||
var getQueriedGamesAmerica_1 = require("./lib/getGames/getQueriedGamesAmerica"); | ||
@@ -35,9 +35,15 @@ Object.defineProperty(exports, "getQueriedGamesAmerica", { enumerable: true, get: function () { return getQueriedGamesAmerica_1.getQueriedGamesAmerica; } }); | ||
var constants_1 = require("./lib/utils/constants"); | ||
Object.defineProperty(exports, "BR_ALGOLIA_HEADERS", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_HEADERS; } }); | ||
Object.defineProperty(exports, "BR_ALGOLIA_ID", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_ID; } }); | ||
Object.defineProperty(exports, "BR_ALGOLIA_KEY", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_KEY; } }); | ||
Object.defineProperty(exports, "BR_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.BR_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "EU_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.EU_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "JP_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.JP_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "PRICE_GET_URL", { enumerable: true, get: function () { return constants_1.PRICE_GET_URL; } }); | ||
Object.defineProperty(exports, "QUERIED_US_ALGOLIA_KEY", { enumerable: true, get: function () { return constants_1.QUERIED_US_ALGOLIA_KEY; } }); | ||
Object.defineProperty(exports, "QUERIED_US_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.QUERIED_US_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "QUERIED_BR_ALGOLIA_KEY", { enumerable: true, get: function () { return constants_1.QUERIED_BR_ALGOLIA_KEY; } }); | ||
Object.defineProperty(exports, "QUERIED_BR_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.QUERIED_BR_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "QUERIED_US_ALGOLIA_KEY_NEW", { enumerable: true, get: function () { return constants_1.QUERIED_US_ALGOLIA_KEY_NEW; } }); | ||
Object.defineProperty(exports, "QUERIED_US_ALGOLIA_KEY_OLD", { enumerable: true, get: function () { return constants_1.QUERIED_US_ALGOLIA_KEY_OLD; } }); | ||
Object.defineProperty(exports, "QUERIED_US_GET_GAMES_URL_NEW", { enumerable: true, get: function () { return constants_1.QUERIED_US_GET_GAMES_URL_NEW; } }); | ||
Object.defineProperty(exports, "QUERIED_US_GET_GAMES_URL_OLD", { enumerable: true, get: function () { return constants_1.QUERIED_US_GET_GAMES_URL_OLD; } }); | ||
Object.defineProperty(exports, "Region", { enumerable: true, get: function () { return constants_1.Region; } }); | ||
@@ -48,8 +54,4 @@ Object.defineProperty(exports, "US_ALGOLIA_HEADERS", { enumerable: true, get: function () { return constants_1.US_ALGOLIA_HEADERS; } }); | ||
Object.defineProperty(exports, "US_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.US_GET_GAMES_URL; } }); | ||
Object.defineProperty(exports, "BR_ALGOLIA_HEADERS", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_HEADERS; } }); | ||
Object.defineProperty(exports, "BR_ALGOLIA_ID", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_ID; } }); | ||
Object.defineProperty(exports, "BR_ALGOLIA_KEY", { enumerable: true, get: function () { return constants_1.BR_ALGOLIA_KEY; } }); | ||
Object.defineProperty(exports, "BR_GET_GAMES_URL", { enumerable: true, get: function () { return constants_1.BR_GET_GAMES_URL; } }); | ||
var utils_1 = require("./lib/utils/utils"); | ||
Object.defineProperty(exports, "EshopError", { enumerable: true, get: function () { return utils_1.EshopError; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -60,3 +60,3 @@ "use strict"; | ||
try { | ||
const gamesResponse = await (0, fetch_1.fetch)(constants_1.US_GET_GAMES_URL, requestOptions, "json" /* JSON */); | ||
const gamesResponse = await (0, fetch_1.fetch)(constants_1.US_GET_GAMES_URL, requestOptions, fetch_1.FetchResultTypes.JSON); | ||
let allGames = []; | ||
@@ -63,0 +63,0 @@ for (const results of gamesResponse.results) { |
@@ -60,3 +60,3 @@ "use strict"; | ||
try { | ||
const gamesResponse = await (0, fetch_1.fetch)(constants_1.BR_GET_GAMES_URL, requestOptions, "json" /* JSON */); | ||
const gamesResponse = await (0, fetch_1.fetch)(constants_1.BR_GET_GAMES_URL, requestOptions, fetch_1.FetchResultTypes.JSON); | ||
let allGames = []; | ||
@@ -63,0 +63,0 @@ for (const results of gamesResponse.results) { |
@@ -26,3 +26,3 @@ "use strict"; | ||
...constants_1.EU_GET_GAMES_OPTIONS | ||
})}`, "json" /* JSON */); | ||
})}`, fetch_1.FetchResultTypes.JSON); | ||
return gamesData.response.docs; | ||
@@ -29,0 +29,0 @@ } |
@@ -16,3 +16,3 @@ "use strict"; | ||
const parser = new fast_xml_parser_1.XMLParser(); | ||
const gamesJP = parser.parse(await (0, fetch_1.fetch)(constants_1.JP_GET_GAMES_URL, "text" /* Text */)); | ||
const gamesJP = parser.parse(await (0, fetch_1.fetch)(constants_1.JP_GET_GAMES_URL, fetch_1.FetchResultTypes.Text)); | ||
const allGamesJP = gamesJP.TitleInfoList.TitleInfo; | ||
@@ -19,0 +19,0 @@ return allGamesJP; |
@@ -7,3 +7,3 @@ import type { QueriedGamesAmericaOptions, QueriedGameUS } from '../utils/interfaces'; | ||
* @returns Promise containing the first `hitsPerPage` games that match your query | ||
* @license Apache-2.0 favna & Antonio Román | ||
* @license Apache-2.0 Jeroen Claassens & Aura Román | ||
* @copyright 2021 | ||
@@ -10,0 +10,0 @@ */ |
@@ -5,3 +5,2 @@ "use strict"; | ||
const fetch_1 = require("@sapphire/fetch"); | ||
const querystring_1 = require("querystring"); | ||
const constants_1 = require("../utils/constants"); | ||
@@ -14,25 +13,57 @@ const utils_1 = require("../utils/utils"); | ||
* @returns Promise containing the first `hitsPerPage` games that match your query | ||
* @license Apache-2.0 favna & Antonio Román | ||
* @license Apache-2.0 Jeroen Claassens & Aura Román | ||
* @copyright 2021 | ||
*/ | ||
const getQueriedGamesAmerica = async (query, { hitsPerPage = 200, page = 0 } = { hitsPerPage: 200, page: 0 }) => { | ||
const { hits } = await (0, fetch_1.fetch)(constants_1.QUERIED_US_GET_GAMES_URL, { | ||
const { hits: newHits } = await (0, fetch_1.fetch)(constants_1.QUERIED_US_GET_GAMES_URL_NEW, { | ||
method: 'POST', | ||
headers: { | ||
...constants_1.US_ALGOLIA_HEADERS, | ||
'X-Algolia-API-Key': constants_1.QUERIED_US_ALGOLIA_KEY | ||
'X-Algolia-API-Key': constants_1.QUERIED_US_ALGOLIA_KEY_NEW | ||
}, | ||
body: JSON.stringify({ | ||
params: (0, querystring_1.stringify)({ | ||
hitsPerPage, | ||
page, | ||
query | ||
}) | ||
hitsPerPage, | ||
page, | ||
query | ||
}) | ||
}, "json" /* JSON */); | ||
if (!hits.length) | ||
}, fetch_1.FetchResultTypes.JSON); | ||
if (!newHits.length) | ||
throw new utils_1.EshopError(`No game results for the query "${query}"`); | ||
return hits; | ||
const { hits: oldHits } = await (0, fetch_1.fetch)(constants_1.QUERIED_US_GET_GAMES_URL_OLD, { | ||
method: 'POST', | ||
headers: { | ||
...constants_1.US_ALGOLIA_HEADERS, | ||
'X-Algolia-API-Key': constants_1.QUERIED_US_ALGOLIA_KEY_OLD | ||
}, | ||
body: JSON.stringify({ | ||
hitsPerPage, | ||
page, | ||
query | ||
}) | ||
}, fetch_1.FetchResultTypes.JSON); | ||
return enrichNewHitsWithOldHitData(newHits, oldHits); | ||
}; | ||
exports.getQueriedGamesAmerica = getQueriedGamesAmerica; | ||
function enrichNewHitsWithOldHitData(oldHits, newHits) { | ||
for (const newHit of newHits) { | ||
const oldHitWithSameNsuid = oldHits.find((oldHit) => oldHit.nsuid === newHit.nsuid); | ||
if (!oldHitWithSameNsuid) | ||
continue; | ||
newHit.boxart = oldHitWithSameNsuid.boxart; | ||
newHit.developers = oldHitWithSameNsuid.developers; | ||
newHit.freeToStart = oldHitWithSameNsuid.freeToStart; | ||
newHit.generalFilters = oldHitWithSameNsuid.generalFilters; | ||
newHit.horizontalHeaderImage = oldHitWithSameNsuid.horizontalHeaderImage; | ||
newHit.howToShop = oldHitWithSameNsuid.howToShop; | ||
newHit.lowestPrice = oldHitWithSameNsuid.lowestPrice; | ||
newHit.msrp = oldHitWithSameNsuid.msrp ?? newHit.price?.regPrice; | ||
newHit.salePrice = oldHitWithSameNsuid.salePrice ?? newHit.price?.salePrice; | ||
newHit.featured = oldHitWithSameNsuid.featured ?? newHit.featuredProduct; | ||
newHit.lastModified = oldHitWithSameNsuid.lastModified ?? newHit.updatedAt; | ||
newHit.numOfPlayers = oldHitWithSameNsuid.numOfPlayers; | ||
newHit.playerFilters = oldHitWithSameNsuid.playerFilters; | ||
newHit._distinctSeqID = oldHitWithSameNsuid._distinctSeqID; | ||
} | ||
return newHits; | ||
} | ||
//# sourceMappingURL=getQueriedGamesAmerica.js.map |
@@ -7,3 +7,3 @@ import type { QueriedGamesAmericaOptions, QueriedGameUS } from '../utils/interfaces'; | ||
* @returns Promise containing the first `hitsPerPage` games that match your query | ||
* @license Apache-2.0 favna & Antonio Román | ||
* @license Apache-2.0 Jeroen Claassens & Aura Román | ||
* @copyright 2021 | ||
@@ -10,0 +10,0 @@ */ |
@@ -13,3 +13,3 @@ "use strict"; | ||
* @returns Promise containing the first `hitsPerPage` games that match your query | ||
* @license Apache-2.0 favna & Antonio Román | ||
* @license Apache-2.0 Jeroen Claassens & Aura Román | ||
* @copyright 2021 | ||
@@ -31,3 +31,3 @@ */ | ||
}) | ||
}, "json" /* JSON */); | ||
}, fetch_1.FetchResultTypes.JSON); | ||
if (!hits.length) | ||
@@ -34,0 +34,0 @@ throw new utils_1.EshopError(`No game results for the query "${query}"`); |
@@ -16,5 +16,5 @@ "use strict"; | ||
const getShopsAmerica = async () => { | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.southAmerica.countries.concat(country_data_1.regions.centralAfrica.countries, country_data_1.regions.northernAmerica.countries), constants_1.US_GAME_CHECK_CODE, 1 /* AMERICAS */); | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.southAmerica.countries.concat(country_data_1.regions.centralAfrica.countries, country_data_1.regions.northernAmerica.countries), constants_1.US_GAME_CHECK_CODE, 1 /* Region.AMERICAS */); | ||
}; | ||
exports.getShopsAmerica = getShopsAmerica; | ||
//# sourceMappingURL=getShopsAmerica.js.map |
@@ -16,5 +16,5 @@ "use strict"; | ||
const getShopsAsia = async () => { | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.southernAsia.countries.concat(country_data_1.regions.southernAsia.countries, country_data_1.regions.southeastAsia.countries, country_data_1.regions.eastAsia.countries, country_data_1.regions.westernAsia.countries), constants_1.JP_GAME_CHECK_CODE, 3 /* ASIA */); | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.southernAsia.countries.concat(country_data_1.regions.southernAsia.countries, country_data_1.regions.southeastAsia.countries, country_data_1.regions.eastAsia.countries, country_data_1.regions.westernAsia.countries), constants_1.JP_GAME_CHECK_CODE, 3 /* Region.ASIA */); | ||
}; | ||
exports.getShopsAsia = getShopsAsia; | ||
//# sourceMappingURL=getShopsAsia.js.map |
@@ -16,5 +16,5 @@ "use strict"; | ||
const getShopsEurope = async () => { | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.northernEurope.countries.concat(country_data_1.regions.southernEurope.countries, country_data_1.regions.easternEurope.countries, country_data_1.regions.westernEurope.countries, country_data_1.regions.australia.countries, country_data_1.regions.southernAfrica.countries), constants_1.EU_GAME_CHECK_CODE, 2 /* EUROPE */); | ||
return (0, getShopByCountryCode_1.getShopsByCountryCodes)(country_data_1.regions.northernEurope.countries.concat(country_data_1.regions.southernEurope.countries, country_data_1.regions.easternEurope.countries, country_data_1.regions.westernEurope.countries, country_data_1.regions.australia.countries, country_data_1.regions.southernAfrica.countries), constants_1.EU_GAME_CHECK_CODE, 2 /* Region.EUROPE */); | ||
}; | ||
exports.getShopsEurope = getShopsEurope; | ||
//# sourceMappingURL=getShopsEurope.js.map |
@@ -25,3 +25,3 @@ "use strict"; | ||
...constants_1.PRICE_GET_OPTIONS | ||
})}`, "json" /* JSON */); | ||
})}`, fetch_1.FetchResultTypes.JSON); | ||
if (response.prices && response.prices.length + offset < gameIds.length) { | ||
@@ -28,0 +28,0 @@ const accumulatedPrices = prices.concat(response.prices); |
@@ -16,6 +16,6 @@ "use strict"; | ||
default: | ||
case 2 /* EUROPE */: | ||
case 2 /* Region.EUROPE */: | ||
codeParse = constants_1.EU_GAME_CODE_REGEX.exec(game.product_code_txt[0]); | ||
break; | ||
case 3 /* ASIA */: | ||
case 3 /* Region.ASIA */: | ||
codeParse = constants_1.JP_GAME_CODE_REGEX.exec(game.InitialCode); | ||
@@ -22,0 +22,0 @@ break; |
@@ -14,9 +14,9 @@ "use strict"; | ||
switch (region) { | ||
case 2 /* EUROPE */: | ||
case 2 /* Region.EUROPE */: | ||
return game.nsuid_txt ? game.nsuid_txt[0] : null; | ||
case 3 /* ASIA */: | ||
case 3 /* Region.ASIA */: | ||
const nsuidParse = constants_1.JP_NSUID_REGEX.exec(game.LinkURL); | ||
return nsuidParse && nsuidParse.length > 0 ? nsuidParse[0] : null; | ||
default: | ||
case 1 /* AMERICAS */: | ||
case 1 /* Region.AMERICAS */: | ||
return game.nsuid; | ||
@@ -23,0 +23,0 @@ } |
@@ -6,7 +6,11 @@ /** Algolia ID for getting US games */ | ||
/** Algolia key for getting US games with a query */ | ||
export declare const QUERIED_US_ALGOLIA_KEY = "6efbfb0f8f80defc44895018caf77504"; | ||
export declare const QUERIED_US_ALGOLIA_KEY_NEW = "a29c6927638bfd8cee23993e51e721c9"; | ||
/** Algolia key for getting US games with a query */ | ||
export declare const QUERIED_US_ALGOLIA_KEY_OLD = "6efbfb0f8f80defc44895018caf77504"; | ||
/** URL for getting US Games */ | ||
export declare const US_GET_GAMES_URL: string; | ||
/** URL for getting Queried US Games */ | ||
export declare const QUERIED_US_GET_GAMES_URL: string; | ||
/** New URL for getting Queried US Games */ | ||
export declare const QUERIED_US_GET_GAMES_URL_NEW: string; | ||
/** Old URL for getting Queried US games, this still exists and has additional properties which get merged with those from the new URL */ | ||
export declare const QUERIED_US_GET_GAMES_URL_OLD: string; | ||
/** | ||
@@ -13,0 +17,0 @@ * Sample game code for US store |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Region = exports.PRICE_LIST_LIMIT = exports.PRICE_GET_OPTIONS = exports.PRICE_GET_URL = exports.BR_ALGOLIA_HEADERS = exports.QUERIED_BR_GET_GAMES_URL = exports.BR_GET_GAMES_URL = exports.QUERIED_BR_ALGOLIA_KEY = exports.BR_ALGOLIA_KEY = exports.BR_ALGOLIA_ID = exports.JP_NSUID_REGEX = exports.JP_GAME_CODE_REGEX = exports.JP_GAME_CHECK_CODE = exports.JP_GET_GAMES_URL = exports.EU_GAME_LIST_LIMIT = exports.EU_DEFAULT_LOCALE = exports.EU_GAME_CODE_REGEX = exports.EU_GAME_CHECK_CODE = exports.EU_GET_GAMES_URL = exports.EU_GET_GAMES_OPTIONS = exports.US_ALGOLIA_HEADERS = exports.US_GAME_CODE_REGEX = exports.US_GAME_CHECK_CODE = exports.QUERIED_US_GET_GAMES_URL = exports.US_GET_GAMES_URL = exports.QUERIED_US_ALGOLIA_KEY = exports.US_ALGOLIA_KEY = exports.US_ALGOLIA_ID = void 0; | ||
exports.Region = exports.PRICE_LIST_LIMIT = exports.PRICE_GET_OPTIONS = exports.PRICE_GET_URL = exports.BR_ALGOLIA_HEADERS = exports.QUERIED_BR_GET_GAMES_URL = exports.BR_GET_GAMES_URL = exports.QUERIED_BR_ALGOLIA_KEY = exports.BR_ALGOLIA_KEY = exports.BR_ALGOLIA_ID = exports.JP_NSUID_REGEX = exports.JP_GAME_CODE_REGEX = exports.JP_GAME_CHECK_CODE = exports.JP_GET_GAMES_URL = exports.EU_GAME_LIST_LIMIT = exports.EU_DEFAULT_LOCALE = exports.EU_GAME_CODE_REGEX = exports.EU_GAME_CHECK_CODE = exports.EU_GET_GAMES_URL = exports.EU_GET_GAMES_OPTIONS = exports.US_ALGOLIA_HEADERS = exports.US_GAME_CODE_REGEX = exports.US_GAME_CHECK_CODE = exports.QUERIED_US_GET_GAMES_URL_OLD = exports.QUERIED_US_GET_GAMES_URL_NEW = exports.US_GET_GAMES_URL = exports.QUERIED_US_ALGOLIA_KEY_OLD = exports.QUERIED_US_ALGOLIA_KEY_NEW = exports.US_ALGOLIA_KEY = exports.US_ALGOLIA_ID = void 0; | ||
/** Algolia ID for getting US games */ | ||
@@ -9,7 +9,11 @@ exports.US_ALGOLIA_ID = 'U3B6GR4UA3'; | ||
/** Algolia key for getting US games with a query */ | ||
exports.QUERIED_US_ALGOLIA_KEY = '6efbfb0f8f80defc44895018caf77504'; | ||
exports.QUERIED_US_ALGOLIA_KEY_NEW = 'a29c6927638bfd8cee23993e51e721c9'; | ||
/** Algolia key for getting US games with a query */ | ||
exports.QUERIED_US_ALGOLIA_KEY_OLD = '6efbfb0f8f80defc44895018caf77504'; | ||
/** URL for getting US Games */ | ||
exports.US_GET_GAMES_URL = `https://${exports.US_ALGOLIA_ID}-dsn.algolia.net/1/indexes/*/queries`; | ||
/** URL for getting Queried US Games */ | ||
exports.QUERIED_US_GET_GAMES_URL = `https://${exports.US_ALGOLIA_ID}-dsn.algolia.net/1/indexes/ncom_game_en_us/query`; | ||
/** New URL for getting Queried US Games */ | ||
exports.QUERIED_US_GET_GAMES_URL_NEW = `https://${exports.US_ALGOLIA_ID}-dsn.algolia.net/1/indexes/store_all_products_en_us/query`; | ||
/** Old URL for getting Queried US games, this still exists and has additional properties which get merged with those from the new URL */ | ||
exports.QUERIED_US_GET_GAMES_URL_OLD = `https://${exports.US_ALGOLIA_ID}-dsn.algolia.net/1/indexes/ncom_game_en_us/query`; | ||
/** | ||
@@ -16,0 +20,0 @@ * Sample game code for US store |
@@ -17,4 +17,4 @@ import type { Country } from 'country-data'; | ||
deprioritise_b: boolean; | ||
developer: string; | ||
digital_version_b: boolean; | ||
developer: string; | ||
eshop_removed_b: boolean; | ||
@@ -94,16 +94,14 @@ excerpt: string; | ||
export interface QueriedGameResult { | ||
/** Whether the amount of hits is exhaustive or not */ | ||
exhaustiveNbHits: true; | ||
/** The hits for this query */ | ||
hits: QueriedGameUS[]; | ||
/** The amount of hits per page */ | ||
hitsPerPage: number; | ||
/** The amount of hits */ | ||
nbHits: number; | ||
/** The amount of pages available */ | ||
nbPages: number; | ||
/** The page that the result is on */ | ||
page: number; | ||
/** The amount of pages available */ | ||
nbPages: number; | ||
/** The amount of hits per page */ | ||
hitsPerPage: number; | ||
/** Whether the amount of hits is exhaustive or not */ | ||
exhaustiveNbHits: true; | ||
/** The query that was used */ | ||
query: string; | ||
/** The params that were used */ | ||
@@ -113,4 +111,10 @@ params: string; | ||
processingTimeMS: number; | ||
/** The query that was used */ | ||
query: string; | ||
} | ||
export interface QueriedGameUS { | ||
/** Additional information returned by the API, it doesn't really serve any purpose but documenting it anyway because it's there. */ | ||
_distinctSeqID: number; | ||
/** Additional information returned by the API, it doesn't really serve any purpose but documenting it anyway because it's there. */ | ||
_highlightResult: HighlightResult; | ||
/** Whether this game is available or not */ | ||
@@ -120,2 +124,10 @@ availability: string[]; | ||
boxart?: string; | ||
classindDescriptors?: unknown | null; | ||
classindRating?: unknown | null; | ||
collectionPriceRange: string; | ||
contentRatingCode: string; | ||
corePlatforms: string[]; | ||
createdAt: Date; | ||
demoNsuid: string | null; | ||
depth?: number; | ||
/** A description about this game */ | ||
@@ -129,4 +141,7 @@ description: string; | ||
esrbRating: string; | ||
exclusive: boolean; | ||
/** Whether this game is featured on the {@link https://www.nintendo.com nintendo.com} homepage */ | ||
featured: boolean; | ||
/** Whether this game is featured on the {@link https://www.nintendo.com nintendo.com} homepage */ | ||
featuredProduct: boolean; | ||
/** The franchises this game is a part of */ | ||
@@ -140,3 +155,7 @@ franchises: string; | ||
genres: string[]; | ||
/** Whether this game has downloadable content or not */ | ||
hasDlc: boolean; | ||
/** A large wide image such as a screenshot or artwork of the game, if any. */ | ||
headerImage?: string; | ||
/** The asset slug of a large wide image such as a screenshot or artwork of the game, if any. */ | ||
horizontalHeaderImage?: string; | ||
@@ -151,2 +170,4 @@ /** A list of methods through which the game can be acquired, such as retail or digital download. */ | ||
msrp: number; | ||
/** Features that added to this game when the player has a Nintendo Switch Online subscription */ | ||
nsoFeatures: string[]; | ||
/** The unique ID for this game. */ | ||
@@ -160,6 +181,41 @@ nsuid: string; | ||
platform: string; | ||
/** | ||
* A unique identifier of the platform the game was released on | ||
* @example 'NINTENDO_SWITCH' | ||
*/ | ||
platformCode: string; | ||
platinumPoints?: any; | ||
/** | ||
* The amount of players that can simultaniously play this game | ||
* @example 'Single Player' | ||
*/ | ||
playerCount: string; | ||
/** A list of player filters that could potentially be searched on {@link https://www.nintendo.com nintendo.com} to find this game with */ | ||
playerFilters: string[]; | ||
/** | ||
* An array of ways this game can be played | ||
* @example ['TV mode', 'Tabletop mode', 'Handheld mode'] | ||
*/ | ||
playModes: string[]; | ||
/** The price information for this game */ | ||
price: { | ||
/** The regular price for this game */ | ||
regPrice: number; | ||
/** | ||
* The final price for this game, | ||
* which is {@link QueriedGameUS.price.salePrice} if the game is on sale or {@link QueriedGameUS.price.regPrice} if it is not. | ||
*/ | ||
finalPrice: number; | ||
/** | ||
* The sale price for this game, or `null` if the game has never been on sale. | ||
*/ | ||
salePrice: number | null; | ||
}; | ||
/** A category price range that this game falls under. Can be used on {@link https://www.nintendo.com nintendo.com} to find this game with */ | ||
priceRange: string; | ||
priority?: number; | ||
/** The slug to a product image of this game */ | ||
productImage: string; | ||
/** The date this game was published */ | ||
publishDate?: Date; | ||
/** A list of companies that published this game */ | ||
@@ -174,68 +230,108 @@ publishers: string[]; | ||
salePrice: number | null; | ||
/** the SKU ID for this game */ | ||
sku: string; | ||
/** A unique {@link https://en.wikipedia.org/wiki/Clean_URL#Slug slug} for this game */ | ||
slug: string; | ||
/** | ||
* The SMEC ({@link https://en.wikipedia.org/wiki/Video_game_content_rating_system#Mexico Sistema Mexicano de Equivalencias de Clasificación}) | ||
* descriptors for this game | ||
*/ | ||
smecDescriptors: string[]; | ||
/** | ||
* The SMEC ({@link https://en.wikipedia.org/wiki/Video_game_content_rating_system#Mexico Sistema Mexicano de Equivalencias de Clasificación}) | ||
* rating for this game | ||
*/ | ||
smecRating: string; | ||
/** | ||
* The developer of this game | ||
*/ | ||
softwareDeveloper: string; | ||
/** | ||
* The publisher of this game | ||
*/ | ||
softwarePublisher: string; | ||
/** The title of this game */ | ||
title: string; | ||
/** | ||
* The top level category of this game | ||
* @example 'Games' | ||
*/ | ||
topLevelCategory: string; | ||
/** | ||
* The top level category code of this game | ||
* @example 'GAMES' | ||
*/ | ||
topLevelCategoryCode: string; | ||
/** The top level filters for this game */ | ||
topLevelFilters: string[]; | ||
/** | ||
* The type of search result | ||
* @example 'game' | ||
*/ | ||
type: string; | ||
/** | ||
* An ISO timestamp of when this game was last updated | ||
*/ | ||
updatedAt: string; | ||
/** A unique to the information about this game. Prefix it with `https://www.nintendo.com` to have a valid URL. */ | ||
url: string; | ||
/** Additional information returned by the API, it doesn't really serve any purpose but documenting it anyway because it's there. */ | ||
_distinctSeqID: number; | ||
/** Additional information returned by the API, it doesn't really serve any purpose but documenting it anyway because it's there. */ | ||
_highlightResult: HighlightResult; | ||
/** | ||
* The key segment of the {@link QueriedGameUS.url}, often the last segment of the URL | ||
*/ | ||
urlKey: string; | ||
/** Whether this game is visible when searching for it on https://www.nintendo.com */ | ||
visibleInSearch: boolean; | ||
} | ||
export interface HighlightResult { | ||
title: Nsuid; | ||
nsuid: Nsuid; | ||
publishers: Nsuid[]; | ||
title: Nsuid; | ||
} | ||
export interface Nsuid { | ||
fullyHighlighted?: boolean; | ||
matchedWords: string[]; | ||
matchLevel: string; | ||
value: string; | ||
matchLevel: string; | ||
matchedWords: string[]; | ||
fullyHighlighted?: boolean; | ||
} | ||
export interface GameUS { | ||
/** Unix timestamp when this entry was last edited on the API */ | ||
lastModified: number; | ||
/** The title of the game */ | ||
title: string; | ||
/** Identifiers about the availability of this game. */ | ||
availability: string[]; | ||
/** The boxart of this title, if this is an eShop game then it is the homescreen icon */ | ||
boxart: string; | ||
/** A longer description about this title */ | ||
description: string; | ||
/** The URL to the game on {@linkplain https://nintendo.com}. Prepend `https://nintend.com` to this URL to get a fully qualified URL to the game. */ | ||
url: string; | ||
/** USA eShop price (in dollars) */ | ||
/** 14-digit game unique identifier */ | ||
nsuid: string; | ||
/** Game URL name */ | ||
slug: string; | ||
/** The boxart of this title, if this is an eShop game then it is the homescreen icon */ | ||
boxart: string; | ||
/** A larger header image */ | ||
horizontalHeaderImage: string; | ||
/** The platform on which this game was released */ | ||
platform: string; | ||
/** The date this game was released in the {@linkplain https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 Extended Format} */ | ||
releaseDateDisplay: string; | ||
/** The studios that developed this gamme */ | ||
developers: string[]; | ||
/** An array of ESRB descriptions such as `"Alcohol Reference"` and `"Violence"` */ | ||
esrbDescriptors: string[]; | ||
/** The {@linkplain https://www.esrb.org ESRB} rating this game was given */ | ||
esrbRating: string; | ||
/** The amount of players this game supports. This is a string because Nintendo is more verbose than just a number. */ | ||
numOfPlayers: string; | ||
/** Whether this game is featured on {@linkplain https://nintendo.com}'s homepage */ | ||
featured: boolean; | ||
/** The franches this game is part of */ | ||
franchises: string[]; | ||
/** Whether this game is free to start and only needs payment later */ | ||
freeToStart: boolean; | ||
/** An array of ESRB descriptions such as `"Alcohol Reference"` and `"Violence"` */ | ||
esrbDescriptors: string[]; | ||
/** The franches this game is part of */ | ||
franchises: string[]; | ||
/** Qualifiers that could be used to find this game when applying filters on {@linkplain https://nintendo.com} */ | ||
generalFilters: string[]; | ||
/** The genres this this game is part of */ | ||
genres: string[]; | ||
/** The studios that published this game */ | ||
publishers: string[]; | ||
/** The studios that developed this gamme */ | ||
developers: string[]; | ||
/** Qualifiers that could be used to find this game when applying filters on {@linkplain https://nintendo.com} */ | ||
generalFilters: string[]; | ||
/** A larger header image */ | ||
horizontalHeaderImage: string; | ||
/** A list of ways this game can be purchased */ | ||
howToShop: string[]; | ||
/** Unix timestamp when this entry was last edited on the API */ | ||
lastModified: number; | ||
/** The lowest price this game was ever available for. */ | ||
lowestPrice: number; | ||
/** The {@linkplain https://en.wikipedia.org/wiki/List_price Manufacturer's Suggested Retail Price} for this game (in United States Dollars). */ | ||
msrp: number; | ||
/** 14-digit game unique identifier */ | ||
nsuid: string; | ||
/** The amount of players this game supports. This is a string because Nintendo is more verbose than just a number. */ | ||
numOfPlayers: string; | ||
/** The internal ID that Nintendo has assigned to this game in their API. This doesn't really serve any use. */ | ||
objectID: string; | ||
/** The platform on which this game was released */ | ||
platform: string; | ||
/** Qualifiers that could be used to find this game when applying player filters on {@linkplain https://nintendo.com} */ | ||
@@ -245,36 +341,38 @@ playerFilters: string[]; | ||
priceRange: string; | ||
/** The {@linkplain https://en.wikipedia.org/wiki/List_price Manufacturer's Suggested Retail Price} for this game (in United States Dollars). */ | ||
msrp: number; | ||
/** The studios that published this game */ | ||
publishers: string[]; | ||
/** The date this game was released in the {@linkplain https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 Extended Format} */ | ||
releaseDateDisplay: string; | ||
/** The price for this game when it is on sale. This is `null` when the game is _not_ on sale. */ | ||
salePrice: number | null; | ||
/** The lowest price this game was ever available for. */ | ||
lowestPrice: number; | ||
/** Identifiers about the availability of this game. */ | ||
availability: string[]; | ||
/** The internal ID that Nintendo has assigned to this game in their API. This doesn't really serve any use. */ | ||
objectID: string; | ||
/** Game URL name */ | ||
slug: string; | ||
/** The title of the game */ | ||
title: string; | ||
/** The URL to the game on {@linkplain https://nintendo.com}. Prepend `https://nintend.com` to this URL to get a fully qualified URL to the game. */ | ||
url: string; | ||
} | ||
/** @internal */ | ||
interface AlgoliaResults<T extends GameUS | QueriedGameUS> { | ||
exhaustiveFacetsCount: boolean; | ||
exhaustiveNbHits: boolean; | ||
/** Filters for the search query */ | ||
facetFilters: string[][]; | ||
facets: { | ||
[key: string]: { | ||
[key: string]: number; | ||
}; | ||
}; | ||
/** The games found */ | ||
hits: T[]; | ||
/** Number of hits per page */ | ||
hitsPerPage: number; | ||
index: string; | ||
/** Total number of hits with current query */ | ||
nbHits: number; | ||
nbPages: number; | ||
page: number; | ||
nbPages: number; | ||
/** Number of hits per page */ | ||
hitsPerPage: number; | ||
params: string; | ||
processingTimeMS: number; | ||
facets: { | ||
[key: string]: { | ||
[key: string]: number; | ||
}; | ||
}; | ||
/** Filters for the search query */ | ||
facetFilters: string[][]; | ||
exhaustiveFacetsCount: boolean; | ||
exhaustiveNbHits: boolean; | ||
query: string; | ||
params: string; | ||
index: string; | ||
} | ||
@@ -286,8 +384,17 @@ /** @internal */ | ||
export interface GameJP extends Record<string, string | number | undefined> { | ||
ComingThumb: 'yes' | string; | ||
D: number; | ||
Hard: string; | ||
/** The game code for the game */ | ||
InitialCode: string; | ||
/** The Link Target, if it exists */ | ||
LinkTarget: string; | ||
/** The game url */ | ||
LinkURL: string; | ||
/** The Link Target, if it exists */ | ||
LinkTarget: string; | ||
MakerKana: string; | ||
MakerName: string; | ||
Memo: string; | ||
PlatformID: string; | ||
Price: string; | ||
SalesDate: string; | ||
/** The type of screenshot, if it exists */ | ||
@@ -297,5 +404,5 @@ ScreenshotImgFlg: number; | ||
ScreenshotImgURL: string; | ||
SoftType: string; | ||
/** The variation of the thumbnail */ | ||
ThumbVariation: string; | ||
ComingThumb: 'yes' | string; | ||
/** The game's title */ | ||
@@ -305,11 +412,2 @@ TitleName: string; | ||
TitleNameRuby: string; | ||
SoftType: string; | ||
D: number; | ||
SalesDate: string; | ||
MakerName: string; | ||
Hard: string; | ||
Memo: string; | ||
PlatformID: string; | ||
Price: string; | ||
MakerKana: string; | ||
} | ||
@@ -323,12 +421,12 @@ export interface EShop { | ||
export interface PriceResponse { | ||
country: Country; | ||
error: PriceError; | ||
personalized: boolean; | ||
country: Country; | ||
prices: TitleData[]; | ||
} | ||
export interface TitleData { | ||
discount_price?: PriceData; | ||
regular_price: PriceData; | ||
sales_status: string; | ||
title_id: number; | ||
sales_status: string; | ||
regular_price: PriceData; | ||
discount_price?: PriceData; | ||
} | ||
@@ -344,5 +442,5 @@ /** @internal */ | ||
currency: string; | ||
end_datetime?: string; | ||
raw_value: string; | ||
start_datetime?: string; | ||
end_datetime?: string; | ||
} | ||
@@ -349,0 +447,0 @@ /** @internal */ |
{ | ||
"name": "nintendo-switch-eshop", | ||
"version": "7.1.0", | ||
"version": "7.1.1", | ||
"workspaces": [ | ||
@@ -21,3 +21,3 @@ "documentation/" | ||
"scripts": { | ||
"test": "jest", | ||
"test": "vitest run", | ||
"lint": "eslint src tests documentation/src --ext mjs,js,ts,tsx --fix", | ||
@@ -27,45 +27,44 @@ "build": "tsc -b src && gen-esm-wrapper dist/index.js dist/index.mjs", | ||
"clean": "tsc -b src --clean", | ||
"bump": "standard-version --no-verify", | ||
"changelog": "git cliff --prepend ./CHANGELOG.md -l -c ./cliff.toml", | ||
"bump": "cliff-jumper", | ||
"check-update": "cliff-jumper --dry-run", | ||
"update": "yarn upgrade-interactive", | ||
"prepublish": "yarn build", | ||
"prepare": "husky install .github/husky" | ||
"_postinstall": "husky install .github/husky", | ||
"prepack": "yarn build && pinst --disable", | ||
"postpack": "pinst --enable" | ||
}, | ||
"dependencies": { | ||
"@sapphire/fetch": "^2.3.1", | ||
"@sapphire/fetch": "^2.4.1", | ||
"@types/country-data": "^0.0.2", | ||
"country-data": "^0.0.31", | ||
"fast-xml-parser": "^4.0.7" | ||
"fast-xml-parser": "^4.0.9" | ||
}, | ||
"devDependencies": { | ||
"@commitlint/cli": "^16.2.3", | ||
"@commitlint/config-conventional": "^16.2.1", | ||
"@sapphire/eslint-config": "^4.3.3", | ||
"@sapphire/prettier-config": "^1.4.2", | ||
"@commitlint/cli": "^17.0.3", | ||
"@commitlint/config-conventional": "^17.0.3", | ||
"@favware/cliff-jumper": "^1.8.6", | ||
"@sapphire/eslint-config": "^4.3.7", | ||
"@sapphire/prettier-config": "^1.4.3", | ||
"@sapphire/ts-config": "^3.3.4", | ||
"@types/jest": "^27.4.1", | ||
"@types/node": "^17.0.24", | ||
"@typescript-eslint/eslint-plugin": "^5.19.0", | ||
"@typescript-eslint/parser": "^5.19.0", | ||
"@types/node": "^18.7.5", | ||
"@typescript-eslint/eslint-plugin": "^5.33.1", | ||
"@typescript-eslint/parser": "^5.33.1", | ||
"c8": "^7.12.0", | ||
"common-tags": "^1.8.2", | ||
"cz-conventional-changelog": "^3.3.0", | ||
"eslint": "^8.13.0", | ||
"eslint": "^8.22.0", | ||
"eslint-config-prettier": "^8.5.0", | ||
"eslint-plugin-prettier": "^4.0.0", | ||
"eslint-plugin-prettier": "^4.2.1", | ||
"gen-esm-wrapper": "^1.1.3", | ||
"husky": "^7.0.4", | ||
"jest": "^27.5.1", | ||
"jest-circus": "^27.5.1", | ||
"lint-staged": "^12.3.8", | ||
"prettier": "^2.6.2", | ||
"husky": "^8.0.1", | ||
"lint-staged": "^13.0.3", | ||
"pinst": "^3.0.0", | ||
"prettier": "^2.7.1", | ||
"pretty-quick": "^3.1.3", | ||
"replace": "^1.2.1", | ||
"standard-version": "^9.3.2", | ||
"ts-jest": "^27.1.4", | ||
"ts-node": "^10.7.0", | ||
"typescript": "^4.6.3" | ||
"typescript": "^4.7.4", | ||
"vitest": "^0.21.1" | ||
}, | ||
"resolutions": { | ||
"@types/react": "^17.0.44", | ||
"@types/react-dom": "^17.0.15", | ||
"@types/react": "^18.0.9", | ||
"@types/react-dom": "^18.0.4", | ||
"async": "^2.6.4", | ||
@@ -112,3 +111,3 @@ "ansi-regex": "^5.0.1", | ||
}, | ||
"packageManager": "yarn@3.2.0" | ||
"packageManager": "yarn@3.2.1" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
137723
24
1585
Updated@sapphire/fetch@^2.4.1
Updatedfast-xml-parser@^4.0.9