release: WRNexusJS 0.8.0
This commit is contained in:
@@ -5,7 +5,23 @@ import { join } from "node:path";
|
||||
import { validateAndHashStage } from "./lib/package-integrity.ts";
|
||||
|
||||
const root = mkdtempSync(join(tmpdir(), "wrnexus-stage-integrity-"));
|
||||
const manifest = { name: "@wrnexus/probe", version: "0.7.0" };
|
||||
const manifest = {
|
||||
name: "@wrnexus/probe",
|
||||
version: "0.8.0",
|
||||
description: "Integrity probe.",
|
||||
license: "MIT",
|
||||
main: "./dist/index.js",
|
||||
module: "./dist/index.js",
|
||||
types: "./dist/index.d.ts",
|
||||
exports: { ".": { import: "./dist/index.js", types: "./dist/index.d.ts" } },
|
||||
files: ["dist", "README.md"],
|
||||
repository: { type: "git", url: "https://example.test/repository.git" },
|
||||
homepage: "https://example.test",
|
||||
bugs: { url: "https://example.test/issues" },
|
||||
keywords: ["probe"],
|
||||
engines: { bun: ">=1.3.0" },
|
||||
publishConfig: { registry: "https://registry.npmjs.org/", access: "restricted" },
|
||||
};
|
||||
try {
|
||||
const safe = join(root, "safe");
|
||||
mkdirSync(join(safe, "dist"), { recursive: true });
|
||||
@@ -50,8 +66,12 @@ try {
|
||||
if (!rejected) throw new Error("Source map was not rejected.");
|
||||
|
||||
const leaked = join(root, "leaked-secret");
|
||||
mkdirSync(leaked);
|
||||
writeFileSync(join(leaked, "index.js"), 'export const key = "-----BEGIN PRIVATE KEY-----";\n');
|
||||
mkdirSync(join(leaked, "dist"), { recursive: true });
|
||||
writeFileSync(
|
||||
join(leaked, "dist", "index.js"),
|
||||
`-----BEGIN PRIVATE KEY-----\n${"A".repeat(64)}\n${"B".repeat(64)}\n-----END PRIVATE KEY-----\n`,
|
||||
);
|
||||
writeFileSync(join(leaked, "dist", "index.d.ts"), "export {};\n");
|
||||
rejected = false;
|
||||
try {
|
||||
validateAndHashStage(leaked, manifest);
|
||||
@@ -60,6 +80,15 @@ try {
|
||||
}
|
||||
if (!rejected) throw new Error("High-confidence secret content was not rejected.");
|
||||
|
||||
const keyHandlingSource = join(root, "key-handling-source");
|
||||
mkdirSync(join(keyHandlingSource, "dist"), { recursive: true });
|
||||
writeFileSync(
|
||||
join(keyHandlingSource, "dist", "index.js"),
|
||||
'export const header = "-----BEGIN PRIVATE KEY-----\\n" + generatedBytes;\n',
|
||||
);
|
||||
writeFileSync(join(keyHandlingSource, "dist", "index.d.ts"), "export {};\n");
|
||||
validateAndHashStage(keyHandlingSource, manifest);
|
||||
|
||||
console.log("Package staging integrity probes passed.");
|
||||
} finally {
|
||||
rmSync(root, { recursive: true, force: true });
|
||||
|
||||
Reference in New Issue
Block a user