Advance N-023 through N-026 audited parity
This commit is contained in:
@@ -8,6 +8,7 @@ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..")
|
||||
const dist = path.join(root, "web/dist");
|
||||
const notices = JSON.parse(fs.readFileSync(path.join(root, "docs/web/third-party-notices.json"), "utf8"));
|
||||
const packageLock = JSON.parse(fs.readFileSync(path.join(root, "web/package-lock.json"), "utf8"));
|
||||
const sbom = JSON.parse(fs.readFileSync(path.join(root, "docs/web/sbom.spdx.json"), "utf8"));
|
||||
for (const dependency of ["react", "react-dom", "three", "vite", "typescript", "@playwright/test"]) {
|
||||
const normalize = (value) => value.toLowerCase().replace("@playwright/test", "playwright").replace(/\.js$/, "").replace(/[^a-z0-9]/g, "");
|
||||
const covered = notices.packages.some((entry) => normalize(entry.name) === normalize(dependency));
|
||||
@@ -16,6 +17,9 @@ for (const dependency of ["react", "react-dom", "three", "vite", "typescript", "
|
||||
assert.ok(packageLock.lockfileVersion >= 3, "npm lockfile must use an integrity-bearing format");
|
||||
assert.ok(fs.existsSync(path.join(root, "blender-5.2.0/COPYING")), "Blender GPL text is missing");
|
||||
assert.ok(fs.existsSync(path.join(root, "web/app/src/vendor/three/LICENSE")), "Three.js license is missing");
|
||||
assert.equal(sbom.spdxVersion, "SPDX-2.3", "SPDX SBOM schema is missing");
|
||||
assert.ok(sbom.packages.length >= Object.keys(packageLock.packages).length, "SPDX SBOM omits locked dependencies");
|
||||
assert.equal(new Set(sbom.packages.map((item) => item.SPDXID)).size, sbom.packages.length, "SPDX IDs must be unique");
|
||||
assert.ok(fs.existsSync(path.join(dist, "index.html")), "offline dist is missing; run npm build first");
|
||||
|
||||
const files = [];
|
||||
|
||||
Reference in New Issue
Block a user