diff --git a/headless/package.json b/headless/package.json index 08af9df..5da07d5 100644 --- a/headless/package.json +++ b/headless/package.json @@ -43,7 +43,9 @@ "files": [ "modules", "consumer.mjs", - "README.md" + "README.md", + "STEP4_ACCEPTANCE.md", + "SERVICE_ACCEPTANCE.md" ], "peerDependencies": { "react": ">=19.3.0 <20", diff --git a/scripts/build-headless.mjs b/scripts/build-headless.mjs index adc366d..d3a410e 100644 --- a/scripts/build-headless.mjs +++ b/scripts/build-headless.mjs @@ -26,5 +26,5 @@ for(const [module,worker]of [['browser-digests','digest.worker'],['browser-image await readFile(join(output,'modules/canvas-runtime',`${worker}.js`)); await writeFile(path,source.replace(before,`./${worker}.js`)); } -for(const name of ['package.json','consumer.mjs','README.md'])await cp(join(root,'headless',name),join(output,name)); +for(const name of ['package.json','consumer.mjs','README.md','STEP4_ACCEPTANCE.md','SERVICE_ACCEPTANCE.md'])await cp(join(root,'headless',name),join(output,name)); console.log('Built .headless-dist: ESM, declarations, browser adapters and Worker modules'); diff --git a/tests/headless/package.integration.mjs b/tests/headless/package.integration.mjs index 77ce7e7..c14cd5d 100644 --- a/tests/headless/package.integration.mjs +++ b/tests/headless/package.integration.mjs @@ -15,6 +15,11 @@ try { run('tar',['-xzf',join(temporary,packed[0].filename),'-C',temporary]); const packageRoot=join(temporary,'package'); const metadata=JSON.parse(await readFile(join(packageRoot,'package.json'),'utf8')); + const readme=await readFile(join(packageRoot,'README.md'),'utf8'); + for(const match of readme.matchAll(/\]\(([^)]+\.md)\)/g)){ + if(/^[a-z]+:/i.test(match[1]))continue; + assert.ok((await readFile(join(packageRoot,match[1]),'utf8')).length>0,`packed README link is empty: ${match[1]}`); + } assert.equal(metadata.private,true);assert.equal(metadata.type,'module'); assert.equal(Object.keys(metadata.dependencies??{}).length,0); assert.deepEqual(Object.keys(metadata.peerDependencies??{}).sort(),['@xyflow/react','react','react-dom']);assert.ok(Object.values(metadata.peerDependenciesMeta).every(value=>value.optional===true)); @@ -104,7 +109,7 @@ try { const browser=run(process.execPath,['tests/headless/browser-storage.mjs','--package']); process.stdout.write(browser); - console.log(JSON.stringify({compiledBrowserAdapters:true,portableBindings:true,explicitReactPeers:true,status:'ok',packedFiles:packed[0].files.length,consumer:report,nodeTypes:true,browserGlobalsBlocked:true,externalRuntimeDependenciesBlocked:true})); + console.log(JSON.stringify({relativeDocumentation:true,compiledBrowserAdapters:true,portableBindings:true,explicitReactPeers:true,status:'ok',packedFiles:packed[0].files.length,consumer:report,nodeTypes:true,browserGlobalsBlocked:true,externalRuntimeDependenciesBlocked:true})); } catch(error){ if(error.stdout)process.stderr.write(error.stdout); if(error.stderr)process.stderr.write(error.stderr);