import { test, expect, describe } from "bun:test"; import { join } from "path"; import { readdirSync, existsSync } from "fs"; const base = join(import.meta.dir, "../"); const packageJSONDirs = [ base, ...readdirSync(join(import.meta.dir, "../", "js", "third_party")) .map(a => join(import.meta.dir, "../", "js", "third_party", a)) .filter(a => existsSync(join(a, "./package.json"))), ]; // For test reliability and security reasons // We must use exact versions for third-party dependencies in our tests. describe("package.json dependencies must be exact versions", async () => { for (const dir of packageJSONDirs) { test(join("test", dir.replace(base, ""), "package.json"), async () => { const { dependencies = {}, devDependencies = {}, peerDependencies = {}, optionalDependencies = {}, } = await Bun.file(join(dir, "./package.json")).json(); for (const [name, dep] of Object.entries(dependencies)) { expect(dep).toMatch(/^([a-zA-Z0-9\.])+$/); } for (const [name, dep] of Object.entries(devDependencies)) { expect(dep).toMatch(/^([a-zA-Z0-9\.])+$/); } for (const [name, dep] of Object.entries(peerDependencies)) { expect(dep).toMatch(/^([a-zA-Z0-9\.])+$/); } for (const [name, dep] of Object.entries(optionalDependencies)) { expect(dep).toMatch(/^([a-zA-Z0-9\.])+$/); } }); } }); Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/test/js/bun/util/hash.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-10-06[types] allow onLoad plugin callbacks to return undefined (#6346)Gravatar Silver 1-1/+1
2023-10-06docs: `file.stream()` is not a promise (#6337)Gravatar Paul Nodet 1-1/+1