mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-02-19 18:57:37 +00:00
remove vite-plugin-fs
dependency...
- removed `api-generatort-script.ts` file (this was in consultations with devs https://discord.com/channels/1125469663833370665/1250836282926436413/1266469312609259550)
This commit is contained in:
parent
5f6712888e
commit
22c68224ec
606
package-lock.json
generated
606
package-lock.json
generated
@ -38,7 +38,6 @@
|
||||
"typescript": "^5.5.3",
|
||||
"typescript-eslint": "^8.0.0-alpha.54",
|
||||
"vite": "^4.5.0",
|
||||
"vite-plugin-fs": "^0.4.4",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"vitest": "^2.0.4",
|
||||
"vitest-canvas-mock": "^0.3.3"
|
||||
@ -1655,19 +1654,6 @@
|
||||
"url": "https://opencollective.com/vitest"
|
||||
}
|
||||
},
|
||||
"node_modules/accepts": {
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
||||
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mime-types": "~2.1.34",
|
||||
"negotiator": "0.6.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.11.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
|
||||
@ -1885,15 +1871,6 @@
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
}
|
||||
},
|
||||
"node_modules/bytes": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/cac": {
|
||||
"version": "6.7.14",
|
||||
"resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
|
||||
@ -1904,19 +1881,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/cache-content-type": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
|
||||
"integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mime-types": "^2.1.18",
|
||||
"ylru": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cache-parser": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.4.tgz",
|
||||
@ -2027,28 +1991,6 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/co": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"iojs": ">= 1.0.0",
|
||||
"node": ">= 0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/co-body": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz",
|
||||
"integrity": "sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"inflation": "^2.0.0",
|
||||
"qs": "^6.5.2",
|
||||
"raw-body": "^2.3.3",
|
||||
"type-is": "^1.6.16"
|
||||
}
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
@ -2092,27 +2034,6 @@
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/content-disposition": {
|
||||
"version": "0.5.4",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
|
||||
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "5.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/content-type": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
||||
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/convert-source-map": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
|
||||
@ -2120,25 +2041,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cookies": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz",
|
||||
"integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"depd": "~2.0.0",
|
||||
"keygrip": "~1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/copy-to": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
|
||||
"integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/cross-fetch": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
|
||||
@ -2265,12 +2167,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/deep-equal": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
||||
"integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/deep-is": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||
@ -2302,21 +2198,6 @@
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/delegates": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/depd": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/dependency-cruiser": {
|
||||
"version": "16.3.3",
|
||||
"resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.3.tgz",
|
||||
@ -2466,16 +2347,6 @@
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/destroy": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
||||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8",
|
||||
"npm": "1.2.8000 || >= 1.4.16"
|
||||
}
|
||||
},
|
||||
"node_modules/dir-glob": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
|
||||
@ -2496,12 +2367,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz",
|
||||
@ -2514,15 +2379,6 @@
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"node_modules/encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.17.0",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
|
||||
@ -2610,12 +2466,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/escape-html": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
@ -3118,15 +2968,6 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/fresh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
@ -3393,21 +3234,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-tostringtag": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
||||
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-symbols": "^1.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||
@ -3437,44 +3263,6 @@
|
||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/http-assert": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
|
||||
"integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"deep-equal": "~1.0.1",
|
||||
"http-errors": "~1.8.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/http-errors": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
|
||||
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"depd": "~1.1.2",
|
||||
"inherits": "2.0.4",
|
||||
"setprototypeof": "1.2.0",
|
||||
"statuses": ">= 1.5.0 < 2",
|
||||
"toidentifier": "1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/http-errors/node_modules/depd": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/http-proxy-agent": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
|
||||
@ -3613,21 +3401,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/inflation": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.1.0.tgz",
|
||||
"integrity": "sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ini": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
|
||||
@ -3672,21 +3445,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-generator-function": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
|
||||
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-tostringtag": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-glob": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||
@ -4069,18 +3827,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/keygrip": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
|
||||
"integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"tsscmp": "1.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/keyv": {
|
||||
"version": "4.5.4",
|
||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
|
||||
@ -4099,96 +3845,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/koa": {
|
||||
"version": "2.15.3",
|
||||
"resolved": "https://registry.npmjs.org/koa/-/koa-2.15.3.tgz",
|
||||
"integrity": "sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"accepts": "^1.3.5",
|
||||
"cache-content-type": "^1.0.0",
|
||||
"content-disposition": "~0.5.2",
|
||||
"content-type": "^1.0.4",
|
||||
"cookies": "~0.9.0",
|
||||
"debug": "^4.3.2",
|
||||
"delegates": "^1.0.0",
|
||||
"depd": "^2.0.0",
|
||||
"destroy": "^1.0.4",
|
||||
"encodeurl": "^1.0.2",
|
||||
"escape-html": "^1.0.3",
|
||||
"fresh": "~0.5.2",
|
||||
"http-assert": "^1.3.0",
|
||||
"http-errors": "^1.6.3",
|
||||
"is-generator-function": "^1.0.7",
|
||||
"koa-compose": "^4.1.0",
|
||||
"koa-convert": "^2.0.0",
|
||||
"on-finished": "^2.3.0",
|
||||
"only": "~0.0.2",
|
||||
"parseurl": "^1.3.2",
|
||||
"statuses": "^1.5.0",
|
||||
"type-is": "^1.6.16",
|
||||
"vary": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
|
||||
}
|
||||
},
|
||||
"node_modules/koa-bodyparser": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.4.1.tgz",
|
||||
"integrity": "sha512-kBH3IYPMb+iAXnrxIhXnW+gXV8OTzCu8VPDqvcDHW9SQrbkHmqPQtiZwrltNmSq6/lpipHnT7k7PsjlVD7kK0w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"co-body": "^6.0.0",
|
||||
"copy-to": "^2.0.1",
|
||||
"type-is": "^1.6.18"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/koa-compose": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
|
||||
"integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/koa-convert": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
|
||||
"integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"co": "^4.6.0",
|
||||
"koa-compose": "^4.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/koa-cors": {
|
||||
"version": "0.0.16",
|
||||
"resolved": "https://registry.npmjs.org/koa-cors/-/koa-cors-0.0.16.tgz",
|
||||
"integrity": "sha512-s15knPxe3AJBi2I/ZMPL0pSqU+PLYLO6k5tI0AqClkzavowvocPlSdFUwaHNqtjHMhsGmiq2tiX/25iILJx9YA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/koa-router": {
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/koa-router/-/koa-router-10.1.1.tgz",
|
||||
"integrity": "sha512-z/OzxVjf5NyuNO3t9nJpx7e1oR3FSBAauiwXtMQu4ppcnuNZzTaQ4p21P8A6r2Es8uJJM339oc4oVW+qX7SqnQ==",
|
||||
"deprecated": "**IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.1.1",
|
||||
"http-errors": "^1.7.3",
|
||||
"koa-compose": "^4.1.0",
|
||||
"methods": "^1.1.2",
|
||||
"path-to-regexp": "^6.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lefthook": {
|
||||
"version": "1.6.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.6.12.tgz",
|
||||
@ -4449,15 +4105,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/memoize": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/memoize/-/memoize-10.0.0.tgz",
|
||||
@ -4488,15 +4135,6 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/micromatch": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
|
||||
@ -4651,15 +4289,6 @@
|
||||
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/negotiator": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||
@ -4725,15 +4354,6 @@
|
||||
"integrity": "sha512-/Ds4Xd5xzrtUOJ+xJQ57iAy0BZsZltOHssnDgcZ8DOhgh41q1YJCnTPnWdWSLkNGNnxYzhYChjc5dgC9mEERCA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.13.1",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
|
||||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/object-keys": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||
@ -4742,18 +4362,6 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/on-finished": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ee-first": "1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/onetime": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
|
||||
@ -4769,12 +4377,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/only": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
|
||||
"integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/optionator": {
|
||||
"version": "0.9.4",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
|
||||
@ -4858,15 +4460,6 @@
|
||||
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/parseurl": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
@ -4914,12 +4507,6 @@
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/path-to-regexp": {
|
||||
"version": "6.2.2",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz",
|
||||
"integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
@ -5116,21 +4703,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/qs": {
|
||||
"version": "6.12.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
|
||||
"integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"side-channel": "^1.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/querystringify": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
|
||||
@ -5157,58 +4729,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/raw-body": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
||||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"http-errors": "2.0.0",
|
||||
"iconv-lite": "0.4.24",
|
||||
"unpipe": "1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/raw-body/node_modules/http-errors": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"depd": "2.0.0",
|
||||
"inherits": "2.0.4",
|
||||
"setprototypeof": "1.2.0",
|
||||
"statuses": "2.0.1",
|
||||
"toidentifier": "1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/raw-body/node_modules/iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/raw-body/node_modules/statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/rechoir": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
|
||||
@ -5336,26 +4856,6 @@
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/safe-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
|
||||
@ -5420,12 +4920,6 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/setprototypeof": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/shebang-command": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||
@ -5458,24 +4952,6 @@
|
||||
"@types/hast": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
|
||||
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.7",
|
||||
"es-errors": "^1.3.0",
|
||||
"get-intrinsic": "^1.2.4",
|
||||
"object-inspect": "^1.13.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/siginfo": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
|
||||
@ -5526,15 +5002,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/statuses": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
"integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/std-env": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz",
|
||||
@ -5776,15 +5243,6 @@
|
||||
"node": ">=8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/toidentifier": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/tough-cookie": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
|
||||
@ -5927,15 +5385,6 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/tsscmp": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
|
||||
"integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.6.x"
|
||||
}
|
||||
},
|
||||
"node_modules/type-check": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
||||
@ -5948,19 +5397,6 @@
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/type-is": {
|
||||
"version": "1.6.18",
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
||||
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"media-typer": "0.3.0",
|
||||
"mime-types": "~2.1.24"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/typedoc": {
|
||||
"version": "0.26.4",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.4.tgz",
|
||||
@ -6069,15 +5505,6 @@
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
|
||||
@ -6127,15 +5554,6 @@
|
||||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vary": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
|
||||
@ -6960,21 +6378,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vite-plugin-fs": {
|
||||
"version": "0.4.4",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-fs/-/vite-plugin-fs-0.4.4.tgz",
|
||||
"integrity": "sha512-TT9kEU2LX3musejDL99nLdjDl7P74AdTnK3yozehswg0FhKSGlNstkHVUgcswKSk6vH/Uzqgz+df7WT0sEA/IA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"koa": "^2.13.4",
|
||||
"koa-bodyparser": "^4.3.0",
|
||||
"koa-cors": "^0.0.16",
|
||||
"koa-router": "^10.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/vite-tsconfig-paths": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz",
|
||||
@ -7845,15 +7248,6 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/ylru": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ylru/-/ylru-1.4.0.tgz",
|
||||
"integrity": "sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/yocto-queue": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||
|
@ -37,7 +37,6 @@
|
||||
"typescript": "^5.5.3",
|
||||
"typescript-eslint": "^8.0.0-alpha.54",
|
||||
"vite": "^4.5.0",
|
||||
"vite-plugin-fs": "^0.4.4",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"vitest": "^2.0.4",
|
||||
"vitest-canvas-mock": "^0.3.3"
|
||||
|
@ -1,689 +0,0 @@
|
||||
import { MainClient, NamedAPIResource } from "pokenode-ts";
|
||||
import { MoveTarget, allMoves } from "./move";
|
||||
import * as Utils from "../utils";
|
||||
import fs from "vite-plugin-fs/browser";
|
||||
import PokemonSpecies, { PokemonForm, SpeciesFormKey, allSpecies } from "./pokemon-species";
|
||||
import { GrowthRate } from "./exp";
|
||||
import { Type } from "./type";
|
||||
import { allAbilities } from "./ability";
|
||||
import { pokemonFormLevelMoves } from "./pokemon-level-moves";
|
||||
import { tmSpecies } from "./tms";
|
||||
import { Abilities } from "#enums/abilities";
|
||||
import { Moves } from "#enums/moves";
|
||||
import { Species } from "#enums/species";
|
||||
|
||||
const targetMap = {
|
||||
"specific-move": MoveTarget.ATTACKER,
|
||||
"selected-pokemon-me-first": MoveTarget.NEAR_ENEMY,
|
||||
"ally": MoveTarget.NEAR_ALLY,
|
||||
"users-field": MoveTarget.USER_SIDE,
|
||||
"user-or-ally": MoveTarget.USER_OR_NEAR_ALLY,
|
||||
"opponents-field": MoveTarget.ENEMY_SIDE,
|
||||
"user": MoveTarget.USER,
|
||||
"random-opponent": MoveTarget.RANDOM_NEAR_ENEMY,
|
||||
"all-other-pokemon": MoveTarget.ALL_NEAR_OTHERS,
|
||||
"selected-pokemon": MoveTarget.NEAR_OTHER,
|
||||
"all-opponents": MoveTarget.ALL_NEAR_ENEMIES,
|
||||
"entire-field": MoveTarget.BOTH_SIDES,
|
||||
"user-and-allies": MoveTarget.USER_AND_ALLIES,
|
||||
"all-pokemon": MoveTarget.ALL,
|
||||
"all-allies": MoveTarget.NEAR_ALLY,
|
||||
"fainting-pokemon": MoveTarget.NEAR_OTHER
|
||||
};
|
||||
|
||||
const generationMap = {
|
||||
"generation-i": 1,
|
||||
"generation-ii": 2,
|
||||
"generation-iii": 3,
|
||||
"generation-iv": 4,
|
||||
"generation-v": 5,
|
||||
"generation-vi": 6,
|
||||
"generation-vii": 7,
|
||||
"generation-viii": 8,
|
||||
"generation-ix": 9
|
||||
};
|
||||
|
||||
const growthRateMap = {
|
||||
"slow-then-very-fast": GrowthRate.ERRATIC,
|
||||
"fast": GrowthRate.FAST,
|
||||
"medium": GrowthRate.MEDIUM_FAST,
|
||||
"medium-slow": GrowthRate.MEDIUM_SLOW,
|
||||
"slow": GrowthRate.SLOW,
|
||||
"fast-then-very-slow": GrowthRate.FLUCTUATING
|
||||
};
|
||||
|
||||
const regionalForms = [ "alola", "galar", "hisui", "paldea" ];
|
||||
|
||||
const ignoredForms = [ "gmax", "totem", "cap", "starter" ];
|
||||
|
||||
const generationDexNumbers = {
|
||||
1: 151,
|
||||
2: 251,
|
||||
3: 386,
|
||||
4: 494,
|
||||
5: 649,
|
||||
6: 721,
|
||||
7: 809,
|
||||
8: 905,
|
||||
9: 1010
|
||||
};
|
||||
|
||||
const versions = [ "scarlet-violet", "sword-shield", "sun-moon" ];
|
||||
|
||||
type LevelMove = [level: integer, moveId: integer];
|
||||
|
||||
interface SpeciesLevelMoves {
|
||||
[key: string]: LevelMove[]
|
||||
}
|
||||
|
||||
interface FormLevelMoves {
|
||||
[key: integer]: LevelMove[]
|
||||
}
|
||||
|
||||
interface SpeciesFormLevelMoves {
|
||||
[key: string]: FormLevelMoves
|
||||
}
|
||||
|
||||
interface TmSpecies {
|
||||
[key: string]: Array<string | string[]>
|
||||
}
|
||||
|
||||
export async function printPokemon() {
|
||||
const api = new MainClient();
|
||||
|
||||
const useExistingTmList = true;
|
||||
|
||||
let enumStr = "export enum Species {\n";
|
||||
let pokemonSpeciesStr = "\tallSpecies.push(\n";
|
||||
const speciesLevelMoves: SpeciesLevelMoves = {};
|
||||
const speciesFormLevelMoves: SpeciesFormLevelMoves = {};
|
||||
const moveTmSpecies: TmSpecies = {};
|
||||
|
||||
let pokemonArr: NamedAPIResource[] = [];
|
||||
|
||||
const offset = 0;
|
||||
const pokemonResponse = await api.pokemon.listPokemons(offset, 2000);
|
||||
|
||||
pokemonArr = pokemonResponse.results;
|
||||
|
||||
const types = Utils.getEnumKeys(Type).map(t => t.toLowerCase());
|
||||
const abilities = Utils.getEnumKeys(Abilities).map(a => a.toLowerCase().replace(/\_/g, "-"));
|
||||
|
||||
const pokemonSpeciesList: PokemonSpecies[] = [];
|
||||
|
||||
for (const p of pokemonArr) {
|
||||
const pokemon = await api.pokemon.getPokemonByName(p.name);
|
||||
|
||||
let region: string = "";
|
||||
|
||||
if (pokemon.id > 10000) {
|
||||
const dexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
|
||||
if (!dexIdMatch) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const matchingSpecies = pokemonSpeciesList[parseInt(dexIdMatch[1]) - 1];
|
||||
|
||||
if (!matchingSpecies) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const speciesKey = (matchingSpecies as any).key as string;
|
||||
|
||||
const formName = pokemon.name.slice(speciesKey.length + 1);
|
||||
|
||||
if (ignoredForms.filter(f => formName.indexOf(f) > -1).length) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const shortFormName = formName.indexOf("-") > -1
|
||||
? formName.slice(0, formName.indexOf("-"))
|
||||
: formName;
|
||||
|
||||
if (regionalForms.indexOf(shortFormName) > -1) {
|
||||
region = shortFormName.toUpperCase();
|
||||
} else {
|
||||
const formBaseStats: integer[] = [];
|
||||
let formBaseTotal = 0;
|
||||
// Assume correct stat order in API result
|
||||
for (const stat of pokemon.stats) {
|
||||
formBaseStats.push(stat.base_stat);
|
||||
formBaseTotal += stat.base_stat;
|
||||
}
|
||||
|
||||
const [ formType1, formType2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
|
||||
const [ formAbility1, formAbility2, formAbilityHidden ] = [
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
|
||||
];
|
||||
|
||||
const pokemonForm = new PokemonForm(formName, formName, formType1 as Type, formType2 > -1 ? formType2 as Type : null, pokemon.height / 10, pokemon.weight / 10,
|
||||
formAbility1 as Abilities, formAbility2 as Abilities, formAbilityHidden as Abilities, formBaseTotal, formBaseStats[0], formBaseStats[1], formBaseStats[2], formBaseStats[3], formBaseStats[4], formBaseStats[5],
|
||||
matchingSpecies.catchRate, matchingSpecies.baseFriendship, matchingSpecies.baseExp, matchingSpecies.genderDiffs);
|
||||
pokemonForm.speciesId = matchingSpecies.speciesId;
|
||||
pokemonForm.formIndex = matchingSpecies.forms.length;
|
||||
pokemonForm.generation = matchingSpecies.generation;
|
||||
|
||||
let moveVer: string;
|
||||
|
||||
if (!speciesFormLevelMoves.hasOwnProperty(speciesKey)) {
|
||||
speciesFormLevelMoves[speciesKey] = [];
|
||||
}
|
||||
speciesFormLevelMoves[speciesKey][pokemonForm.formIndex] = [];
|
||||
|
||||
for (const version of versions) {
|
||||
if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
|
||||
moveVer = version;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (moveVer) {
|
||||
pokemon.moves.forEach(moveData => {
|
||||
moveData.version_group_details.filter(v => versions.indexOf(v.version_group.name) > -1).forEach(verData => {
|
||||
const isMoveVer = verData.version_group.name === moveVer;
|
||||
|
||||
const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
|
||||
const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
|
||||
|
||||
const learnMethod = verData.move_learn_method.name;
|
||||
|
||||
if (isMoveVer && learnMethod === "level-up") {
|
||||
speciesFormLevelMoves[speciesKey][pokemonForm.formIndex].push([ verData.level_learned_at, moveId ]);
|
||||
}
|
||||
|
||||
if ([ "machine", "tutor" ].indexOf(learnMethod) > -1 || (useExistingTmList && tmSpecies.hasOwnProperty(moveId as Moves) && learnMethod === "level-up")) {
|
||||
if (!moveTmSpecies.hasOwnProperty(moveId)) {
|
||||
moveTmSpecies[moveId] = [];
|
||||
}
|
||||
const speciesIndex = moveTmSpecies[moveId].findIndex(s => s[0] === speciesKey);
|
||||
if (speciesIndex === -1) {
|
||||
moveTmSpecies[moveId].push([ speciesKey, formName ]);
|
||||
} else {
|
||||
(moveTmSpecies[moveId][speciesIndex] as string[]).push(formName);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (JSON.stringify(speciesLevelMoves[speciesKey]) === JSON.stringify(speciesFormLevelMoves[speciesKey][pokemonForm.formIndex])) {
|
||||
delete speciesFormLevelMoves[speciesKey][pokemonForm.formIndex];
|
||||
if (!Object.keys(speciesFormLevelMoves[speciesKey]).length) {
|
||||
delete speciesFormLevelMoves[speciesKey];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
matchingSpecies.forms.push(pokemonForm);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
const species = await api.pokemon.getPokemonSpeciesByName(pokemon.species.name);
|
||||
|
||||
let speciesKey = species.name.toUpperCase().replace(/\-/g, "_");
|
||||
|
||||
const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === speciesKey);
|
||||
|
||||
let dexId = species.id;
|
||||
|
||||
if (region) {
|
||||
dexId += (regionalForms.indexOf(region.toLowerCase()) + 1) * 2000;
|
||||
speciesKey = `${region}_${speciesKey}`;
|
||||
}
|
||||
|
||||
let generationIndex = 0;
|
||||
|
||||
if (!region) {
|
||||
while (++generationIndex < 9 && dexId > generationDexNumbers[generationIndex]) {}
|
||||
} else {
|
||||
generationIndex = regionalForms.indexOf(region.toLowerCase()) + 6;
|
||||
}
|
||||
|
||||
const baseStats: integer[] = [];
|
||||
let baseTotal = 0;
|
||||
// Assume correct stat order in API result
|
||||
for (const stat of pokemon.stats) {
|
||||
baseStats.push(stat.base_stat);
|
||||
baseTotal += stat.base_stat;
|
||||
}
|
||||
|
||||
console.log(pokemon);
|
||||
|
||||
const [ type1, type2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
|
||||
const [ ability1, ability2, abilityHidden ] = [
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
|
||||
Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
|
||||
];
|
||||
|
||||
const pokemonSpecies = new PokemonSpecies(dexId, generationIndex, species.is_legendary && baseTotal < 660, species.is_legendary && baseTotal >= 660, species.is_mythical,
|
||||
species.genera.find(g => g.language.name === "en")?.genus, type1 as Type, type2 > -1 ? type2 as Type : null, pokemon.height / 10, pokemon.weight / 10, ability1 as Abilities, ability2 as Abilities, abilityHidden as Abilities,
|
||||
baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5], species.capture_rate, species.base_happiness, pokemon.base_experience, growthRateMap[species.growth_rate.name],
|
||||
species.gender_rate < 9 ? 100 - (species.gender_rate * 12.5) : null, species.has_gender_differences, species.forms_switchable);
|
||||
|
||||
(pokemonSpecies as any).key = speciesKey;
|
||||
|
||||
pokemonSpeciesList.push(pokemonSpecies);
|
||||
|
||||
let moveVer: string;
|
||||
|
||||
speciesLevelMoves[speciesKey] = [];
|
||||
|
||||
for (const version of versions) {
|
||||
if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
|
||||
moveVer = version;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const speciesTmMoves: integer[] = [];
|
||||
|
||||
if (moveVer) {
|
||||
pokemon.moves.forEach(moveData => {
|
||||
const verData = moveData.version_group_details.find(v => v.version_group.name === moveVer);
|
||||
if (!verData) {
|
||||
return;
|
||||
}
|
||||
|
||||
const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
|
||||
const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
|
||||
|
||||
switch (verData.move_learn_method.name) {
|
||||
case "level-up":
|
||||
speciesLevelMoves[speciesKey].push([ verData.level_learned_at, moveId ]);
|
||||
break;
|
||||
case "machine":
|
||||
case "tutor":
|
||||
if (moveId > 0) {
|
||||
if (!moveTmSpecies.hasOwnProperty(moveId)) {
|
||||
moveTmSpecies[moveId] = [];
|
||||
}
|
||||
if (moveTmSpecies[moveId].indexOf(speciesKey) === -1) {
|
||||
moveTmSpecies[moveId].push(speciesKey);
|
||||
}
|
||||
speciesTmMoves.push(moveId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (const f of pokemon.forms) {
|
||||
const form = await api.pokemon.getPokemonFormByName(f.name);
|
||||
const formIndex = pokemonSpecies.forms.length;
|
||||
|
||||
const matchingForm = matchingExistingSpecies && matchingExistingSpecies.forms.length > formIndex
|
||||
? matchingExistingSpecies.forms.find(f2 => f2.formKey === form.form_name || f2.formName === form.form_name) || matchingExistingSpecies.forms[formIndex]
|
||||
: null;
|
||||
const formName = matchingForm
|
||||
? matchingForm.formName
|
||||
: form.form_names.find(fn => fn.language.name === "en")?.name || form.form_name;
|
||||
const formKey = matchingForm
|
||||
? matchingForm.formKey
|
||||
: form.form_name;
|
||||
|
||||
const [ formType1, formType2 ] = [ types.indexOf(form.types.find(t => t.slot === 1).type.name), types.indexOf(form.types.find(t => t.slot === 2)?.type.name) ];
|
||||
const pokemonForm = new PokemonForm(formName, formKey, formType1 as Type, formType2 > -1 ? formType2 as Type : null,
|
||||
pokemonSpecies.height, pokemonSpecies.weight, pokemonSpecies.ability1, pokemonSpecies.ability2, pokemonSpecies.abilityHidden, baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5],
|
||||
pokemonSpecies.catchRate, pokemonSpecies.baseFriendship, pokemonSpecies.baseExp, pokemonSpecies.genderDiffs);
|
||||
pokemonForm.speciesId = pokemonSpecies.speciesId;
|
||||
pokemonForm.formIndex = formIndex;
|
||||
pokemonForm.generation = pokemonSpecies.generation;
|
||||
|
||||
if (!pokemonForm.formIndex && speciesTmMoves.length) {
|
||||
for (const moveId of speciesTmMoves) {
|
||||
const speciesIndex = moveTmSpecies[moveId].findIndex(s => s === speciesKey);
|
||||
moveTmSpecies[moveId][speciesIndex] = [
|
||||
speciesKey,
|
||||
formKey
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
pokemonSpecies.forms.push(pokemonForm);
|
||||
}
|
||||
|
||||
console.log(pokemonSpecies.name, pokemonSpecies);
|
||||
}
|
||||
|
||||
for (const pokemonSpecies of pokemonSpeciesList) {
|
||||
const speciesKey = (pokemonSpecies as any).key as string;
|
||||
|
||||
enumStr += ` ${speciesKey}${pokemonSpecies.speciesId >= 2000 ? ` = ${pokemonSpecies.speciesId}` : ""},\n`;
|
||||
pokemonSpeciesStr += ` new PokemonSpecies(Species.${speciesKey}, "${pokemonSpecies.name}", ${pokemonSpecies.generation}, ${pokemonSpecies.subLegendary}, ${pokemonSpecies.legendary}, ${pokemonSpecies.mythical}, "${pokemonSpecies.species}", Type.${Type[pokemonSpecies.type1]}, ${pokemonSpecies.type2 ? `Type.${Type[pokemonSpecies.type2]}` : "null"}, ${pokemonSpecies.height}, ${pokemonSpecies.weight}, Abilities.${Abilities[pokemonSpecies.ability1]}, Abilities.${Abilities[pokemonSpecies.ability2]}, Abilities.${Abilities[pokemonSpecies.abilityHidden]}, ${pokemonSpecies.baseTotal}, ${pokemonSpecies.baseStats[0]}, ${pokemonSpecies.baseStats[1]}, ${pokemonSpecies.baseStats[2]}, ${pokemonSpecies.baseStats[3]}, ${pokemonSpecies.baseStats[4]}, ${pokemonSpecies.baseStats[5]}, ${pokemonSpecies.catchRate}, ${pokemonSpecies.baseFriendship}, ${pokemonSpecies.baseExp}, GrowthRate.${GrowthRate[pokemonSpecies.growthRate]}, ${pokemonSpecies.malePercent}, ${pokemonSpecies.genderDiffs}`;
|
||||
if (pokemonSpecies.forms.length > 1) {
|
||||
pokemonSpeciesStr += `, ${pokemonSpecies.canChangeForm},`;
|
||||
for (const form of pokemonSpecies.forms) {
|
||||
pokemonSpeciesStr += `\n new PokemonForm("${form.formName}", "${form.formName}", Type.${Type[form.type1]}, ${form.type2 ? `Type.${Type[form.type2]}` : "null"}, ${form.height}, ${form.weight}, Abilities.${Abilities[form.ability1]}, Abilities.${Abilities[form.ability2]}, Abilities.${Abilities[form.abilityHidden]}, ${form.baseTotal}, ${form.baseStats[0]}, ${form.baseStats[1]}, ${form.baseStats[2]}, ${form.baseStats[3]}, ${form.baseStats[4]}, ${form.baseStats[5]}, ${form.catchRate}, ${form.baseFriendship}, ${form.baseExp}${form.genderDiffs ? ", true" : ""}),`;
|
||||
}
|
||||
pokemonSpeciesStr += "\n ";
|
||||
}
|
||||
pokemonSpeciesStr += "),\n";
|
||||
}
|
||||
|
||||
let speciesLevelMovesStr = "export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {\n";
|
||||
let speciesFormLevelMovesStr = "export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {\n";
|
||||
let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
|
||||
|
||||
for (const species of Object.keys(speciesLevelMoves)) {
|
||||
speciesLevelMovesStr += ` [Species.${species}]: [\n`;
|
||||
|
||||
const orderedLevelMoves = speciesLevelMoves[species].sort((a: LevelMove, b: LevelMove) => {
|
||||
if (a[0] !== b[0]) {
|
||||
return a[0] < b[0] ? -1 : 1;
|
||||
}
|
||||
return a[1] < b[1] ? -1 : 1;
|
||||
});
|
||||
|
||||
for (const lm of orderedLevelMoves) {
|
||||
speciesLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
|
||||
}
|
||||
|
||||
speciesLevelMovesStr += " ],\n";
|
||||
}
|
||||
|
||||
for (const species of Object.keys(speciesFormLevelMoves)) {
|
||||
speciesFormLevelMovesStr += ` [Species.${species}]: {\n`;
|
||||
|
||||
for (const f of Object.keys(speciesFormLevelMoves[species])) {
|
||||
speciesFormLevelMovesStr += ` ${f}: [\n`;
|
||||
|
||||
const orderedLevelMoves = speciesFormLevelMoves[species][f].sort((a: LevelMove, b: LevelMove) => {
|
||||
if (a[0] !== b[0]) {
|
||||
return a[0] < b[0] ? -1 : 1;
|
||||
}
|
||||
return a[1] < b[1] ? -1 : 1;
|
||||
});
|
||||
|
||||
for (const lm of orderedLevelMoves) {
|
||||
speciesFormLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
|
||||
}
|
||||
|
||||
speciesFormLevelMovesStr += " ],\n";
|
||||
}
|
||||
|
||||
speciesFormLevelMovesStr += " },\n";
|
||||
}
|
||||
|
||||
for (const moveId of Object.keys(moveTmSpecies)) {
|
||||
tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
|
||||
for (const species of moveTmSpecies[moveId]) {
|
||||
if (typeof species === "string") {
|
||||
tmSpeciesStr += ` Species.${species},\n`;
|
||||
} else {
|
||||
const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
|
||||
const forms = (species as string[]).slice(1);
|
||||
if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
|
||||
tmSpeciesStr += ` Species.${species[0]},\n`;
|
||||
} else {
|
||||
tmSpeciesStr += ` [\n Species.${species[0]},\n`;
|
||||
for (const form of forms) {
|
||||
tmSpeciesStr += ` '${form}',\n`;
|
||||
}
|
||||
tmSpeciesStr += " ],\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
tmSpeciesStr += " ],\n";
|
||||
}
|
||||
|
||||
enumStr += "\n};";
|
||||
pokemonSpeciesStr += " );";
|
||||
speciesLevelMovesStr += "\n};";
|
||||
speciesFormLevelMovesStr += "\n};";
|
||||
tmSpeciesStr += "\n};";
|
||||
|
||||
console.log(enumStr);
|
||||
console.log(pokemonSpeciesStr);
|
||||
console.log(speciesLevelMovesStr);
|
||||
console.log(speciesFormLevelMovesStr);
|
||||
console.log(tmSpeciesStr);
|
||||
|
||||
console.log(moveTmSpecies);
|
||||
}
|
||||
|
||||
export async function printAbilities() {
|
||||
const replaceText = true;
|
||||
|
||||
let abilityContent: string = await fs.readFile("./src/data/ability.ts");
|
||||
|
||||
const api = new MainClient();
|
||||
|
||||
let enumStr = "export enum Abilities {\n NONE,";
|
||||
let abilityStr = " allAbilities.push(";
|
||||
|
||||
abilityContent = abilityContent.slice(abilityContent.indexOf(abilityStr));
|
||||
|
||||
let abilities: NamedAPIResource[] = [];
|
||||
const offset = 0;
|
||||
const abilitiesResponse = await api.pokemon.listAbilities(offset, 2000);
|
||||
abilities = abilitiesResponse.results;
|
||||
|
||||
for (const a of abilities) {
|
||||
const ability = await api.pokemon.getAbilityByName(a.name);
|
||||
const abilityEnumName = ability.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
|
||||
enumStr += `\n ${abilityEnumName},`;
|
||||
console.log(ability.name, ability);
|
||||
|
||||
const matchingLineIndex = abilityContent.search(new RegExp(`new Ability\\\(Abilities.${abilityEnumName},`));
|
||||
let matchingLine = matchingLineIndex > -1 ? abilityContent.slice(matchingLineIndex) : null;
|
||||
if (matchingLine) {
|
||||
matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
|
||||
}
|
||||
|
||||
let abilityName = ability.names.find(ln => ln.language.name === "en").name;
|
||||
[ "N", "P" ].every(s => {
|
||||
if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
|
||||
abilityName += ` (${s})`;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
let flavorText: string;
|
||||
if (!matchingLine || replaceText) {
|
||||
for (const version of versions) {
|
||||
if ((flavorText = ability.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
|
||||
if (flavorText.indexOf("forgotten") > -1) {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (matchingLine) {
|
||||
flavorText = allAbilities[ability.id].description;
|
||||
}
|
||||
abilityStr += `\n new Ability(Abilities.${abilityEnumName}, "${abilityName}", "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${generationMap[ability.generation.name]})`;
|
||||
if (matchingLine && matchingLine.length > 1) {
|
||||
const newLineIndex = matchingLine.indexOf("\n");
|
||||
if (newLineIndex > -1) {
|
||||
abilityStr += matchingLine.slice(newLineIndex);
|
||||
}
|
||||
}
|
||||
abilityStr += ",";
|
||||
}
|
||||
|
||||
enumStr += "\n};";
|
||||
abilityStr += "\n);";
|
||||
|
||||
console.log(enumStr);
|
||||
console.log(abilityStr);
|
||||
}
|
||||
|
||||
export async function printMoves() {
|
||||
const replaceText = true;
|
||||
|
||||
let moveContent: string = await fs.readFile("./src/data/move.ts");
|
||||
|
||||
const api = new MainClient();
|
||||
|
||||
let enumStr = "export enum Moves {\n NONE,";
|
||||
let moveStr = " allMoves.push(";
|
||||
|
||||
moveContent = moveContent.slice(moveContent.indexOf(moveStr));
|
||||
|
||||
let moves: NamedAPIResource[] = [];
|
||||
const offset = 0;
|
||||
const movesResponse = await api.move.listMoves(offset, 2000);
|
||||
moves = movesResponse.results;
|
||||
|
||||
console.log(moves);
|
||||
|
||||
for (const m of moves) {
|
||||
const move = await api.move.getMoveByName(m.name);
|
||||
const moveEnumName = move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
|
||||
enumStr += `\n ${moveEnumName},`;
|
||||
console.log(move.name, move);
|
||||
|
||||
const matchingLineIndex = moveContent.search(new RegExp(`new (?:Attack|(?:Self)?Status)Move\\\(Moves.${Moves[move.id]},`));
|
||||
let matchingLine = matchingLineIndex > -1 ? moveContent.slice(matchingLineIndex) : null;
|
||||
if (matchingLine) {
|
||||
matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
|
||||
}
|
||||
|
||||
let moveName = move.names.find(ln => ln.language.name === "en").name;
|
||||
[ "N", "P" ].every(s => {
|
||||
if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
|
||||
moveName += ` (${s})`;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
let flavorText: string;
|
||||
if (!matchingLine || replaceText) {
|
||||
for (const version of versions) {
|
||||
if ((flavorText = move.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
|
||||
if (flavorText.indexOf("forgotten") > -1) {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (matchingLine) {
|
||||
flavorText = allMoves[move.id].effect;
|
||||
}
|
||||
const moveTarget = targetMap[move.target.name];
|
||||
moveStr += `\n new ${move.damage_class.name !== "status" ? "Attack" : (moveTarget === MoveTarget.USER ? "Self" : "") + "Status"}Move(Moves.${moveEnumName}, "${moveName}", Type.${move.type.name.toUpperCase()}${move.damage_class.name !== "status" ? `, MoveCategory.${move.damage_class.name.toUpperCase()}` : ""}${move.damage_class.name !== "status" ? `, ${move.power || -1}` : ""}, ${move.accuracy || -1}, ${move.pp}, "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${move.effect_chance || -1}, ${move.priority}, ${generationMap[move.generation.name]})`;
|
||||
const expectedTarget = move.damage_class.name !== "status" || moveTarget !== MoveTarget.USER ? MoveTarget.NEAR_OTHER : MoveTarget.USER;
|
||||
if (matchingLine && matchingLine.length > 1) {
|
||||
const newLineIndex = matchingLine.indexOf("\n");
|
||||
if (newLineIndex > -1) {
|
||||
console.log(matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, ""), newLineIndex);
|
||||
moveStr += matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, "");
|
||||
}
|
||||
}
|
||||
if (moveTarget !== expectedTarget) {
|
||||
moveStr += `\n .target(MoveTarget.${MoveTarget[moveTarget]})`;
|
||||
}
|
||||
moveStr += ",";
|
||||
}
|
||||
|
||||
enumStr += "\n};";
|
||||
moveStr += "\n);";
|
||||
|
||||
console.log(enumStr);
|
||||
console.log(moveStr);
|
||||
}
|
||||
|
||||
export async function printTmSpecies() {
|
||||
const moveTmSpecies: TmSpecies = {};
|
||||
|
||||
const api = new MainClient();
|
||||
|
||||
const moveIds = Object.keys(tmSpecies).map(k => parseInt(k) as Moves);
|
||||
|
||||
for (const moveId of moveIds) {
|
||||
const move = await api.move.getMoveById(moveId);
|
||||
|
||||
moveTmSpecies[moveId] = [];
|
||||
|
||||
for (const species of move.learned_by_pokemon) {
|
||||
const dexIdMatch = /\/(\d+)\//.exec(species.url);
|
||||
if (!dexIdMatch) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const dexId = parseInt(dexIdMatch[1]);
|
||||
|
||||
let matchingSpecies: PokemonSpecies;
|
||||
let formKey = "";
|
||||
|
||||
console.log(species.name);
|
||||
|
||||
if (dexId < 10000) {
|
||||
matchingSpecies = allSpecies[dexId - 1];
|
||||
} else {
|
||||
const pokemon = await api.pokemon.getPokemonById(dexId);
|
||||
|
||||
const speciesDexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
|
||||
if (!speciesDexIdMatch) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const speciesDexId = parseInt(speciesDexIdMatch[1]);
|
||||
|
||||
const speciesKey = Species[allSpecies[speciesDexId - 1].speciesId];
|
||||
|
||||
formKey = species.name.slice(speciesKey.length + 1);
|
||||
|
||||
const regionKey = regionalForms.find(r => formKey.indexOf(r) > -1);
|
||||
|
||||
if (regionKey) {
|
||||
formKey = formKey.slice(regionKey.length + 1);
|
||||
matchingSpecies = allSpecies.find(s => Species[s.speciesId] === `${regionKey.toUpperCase()}_${speciesKey}`);
|
||||
} else {
|
||||
matchingSpecies = allSpecies[speciesDexId - 1];
|
||||
}
|
||||
}
|
||||
|
||||
if (!matchingSpecies) {
|
||||
console.log("NO MATCH", species.name);
|
||||
continue;
|
||||
}
|
||||
|
||||
const speciesKey = Species[matchingSpecies.speciesId];
|
||||
|
||||
const matchingIndex = moveTmSpecies[moveId].findIndex(s => Array.isArray(s) ? s[0] === speciesKey : s === speciesKey);
|
||||
|
||||
if (matchingIndex === -1) {
|
||||
moveTmSpecies[moveId].push(!formKey ? speciesKey : [ speciesKey, formKey ]);
|
||||
} else {
|
||||
if (!Array.isArray(moveTmSpecies[moveId][matchingIndex])) {
|
||||
moveTmSpecies[moveId][matchingIndex] = [ moveTmSpecies[moveId][matchingIndex] as string, "" ];
|
||||
}
|
||||
(moveTmSpecies[moveId][matchingIndex] as string[]).push(formKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
|
||||
|
||||
for (const moveId of Object.keys(moveTmSpecies)) {
|
||||
tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
|
||||
for (const species of moveTmSpecies[moveId]) {
|
||||
if (typeof species === "string") {
|
||||
tmSpeciesStr += ` Species.${species},\n`;
|
||||
} else {
|
||||
const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
|
||||
const forms = (species as string[]).slice(1);
|
||||
if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
|
||||
tmSpeciesStr += ` Species.${species[0]},\n`;
|
||||
} else {
|
||||
tmSpeciesStr += ` [\n Species.${species[0]},\n`;
|
||||
for (const form of forms) {
|
||||
tmSpeciesStr += ` '${form}',\n`;
|
||||
}
|
||||
tmSpeciesStr += " ],\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
tmSpeciesStr += " ],\n";
|
||||
}
|
||||
|
||||
tmSpeciesStr += "\n};";
|
||||
|
||||
console.log(tmSpeciesStr);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user