import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; import test from "node:test"; import { prepareNpmReadme } from "./prepare-npm-readme.mjs"; const assetBase = "https://raw.githubusercontent.com/paperclipai/paperclip/master/doc/assets/"; const releaseAssetBase = "https://raw.githubusercontent.com/paperclipai/paperclip/abc123/doc/assets/"; test("rewrites repository-relative image sources for npm", () => { const readme = [ '', '', '[docs](doc/assets/not-an-image.md)', '', '', ].join("\n"); assert.equal( prepareNpmReadme(readme, "master"), [ ``, ``, "[docs](doc/assets/not-an-image.md)", '', '', ].join("\n"), ); }); test("prepares the repository README without package-relative image sources", () => { const readme = readFileSync(new URL("../README.md", import.meta.url), "utf8"); const npmReadme = prepareNpmReadme(readme, "master"); assert.doesNotMatch( npmReadme, /(?:src|srcset)=["'](?:doc\/assets\/|[^"']*,\s*doc\/assets\/)/, ); }); test("supports immutable release refs for generated asset URLs", () => { assert.equal( prepareNpmReadme('', "abc123"), ``, ); });