mirror of
https://github.com/maxswa/osrs-json-hiscores.git
synced 2025-10-15 10:19:04 +00:00
Compare commits
22 Commits
add-axios-
...
v2.5.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5c52bfd883 | ||
![]() |
947d994cdf | ||
![]() |
130446ab74 | ||
![]() |
f96e7e3e2d | ||
![]() |
90d66b6b2c | ||
![]() |
14cedb5877 | ||
![]() |
4703812b52 | ||
![]() |
a11ac96f68 | ||
![]() |
f97caa6a15 | ||
![]() |
e7e54741d2 | ||
![]() |
062e5e02b2 | ||
![]() |
ed7036f9c0 | ||
![]() |
74aba3e818 | ||
![]() |
09fe7ed539 | ||
![]() |
7a78e1ea0a | ||
![]() |
7a4163aed2 | ||
![]() |
85464d02fe | ||
![]() |
592d82f86b | ||
![]() |
a28a9e253e | ||
![]() |
0bd15f2402 | ||
![]() |
ed8ad51b4d | ||
![]() |
311ea88c61 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.html linguist-vendored
|
96
README.md
96
README.md
@@ -3,6 +3,7 @@
|
||||
[](https://www.npmjs.com/package/osrs-json-hiscores)
|
||||
[](https://npm-stat.com/charts.html?package=osrs-json-hiscores)
|
||||
[](https://github.com/maxswa/osrs-json-hiscores/blob/master/src/types.ts)
|
||||
[](https://github.com/maxswa/osrs-json-hiscores/actions/workflows/main.yml?query=branch%3Amain)
|
||||
|
||||
**The Old School Runescape API wrapper that does more!**
|
||||
|
||||
@@ -118,53 +119,54 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
|
||||
|
||||
### Bosses
|
||||
|
||||
| Boss Name | Param |
|
||||
| -------------------------------- | :----------------------------: |
|
||||
| Abyssal Sire | `abyssalSire` |
|
||||
| Alchemical Hydra | `alchemicalHydra` |
|
||||
| Barrows Chests | `barrows` |
|
||||
| Bryophyta | `bryophyta` |
|
||||
| Callisto | `callisto` |
|
||||
| Cerberus | `cerberus` |
|
||||
| Chambers Of Xeric | `chambersOfXeric` |
|
||||
| Chambers Of Xeric Challenge Mode | `chambersOfXericChallengeMode` |
|
||||
| Chaos Elemental | `chaosElemental` |
|
||||
| Chaos Fanatic | `chaosFanatic` |
|
||||
| Commander Zilyana | `commanderZilyana` |
|
||||
| Corporeal Beast | `corporealBeast` |
|
||||
| Crazy Archaeologist | `crazyArchaeologist` |
|
||||
| Dagannoth Prime | `dagannothPrime` |
|
||||
| Dagannoth Rex | `dagannothRex` |
|
||||
| Dagannoth Supreme | `dagannothSupreme` |
|
||||
| Deranged Archaeologist | `derangedArchaeologist` |
|
||||
| General Graardor | `generalGraardor` |
|
||||
| Giant Mole | `giantMole` |
|
||||
| Grotesque Guardians | `grotesqueGuardians` |
|
||||
| Hespori | `hespori` |
|
||||
| Kalphite Queen | `kalphiteQueen` |
|
||||
| King Black Dragon | `kingBlackDragon` |
|
||||
| Kraken | `kraken` |
|
||||
| Kreearra | `kreeArra` |
|
||||
| K'ril Tsutsaroth | `krilTsutsaroth` |
|
||||
| Mimic | `mimic` |
|
||||
| The Nightmare of Ashihama | `nightmare` |
|
||||
| Obor | `obor` |
|
||||
| Sarachnis | `sarachnis` |
|
||||
| Scorpia | `scorpia` |
|
||||
| Skotizo | `skotizo` |
|
||||
| Tempoross | `tempoross` |
|
||||
| Gauntlet | `gauntlet` |
|
||||
| Corrupted Gauntlet | `corruptedGauntlet` |
|
||||
| Theatre Of Blood | `theatreOfBlood` |
|
||||
| Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
|
||||
| TzKal-Zuk | `tzKalZuk` |
|
||||
| TzTok-Jad | `tzTokJad` |
|
||||
| Venenatis | `venenatis` |
|
||||
| Vetion | `vetion` |
|
||||
| Vorkath | `vorkath` |
|
||||
| Wintertodt | `wintertodt` |
|
||||
| Zalcano | `zalcano` |
|
||||
| Zulrah | `zulrah` |
|
||||
| Boss Name | Param |
|
||||
| --------------------------------- | :----------------------------: |
|
||||
| Abyssal Sire | `abyssalSire` |
|
||||
| Alchemical Hydra | `alchemicalHydra` |
|
||||
| Barrows Chests | `barrows` |
|
||||
| Bryophyta | `bryophyta` |
|
||||
| Callisto | `callisto` |
|
||||
| Cerberus | `cerberus` |
|
||||
| Chambers Of Xeric | `chambersOfXeric` |
|
||||
| Chambers Of Xeric: Challenge Mode | `chambersOfXericChallengeMode` |
|
||||
| Chaos Elemental | `chaosElemental` |
|
||||
| Chaos Fanatic | `chaosFanatic` |
|
||||
| Commander Zilyana | `commanderZilyana` |
|
||||
| Corporeal Beast | `corporealBeast` |
|
||||
| Crazy Archaeologist | `crazyArchaeologist` |
|
||||
| Dagannoth Prime | `dagannothPrime` |
|
||||
| Dagannoth Rex | `dagannothRex` |
|
||||
| Dagannoth Supreme | `dagannothSupreme` |
|
||||
| Deranged Archaeologist | `derangedArchaeologist` |
|
||||
| General Graardor | `generalGraardor` |
|
||||
| Giant Mole | `giantMole` |
|
||||
| Grotesque Guardians | `grotesqueGuardians` |
|
||||
| Hespori | `hespori` |
|
||||
| Kalphite Queen | `kalphiteQueen` |
|
||||
| King Black Dragon | `kingBlackDragon` |
|
||||
| Kraken | `kraken` |
|
||||
| Kreearra | `kreeArra` |
|
||||
| K'ril Tsutsaroth | `krilTsutsaroth` |
|
||||
| Mimic | `mimic` |
|
||||
| The Nightmare of Ashihama | `nightmare` |
|
||||
| Obor | `obor` |
|
||||
| Sarachnis | `sarachnis` |
|
||||
| Scorpia | `scorpia` |
|
||||
| Skotizo | `skotizo` |
|
||||
| Tempoross | `tempoross` |
|
||||
| The Gauntlet | `gauntlet` |
|
||||
| The Corrupted Gauntlet | `corruptedGauntlet` |
|
||||
| Theatre Of Blood | `theatreOfBlood` |
|
||||
| Theatre Of Blood: Hard Mode | `theatreOfBloodHardMode` |
|
||||
| Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
|
||||
| TzKal-Zuk | `tzKalZuk` |
|
||||
| TzTok-Jad | `tzTokJad` |
|
||||
| Venenatis | `venenatis` |
|
||||
| Vetion | `vetion` |
|
||||
| Vorkath | `vorkath` |
|
||||
| Wintertodt | `wintertodt` |
|
||||
| Zalcano | `zalcano` |
|
||||
| Zulrah | `zulrah` |
|
||||
|
||||
## What you'll get
|
||||
|
||||
|
82
__tests__/fysadStatsSeasonal.csv
Normal file
82
__tests__/fysadStatsSeasonal.csv
Normal file
@@ -0,0 +1,82 @@
|
||||
1,2277,4600000000
|
||||
15,99,200000000
|
||||
28,99,200000000
|
||||
18,99,200000000
|
||||
7,99,200000000
|
||||
8,99,200000000
|
||||
11,99,200000000
|
||||
32,99,200000000
|
||||
159,99,200000000
|
||||
15,99,200000000
|
||||
12,99,200000000
|
||||
9,99,200000000
|
||||
48,99,200000000
|
||||
4,99,200000000
|
||||
3,99,200000000
|
||||
25,99,200000000
|
||||
5,99,200000000
|
||||
23,99,200000000
|
||||
12,99,200000000
|
||||
2,99,200000000
|
||||
19,99,200000000
|
||||
7,99,200000000
|
||||
4,99,200000000
|
||||
4,99,200000000
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
347584,22
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
Can't render this file because it has a wrong number of fields in line 25.
|
@@ -10,7 +10,9 @@ import {
|
||||
Stats,
|
||||
getPlayerTableURL,
|
||||
getSkillPageURL,
|
||||
getStatsURL
|
||||
getStatsURL,
|
||||
BOSSES,
|
||||
Boss
|
||||
} from '../src/index';
|
||||
|
||||
const B0ATY_NAME = 'B0ATY';
|
||||
@@ -19,6 +21,7 @@ const LYNX_TITAN_SPACE_NAME = 'lYnX tiTaN';
|
||||
const LYNX_TITAN_UNDERSCORE_NAME = 'lYnX_tiTaN';
|
||||
const LYNX_TITAN_HYPHEN_NAME = 'lYnX-tiTaN';
|
||||
const LYNX_TITAN_FORMATTED_NAME = 'Lynx Titan';
|
||||
const FYSAD_FORMATTED_NAME = 'Fysad';
|
||||
|
||||
const attackTopPage = readFileSync(`${__dirname}/attackTopPage.html`, 'utf8');
|
||||
const b0atyNamePage = readFileSync(`${__dirname}/b0atyNamePage.html`, 'utf8');
|
||||
@@ -27,6 +30,7 @@ const lynxTitanNamePage = readFileSync(
|
||||
`${__dirname}/lynxTitanNamePage.html`,
|
||||
'utf8'
|
||||
);
|
||||
const fysadStatsSeasonal = readFileSync(`${__dirname}/fysadStatsSeasonal.csv`, 'utf8');
|
||||
|
||||
jest.spyOn(axios, 'get').mockImplementation((url) => {
|
||||
const lynxUrls = [
|
||||
@@ -46,6 +50,9 @@ jest.spyOn(axios, 'get').mockImplementation((url) => {
|
||||
if (getStatsURL('main', LYNX_TITAN_FORMATTED_NAME) === url) {
|
||||
return Promise.resolve({ status: 200, data: lynxTitanStats });
|
||||
}
|
||||
if (getStatsURL('seasonal', FYSAD_FORMATTED_NAME) === url) {
|
||||
return Promise.resolve({ status: 200, data: fysadStatsSeasonal });
|
||||
}
|
||||
throw new Error(`No mock response for URL: ${url}`);
|
||||
});
|
||||
|
||||
@@ -122,6 +129,7 @@ test('Parse CSV to json', () => {
|
||||
63,375
|
||||
2870,6
|
||||
6984,138
|
||||
23,923141
|
||||
4043,2000
|
||||
489,8
|
||||
967,47
|
||||
@@ -212,6 +220,7 @@ test('Parse CSV to json', () => {
|
||||
gauntlet: { rank: 63, score: 375 },
|
||||
corruptedGauntlet: { rank: 2870, score: 6 },
|
||||
theatreOfBlood: { rank: 6984, score: 138 },
|
||||
theatreOfBloodHardMode: { rank: 23, score: 923141 },
|
||||
thermonuclearSmokeDevil: { rank: 4043, score: 2000 },
|
||||
tzKalZuk: { rank: 489, score: 8 },
|
||||
tzTokJad: { rank: 967, score: 47 },
|
||||
@@ -439,7 +448,8 @@ test('Get non-existent player', async () => {
|
||||
});
|
||||
|
||||
test('Get stats by gamemode', async () => {
|
||||
const { skills } = await getStatsByGamemode(LYNX_TITAN_FORMATTED_NAME);
|
||||
const { skills, bosses } = await getStatsByGamemode(LYNX_TITAN_FORMATTED_NAME);
|
||||
|
||||
expect(skills).toMatchObject({
|
||||
overall: { rank: expect.any(Number), level: 2277, xp: 4600000000 },
|
||||
attack: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
@@ -466,4 +476,21 @@ test('Get stats by gamemode', async () => {
|
||||
hunter: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
construction: { rank: expect.any(Number), level: 99, xp: 200000000 }
|
||||
});
|
||||
|
||||
const bossKeys = Object.keys(bosses);
|
||||
expect(bossKeys).toStrictEqual(BOSSES);
|
||||
|
||||
expect.assertions(2);
|
||||
});
|
||||
|
||||
test('Get stats by game mode seasonal (omit TOB: Hard Mode from bosses)', async () => {
|
||||
const {bosses} = await getStatsByGamemode(FYSAD_FORMATTED_NAME, 'seasonal');
|
||||
const bossKeys = Object.keys(bosses);
|
||||
|
||||
const filteredBosses = BOSSES.filter(boss => boss !== 'theatreOfBloodHardMode');
|
||||
|
||||
expect(bossKeys).toStrictEqual(filteredBosses);
|
||||
expect(bossKeys).not.toContain<Boss>('theatreOfBloodHardMode');
|
||||
|
||||
expect.assertions(2);
|
||||
});
|
||||
|
@@ -15,7 +15,7 @@
|
||||
3,99,200000000
|
||||
25,99,200000000
|
||||
5,99,200000000
|
||||
24,99,200000000
|
||||
23,99,200000000
|
||||
12,99,200000000
|
||||
2,99,200000000
|
||||
19,99,200000000
|
||||
@@ -29,7 +29,8 @@
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
344430,22
|
||||
347584,22
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
|
Can't render this file because it has a wrong number of fields in line 25.
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "osrs-json-hiscores",
|
||||
"version": "2.4.1",
|
||||
"version": "2.5.1",
|
||||
"description": "The Old School Runescape API wrapper that does more!",
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
@@ -8,7 +8,7 @@
|
||||
"lib/**/*"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "watch 'yarn run build' src",
|
||||
"dev": "yarn build --watch",
|
||||
"build": "tsc",
|
||||
"format": "prettier --write \"src/**/*.ts\"",
|
||||
"lint": "eslint --fix \"src/**/*.ts\"",
|
||||
@@ -109,7 +109,6 @@
|
||||
"np": "6.5.0",
|
||||
"prettier": "^2.2.1",
|
||||
"ts-jest": "^26.5.4",
|
||||
"typescript": "^4.2.3",
|
||||
"watch": "^1.0.2"
|
||||
"typescript": "^4.2.3"
|
||||
}
|
||||
}
|
||||
|
@@ -68,7 +68,7 @@ export async function getRSNFormat(rsn: string): Promise<string> {
|
||||
* @param csv Raw CSV from the official OSRS API.
|
||||
* @returns Parsed stats object.
|
||||
*/
|
||||
export function parseStats(csv: string): Stats {
|
||||
export function parseStats(csv: string, mode: Gamemode = 'main'): Stats {
|
||||
const splitCSV = csv
|
||||
.split('\n')
|
||||
.filter((entry) => !!entry)
|
||||
@@ -97,11 +97,17 @@ export function parseStats(csv: string): Stats {
|
||||
return activity;
|
||||
});
|
||||
|
||||
/** `seasonal` API results don't currently include TOB: Hard Mode, so it needs to be filtered out in that case. */
|
||||
const filteredBosses =
|
||||
mode === 'seasonal'
|
||||
? BOSSES.filter((boss) => boss !== 'theatreOfBloodHardMode')
|
||||
: BOSSES;
|
||||
|
||||
const [leaguePoints] = activityObjects.splice(0, 1);
|
||||
const bhObjects = activityObjects.splice(0, BH_MODES.length);
|
||||
const clueObjects = activityObjects.splice(0, CLUES.length);
|
||||
const [lastManStanding, soulWarsZeal] = activityObjects.splice(0, 2);
|
||||
const bossObjects = activityObjects.splice(0, BOSSES.length);
|
||||
const bossObjects = activityObjects.splice(0, filteredBosses.length);
|
||||
|
||||
const skills: Skills = skillObjects.reduce<Skills>((prev, curr, index) => {
|
||||
const newSkills = { ...prev };
|
||||
@@ -123,7 +129,7 @@ export function parseStats(csv: string): Stats {
|
||||
|
||||
const bosses: Bosses = bossObjects.reduce<Bosses>((prev, curr, index) => {
|
||||
const newBosses = { ...prev };
|
||||
newBosses[BOSSES[index]] = curr;
|
||||
newBosses[filteredBosses[index]] = curr;
|
||||
return newBosses;
|
||||
}, {} as Bosses);
|
||||
|
||||
@@ -250,7 +256,7 @@ export async function getStatsByGamemode(
|
||||
if (response.status !== 200) {
|
||||
throw Error('Player not found');
|
||||
}
|
||||
const stats = parseStats(response.data);
|
||||
const stats = parseStats(response.data, mode);
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
@@ -98,6 +98,7 @@ export type Boss =
|
||||
| 'gauntlet'
|
||||
| 'corruptedGauntlet'
|
||||
| 'theatreOfBlood'
|
||||
| 'theatreOfBloodHardMode'
|
||||
| 'thermonuclearSmokeDevil'
|
||||
| 'tzKalZuk'
|
||||
| 'tzTokJad'
|
||||
|
@@ -106,6 +106,7 @@ export const BOSSES: Boss[] = [
|
||||
'gauntlet',
|
||||
'corruptedGauntlet',
|
||||
'theatreOfBlood',
|
||||
'theatreOfBloodHardMode',
|
||||
'thermonuclearSmokeDevil',
|
||||
'tzKalZuk',
|
||||
'tzTokJad',
|
||||
@@ -173,6 +174,7 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
|
||||
gauntlet: 'The Gauntlet',
|
||||
corruptedGauntlet: 'The Corrupted Gauntlet',
|
||||
theatreOfBlood: 'Theatre of Blood',
|
||||
theatreOfBloodHardMode: 'Theatre of Blood: Hard Mode',
|
||||
thermonuclearSmokeDevil: 'Thermonuclear Smoke Devil',
|
||||
tzKalZuk: 'TzKal-Zuk',
|
||||
tzTokJad: 'TzTok-Jad',
|
||||
|
@@ -4,7 +4,12 @@
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"outDir": "./lib",
|
||||
"strict": true
|
||||
"strict": true,
|
||||
"lib": ["ES2015", "DOM", "DOM.Iterable"],
|
||||
"typeRoots": [
|
||||
"./node_modules/@types",
|
||||
"./src/@types"
|
||||
]
|
||||
},
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "**/__tests__/*"]
|
||||
|
33
yarn.lock
33
yarn.lock
@@ -2228,13 +2228,6 @@ esutils@^2.0.2:
|
||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||
|
||||
exec-sh@^0.2.0:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
|
||||
integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==
|
||||
dependencies:
|
||||
merge "^1.2.0"
|
||||
|
||||
exec-sh@^0.3.2:
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
|
||||
@@ -4067,16 +4060,11 @@ lodash.zip@^4.2.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020"
|
||||
integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=
|
||||
|
||||
lodash@4.x, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21:
|
||||
lodash@4.x, lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
||||
lodash@^4.17.12, lodash@^4.17.19:
|
||||
version "4.17.20"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
|
||||
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
|
||||
|
||||
log-symbols@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
|
||||
@@ -4226,11 +4214,6 @@ merge2@^1.3.0:
|
||||
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
||||
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
||||
|
||||
merge@^1.2.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145"
|
||||
integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==
|
||||
|
||||
micromatch@^3.1.4:
|
||||
version "3.1.10"
|
||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
|
||||
@@ -6266,14 +6249,6 @@ walker@^1.0.7, walker@~1.0.5:
|
||||
dependencies:
|
||||
makeerror "1.0.x"
|
||||
|
||||
watch@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c"
|
||||
integrity sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=
|
||||
dependencies:
|
||||
exec-sh "^0.2.0"
|
||||
minimist "^1.2.0"
|
||||
|
||||
webidl-conversions@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
||||
@@ -6389,9 +6364,9 @@ write-file-atomic@^3.0.0:
|
||||
typedarray-to-buffer "^3.1.5"
|
||||
|
||||
ws@^7.2.3:
|
||||
version "7.4.2"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd"
|
||||
integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==
|
||||
version "7.4.6"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
||||
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
||||
|
||||
xdg-basedir@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
Reference in New Issue
Block a user