From 72a8f4a1ac4126ca5f4ee05f11f62d6353118a45 Mon Sep 17 00:00:00 2001 From: krflol Date: Wed, 7 Oct 2026 16:38:27 -0500 Subject: [PATCH 1/2] Add public Node render queue guide and invoice batch download --- .gitattributes | 4 + .github/workflows/docs.yml | 24 +++ docs/assets/node-queue/NS-1042.pdf | Bin 0 -> 40386 bytes docs/assets/node-queue/NS-1042.png | Bin 0 -> 107272 bytes docs/assets/node-queue/NS-1043.pdf | Bin 0 -> 40387 bytes docs/assets/node-queue/NS-1044.pdf | Bin 0 -> 40386 bytes docs/assets/node-queue/NS-1045.pdf | Bin 0 -> 40392 bytes docs/assets/node-queue/NS-1046.pdf | Bin 0 -> 40382 bytes docs/assets/node-queue/NS-1047.pdf | Bin 0 -> 40396 bytes docs/assets/node-queue/project.zip | Bin 0 -> 6137 bytes docs/assets/node-queue/source.json | 59 +++++ docs/assets/node-queue/verification.json | 260 +++++++++++++++++++++++ docs/assets/node/project.json | 18 +- docs/assets/node/project.zip | Bin 5475 -> 5476 bytes docs/examples.md | 2 + docs/getting-started/node.md | 43 ++-- docs/guides/node-render-queue.md | 114 ++++++++++ examples/node-queue/LICENSE | 21 ++ examples/node-queue/README.md | 30 +++ examples/node-queue/invoice.css | 48 +++++ examples/node-queue/invoice.html | 12 ++ examples/node-queue/package-lock.json | 39 ++++ examples/node-queue/package.json | 9 + examples/node-queue/render.mjs | 25 +++ examples/node-queue/source.json | 20 ++ examples/node/README.md | 4 +- examples/node/package-lock.json | 8 +- examples/node/package.json | 2 +- examples/node/source.json | 10 +- mkdocs.yml | 1 + tools/build_node_queue.py | 33 +++ tools/verify_node_queue.py | 152 +++++++++++++ 32 files changed, 898 insertions(+), 40 deletions(-) create mode 100644 docs/assets/node-queue/NS-1042.pdf create mode 100644 docs/assets/node-queue/NS-1042.png create mode 100644 docs/assets/node-queue/NS-1043.pdf create mode 100644 docs/assets/node-queue/NS-1044.pdf create mode 100644 docs/assets/node-queue/NS-1045.pdf create mode 100644 docs/assets/node-queue/NS-1046.pdf create mode 100644 docs/assets/node-queue/NS-1047.pdf create mode 100644 docs/assets/node-queue/project.zip create mode 100644 docs/assets/node-queue/source.json create mode 100644 docs/assets/node-queue/verification.json create mode 100644 docs/guides/node-render-queue.md create mode 100644 examples/node-queue/LICENSE create mode 100644 examples/node-queue/README.md create mode 100644 examples/node-queue/invoice.css create mode 100644 examples/node-queue/invoice.html create mode 100644 examples/node-queue/package-lock.json create mode 100644 examples/node-queue/package.json create mode 100644 examples/node-queue/render.mjs create mode 100644 examples/node-queue/source.json create mode 100644 tools/build_node_queue.py create mode 100644 tools/verify_node_queue.py diff --git a/.gitattributes b/.gitattributes index cd53f53..c172f16 100644 --- a/.gitattributes +++ b/.gitattributes @@ -39,3 +39,7 @@ examples/arabic-invoice/fonts/*.ttf binary examples/arabic-invoice/fonts/OFL.txt -text -whitespace docs/assets/arabic-invoice/** -text docs/assets/arabic-invoice/*.pdf binary +examples/node/** text eol=lf +examples/node-queue/** text eol=lf +docs/assets/node-queue/** -text +docs/assets/node-queue/*.pdf binary diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d9ff7b4..8438308 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -257,6 +257,22 @@ jobs: output/reference-env/bin/python -I tools/verify_quickstarts.py - name: Verify the downloadable Node invoice and guide run: python tools/verify_node_examples.py + - name: Verify the Node queue download and guide + run: | + python -m pip install pypdf==6.19.0 pypdfium2==5.14.0 + python tools/build_node_queue.py + git diff --exit-code -- docs/assets/node-queue/project.zip docs/assets/node-queue/source.json + python tools/verify_node_queue.py + - uses: actions/upload-artifact@v4 + if: always() + with: + name: node-queue-verification + path: | + output/node-queue-verification/*.json + output/node-queue-verification/*.txt + output/node-queue-verification/**/*.pdf + output/node-queue-verification/**/*.png + retention-days: 14 - name: Verify the downloadable Python web starter and actual HTTP servers run: python tools/verify_python_web_starter.py --docker - uses: actions/upload-artifact@v4 @@ -333,6 +349,14 @@ jobs: retention-days: 14 - name: Build the downloadable browser starter and test its static demo run: | + sudo python3 - <<'PY' + from pathlib import Path + path = Path('/etc/apt/apt-mirrors.txt') + if path.is_file(): + lines = path.read_text().splitlines() + if any(line.startswith('https://archive.ubuntu.com/ubuntu') for line in lines): + path.write_text('\n'.join(line for line in lines if 'azure.archive.ubuntu.com' not in line) + '\n') + PY python -m pip install -r tools/browser-requirements.txt python -m playwright install --with-deps chrome python tools/build_browser_starter.py diff --git a/docs/assets/node-queue/NS-1042.pdf b/docs/assets/node-queue/NS-1042.pdf new file mode 100644 index 0000000000000000000000000000000000000000..caf8fe6c12eb556b12e14b5f31d5990daf9a75be GIT binary patch literal 40386 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 OvWa}Ld9vFbFQ-4yj1)is literal 0 HcmV?d00001 diff --git a/docs/assets/node-queue/NS-1044.pdf b/docs/assets/node-queue/NS-1044.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ed703f860f29bd615f80cf268da2ae23b02e9bc5 GIT binary patch literal 40386 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 z

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�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 Tr)loSd5I?C#W&gMbbH+Y&5G*O literal 0 HcmV?d00001 diff --git a/docs/assets/node-queue/NS-1047.pdf b/docs/assets/node-queue/NS-1047.pdf new file mode 100644 index 0000000000000000000000000000000000000000..01d4d8e50ab763b66d4f85859362b0d414e75647 GIT binary patch literal 40396 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⪙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 aT_-gx1x-B-qwB}1ny8oB?9%jjIsE~Ds|rs5 literal 0 HcmV?d00001 diff --git a/docs/assets/node-queue/project.zip b/docs/assets/node-queue/project.zip new file mode 100644 index 0000000000000000000000000000000000000000..5fc995a645685f404ef7940517ea8c1cf464abbb GIT binary patch literal 6137 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 literal 0 HcmV?d00001 diff --git a/docs/assets/node-queue/source.json b/docs/assets/node-queue/source.json new file mode 100644 index 0000000..712e341 --- /dev/null +++ b/docs/assets/node-queue/source.json @@ -0,0 +1,59 @@ +{ + "package_version": "0.4.0", + "engine_version": "2.5.11", + "source_commit": "807e4d4cd124980bcc9344a316c47ae3928160b5", + "package_url": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "package_integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", + "package_sha256": "fa653f7cc1396cfaf1710656dac7fa37269453263e6b29878a5a3385531d6eb4", + "rendered": { + "NS-1042.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", + "NS-1042.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", + "NS-1043.pdf": "4adda7f7e56df435c40d9a1c1fc3546e2493289d8874ec26a7a16e4ed19b8f44", + "NS-1044.pdf": "3d9de4b2366ad977a8bb527cfd20e8d9e62382cd73fb49b651da3a2627d5c56d", + "NS-1045.pdf": "a48c1120789cb9b593700786103a7494a96d84cffd9196a2cd0dd0fac3208063", + "NS-1046.pdf": "eeabaf8070ef7fdc3d87728bedab9b8e5881a9994a7c5784a3bf9ba844ba9a3b", + "NS-1047.pdf": "334dfd5d0213f8a34b9b02eb6b95d11817f6395e99ebbfa0e8224dde06e86dce" + }, + "fictional_data": true, + "license": "MIT", + "verification_scope": "Six fictional invoices, queue worker limits, guide snippet, and exact replay using the public npm package.", + "files": [ + { + "path": "LICENSE", + "bytes": 1079, + "sha256": "36a2115938f6e68cf0d87eccff7a6a3e57c17017e909cbd640d51aff1fa0c5a9" + }, + { + "path": "README.md", + "bytes": 1388, + "sha256": "4950a3cf3be6cd930fd5fa18c24c48fee570b7ee13c93255aa584f240e1df4e1" + }, + { + "path": "invoice.html", + "bytes": 2933, + "sha256": "195725eeeb32c521e19b47dbacbb55048bebb6df8566ab135cdc41fbf33fe57a" + }, + { + "path": "invoice.css", + "bytes": 3546, + "sha256": "cda22b39ab1f7a1eeac7cd76d162b05cd3568c2430c099123ba30a2fbd58a296" + }, + { + "path": "render.mjs", + "bytes": 1484, + "sha256": "5a0e9da94bc247b4c2413c251c8386a3f6416b0119c9950a592c93e4aedb2716" + }, + { + "path": "package.json", + "bytes": 229, + "sha256": "194b6b4ac71867f8d56bc4cdee0a2949077f3d90dd6b0e7ebd9417f47fbce2a1" + }, + { + "path": "package-lock.json", + "bytes": 1177, + "sha256": "48b40e800811b0a71be395cf976a384296efaf2d395b0e5411ba446f34a1cc3f" + } + ], + "zip_bytes": 6137, + "zip_sha256": "4e96bab39784c58eacefb4e4b368862a948eda5f6b4af90b2b78d248925141e9" +} diff --git a/docs/assets/node-queue/verification.json b/docs/assets/node-queue/verification.json new file mode 100644 index 0000000..f0fb81f --- /dev/null +++ b/docs/assets/node-queue/verification.json @@ -0,0 +1,260 @@ +{ + "schema": "fullbleed.node-queue-example-verification.v1", + "ok": true, + "package_version": "0.4.0", + "engine_version": "2.5.11", + "workers": { + "created": 6, + "peak": 2, + "remaining": 0, + "node": "v22.23.3", + "platform": "win32" + }, + "readers": [ + "pypdf", + "PDFium" + ], + "commands": [ + { + "name": "install", + "exit_code": 0 + }, + { + "name": "batch", + "exit_code": 0 + }, + { + "name": "replay", + "exit_code": 0 + }, + { + "name": "guide-snippet", + "exit_code": 0 + } + ], + "project_zip_sha256": "4e96bab39784c58eacefb4e4b368862a948eda5f6b4af90b2b78d248925141e9", + "outputs": { + "NS-1042.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", + "NS-1042.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", + "NS-1043.pdf": "4adda7f7e56df435c40d9a1c1fc3546e2493289d8874ec26a7a16e4ed19b8f44", + "NS-1044.pdf": "3d9de4b2366ad977a8bb527cfd20e8d9e62382cd73fb49b651da3a2627d5c56d", + "NS-1045.pdf": "a48c1120789cb9b593700786103a7494a96d84cffd9196a2cd0dd0fac3208063", + "NS-1046.pdf": "eeabaf8070ef7fdc3d87728bedab9b8e5881a9994a7c5784a3bf9ba844ba9a3b", + "NS-1047.pdf": "334dfd5d0213f8a34b9b02eb6b95d11817f6395e99ebbfa0e8224dde06e86dce" + }, + "checks": [ + { + "name": "download ZIP matches the source manifest", + "passed": true + }, + { + "name": "ZIP contains exactly the reviewed files", + "passed": true + }, + { + "name": "source and ZIP bytes: LICENSE", + "passed": true + }, + { + "name": "source and ZIP bytes: README.md", + "passed": true + }, + { + "name": "source and ZIP bytes: invoice.html", + "passed": true + }, + { + "name": "source and ZIP bytes: invoice.css", + "passed": true + }, + { + "name": "source and ZIP bytes: render.mjs", + "passed": true + }, + { + "name": "source and ZIP bytes: package.json", + "passed": true + }, + { + "name": "source and ZIP bytes: package-lock.json", + "passed": true + }, + { + "name": "install command succeeds", + "passed": true + }, + { + "name": "installed version and engine match the guide", + "passed": true + }, + { + "name": "lockfile integrity matches the verified release", + "passed": true + }, + { + "name": "batch command succeeds", + "passed": true + }, + { + "name": "six distinct invoices rendered without missing glyphs", + "passed": true + }, + { + "name": "actual worker concurrency stays at two and all workers exit", + "passed": true + }, + { + "name": "NS-1042.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1042.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1042.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1043.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1043.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1043.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1044.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1044.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1044.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1045.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1045.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1045.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1046.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1046.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1046.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1047.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1047.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1047.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1042.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1042.png: matches reviewed output", + "passed": true + }, + { + "name": "NS-1043.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1044.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1045.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1046.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1047.pdf: matches reviewed output", + "passed": true + }, + { + "name": "replay command succeeds", + "passed": true + }, + { + "name": "exact-input replay preserves every PDF and PNG", + "passed": true + }, + { + "name": "guide contains one executable JavaScript example", + "passed": true + }, + { + "name": "guide-snippet command succeeds", + "passed": true + }, + { + "name": "invoice-1042.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1042.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1042.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "invoice-1043.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1043.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1043.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "invoice-1044.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1044.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1044.pdf: expected fields in PDFium", + "passed": true + } + ], + "scope": "This downloaded batch, guide snippet, and exact replay; no throughput or memory-capacity claim." +} diff --git a/docs/assets/node/project.json b/docs/assets/node/project.json index 3519ad1..63bcb29 100644 --- a/docs/assets/node/project.json +++ b/docs/assets/node/project.json @@ -1,10 +1,10 @@ { - "package_version": "0.3.2", + "package_version": "0.4.0", "engine_version": "2.5.11", - "source_commit": "38963536427d85e347182b3b8141d0a84c855a26", - "package_url": "https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.3.2/fullbleed-0.3.2.tgz", - "package_integrity": "sha512-bzbTUn6Hcxu0YZoP38wkrJ/nZ33+rQfZq5itdpQUl7lIO9mR1m9LC5n/2KLxjj+7dAb8IhpYoVTSmbuhQyA5Vg==", - "package_sha256": "536a18eb10847326cc9cbe19ef88e41201230e655a0e7bc69cadbce41b85b971", + "source_commit": "807e4d4cd124980bcc9344a316c47ae3928160b5", + "package_url": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "package_integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", + "package_sha256": "fa653f7cc1396cfaf1710656dac7fa37269453263e6b29878a5a3385531d6eb4", "rendered": { "invoice.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", "invoice.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7" @@ -27,7 +27,7 @@ }, "README.md": { "bytes": 903, - "sha256": "ca7d2154978a19fc42953f1331bbbad68a539ad3fa67050e7a3a66ae063a9bed" + "sha256": "b09ca9bf312fbe1a9f9ddb10cfc535459057139ac56aa0cbc55a6f795ac3d54d" }, "invoice.css": { "bytes": 3546, @@ -39,16 +39,16 @@ }, "package-lock.json": { "bytes": 1165, - "sha256": "d657eb89aa32485c8eaf3a8f55074007ad1b0f6b2a25e9ceb7d1069465422751" + "sha256": "b4f1d91458aca95102e680a5fd3491aef1e78f3fd1244ed472295a4456a5ab9f" }, "package.json": { "bytes": 241, - "sha256": "80ed17d4ef2ca8261b456861a1ad991859c2dd9dc761b3540d704cac16476ca3" + "sha256": "b8107cbf1978becb2fdf684993e83242bd57b63d058d1195366b75b5fa4366af" }, "render.mjs": { "bytes": 1064, "sha256": "dd63e83658800df2672c8c5ca1b176dbe49fc0d5c49b8c2b79af91515a68e776" } }, - "zip_sha256": "8ea7f43108b4d54203d89870902e7da398ae692d413dbdebbe8129eaaf1bac5b" + "zip_sha256": "a23694b044ce863a41222daf80a7955c242c4b4634d1d8af200dd1911814a21e" } diff --git a/docs/assets/node/project.zip b/docs/assets/node/project.zip index 7c9d1bca77e5da52123503954eb66619e7eb9b2c..6085c0a3952e25879960a410227a6b2dc8840ecc 100644 GIT binary patch delta 1245 zcmV<31S0$6D#uL1;+DnQ?pvjQW3Qk&UUaG|G#1yPAEE7}V}NRuX>ne1kgC~>;# zx5t@j`FE=1+RpDizj*<-U@+U>qXFwr!D@sqg%R$9LHU@4I1DyJXEoX2mE(G%A(Kk5 zr($gQJykMh_*9%bIz;m_Pa7aA{iJ$?8~H}wEX4C*^#I4>jpJ?_@XrLS-gv6z1OdIe4 z9?mobUu)k=CMIVc&Z(*lSY(|=BZX+&mUj=r#}TxJ<&ymg371(X8!1oqR6Hc~22*Vp z;%h_?Z738AH5X5=zcQMxouL0^Z;0&8awVhhTL~Wq<=HBBMYNg$!-%PclX5K4^78pP zIX>ogGkG`j0A{Ts+i3}o*fD5ThG~}NDZuB$?u!&34L7t`q=80vVY-%d&MkYH;2cVV z@a%!jX5gvIC{nVf0l@|R)RQ>`CIP9FU<4Iur%F4sWHm-Nr{x+P*1y{xz;P4XU?lwe zAgM}S?VDq0ruc|UJI82`(+%Lq6yUyCgFjylL@~c>8ivWTyGoV@Pfd?R*7wW$Q4pHO z^H}p*R3mR6wh&@HM4k}q+Eb0P)pP2y4w0q&0<+!((+LHv(-vIrleP{Xf7@=_KoEWB zD=c1HU$CLjNJIsi6xRs}4Upm&WP1mDjlJva`XY$(@3lA7pd_@Z`e12&X3m_Mv$Ky4 zNoo=&hUS^nTxU__MgT}A6oHIMPO%5gk5x_%jAKfww3ebN+A|taZ?nb`Eb6Esa0U+< zX244zWf=%8alDP=3+%D{e=m{x^u8WM-kW`h2!aF%0^;E#4H2npRxC|vm#ls8sb&N5 zF?mU>TBtbZeO<39jU%GSSj7}&5pea38&XCL)n&Bcz*dFB@rnmHJ|6UFfT|V!FhJ=S zjq>L%gEUR}nW{4IF;Cf6AxRu^g);xNiYmXxWTBy?{_dcINeVv0f9bXo;(^m?>9UH) zo6%za%~-ge8()k`2b=T6WI@;I-rwTFHu!kk9^00^8=^Z06$qi_S9@TZ`fiv{mkaG` zjeEqgiGMqql$5cl27`Y8pc<9eNVu@`+MG!@Kcqpq5dp~h@9TKe)8o54<)QY^9@bS$ z&kh?WYW>|Sl>3P_f9#=~blsY`-PvGz*}AZTkufmZ4@>VmTz7Eq)6dJI_-t&t7K^nj zlRNE9os-mRMQmh$aPLEPk^_+0Bw!FGG@hRJ>OCv|r`6l<*{hXzF*)&0@6aWAK2mk;8LS4uifA&g~0002-0000C0001R zVPk7yXJsyGb8l`Cf6I zrD+&JUzL7N-akBmYbiKrk>-FF^huZ*IAI{c&ZaZno<_!b$RcN+phkI#b=Vl(AL1{FC0eUm^H9R|J= H00000Y;9K> delta 1244 zcmV<21S9+8D&s1!uL1<)I9Vo>vjQW3(l$ejxNJ`g3!)NTRqXFxW!D@sqg%KWtLHU%0*bg>CXEoX2mE(G%A(Kk5 zqhf6MJykMh_*9%bI7IU@Pa7aA{j7R~H}b7q-H6j*^#F(BjpJ?_@XrLSDQf%`4&Fxd|7ZH`WzZ>B%r<3VNdfQ5mBr!3)nDB$a+3p=b<5E7S8nAYF} zJf3L?zSh2#Oia!?oKsa9u*f=#MhelkE$<$Lk0WRciv{}=5-ze%Hd3DIsdz}}4W`;I z#Mg)(+E6GKYA&8!e`PdXJ3;?t-w@fG#ZpG!w-P=K%ClAMifAN99m8p za(v3|dh%}O0nA!Ow$lNCS=T!gMX^oLlxX!8w!! z;pBnMX5gvIC{nVf0l@|R+><#3CIPOKU<4Iu$4Wc1WHm-Nr{x+P*1z5C!EqDYU?lwe zAgM}S?VDq0ruc|UJI82;(+%Lq6yUyCgFjylL^0ns4Z~#FT_sC{$EHUj>-$ChCN#~;hsaWX0khr&(+LGZ`cl;IleP{Xe_d~zFcf{y zuRwY2_z09Gt(0jrn+9vPCT+qLULwE_m>8Sd5K5~4_kkM`)HYkSJs_EL@44sReFM1fN#bC6I*3^ic1d)q_fA3SWU z)}9?VPSpClSHV75e=NyIJA5d#l}BgBsNAyeD)9{CjLkRRy@_&=&6jwHotumFc9337 zCniz#>*+(1oDG2$jGQ=IQFn2d21PutEYpond-a|b|I_Ln_UzTl2Z)?_C-R|;>~jut zE@o$;8q%zK5mLg0|Nmp^HQ!V3H&9Ch1QY-O00;m8076~OeVP|D7YIARHO^?wI!XOMq-}wr{vmMGT9a_->(Y)8RDhcpK?pia!pkTM2h?5um;w>Bo6$HH<+6YN!4;=arWJGrl% zO~P1mt=AfBEs=mMB*yrXY*G7nR&~DZ4$un;4i1xS+;7A1$1Fsa$>5RweZoSoFS;3G z6CbmE5rzT;<2YF+lLr*01wr~!)bEqB6gmaXBs)!!lkpT40l||86*&QXlR*_72E7vi G0000{3`@oU diff --git a/docs/examples.md b/docs/examples.md index 03b2c6e..f8e7242 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -40,6 +40,8 @@ their own roles. Grid and table layouts keep the page ordered. Start with the [invoice guide](guides/invoices.md), or [serve an invoice from FastAPI, Flask, or Django](guides/web-frameworks.md). The Python starter also includes a [tested Docker image](guides/python-docker.md). +For Node applications, download the [six-invoice queue project](guides/node-render-queue.md) +with editable HTML/CSS and limits on active and waiting renders. For C# web applications, try the [ASP.NET Core download starter](guides/aspnet-pdf.md). For a tagged document, use the [editable C# library notice](guides/csharp-tagged-pdf.md) with PDF/UA profiles, embedded fonts and retained validation reports. diff --git a/docs/getting-started/node.md b/docs/getting-started/node.md index d3087e5..0f1a836 100644 --- a/docs/getting-started/node.md +++ b/docs/getting-started/node.md @@ -8,14 +8,13 @@ Fullbleed's optional Node package renders static HTML/CSS into PDFs using a bundled WebAssembly build of the Rust engine. It includes fonts and runs locally; you do not need Python, Rust, or a browser to use the installed package. -This guide uses **Node package 0.3.2**, powered by **Fullbleed 2.5.11**. The +This guide uses **Node package 0.4.0**, powered by **Fullbleed 2.5.11**. The integration and core engine have separate versions. -Version 0.3.2 fixes blank PNG previews for unembedded Helvetica, Times, and -Courier faces by bundling fixed, OFL-licensed outline substitutes. It retains -the inline-layout corrections from 0.3.1. Optional process -isolation lets a failed render child reject its request while the caller keeps -running; see the server guidance below. +Version 0.4.0 adds a shared render queue with limits on active and waiting jobs. +It retains bundled outline substitutes for Helvetica, Times, and Courier PNG +previews, inline-layout corrections, and optional process isolation. See the +server guidance below for queue limits and failure handling. Use the actual family name for normal/italic CSS selection, or a PostScript name for an explicit face. Review appearance and line breaks when upgrading; the @@ -31,7 +30,7 @@ With Node.js 22 or newer, install the [npm package](https://www.npmjs.com/packag npm install fullbleed ``` -To pin this guide's version, use `npm install --save-exact fullbleed@0.3.2`. +To pin this guide's version, use `npm install --save-exact fullbleed@0.4.0`. The npm package contains the same verified bytes as the GitHub release. Save this as `invoice.mjs` and run `node invoice.mjs`: @@ -89,7 +88,7 @@ of the finalized PDF. Fullbleed 2.5.5 fixes gradient fills that were missing fro these PNG previews in earlier releases. [Open the report PDF](../assets/node/report.pdf){ .md-button } -[Explore its HTML and CSS](https://github.com/fullbleed-engine/fullbleed-node/tree/v0.3.2/examples){ .md-button } +[Explore its HTML and CSS](https://github.com/fullbleed-engine/fullbleed-node/tree/v0.4.0/examples){ .md-button } ## Bring fonts and image assets @@ -100,14 +99,14 @@ in CSS. Pass images through `assets`, mapping relative names to `Buffer` or The engine uses an in-memory filesystem for the supplied inputs and does not fetch remote URLs. Data URIs also work for document images. The -[package API reference](https://github.com/fullbleed-engine/fullbleed-node/tree/v0.3.2#fonts-and-assets) +[package API reference](https://github.com/fullbleed-engine/fullbleed-node/tree/v0.4.0#fonts-and-assets) includes a complete font and asset example. Unembedded PDF Standard 14 faces now have bundled substitutes for native PNG previews. The PDF keeps its original font resources, text, and advances; a PDF reader can use a different substitute design. Register your chosen font when the exact branded appearance matters. See the -[preview comparison and font limits](https://github.com/fullbleed-engine/fullbleed-node/blob/v0.3.2/docs/standard-font-previews.md). +[preview comparison and font limits](https://github.com/fullbleed-engine/fullbleed-node/blob/v0.4.0/docs/standard-font-previews.md). ## Use it in an application @@ -125,6 +124,11 @@ Use `timeoutMs`, `maxPages`, and an `AbortSignal` to bound a job. Limit concurre calls to fit your server's memory; each worker's WebAssembly memory ceiling is 512 MiB. Preview images can use more memory than PDF-only rendering. +Node package 0.4.0 adds a [shared render queue](../guides/node-render-queue.md) +with active and waiting limits, deadlines that include queue time, cancellation, +and shutdown. The guide includes a runnable six-invoice batch. Use one queue per +application process to share the limits across request handlers. + Rendering errors reject with a `FullbleedError` and a code such as `INVALID_INPUT`, `MISSING_GLYPHS`, `PAGE_LIMIT`, `TIMEOUT`, or `ABORTED`. Invalid font data is rejected. Use registered font families: unavailable CSS families can fall back, @@ -156,7 +160,7 @@ Process startup adds latency and memory use. There is no process pool or automatic retry; keep concurrency bounded. Application startup flags and `NODE_OPTIONS` are not replayed in the child. This option requires a normal Node executable and is not an operating-system security sandbox. See the -[process isolation guide](https://github.com/fullbleed-engine/fullbleed-node/blob/v0.3.2/docs/process-isolation.md) +[process isolation guide](https://github.com/fullbleed-engine/fullbleed-node/blob/v0.4.0/docs/process-isolation.md) for deployment details and the tested failure paths. The Next.js starter uses this mode for its PDF route. @@ -181,18 +185,19 @@ TypeScript. Its release evidence compares retained native and WebAssembly fixtures and installs the same tarball across Node 22, 24, and 26 on Windows, Linux, and macOS. These are scoped engineering checks, not PDF standards certification. -The [public-install verification](https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.3.2/npm-public-verification.json) +The [public-install verification](https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.4.0/npm-public-verification.json) records the registry tarball hash, audits npm signatures and provenance, and -exercises 26 font cases using worker and process isolation. Their PDFs and PNGs -match the CI output. The -[release verification](https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.3.2/release-verification.json) -retains 32 native/Wasm comparisons, nine installed Node/platform combinations, -and 105 checks in each of Chrome, Firefox, and Playwright WebKit, including -browser downloads and failure recovery. The invoice and report on this page +executes the queue lifecycle checks from a fresh registry install. Its queued +PDF and PNG match the CI output. The +[release verification](https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.4.0/release-verification.json) +retains 32 native/Wasm comparisons, fourteen queue checks in each of nine +installed Node/platform combinations, and 105 checks in each of Chrome, +Firefox, and Playwright WebKit, including browser downloads and failure +recovery. The invoice and report on this page retain the reviewed 2.5.10 PDF bytes and preview pixels with engine 2.5.11; the [download manifest](../assets/node/project.json) records their exact hashes. [Package source and API](https://github.com/fullbleed-engine/fullbleed-node) · [npm package](https://www.npmjs.com/package/fullbleed) · -[Versioned release and evidence](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.3.2) · +[Versioned release and evidence](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.4.0) · [CSS coverage](../css-coverage.md) · [Examples](../examples.md) diff --git a/docs/guides/node-render-queue.md b/docs/guides/node-render-queue.md new file mode 100644 index 0000000..92a876d --- /dev/null +++ b/docs/guides/node-render-queue.md @@ -0,0 +1,114 @@ +--- +title: Queue PDF jobs in Node.js +description: Bound concurrent PDF requests with Fullbleed's Node render queue, waiting limits, cancellation, and deadlines. Download a six-invoice batch project. +--- + +# Queue PDF jobs in Node.js + +An HTTP request burst or a batch of order events can ask for many PDFs at once. +Share one `createRenderQueue()` across those callers to limit active renders and +waiting work. A request beyond those limits rejects with `QUEUE_FULL`, giving +the application a way to report that it is busy. + +This guide uses **Node package 0.4.0**, with the **Fullbleed 2.5.11** engine and +bundled fonts. The sample submits six fictional invoices to two active slots and +four waiting slots. + +[Download the batch project](../assets/node-queue/project.zip){ .md-button .md-button--primary } +[Open a generated invoice](../assets/node-queue/NS-1042.pdf){ .md-button } + +[![Northstar Studio invoice from the queued batch, with cream paper, green typography and total panel, and orange accents.](../assets/node-queue/NS-1042.png)](../assets/node-queue/NS-1042.pdf) + +## Run the batch + +Extract the ZIP and open its `node-pdf-queue` directory. With Node.js 22 or newer: + +```sh +npm ci --ignore-scripts +npm run render +``` + +Open the six PDFs in `output/queued-invoices` and the first invoice's PNG preview. +Edit the customer names in `render.mjs`, or change the HTML and CSS templates. +The script escapes customer names before inserting them. The lockfile pins the +published package and its integrity hash. + +## Reuse one queue across callers + +In a Node project with `fullbleed@0.4.0` installed, this runnable example writes +three PDFs. In a server, keep the queue at application scope and call its +`renderPdf()` method from each request handler: + +```javascript +import { writeFile } from 'node:fs/promises'; +import { createRenderQueue } from 'fullbleed'; + +const documents = createRenderQueue({ concurrency: 2, maxQueue: 4 }); +try { + await Promise.all([1042, 1043, 1044].map(async reference => { + const result = await documents.renderPdf({ + html: `

