mirror of
https://github.com/thepeacockproject/Peacock
synced 2024-11-16 11:03:30 +01:00
Add test to ensure objectives are localized (#391)
Signed-off-by: Reece Dunham <me@rdil.rocks>
This commit is contained in:
parent
7780d4fc89
commit
e184ce0e82
@ -9,3 +9,4 @@ webui/dist
|
||||
*Plugin.js
|
||||
packaging/livesplit-node-client/build
|
||||
webstorm.config.js
|
||||
tests/data/scripts
|
||||
|
@ -167,7 +167,7 @@
|
||||
}
|
||||
},
|
||||
"HUDTemplate": {
|
||||
"display": "$loc UI_PEACOCK_KHAKIASP_DOCUNMENTATION_OBJ3"
|
||||
"display": "$loc UI_PEACOCK_KHAKIASP_DOCUMENTATION_OBJ3"
|
||||
},
|
||||
"Category": "primary",
|
||||
"Definition": {
|
||||
|
@ -79,6 +79,7 @@ export async function generateRequireTable() {
|
||||
const prettierConfig = await prettier.resolveConfig()
|
||||
prettierConfig.parser = "babel"
|
||||
|
||||
// language=TypeScript
|
||||
const generatedPeacockRequireTableFile = prettier.format(
|
||||
`/*
|
||||
* The Peacock Project - a HITMAN server replacement.
|
||||
@ -121,7 +122,7 @@ export async function packResources() {
|
||||
|
||||
const start = Date.now()
|
||||
|
||||
const contracts = glob.sync("contractdata/**/*.json")
|
||||
const contracts = await glob("contractdata/**/*.json")
|
||||
const b = []
|
||||
const el = []
|
||||
|
||||
|
BIN
tests/data/game-defined-locr-crc32s.msgpack
Normal file
BIN
tests/data/game-defined-locr-crc32s.msgpack
Normal file
Binary file not shown.
34
tests/data/scripts/updateLocrCrcData.mjs
Normal file
34
tests/data/scripts/updateLocrCrcData.mjs
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* The Peacock Project - a HITMAN server replacement.
|
||||
* Copyright (C) 2021-2024 The Peacock Project Team
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { pack } from "msgpackr"
|
||||
import { writeFile } from "node:fs/promises"
|
||||
|
||||
const lines = await fetch(
|
||||
"https://raw.githubusercontent.com/glacier-modding/Hitman-l10n-Hashes/master/lines.json",
|
||||
)
|
||||
.then((res) => res.json())
|
||||
.catch(() => {
|
||||
throw new Error("Failed to fetch lines.json")
|
||||
})
|
||||
|
||||
const outKeys = Object.keys(lines).map((key) => {
|
||||
return parseInt(key, 16)
|
||||
})
|
||||
|
||||
await writeFile("data/game-defined-locr-crc32s.msgpack", pack(outKeys))
|
@ -3,13 +3,15 @@
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@vitest/ui": "^1.2.2",
|
||||
"vite": "^5.0.12",
|
||||
"vitest": "^1.2.2"
|
||||
"@aws-crypto/crc32": "^5.2.0",
|
||||
"@vitest/ui": "^1.3.0",
|
||||
"vite": "^5.1.3",
|
||||
"vitest": "^1.3.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test:main": "vitest --run --config vitest.config.ts",
|
||||
"test:ui": "vitest --config vitest.config.ts --ui",
|
||||
"typecheck-ws": "tsc --noEmit"
|
||||
"typecheck-ws": "tsc --noEmit",
|
||||
"tests:update-locr-crcs": "node ./data/scripts/updateLocrCrcData.mjs"
|
||||
}
|
||||
}
|
||||
|
153
tests/src/contractFiles.test.ts
Normal file
153
tests/src/contractFiles.test.ts
Normal file
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* The Peacock Project - a HITMAN server replacement.
|
||||
* Copyright (C) 2021-2024 The Peacock Project Team
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { describe, expect, it } from "vitest"
|
||||
import { glob } from "fast-glob"
|
||||
import { readFile } from "atomically"
|
||||
import { MissionManifest } from "../../components/types/types"
|
||||
import { unpack } from "msgpackr"
|
||||
import { crc32 } from "@aws-crypto/crc32"
|
||||
|
||||
const allContractFiles = (
|
||||
await glob("**/*.json", {
|
||||
cwd: "../contractdata",
|
||||
})
|
||||
).filter((file) => !file.includes("CHALLENGES") && !file.includes("MASTERY"))
|
||||
|
||||
type LocWrap = {
|
||||
$loc: { key: string; data: string | number[] }
|
||||
}
|
||||
|
||||
function parseLocString(locString: string | LocWrap) {
|
||||
if ((locString as LocWrap)?.$loc?.key) {
|
||||
return (locString as LocWrap).$loc.key
|
||||
}
|
||||
|
||||
if ((locString as string).includes("$loc")) {
|
||||
const parts = (locString as string).split(" ")
|
||||
// i hate this
|
||||
const double = (locString as string).includes("$loc $loc")
|
||||
return parts[double ? 2 : 1] ?? ""
|
||||
}
|
||||
|
||||
return locString as string
|
||||
}
|
||||
|
||||
// this is a list of all the crc32s that the game defines for localization
|
||||
const gameCrcs: number[] = unpack(
|
||||
await readFile("data/game-defined-locr-crc32s.msgpack"),
|
||||
)
|
||||
|
||||
function getCrc(str: string) {
|
||||
return crc32(Buffer.from(str))
|
||||
}
|
||||
|
||||
let peacockCrcs: number[]
|
||||
|
||||
{
|
||||
const strings = JSON.parse(
|
||||
(await readFile("../resources/locale.json")).toString(),
|
||||
)["english"]
|
||||
|
||||
peacockCrcs = Object.keys(strings).map(getCrc)
|
||||
}
|
||||
|
||||
const allCrcs = [...peacockCrcs, ...gameCrcs]
|
||||
|
||||
const ignored = [
|
||||
"UI_CONTRACT_RAT_OBJ_DATACORE_OPTIONAL_TITLE",
|
||||
"UI_CONTRACT_FOX_ELIMINATE_REMAINING_LESSER_AGENTS_TITLE",
|
||||
"UI_CONTRACT_FOX_ELIMINATE_REMAINING_LESSER_AGENTS_OBJ",
|
||||
"UI_CONTRACT_FOX_ELIMINATE_REMAINING_LESSER_AGENTS_DESC",
|
||||
"$UI_CONTRACT_JACARANDA_OBJECTIVE_SNIPER_NAME",
|
||||
"UI_CONTRACT_GLORIOSA_OBJ_1_NAME",
|
||||
"UI_CONTRACT_RAFFLESIA_OBJ_2_NAME",
|
||||
"UI_CONTRACT_RAFFLESIA_OBJ_3_NAME",
|
||||
"UI_CONTRACT_TITANUMARUM_OBJ_1_NAME",
|
||||
"UI_CONTRACT_TITANUMARUM_OBJ_2_NAME",
|
||||
"UI_CONTRACT_HOLLY_OBJ_3_NAME",
|
||||
"UI_CONTRACT_HOLLY_OBJ_4_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_1_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_3_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_4_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_5_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_6_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_7_NAME",
|
||||
"UI_CONTRACT_GORSE_OBJ_2_NAME",
|
||||
]
|
||||
|
||||
describe("contract files", () => {
|
||||
it("contract objectives have working localization", async () => {
|
||||
for (const file of allContractFiles) {
|
||||
const contract: MissionManifest = JSON.parse(
|
||||
(await readFile(`../contractdata/${file}`)).toString(),
|
||||
)
|
||||
|
||||
if (contract.Metadata.Type === "featured") {
|
||||
continue
|
||||
}
|
||||
|
||||
for (const objective of contract.Data.Objectives || []) {
|
||||
if (objective.BriefingText) {
|
||||
const loc = parseLocString(
|
||||
objective.BriefingText,
|
||||
).toUpperCase()
|
||||
|
||||
if (!ignored.includes(loc) && !loc.startsWith("$.")) {
|
||||
const i = getCrc(loc)
|
||||
|
||||
expect(
|
||||
allCrcs,
|
||||
`${file} objective ${objective.Id} BriefingText (${loc}) in defined strings`,
|
||||
).toContain(i)
|
||||
}
|
||||
}
|
||||
|
||||
if (objective.BriefingName) {
|
||||
const loc = parseLocString(
|
||||
objective.BriefingName,
|
||||
).toUpperCase()
|
||||
|
||||
if (!ignored.includes(loc) && !loc.startsWith("$.")) {
|
||||
const i = getCrc(loc)
|
||||
|
||||
expect(
|
||||
allCrcs,
|
||||
`${file} objective ${objective.Id} BriefingName (${loc}) in defined strings`,
|
||||
).toContain(i)
|
||||
}
|
||||
}
|
||||
|
||||
if (objective.HUDTemplate?.display) {
|
||||
const loc = parseLocString(
|
||||
objective.HUDTemplate.display,
|
||||
).toUpperCase()
|
||||
|
||||
if (!ignored.includes(loc) && !loc.startsWith("$.")) {
|
||||
const i = getCrc(loc)
|
||||
|
||||
expect(
|
||||
allCrcs,
|
||||
`${file} objective ${objective.Id} HUDTemplate.display (${loc}) in defined strings`,
|
||||
).toContain(i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
@ -5,7 +5,8 @@
|
||||
"rootDir": null,
|
||||
"rootDirs": ["../components", "."],
|
||||
"noEmit": true,
|
||||
"emitDeclarationOnly": false
|
||||
"emitDeclarationOnly": false,
|
||||
"module": "ESNext"
|
||||
},
|
||||
"include": ["../components", "**/*.ts"],
|
||||
"exclude": []
|
||||
|
@ -24,7 +24,7 @@
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"rollup-plugin-license": "^3.2.0",
|
||||
"typescript": "5.3.3",
|
||||
"vite": "^5.0.12"
|
||||
"vite": "^5.1.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "*"
|
||||
|
211
yarn.lock
211
yarn.lock
@ -12,6 +12,38 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-crypto/crc32@npm:^5.2.0":
|
||||
version: 5.2.0
|
||||
resolution: "@aws-crypto/crc32@npm:5.2.0"
|
||||
dependencies:
|
||||
"@aws-crypto/util": "npm:^5.2.0"
|
||||
"@aws-sdk/types": "npm:^3.222.0"
|
||||
tslib: "npm:^2.6.2"
|
||||
checksum: 10/1b0a56ad4cb44c9512d8b1668dcf9306ab541d3a73829f435ca97abaec8d56f3db953db03ad0d0698754fea16fcd803d11fa42e0889bc7b803c6a030b04c63de
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-crypto/util@npm:^5.2.0":
|
||||
version: 5.2.0
|
||||
resolution: "@aws-crypto/util@npm:5.2.0"
|
||||
dependencies:
|
||||
"@aws-sdk/types": "npm:^3.222.0"
|
||||
"@smithy/util-utf8": "npm:^2.0.0"
|
||||
tslib: "npm:^2.6.2"
|
||||
checksum: 10/f80a174c404e1ad4364741c942f440e75f834c08278fa754349fe23a6edc679d480ea9ced5820774aee58091ed270067022d8059ecf1a7ef452d58134ac7e9e1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@aws-sdk/types@npm:^3.222.0":
|
||||
version: 3.515.0
|
||||
resolution: "@aws-sdk/types@npm:3.515.0"
|
||||
dependencies:
|
||||
"@smithy/types": "npm:^2.9.1"
|
||||
tslib: "npm:^2.5.0"
|
||||
checksum: 10/465b998e539e88fcd7be3d4acaaf9a8cd80bda2f2cb0ae407f60b87eb3e3dd9229df1d384ba524de8b9e2bb2c61f4f126b0bc5f5b42558235e40e5f491b3997d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0":
|
||||
version: 1.6.0
|
||||
resolution: "@colors/colors@npm:1.6.0"
|
||||
@ -538,9 +570,10 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@peacockproject/tests@workspace:tests"
|
||||
dependencies:
|
||||
"@vitest/ui": "npm:^1.2.2"
|
||||
vite: "npm:^5.0.12"
|
||||
vitest: "npm:^1.2.2"
|
||||
"@aws-crypto/crc32": "npm:^5.2.0"
|
||||
"@vitest/ui": "npm:^1.3.0"
|
||||
vite: "npm:^5.1.3"
|
||||
vitest: "npm:^1.3.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@ -560,7 +593,7 @@ __metadata:
|
||||
rollup-plugin-license: "npm:^3.2.0"
|
||||
swr: "npm:^1.3.0"
|
||||
typescript: "npm:5.3.3"
|
||||
vite: "npm:^5.0.12"
|
||||
vite: "npm:^5.1.3"
|
||||
peerDependencies:
|
||||
rollup: "*"
|
||||
peerDependenciesMeta:
|
||||
@ -681,6 +714,44 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@smithy/is-array-buffer@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "@smithy/is-array-buffer@npm:2.1.1"
|
||||
dependencies:
|
||||
tslib: "npm:^2.5.0"
|
||||
checksum: 10/0724355a8fa1e61c9fb77c6e6965cc7eae0cd561f158b768f8d1c9a26254db149bb545b318cdd81ebe383bbe5f26f6197b144c69e812dfd55f512e511e0ccbd8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@smithy/types@npm:^2.9.1":
|
||||
version: 2.9.1
|
||||
resolution: "@smithy/types@npm:2.9.1"
|
||||
dependencies:
|
||||
tslib: "npm:^2.5.0"
|
||||
checksum: 10/82156919fd78814cfe988b8e0eea9d086134583e5d55501429a2cde6f0c5465cdbc274816162cdce3c19f5c81f7d8aed6c5d2edde3a214250760fce794efa4c2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@smithy/util-buffer-from@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "@smithy/util-buffer-from@npm:2.1.1"
|
||||
dependencies:
|
||||
"@smithy/is-array-buffer": "npm:^2.1.1"
|
||||
tslib: "npm:^2.5.0"
|
||||
checksum: 10/5de4cf8b2d9c5347990be5791882947a509ba00a55ee67589f327e4852309dac5278248317929519f5a9d2aa5dc1c11cd54803db962287909e0322b7f73332bc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@smithy/util-utf8@npm:^2.0.0":
|
||||
version: 2.1.1
|
||||
resolution: "@smithy/util-utf8@npm:2.1.1"
|
||||
dependencies:
|
||||
"@smithy/util-buffer-from": "npm:^2.1.1"
|
||||
tslib: "npm:^2.5.0"
|
||||
checksum: 10/736992921e50c2c96234dc5eab305a30d29b1cfa29ce5ad2ec0e4b3f2e0dc3e2d29303bd1362bd20fa2e66c5fd494c558f4b1050b91ead5e13a479903bb9686f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/body-parser@npm:*":
|
||||
version: 1.19.5
|
||||
resolution: "@types/body-parser@npm:1.19.5"
|
||||
@ -1025,53 +1096,53 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/expect@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/expect@npm:1.2.2"
|
||||
"@vitest/expect@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/expect@npm:1.3.0"
|
||||
dependencies:
|
||||
"@vitest/spy": "npm:1.2.2"
|
||||
"@vitest/utils": "npm:1.2.2"
|
||||
"@vitest/spy": "npm:1.3.0"
|
||||
"@vitest/utils": "npm:1.3.0"
|
||||
chai: "npm:^4.3.10"
|
||||
checksum: 10/409bf9984a2901cd13bd8644d1dcc61a3b85a122e70f842626c83995b806c6fb1ed5a81685493e88df8bf76557e599bdeed5fd5e908d84a4cb0fa4947b90b631
|
||||
checksum: 10/32bc76108a608acb614dfb46ee9b588fc1a3f1fb68ba400a49d6ab80de463a2ab8a6a5dd51960ca76417b300d7c5ce16e2e346a0b0ebe25ca3b80232a378d6dc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/runner@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/runner@npm:1.2.2"
|
||||
"@vitest/runner@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/runner@npm:1.3.0"
|
||||
dependencies:
|
||||
"@vitest/utils": "npm:1.2.2"
|
||||
"@vitest/utils": "npm:1.3.0"
|
||||
p-limit: "npm:^5.0.0"
|
||||
pathe: "npm:^1.1.1"
|
||||
checksum: 10/e12a758a8c9ce762af470fc5a33e42a416b1e16469b69a077bc021044c460c468ed24fa892e80cba4bfc0448df8484d1bfc43a271db09560347455aa392cc8aa
|
||||
checksum: 10/7212e457fa89425c1e0b75e1817b50dc9c7d554617faf2178784a5fe0b97e6e4fe417e20886bd189f5385d01ac3f389d90ebca2a01ea4dee8a26897921db70c1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/snapshot@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/snapshot@npm:1.2.2"
|
||||
"@vitest/snapshot@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/snapshot@npm:1.3.0"
|
||||
dependencies:
|
||||
magic-string: "npm:^0.30.5"
|
||||
pathe: "npm:^1.1.1"
|
||||
pretty-format: "npm:^29.7.0"
|
||||
checksum: 10/73e669efdf8ba7270a2b71b988ca93fc9cbc9f9b4ad4cb7c7f8d44dbedfef3109fc8896867b8e1f22cd95494ce18cbc1026a0f89ef4a2e7e4546cf8e613ed302
|
||||
checksum: 10/b39bfee8ba9424e672e1c3076e3ee679d530ab8d38a5ad94ceec109063925caae10d4656d9256e331d2f8ed4a3169bfdc8ae584afe171fd51bbe70892dbce1b9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/spy@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/spy@npm:1.2.2"
|
||||
"@vitest/spy@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/spy@npm:1.3.0"
|
||||
dependencies:
|
||||
tinyspy: "npm:^2.2.0"
|
||||
checksum: 10/8cf453f2b0c519b27d783dafbca8a4df6945b8f4723077e7ae153ef06bcb1422af608d2a09912284c3bd7bd1e66555d82d889497780295c73a14876807755a79
|
||||
checksum: 10/780c6b678aeb3cc1ccd730ff35fb6596e1a0adb78b39934e37bc6ae712b99bcf46a9387b34f8e76265c6805aef1dff72f47a921695ae5c567d59490d097c90a0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/ui@npm:^1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/ui@npm:1.2.2"
|
||||
"@vitest/ui@npm:^1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/ui@npm:1.3.0"
|
||||
dependencies:
|
||||
"@vitest/utils": "npm:1.2.2"
|
||||
"@vitest/utils": "npm:1.3.0"
|
||||
fast-glob: "npm:^3.3.2"
|
||||
fflate: "npm:^0.8.1"
|
||||
flatted: "npm:^3.2.9"
|
||||
@ -1079,20 +1150,20 @@ __metadata:
|
||||
picocolors: "npm:^1.0.0"
|
||||
sirv: "npm:^2.0.4"
|
||||
peerDependencies:
|
||||
vitest: ^1.0.0
|
||||
checksum: 10/5570ff8afc7731e672608709e8d107127b71080d3b4ee20369a24bd03c18365642aec4a31c5eea01adf473d1f016bbdf4b0b9dfa70d4d0fc1e552439f004efd4
|
||||
vitest: 1.3.0
|
||||
checksum: 10/e4f76cdb4d926ccd52a804d4ef3db35140a1b8347ca0db173deebd6af6660d06d3e05faad26b842a920ee638ba7ccfe8d0a86e4733943eb09a5b66d4f680ce1b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/utils@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@vitest/utils@npm:1.2.2"
|
||||
"@vitest/utils@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "@vitest/utils@npm:1.3.0"
|
||||
dependencies:
|
||||
diff-sequences: "npm:^29.6.3"
|
||||
estree-walker: "npm:^3.0.3"
|
||||
loupe: "npm:^2.3.7"
|
||||
pretty-format: "npm:^29.7.0"
|
||||
checksum: 10/f9a62bc8cbe05475b99e1f8bd96e0ee48cf819ca2e532ba18f071bf0371f044dffa006c33a69b1b276097e6b50f91342a776c830cfac19456b24a9bdad29abe5
|
||||
checksum: 10/9d544b24e25659d9f715f43906b9e40571450bbc14cb0320487dae67e4561acb61820200f4e185e1f7b805a17225b70802ebace9fb5c313bfff82ee3841278a9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1151,7 +1222,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
|
||||
"acorn@npm:^8.11.3, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
|
||||
version: 8.11.3
|
||||
resolution: "acorn@npm:8.11.3"
|
||||
bin:
|
||||
@ -3017,6 +3088,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-tokens@npm:^8.0.2":
|
||||
version: 8.0.3
|
||||
resolution: "js-tokens@npm:8.0.3"
|
||||
checksum: 10/af5ed8ddbc446a868c026599214f4a482ab52461edb82e547949255f98910a14bd81ddab88a8d570d74bd7dc96c6d4df7f963794ec5aaf13c53918cc46b9caa6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-yaml@npm:^4.1.0":
|
||||
version: 4.1.0
|
||||
resolution: "js-yaml@npm:4.1.0"
|
||||
@ -3956,14 +4034,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"postcss@npm:^8.4.32":
|
||||
version: 8.4.33
|
||||
resolution: "postcss@npm:8.4.33"
|
||||
"postcss@npm:^8.4.35":
|
||||
version: 8.4.35
|
||||
resolution: "postcss@npm:8.4.35"
|
||||
dependencies:
|
||||
nanoid: "npm:^3.3.7"
|
||||
picocolors: "npm:^1.0.0"
|
||||
source-map-js: "npm:^1.0.2"
|
||||
checksum: 10/e22a4594c255f26117f38419fb494d7ecab0f596cd409f7aadc8a6173abf180ed7ea970cd13fd366ab12b5840be901d2a09b25197700c2ebcb5a8077326bf519
|
||||
checksum: 10/93a7ce50cd6188f5f486a9ca98950ad27c19dfed996c45c414fa242944497e4d084a8760d3537f078630226f2bd3c6ab84b813b488740f4432e7c7039cd73a20
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4758,12 +4836,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strip-literal@npm:^1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "strip-literal@npm:1.3.0"
|
||||
"strip-literal@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "strip-literal@npm:2.0.0"
|
||||
dependencies:
|
||||
acorn: "npm:^8.10.0"
|
||||
checksum: 10/f5fa7e289df8ebe82e90091fd393974faf8871be087ca50114327506519323cf15f2f8fee6ebe68b5e58bfc795269cae8bdc7cb5a83e27b02b3fe953f37b0a89
|
||||
js-tokens: "npm:^8.0.2"
|
||||
checksum: 10/efb3197175a7e403d0eaaaf5382b9574be77f8fa006b57b669856a38b58ca9caf76cbc75d9f69d56324dad0b8babe1d4ea7ad1eb12106228830bcdd5d4bf12b5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -4938,7 +5016,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tslib@npm:^2.4.0":
|
||||
"tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2":
|
||||
version: 2.6.2
|
||||
resolution: "tslib@npm:2.6.2"
|
||||
checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca
|
||||
@ -5091,9 +5169,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite-node@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "vite-node@npm:1.2.2"
|
||||
"vite-node@npm:1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "vite-node@npm:1.3.0"
|
||||
dependencies:
|
||||
cac: "npm:^6.7.14"
|
||||
debug: "npm:^4.3.4"
|
||||
@ -5102,17 +5180,17 @@ __metadata:
|
||||
vite: "npm:^5.0.0"
|
||||
bin:
|
||||
vite-node: vite-node.mjs
|
||||
checksum: 10/a4b39361011ebf890fb2be83babd24aa29de76185f1683f57a76b6dfcfbdcd7700b83c9d0cd3b5bebc4a114427d7c2612095ab59d0d12732ce21ef816fe86b07
|
||||
checksum: 10/39a473a927547416ee72e01310929b02ee6724f1671c20cd1f1bd65494850906624b6a06b813ba2e3f742c42e5e2d2718e4f4248032cf1ad9c95c696659dd832
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite@npm:^5.0.0, vite@npm:^5.0.12":
|
||||
version: 5.0.12
|
||||
resolution: "vite@npm:5.0.12"
|
||||
"vite@npm:^5.0.0, vite@npm:^5.1.3":
|
||||
version: 5.1.3
|
||||
resolution: "vite@npm:5.1.3"
|
||||
dependencies:
|
||||
esbuild: "npm:^0.19.3"
|
||||
fsevents: "npm:~2.3.3"
|
||||
postcss: "npm:^8.4.32"
|
||||
postcss: "npm:^8.4.35"
|
||||
rollup: "npm:^4.2.0"
|
||||
peerDependencies:
|
||||
"@types/node": ^18.0.0 || >=20.0.0
|
||||
@ -5142,21 +5220,20 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
vite: bin/vite.js
|
||||
checksum: 10/ed0bb26a0d0c8e1dae0b70af9e36adffd7e15d80297443fe4da762596dc81570bad7f0291f590a57c1553f5e435338d8c7ffc483bd9431a95c09d9ac90665fad
|
||||
checksum: 10/6ba2223157e2cc2fa62dff9004ccba20fc409c6baf7354c64ed0f8e4bcd853092d08d06ec4dec37143e794a96e061879a870d85bad4f1eb9ee5c6d0a13cef30f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vitest@npm:^1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "vitest@npm:1.2.2"
|
||||
"vitest@npm:^1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "vitest@npm:1.3.0"
|
||||
dependencies:
|
||||
"@vitest/expect": "npm:1.2.2"
|
||||
"@vitest/runner": "npm:1.2.2"
|
||||
"@vitest/snapshot": "npm:1.2.2"
|
||||
"@vitest/spy": "npm:1.2.2"
|
||||
"@vitest/utils": "npm:1.2.2"
|
||||
"@vitest/expect": "npm:1.3.0"
|
||||
"@vitest/runner": "npm:1.3.0"
|
||||
"@vitest/snapshot": "npm:1.3.0"
|
||||
"@vitest/spy": "npm:1.3.0"
|
||||
"@vitest/utils": "npm:1.3.0"
|
||||
acorn-walk: "npm:^8.3.2"
|
||||
cac: "npm:^6.7.14"
|
||||
chai: "npm:^4.3.10"
|
||||
debug: "npm:^4.3.4"
|
||||
execa: "npm:^8.0.1"
|
||||
@ -5165,17 +5242,17 @@ __metadata:
|
||||
pathe: "npm:^1.1.1"
|
||||
picocolors: "npm:^1.0.0"
|
||||
std-env: "npm:^3.5.0"
|
||||
strip-literal: "npm:^1.3.0"
|
||||
strip-literal: "npm:^2.0.0"
|
||||
tinybench: "npm:^2.5.1"
|
||||
tinypool: "npm:^0.8.2"
|
||||
vite: "npm:^5.0.0"
|
||||
vite-node: "npm:1.2.2"
|
||||
vite-node: "npm:1.3.0"
|
||||
why-is-node-running: "npm:^2.2.2"
|
||||
peerDependencies:
|
||||
"@edge-runtime/vm": "*"
|
||||
"@types/node": ^18.0.0 || >=20.0.0
|
||||
"@vitest/browser": ^1.0.0
|
||||
"@vitest/ui": ^1.0.0
|
||||
"@vitest/browser": 1.3.0
|
||||
"@vitest/ui": 1.3.0
|
||||
happy-dom: "*"
|
||||
jsdom: "*"
|
||||
peerDependenciesMeta:
|
||||
@ -5193,7 +5270,7 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
vitest: vitest.mjs
|
||||
checksum: 10/1dc90823cde249a60e955f82e67cef76c363c78a9783c4dae94a080199fa3e48a56a5c9d1f40667b4542862e183d05c444af846059477b3a66c6b952d168b9cb
|
||||
checksum: 10/4aabfb972f5f2c165f1f751a063a07a5be952bc684f93ab19ea617fad633fd3db7473ebc7c59c1afdb902334364710476785f01d1cc3cc071a48fcaaf4bac2fa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user