Invoice NS-${reference}

Consulting: USD 1,200.00

`, + css: '@page { size: A4; margin: 20mm } h1 { color: #175c52 }', + timeoutMs: 30_000, + isolation: 'process', + }); + await writeFile(`invoice-${reference}.pdf`, result.pdf); + })); +} finally { + await documents.close(); +} +``` + +The defaults are one active render and sixteen waiting requests. Set `maxQueue` +to zero to reject buffering. Slots remain occupied until each worker or child +process has exited, including when rendering fails or is cancelled. A failed job +releases its slot so later work can proceed. The queue never retries jobs. + +The `isolation: 'process'` option contains tested child-process failures and +requires a host that permits child processes. It adds startup and memory +overhead. The default worker mode also works with the queue; see +[process isolation](../getting-started/node.md#contain-render-process-failures) +for the tradeoffs and the unresolved native-crash investigation. + +## Waiting, cancellation, and shutdown + +`timeoutMs` starts at submission, including time in the queue. A waiting request +that expires rejects with `TIMEOUT` without starting a worker. Pass an +`AbortSignal` to cancel waiting or active work. Cancelling a waiting request frees +its waiting slot immediately; active cancellation waits for cleanup. + +Accepted requests copy input asset/font bytes and snapshot HTML/CSS strings, so +later changes to caller-owned objects do not change a waiting document. +Read `activeCount` and `pendingCount` to observe the queue. + +`close()` stops admission, cancels unfinished accepted jobs with `QUEUE_CLOSED`, +and resolves after cleanup. It is idempotent. In a server, call it at application +shutdown rather than after every request. If accepted jobs must finish normally, +await those jobs first, then close. + +## Choose limits for the application + +Create one shared queue per application process. Separate queues, standalone +`renderPdf()` calls, and separate server processes have independent limits. +The queue bounds job counts, not total memory. Waiting jobs retain their input +snapshots, and preview images use more memory than PDF-only work. + +A web server can map `QUEUE_FULL` to HTTP 503. An automation consumer can wait for +an accepted job to settle before submitting more. Choose limits for the host and +document sizes. Use the application's durable job system for order events, +scheduling, retries, authentication, and storage; this queue is held in memory +and is lost when the process exits. + +## Verification + +The [download checks](../assets/node-queue/verification.json) execute the actual +ZIP and this guide's snippet using the public npm package. They observe the six +render workers, compare replayed PDF/PNG bytes, and read invoice references, +customer names, and totals with independent PDF readers. The package's +[release evidence](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.4.0) +covers admission, overload, cancellation, deadlines, shutdown, and process-failure +recovery across the installed-package platform matrix. + +[Node quickstart](../getting-started/node.md) · +[API and queue details](https://github.com/fullbleed-engine/fullbleed-node/blob/v0.4.0/docs/render-queue.md) · +[Next.js PDF downloads](nextjs-pdf.md) diff --git a/examples/node-queue/LICENSE b/examples/node-queue/LICENSE new file mode 100644 index 0000000..4c99bbd --- /dev/null +++ b/examples/node-queue/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Fullbleed Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/examples/node-queue/README.md b/examples/node-queue/README.md new file mode 100644 index 0000000..b67b1e5 --- /dev/null +++ b/examples/node-queue/README.md @@ -0,0 +1,30 @@ +# Queue six PDF invoices in Node.js + +This fictional batch uses Fullbleed's Node package 0.4.0 and its pinned 2.5.11 +engine. Node.js 22 or newer is required. The npm package includes the engine and +fonts; rendering needs no Python, Rust, browser, or system-font installation. + +```sh +npm ci --ignore-scripts +npm run render +``` + +Open `output/queued-invoices/NS-1042.pdf` through `NS-1047.pdf`, and the first +invoice's PNG preview. Change the six customer names in `render.mjs`, or edit +`invoice.html` and `invoice.css`. Customer names are escaped before insertion. +All example data is fictional. + +The shared queue uses two active slots and four waiting slots. The six requests +fit in that admission limit. Extra simultaneous requests reject with +`QUEUE_FULL`; submit later work after accepted jobs settle or return a busy +response to a caller. The queue counts jobs rather than capping total memory. + +For a server, create one queue at application scope and reuse it across requests. +The example closes its queue only after the batch finishes. `close()` cancels +unfinished jobs and waits for worker/process cleanup. Durable job storage and +retry policy belong in the surrounding application. + +See https://docs.fullbleed.dev/guides/node-render-queue/ for deadlines, +cancellation, shutdown, and process isolation. + +The project is MIT licensed. Font licenses ship with the installed dependency. diff --git a/examples/node-queue/invoice.css b/examples/node-queue/invoice.css new file mode 100644 index 0000000..235023f --- /dev/null +++ b/examples/node-queue/invoice.css @@ -0,0 +1,48 @@ +@page { size: A4; margin: 0; } +* { box-sizing: border-box; } +html, body { margin: 0; padding: 0; } +body { font-family: Inter; font-size: 10pt; line-height: 1.45; color: #17382e; } +h1, h2, h3, p, figure { margin: 0; } +h1, h2, h3 { font-weight: 400; } +.page { width: 210mm; height: 296.9mm; padding: 15mm 16mm; position: relative; break-after: page; background: #f8f5ec; } +.page:last-child { break-after: auto; } +.kicker { font-size: 7.2pt; font-weight: 600; letter-spacing: 1.4pt; text-transform: uppercase; } +.serif { font-family: 'DM Serif Display'; font-weight: 400; } +.display { font-family: 'Bebas Neue'; font-weight: 400; } +.muted { color: #5b6c64; } +.small { font-size: 8pt; } +.rule { border-top: .6pt solid #9eafa4; } +.row { display: flex; justify-content: space-between; gap: 16pt; } +.grid-2 { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24pt; } +.grid-2 > * { min-width: 0; } +.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16pt; } +.footer { position: absolute; left: 16mm; right: 16mm; bottom: 12mm; border-top: .6pt solid #9eafa4; padding-top: 8pt; display: flex; justify-content: space-between; gap: 12pt; font-size: 6.6pt; letter-spacing: .45pt; } +table { width: 100%; border-collapse: collapse; font-size: 9pt; } +th { font-size: 7.5pt; font-weight: 600; text-align: left; } +th, td { padding: 10pt 0; border-bottom: .55pt solid #bdc8bf; vertical-align: top; } +.number { text-align: right; white-space: nowrap; } +.money { font-variant-numeric: tabular-nums; } +strong { font-weight: 600; } +a { color: inherit; } + +.invoice .masthead { display: grid; grid-template-columns: 1.05fr .8fr 1fr; gap: 18pt; align-items: center; padding-bottom: 22pt; border-bottom: 1pt solid #17382e; } +.invoice .brand { font: 31pt/.88 'DM Serif Display'; letter-spacing: -1.3pt; } +.invoice .brand span { display: block; line-height: .98; } +.invoice .brand small { display: block; font: 6.5pt Inter; letter-spacing: 2.1pt; margin-top: 11pt; } +.invoice .brand-note { border-left: 1pt solid #c24929; padding: 4pt 0 4pt 16pt; line-height: 1.8; } +.invoice .address { font-size: 7.5pt; line-height: 1.7; border-left: 1pt solid #c24929; padding-left: 16pt; } +.invoice .title-row { display: grid; grid-template-columns: 3.3fr 1fr; gap: 20pt; align-items: center; padding: 22pt 0 16pt; } +.invoice h1 { font: 91pt/.9 'Bebas Neue'; letter-spacing: .3pt; } +.invoice .title-note { color: #b44123; font: 14pt/1.2 'Bebas Neue'; letter-spacing: .5pt; } +.invoice .details { border-top: .6pt solid #9eafa4; border-bottom: .6pt solid #9eafa4; padding: 15pt 0; margin-bottom: 10pt; } +.invoice .details p { margin-top: 5pt; font-size: 8.2pt; } +.invoice .details > div + div { border-left: .6pt solid #c7cdc4; padding-left: 14pt; } +.invoice th { color: #52665a; } +.invoice td { padding: 12pt 0; } +.invoice .item-note { color: #617069; font-size: 8pt; margin-top: 4pt; } +.invoice .amounts { display: grid; grid-template-columns: 1fr 1.25fr; gap: 27pt; margin-top: 23pt; } +.invoice .thanks { font: italic 22pt/1.2 'DM Serif Display'; color: #b44123; padding-top: 8pt; } +.invoice .summary-line { display: flex; justify-content: space-between; padding: 5pt 0; font-size: 8.5pt; } +.invoice .total { background: #17382e; color: #fff8e8; padding: 16pt; margin-top: 9pt; border-left: 4pt solid #d96238; } +.invoice .total .value { font: 38pt/1.1 'Bebas Neue'; margin-top: 7pt; } +.invoice .payment { margin-top: 20pt; padding-top: 12pt; border-top: .6pt solid #9eafa4; display: grid; grid-template-columns: 1fr 1fr; gap: 24pt; font-size: 8pt; } diff --git a/examples/node-queue/invoice.html b/examples/node-queue/invoice.html new file mode 100644 index 0000000..09bb52c --- /dev/null +++ b/examples/node-queue/invoice.html @@ -0,0 +1,12 @@ +Northstar Studio — Invoice NS-1042 +
+
NorthstarStudioDESIGN WITH DIRECTION
Brand
Digital
Experiences
That matter.
42 Cedar Avenue
Portland, OR 97205
hello@example.invalid
northstar.example.invalid
+

INVOICE

GOOD WORK.
CLEAR DETAILS.
LET'S MAKE
WHAT'S NEXT.

+

Prepared for

Maple & Finch
Attn. Avery Morgan
Portland, Oregon

The project

Autumn launch
Brand workshop, digital
design & handoff

Invoice NS-1042

Issued · 01 October 2026
Due · 31 October 2026
Currency · USD

+ + +
DESCRIPTIONHOURSRATEAMOUNT
Discovery & brand workshop

Positioning, priorities, and a clear creative direction

8$125.00$1,000.00
Digital design & implementation

A cohesive visual system, from layout to launch

6$95.00$570.00
Review & studio handoff

Final refinements, documentation, and delivery

2$150.00$300.00
+

A little clarity.
A lot of possibility.

Thank you for inviting us
to help shape your next chapter.

Subtotal$1,870.00
Tax · 0% in this sample$0.00
TOTAL DUE · USD
$1,870.00
+

Payment details

Reference NS-1042 with your payment.
Payment instructions are supplied separately.

A note from the studio

Questions about a line item?
Write to hello@example.invalid.

+
NORTHSTAR STUDIO / INVOICE NS-1042FICTIONAL SAMPLE · 01 / 01
+
diff --git a/examples/node-queue/package-lock.json b/examples/node-queue/package-lock.json new file mode 100644 index 0000000..d490bb4 --- /dev/null +++ b/examples/node-queue/package-lock.json @@ -0,0 +1,39 @@ +{ + "name": "fullbleed-node-queue-example", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fullbleed-node-queue-example", + "version": "1.0.0", + "dependencies": { + "fullbleed": "0.4.0" + }, + "engines": { + "node": ">=22" + } + }, + "node_modules/@bjorn3/browser_wasi_shim": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@bjorn3/browser_wasi_shim/-/browser_wasi_shim-0.4.2.tgz", + "integrity": "sha512-/iHkCVUG3VbcbmEHn5iIUpIrh7a7WPiwZ3sHy4HZKZzBdSadwdddYDZAII2zBvQYV0Lfi8naZngPCN7WPHI/hA==", + "license": "MIT OR Apache-2.0" + }, + "node_modules/fullbleed": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", + "license": "MIT", + "dependencies": { + "@bjorn3/browser_wasi_shim": "0.4.2" + }, + "bin": { + "fullbleed-browser-assets": "src/copy-browser-assets.cjs" + }, + "engines": { + "node": ">=22" + } + } + } +} diff --git a/examples/node-queue/package.json b/examples/node-queue/package.json new file mode 100644 index 0000000..02428e8 --- /dev/null +++ b/examples/node-queue/package.json @@ -0,0 +1,9 @@ +{ + "name": "fullbleed-node-queue-example", + "version": "1.0.0", + "private": true, + "type": "module", + "engines": { "node": ">=22" }, + "scripts": { "render": "node render.mjs" }, + "dependencies": { "fullbleed": "0.4.0" } +} diff --git a/examples/node-queue/render.mjs b/examples/node-queue/render.mjs new file mode 100644 index 0000000..493a509 --- /dev/null +++ b/examples/node-queue/render.mjs @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +import { readFile, writeFile, mkdir } from 'node:fs/promises'; +import { join, resolve } from 'node:path'; +import { createRenderQueue } from 'fullbleed'; + +const template = await readFile(new URL('./invoice.html', import.meta.url), 'utf8'); +const css = await readFile(new URL('./invoice.css', import.meta.url), 'utf8'); +const customers = ['Maple & Finch', 'Cedar Works', 'Fern Design', 'Juniper Press', 'Coast Studio', 'Pine & Paper']; +const escapeHtml = text => text.replace(/[&<>"']/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' })[c]); +const output = resolve(process.argv[2] ?? 'output/queued-invoices'); +await mkdir(output, { recursive: true }); +const documents = createRenderQueue({ concurrency: 2, maxQueue: 4 }); +try { + const results = await Promise.all(customers.map(async (customer, index) => { + const reference = `NS-${1042 + index}`; + const html = template.replaceAll('Maple & Finch', escapeHtml(customer)).replaceAll('NS-1042', reference); + const result = await documents.renderPdf({ html, css, previewDpi: index === 0 ? 96 : 0 }); + await writeFile(join(output, reference + '.pdf'), result.pdf); + if (index === 0) await writeFile(join(output, reference + '.png'), result.previews[0]); + return { reference, customer, pages: result.pages, missingGlyphs: result.missingGlyphs }; + })); + console.log(JSON.stringify({ output, invoices: results })); +} finally { + await documents.close(); +} diff --git a/examples/node-queue/source.json b/examples/node-queue/source.json new file mode 100644 index 0000000..8212c3f --- /dev/null +++ b/examples/node-queue/source.json @@ -0,0 +1,20 @@ +{ + "package_version": "0.4.0", + "engine_version": "2.5.11", + "source_commit": "807e4d4cd124980bcc9344a316c47ae3928160b5", + "package_url": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "package_integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", + "package_sha256": "fa653f7cc1396cfaf1710656dac7fa37269453263e6b29878a5a3385531d6eb4", + "rendered": { + "NS-1042.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", + "NS-1042.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", + "NS-1043.pdf": "4adda7f7e56df435c40d9a1c1fc3546e2493289d8874ec26a7a16e4ed19b8f44", + "NS-1044.pdf": "3d9de4b2366ad977a8bb527cfd20e8d9e62382cd73fb49b651da3a2627d5c56d", + "NS-1045.pdf": "a48c1120789cb9b593700786103a7494a96d84cffd9196a2cd0dd0fac3208063", + "NS-1046.pdf": "eeabaf8070ef7fdc3d87728bedab9b8e5881a9994a7c5784a3bf9ba844ba9a3b", + "NS-1047.pdf": "334dfd5d0213f8a34b9b02eb6b95d11817f6395e99ebbfa0e8224dde06e86dce" + }, + "fictional_data": true, + "license": "MIT", + "verification_scope": "Six fictional invoices, queue worker limits, guide snippet, and exact replay using the public npm package." +} diff --git a/examples/node/README.md b/examples/node/README.md index f44cfde..d302a92 100644 --- a/examples/node/README.md +++ b/examples/node/README.md @@ -1,6 +1,6 @@ # A designed invoice from Node.js -This fictional Northstar Studio invoice uses Fullbleed's Node package 0.3.2, +This fictional Northstar Studio invoice uses Fullbleed's Node package 0.4.0, which bundles the Fullbleed 2.5.11 engine and Inter, DM Serif Display, and Bebas Neue fonts. You need Node.js 22 or newer; no Python or Rust installation is needed. @@ -13,7 +13,7 @@ Open `output/invoice/invoice.pdf` and `output/invoice/page-1.png`. Change the `customer` value in `render.mjs`; the script escapes it before insertion into HTML. Edit `invoice.html` and `invoice.css` for your own layout and data. -The lockfile pins Fullbleed 0.3.2 from npm and its integrity hash. +The lockfile pins Fullbleed 0.4.0 from npm and its integrity hash. The package renders locally; it does not upload documents to a service. The sample and engine are MIT licensed. The package retains the bundled font diff --git a/examples/node/package-lock.json b/examples/node/package-lock.json index 2e7c52a..13a971f 100644 --- a/examples/node/package-lock.json +++ b/examples/node/package-lock.json @@ -8,7 +8,7 @@ "name": "fullbleed-node-invoice", "version": "1.0.0", "dependencies": { - "fullbleed": "0.3.2" + "fullbleed": "0.4.0" }, "engines": { "node": ">=22" @@ -21,9 +21,9 @@ "license": "MIT OR Apache-2.0" }, "node_modules/fullbleed": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.3.2.tgz", - "integrity": "sha512-bzbTUn6Hcxu0YZoP38wkrJ/nZ33+rQfZq5itdpQUl7lIO9mR1m9LC5n/2KLxjj+7dAb8IhpYoVTSmbuhQyA5Vg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", "license": "MIT", "dependencies": { "@bjorn3/browser_wasi_shim": "0.4.2" diff --git a/examples/node/package.json b/examples/node/package.json index 3166a70..5eee503 100644 --- a/examples/node/package.json +++ b/examples/node/package.json @@ -10,6 +10,6 @@ "node": ">=22" }, "dependencies": { - "fullbleed": "0.3.2" + "fullbleed": "0.4.0" } } diff --git a/examples/node/source.json b/examples/node/source.json index 3f26e18..e41484e 100644 --- a/examples/node/source.json +++ b/examples/node/source.json @@ -1,10 +1,10 @@ { - "package_version": "0.3.2", + "package_version": "0.4.0", "engine_version": "2.5.11", - "source_commit": "38963536427d85e347182b3b8141d0a84c855a26", - "package_url": "https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.3.2/fullbleed-0.3.2.tgz", - "package_integrity": "sha512-bzbTUn6Hcxu0YZoP38wkrJ/nZ33+rQfZq5itdpQUl7lIO9mR1m9LC5n/2KLxjj+7dAb8IhpYoVTSmbuhQyA5Vg==", - "package_sha256": "536a18eb10847326cc9cbe19ef88e41201230e655a0e7bc69cadbce41b85b971", + "source_commit": "807e4d4cd124980bcc9344a316c47ae3928160b5", + "package_url": "https://registry.npmjs.org/fullbleed/-/fullbleed-0.4.0.tgz", + "package_integrity": "sha512-dvgpKB8dOtf1Nb7TAQF1EKhC3A34qYcJeM5i86XFww93k7Krm0LIsa4u/UntK1lrCZ+bWj/NveenTNhrejpomQ==", + "package_sha256": "fa653f7cc1396cfaf1710656dac7fa37269453263e6b29878a5a3385531d6eb4", "rendered": { "invoice.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", "invoice.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7" diff --git a/mkdocs.yml b/mkdocs.yml index dec367b..2f43b1c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -92,6 +92,7 @@ nav: - Browser PDF generation: guides/browser-pdf.md - React PDF previews: guides/react-pdf.md - Vue PDF previews: guides/vue-pdf.md + - Queue Node PDF jobs: guides/node-render-queue.md - Next.js PDF downloads: guides/nextjs-pdf.md - ASP.NET Core PDF downloads: guides/aspnet-pdf.md - Variable-data documents: guides/bank-statements.md diff --git a/tools/build_node_queue.py b/tools/build_node_queue.py new file mode 100644 index 0000000..1fece51 --- /dev/null +++ b/tools/build_node_queue.py @@ -0,0 +1,33 @@ +"""Bundle the Node render-queue example with its pinned public npm package.""" +from hashlib import sha256 +from pathlib import Path +import json +import zipfile + +ROOT = Path(__file__).resolve().parents[1] +SOURCE = ROOT / 'examples/node-queue' +DEST = ROOT / 'docs/assets/node-queue' +FILES = ['LICENSE', 'README.md', 'invoice.html', 'invoice.css', 'render.mjs', + 'package.json', 'package-lock.json'] +record = json.loads((SOURCE / 'source.json').read_text(encoding='utf-8')) +package = json.loads((SOURCE / 'package.json').read_text(encoding='utf-8')) +lock = json.loads((SOURCE / 'package-lock.json').read_text(encoding='utf-8')) +assert record['package_version'] == package['dependencies']['fullbleed'] +assert record['package_integrity'] == lock['packages']['node_modules/fullbleed']['integrity'] +assert record['package_integrity'].startswith('sha512-') +DEST.mkdir(parents=True, exist_ok=True) +target = DEST / 'project.zip' +records = [] +with zipfile.ZipFile(target, 'w', compression=zipfile.ZIP_DEFLATED, compresslevel=9) as archive: + for name in FILES: + data = (SOURCE / name).read_bytes() + info = zipfile.ZipInfo('node-pdf-queue/' + name, date_time=(2026, 10, 7, 0, 0, 0)) + info.compress_type = zipfile.ZIP_DEFLATED + info.create_system = 3 + info.external_attr = 0o100644 << 16 + archive.writestr(info, data, compresslevel=9) + records.append({'path': name, 'bytes': len(data), 'sha256': sha256(data).hexdigest()}) +record.update(files=records, zip_bytes=target.stat().st_size, + zip_sha256=sha256(target.read_bytes()).hexdigest()) +(DEST / 'source.json').write_text(json.dumps(record, indent=2) + '\n', encoding='utf-8', newline='\n') +print(json.dumps({'ok': True, 'files': len(FILES), 'zip_sha256': record['zip_sha256']})) diff --git a/tools/verify_node_queue.py b/tools/verify_node_queue.py new file mode 100644 index 0000000..f3ac80a --- /dev/null +++ b/tools/verify_node_queue.py @@ -0,0 +1,152 @@ +"""Execute the downloadable queue project and guide using the public npm package.""" +import argparse +from hashlib import sha256 +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import tempfile +import zipfile + +import pypdf +import pypdfium2 + +ROOT = Path(__file__).resolve().parents[1] +parser = argparse.ArgumentParser(description=__doc__) +parser.add_argument('--node', default=shutil.which('node')) +parser.add_argument('--out', type=Path, default=ROOT / 'output/node-queue-verification') +parser.add_argument('--zip', type=Path) +parser.add_argument('--update-assets', action='store_true') +args = parser.parse_args() +node = Path(args.node).resolve() +npm = next(p for p in [node.parent / 'node_modules/npm/bin/npm-cli.js', + node.parent.parent / 'lib/node_modules/npm/bin/npm-cli.js'] if p.is_file()) +out = args.out.resolve() +out.mkdir(parents=True, exist_ok=True) +workspace = Path(tempfile.mkdtemp(prefix='queue project with spaces ', dir=out)) +assets = ROOT / 'docs/assets/node-queue' +manifest = json.loads((assets / 'source.json').read_text(encoding='utf-8')) +archive_path = args.zip or assets / 'project.zip' +digest = lambda data: sha256(data).hexdigest() +checks = [] + + +def check(name, condition): + checks.append({'name': name, 'passed': bool(condition)}) + assert condition, name + + +check('download ZIP matches the source manifest', digest(archive_path.read_bytes()) == manifest['zip_sha256']) +with zipfile.ZipFile(archive_path) as archive: + check('ZIP contains exactly the reviewed files', + sorted(archive.namelist()) == sorted('node-pdf-queue/' + f['path'] for f in manifest['files'])) + for record in manifest['files']: + name = record['path'] + data = archive.read('node-pdf-queue/' + name) + destination = (workspace / 'node-pdf-queue' / name).resolve() + assert destination.is_relative_to(workspace) + check('source and ZIP bytes: ' + name, len(data) == record['bytes'] and digest(data) == record['sha256'] + and data == (ROOT / 'examples/node-queue' / name).read_bytes()) + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_bytes(data) +project = workspace / 'node-pdf-queue' +env = {**os.environ, 'PATH': str(node.parent) + os.pathsep + os.environ['PATH']} +commands = [] + + +def run(label, command, cwd=project): + result = subprocess.run([str(node), *map(str, command)], cwd=cwd, env=env, + capture_output=True, text=True, encoding='utf-8', timeout=180) + (out / (label + '.stdout.txt')).write_text(result.stdout, encoding='utf-8') + (out / (label + '.stderr.txt')).write_text(result.stderr, encoding='utf-8') + check(label + ' command succeeds', result.returncode == 0) + commands.append({'name': label, 'exit_code': result.returncode}) + return result.stdout + + +run('install', [npm, 'ci', '--ignore-scripts', '--no-audit', '--no-fund']) +package = json.loads((project / 'node_modules/fullbleed/package.json').read_text(encoding='utf-8')) +lock = json.loads((project / 'package-lock.json').read_text(encoding='utf-8')) +check('installed version and engine match the guide', package['version'] == manifest['package_version'] + and package['fullbleed']['engineVersion'] == manifest['engine_version']) +check('lockfile integrity matches the verified release', + lock['packages']['node_modules/fullbleed']['integrity'] == manifest['package_integrity']) +(project / 'observe.mjs').write_text('''import assert from 'node:assert/strict'; +import { writeFile } from 'node:fs/promises'; +let created = 0, peak = 0; +const active = new Set(); +process.on('worker', worker => { + created++; active.add(worker); peak = Math.max(peak, active.size); + worker.once('exit', () => active.delete(worker)); +}); +assert.equal(import.meta.resolve('fullbleed'), new URL('node_modules/fullbleed/src/index.js', import.meta.url).href); +await import('./render.mjs'); +assert.equal(created, 6); assert.equal(peak, 2); assert.equal(active.size, 0); +await writeFile('workers.json', JSON.stringify({ created, peak, remaining: active.size, + node: process.version, platform: process.platform })); +''', encoding='utf-8') +batch = json.loads(run('batch', ['observe.mjs'])) +workers = json.loads((project / 'workers.json').read_text(encoding='utf-8')) +check('six distinct invoices rendered without missing glyphs', len(batch['invoices']) == 6 + and len({row['reference'] for row in batch['invoices']}) == 6 + and all(row['pages'] == 1 and row['missingGlyphs'] == 0 for row in batch['invoices'])) +check('actual worker concurrency stays at two and all workers exit', + workers['created'] == 6 and workers['peak'] == 2 and workers['remaining'] == 0) + + +def inspect(path, expected): + pdf = pypdf.PdfReader(path) + check(path.name + ': one PDF page', len(pdf.pages) == 1) + texts = {'pypdf': pdf.pages[0].extract_text()} + with pypdfium2.PdfDocument(path) as document: + assert len(document) == 1 + page = document[0] + textpage = page.get_textpage() + try: + texts['PDFium'] = textpage.get_text_range() + finally: + textpage.close() + page.close() + for reader, text in texts.items(): + normalized = ' '.join(text.split()) + check(path.name + ': expected fields in ' + reader, all(value in normalized for value in expected)) + + +rendered = project / 'output/queued-invoices' +outputs = {} +for row in batch['invoices']: + name = row['reference'] + '.pdf' + inspect(rendered / name, [row['reference'], row['customer'], '1,870.00']) +for name, expected in manifest['rendered'].items(): + data = (rendered / name).read_bytes() + outputs[name] = digest(data) + check(name + ': matches reviewed output', outputs[name] == expected) + if args.update_assets: + (assets / name).write_bytes(data) + else: + check(name + ': published asset bytes match', data == (assets / name).read_bytes()) +run('replay', ['render.mjs']) +check('exact-input replay preserves every PDF and PNG', + all(digest((rendered / name).read_bytes()) == value for name, value in outputs.items())) + +guide = (ROOT / 'docs/guides/node-render-queue.md').read_text(encoding='utf-8') +snippets = re.findall(r'```javascript\n(.*?)```', guide, re.S) +check('guide contains one executable JavaScript example', len(snippets) == 1) +snippet_dir = project / 'guide-snippet' +snippet_dir.mkdir() +(snippet_dir / 'guide.mjs').write_text(snippets[0], encoding='utf-8') +run('guide-snippet', ['guide.mjs'], snippet_dir) +for reference in [1042, 1043, 1044]: + inspect(snippet_dir / f'invoice-{reference}.pdf', [f'NS-{reference}', '1,200.00']) + +report = {'schema': 'fullbleed.node-queue-example-verification.v1', 'ok': True, + 'package_version': package['version'], 'engine_version': package['fullbleed']['engineVersion'], + 'workers': workers, 'readers': ['pypdf', 'PDFium'], 'commands': commands, + 'project_zip_sha256': manifest['zip_sha256'], 'outputs': outputs, 'checks': checks, + 'scope': 'This downloaded batch, guide snippet, and exact replay; no throughput or memory-capacity claim.'} +(out / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8') +if args.update_assets: + (assets / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8') +print(json.dumps({'ok': True, 'checks': len(checks), 'workers': workers})) From 83f535abadb1d3af18f5f822c1ff6f0a3d220568 Mon Sep 17 00:00:00 2001 From: krflol Date: Wed, 7 Oct 2026 16:38:56 -0500 Subject: [PATCH 2/2] Write queue evidence with stable LF line endings --- docs/assets/node-queue/verification.json | 520 +++++++++++------------ tools/verify_node_queue.py | 4 +- 2 files changed, 262 insertions(+), 262 deletions(-) diff --git a/docs/assets/node-queue/verification.json b/docs/assets/node-queue/verification.json index f0fb81f..8ffb682 100644 --- a/docs/assets/node-queue/verification.json +++ b/docs/assets/node-queue/verification.json @@ -1,260 +1,260 @@ -{ - "schema": "fullbleed.node-queue-example-verification.v1", - "ok": true, - "package_version": "0.4.0", - "engine_version": "2.5.11", - "workers": { - "created": 6, - "peak": 2, - "remaining": 0, - "node": "v22.23.3", - "platform": "win32" - }, - "readers": [ - "pypdf", - "PDFium" - ], - "commands": [ - { - "name": "install", - "exit_code": 0 - }, - { - "name": "batch", - "exit_code": 0 - }, - { - "name": "replay", - "exit_code": 0 - }, - { - "name": "guide-snippet", - "exit_code": 0 - } - ], - "project_zip_sha256": "4e96bab39784c58eacefb4e4b368862a948eda5f6b4af90b2b78d248925141e9", - "outputs": { - "NS-1042.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", - "NS-1042.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", - "NS-1043.pdf": "4adda7f7e56df435c40d9a1c1fc3546e2493289d8874ec26a7a16e4ed19b8f44", - "NS-1044.pdf": "3d9de4b2366ad977a8bb527cfd20e8d9e62382cd73fb49b651da3a2627d5c56d", - "NS-1045.pdf": "a48c1120789cb9b593700786103a7494a96d84cffd9196a2cd0dd0fac3208063", - "NS-1046.pdf": "eeabaf8070ef7fdc3d87728bedab9b8e5881a9994a7c5784a3bf9ba844ba9a3b", - "NS-1047.pdf": "334dfd5d0213f8a34b9b02eb6b95d11817f6395e99ebbfa0e8224dde06e86dce" - }, - "checks": [ - { - "name": "download ZIP matches the source manifest", - "passed": true - }, - { - "name": "ZIP contains exactly the reviewed files", - "passed": true - }, - { - "name": "source and ZIP bytes: LICENSE", - "passed": true - }, - { - "name": "source and ZIP bytes: README.md", - "passed": true - }, - { - "name": "source and ZIP bytes: invoice.html", - "passed": true - }, - { - "name": "source and ZIP bytes: invoice.css", - "passed": true - }, - { - "name": "source and ZIP bytes: render.mjs", - "passed": true - }, - { - "name": "source and ZIP bytes: package.json", - "passed": true - }, - { - "name": "source and ZIP bytes: package-lock.json", - "passed": true - }, - { - "name": "install command succeeds", - "passed": true - }, - { - "name": "installed version and engine match the guide", - "passed": true - }, - { - "name": "lockfile integrity matches the verified release", - "passed": true - }, - { - "name": "batch command succeeds", - "passed": true - }, - { - "name": "six distinct invoices rendered without missing glyphs", - "passed": true - }, - { - "name": "actual worker concurrency stays at two and all workers exit", - "passed": true - }, - { - "name": "NS-1042.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1042.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1042.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1043.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1043.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1043.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1044.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1044.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1044.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1045.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1045.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1045.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1046.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1046.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1046.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1047.pdf: one PDF page", - "passed": true - }, - { - "name": "NS-1047.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "NS-1047.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "NS-1042.pdf: matches reviewed output", - "passed": true - }, - { - "name": "NS-1042.png: matches reviewed output", - "passed": true - }, - { - "name": "NS-1043.pdf: matches reviewed output", - "passed": true - }, - { - "name": "NS-1044.pdf: matches reviewed output", - "passed": true - }, - { - "name": "NS-1045.pdf: matches reviewed output", - "passed": true - }, - { - "name": "NS-1046.pdf: matches reviewed output", - "passed": true - }, - { - "name": "NS-1047.pdf: matches reviewed output", - "passed": true - }, - { - "name": "replay command succeeds", - "passed": true - }, - { - "name": "exact-input replay preserves every PDF and PNG", - "passed": true - }, - { - "name": "guide contains one executable JavaScript example", - "passed": true - }, - { - "name": "guide-snippet command succeeds", - "passed": true - }, - { - "name": "invoice-1042.pdf: one PDF page", - "passed": true - }, - { - "name": "invoice-1042.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "invoice-1042.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "invoice-1043.pdf: one PDF page", - "passed": true - }, - { - "name": "invoice-1043.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "invoice-1043.pdf: expected fields in PDFium", - "passed": true - }, - { - "name": "invoice-1044.pdf: one PDF page", - "passed": true - }, - { - "name": "invoice-1044.pdf: expected fields in pypdf", - "passed": true - }, - { - "name": "invoice-1044.pdf: expected fields in PDFium", - "passed": true - } - ], - "scope": "This downloaded batch, guide snippet, and exact replay; no throughput or memory-capacity claim." -} +{ + "schema": "fullbleed.node-queue-example-verification.v1", + "ok": true, + "package_version": "0.4.0", + "engine_version": "2.5.11", + "workers": { + "created": 6, + "peak": 2, + "remaining": 0, + "node": "v22.23.3", + "platform": "win32" + }, + "readers": [ + "pypdf", + "PDFium" + ], + "commands": [ + { + "name": "install", + "exit_code": 0 + }, + { + "name": "batch", + "exit_code": 0 + }, + { + "name": "replay", + "exit_code": 0 + }, + { + "name": "guide-snippet", + "exit_code": 0 + } + ], + "project_zip_sha256": "4e96bab39784c58eacefb4e4b368862a948eda5f6b4af90b2b78d248925141e9", + "outputs": { + "NS-1042.pdf": "3078d155f30536f5ad721f7be3c241cd78661ae41249131fc0fd65f37f23e408", + "NS-1042.png": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", + "NS-1043.pdf": "4adda7f7e56df435c40d9a1c1fc3546e2493289d8874ec26a7a16e4ed19b8f44", + "NS-1044.pdf": "3d9de4b2366ad977a8bb527cfd20e8d9e62382cd73fb49b651da3a2627d5c56d", + "NS-1045.pdf": "a48c1120789cb9b593700786103a7494a96d84cffd9196a2cd0dd0fac3208063", + "NS-1046.pdf": "eeabaf8070ef7fdc3d87728bedab9b8e5881a9994a7c5784a3bf9ba844ba9a3b", + "NS-1047.pdf": "334dfd5d0213f8a34b9b02eb6b95d11817f6395e99ebbfa0e8224dde06e86dce" + }, + "checks": [ + { + "name": "download ZIP matches the source manifest", + "passed": true + }, + { + "name": "ZIP contains exactly the reviewed files", + "passed": true + }, + { + "name": "source and ZIP bytes: LICENSE", + "passed": true + }, + { + "name": "source and ZIP bytes: README.md", + "passed": true + }, + { + "name": "source and ZIP bytes: invoice.html", + "passed": true + }, + { + "name": "source and ZIP bytes: invoice.css", + "passed": true + }, + { + "name": "source and ZIP bytes: render.mjs", + "passed": true + }, + { + "name": "source and ZIP bytes: package.json", + "passed": true + }, + { + "name": "source and ZIP bytes: package-lock.json", + "passed": true + }, + { + "name": "install command succeeds", + "passed": true + }, + { + "name": "installed version and engine match the guide", + "passed": true + }, + { + "name": "lockfile integrity matches the verified release", + "passed": true + }, + { + "name": "batch command succeeds", + "passed": true + }, + { + "name": "six distinct invoices rendered without missing glyphs", + "passed": true + }, + { + "name": "actual worker concurrency stays at two and all workers exit", + "passed": true + }, + { + "name": "NS-1042.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1042.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1042.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1043.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1043.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1043.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1044.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1044.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1044.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1045.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1045.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1045.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1046.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1046.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1046.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1047.pdf: one PDF page", + "passed": true + }, + { + "name": "NS-1047.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "NS-1047.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "NS-1042.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1042.png: matches reviewed output", + "passed": true + }, + { + "name": "NS-1043.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1044.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1045.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1046.pdf: matches reviewed output", + "passed": true + }, + { + "name": "NS-1047.pdf: matches reviewed output", + "passed": true + }, + { + "name": "replay command succeeds", + "passed": true + }, + { + "name": "exact-input replay preserves every PDF and PNG", + "passed": true + }, + { + "name": "guide contains one executable JavaScript example", + "passed": true + }, + { + "name": "guide-snippet command succeeds", + "passed": true + }, + { + "name": "invoice-1042.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1042.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1042.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "invoice-1043.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1043.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1043.pdf: expected fields in PDFium", + "passed": true + }, + { + "name": "invoice-1044.pdf: one PDF page", + "passed": true + }, + { + "name": "invoice-1044.pdf: expected fields in pypdf", + "passed": true + }, + { + "name": "invoice-1044.pdf: expected fields in PDFium", + "passed": true + } + ], + "scope": "This downloaded batch, guide snippet, and exact replay; no throughput or memory-capacity claim." +} diff --git a/tools/verify_node_queue.py b/tools/verify_node_queue.py index f3ac80a..432fe39 100644 --- a/tools/verify_node_queue.py +++ b/tools/verify_node_queue.py @@ -146,7 +146,7 @@ def inspect(path, expected): 'workers': workers, 'readers': ['pypdf', 'PDFium'], 'commands': commands, 'project_zip_sha256': manifest['zip_sha256'], 'outputs': outputs, 'checks': checks, 'scope': 'This downloaded batch, guide snippet, and exact replay; no throughput or memory-capacity claim.'} -(out / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8') +(out / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8', newline='\n') if args.update_assets: - (assets / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8') + (assets / 'verification.json').write_text(json.dumps(report, indent=2) + '\n', encoding='utf-8', newline='\n') print(json.dumps({'ok': True, 'checks': len(checks), 'workers': workers}))