fullbleed 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,17 +4,23 @@ Generate PDFs from static HTML and CSS in Node.js. The package includes the
4
4
  Fullbleed Rust engine compiled to WebAssembly and four font faces, so installing
5
5
  it does not require Python, Rust, a browser, or system fonts. MIT licensed.
6
6
 
7
- This is an optional integration around the unchanged **Fullbleed 2.5.5** engine.
8
- The Node package has its own version, **0.1.1**.
7
+ This is an optional integration around the unchanged **Fullbleed 2.5.6** engine.
8
+ The Node package has its own version, **0.1.2**. This patch keeps synthesized-bold
9
+ headings searchable once instead of exposing duplicate text to PDF readers.
9
10
 
10
11
  ## Install and render
11
12
 
12
- Use Node.js 22 or newer. Install the versioned package from its GitHub release:
13
+ Use Node.js 22 or newer. Install the [npm package](https://www.npmjs.com/package/fullbleed):
13
14
 
14
15
  ```bash
15
- npm install https://github.com/fullbleed-engine/fullbleed-node/releases/download/v0.1.1/fullbleed-0.1.1.tgz
16
+ npm install fullbleed
16
17
  ```
17
18
 
19
+ For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.2`.
20
+ The npm tarball is byte-identical to the verified
21
+ [GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.2).
22
+ See the [installation verification records](https://github.com/fullbleed-engine/fullbleed-node/tree/main/verification).
23
+
18
24
  Save this as `invoice.mjs` and run `node invoice.mjs`:
19
25
 
20
26
  ```javascript
@@ -57,6 +63,14 @@ npm run example
57
63
  Open `output/invoice/invoice.pdf` and `page-1.png`. The [three-page report
58
64
  sources](examples/report.html) demonstrate pagination, tables, and vector artwork.
59
65
 
66
+ ## Use it in Next.js
67
+
68
+ For a web application, start with the [Next.js PDF download example](examples/nextjs).
69
+ It includes a designed invoice, an App Router handler, production build settings
70
+ for the worker and bundled assets, and a standalone-server verification script.
71
+ The route bounds rendering and returns private PDF attachments from fictional
72
+ data; connect your own authenticated record lookup when adapting it.
73
+
60
74
  ## Fonts and assets
61
75
 
62
76
  Supply file bytes explicitly. Additional fonts are registered alongside the
@@ -143,8 +157,9 @@ arbitrary browser pages.
143
157
 
144
158
  ## Build and verify from source
145
159
 
146
- Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target. Package users
147
- do not need a compiler. Dependencies are pinned in both lockfiles.
160
+ Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target. The independent
161
+ PDF text check also uses Python with the test-only `pypdf==6.19.0` reader. Package
162
+ users do not need a compiler or Python. Dependencies are pinned in both lockfiles.
148
163
 
149
164
  ```bash
150
165
  rustup target add wasm32-wasip1
@@ -154,6 +169,8 @@ npm test
154
169
  npm run check:types
155
170
  npm run verify:native
156
171
  npm run verify:pack
172
+ python -m pip install pypdf==6.19.0
173
+ npm run verify:text
157
174
  ```
158
175
 
159
176
  The build records engine metadata, licenses, and artifact hashes in `dist/`.
@@ -1,4 +1,4 @@
1
- fullbleed 2.5.5 / LICENSE
1
+ fullbleed 2.5.6 / LICENSE
2
2
 
3
3
  MIT License
4
4
 
@@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  SOFTWARE.
24
24
 
25
25
 
26
- fullbleed 2.5.5 / THIRD_PARTY_LICENSES.md
26
+ fullbleed 2.5.6 / THIRD_PARTY_LICENSES.md
27
27
 
28
28
  <!-- SPDX-License-Identifier: MIT -->
29
29
  # Third-Party Licenses
package/dist/build.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
- "packageVersion": "0.1.1",
3
- "engineVersion": "2.5.5",
4
- "engineSource": "https://crates.io/crates/fullbleed/2.5.5",
2
+ "packageVersion": "0.1.2",
3
+ "engineVersion": "2.5.6",
4
+ "engineSource": "https://crates.io/crates/fullbleed/2.5.6",
5
5
  "target": "wasm32-wasip1",
6
6
  "memoryMaximumBytes": 536870912,
7
7
  "fonts": [
@@ -13,7 +13,7 @@
13
13
  "dependencies": [
14
14
  {
15
15
  "name": "fullbleed",
16
- "version": "2.5.5",
16
+ "version": "2.5.6",
17
17
  "source": "registry+https://github.com/rust-lang/crates.io-index",
18
18
  "license": "MIT"
19
19
  },
@@ -44,12 +44,12 @@
44
44
  ],
45
45
  "files": {
46
46
  "dist/engine.wasm": {
47
- "bytes": 5047938,
48
- "sha256": "60f06871dcd0109f919581f21ba5dac716c2c160094f380d5dba58ec96f0d5ee"
47
+ "bytes": 5053312,
48
+ "sha256": "2e9c27d67f21483df2e9e63414346eb01170ae5a8ba4a04f48c0a7d647a577a6"
49
49
  },
50
50
  "dist/THIRD_PARTY_NOTICES.txt": {
51
51
  "bytes": 57660,
52
- "sha256": "f369b7da5c0d54fb0be0917475e5964cfa276cfe3c7c830f7853213592d41ab8"
52
+ "sha256": "4a945a683c5f4be6a4c74b59f45aa1f5e6627022a80addddb6eaf68ed3916d9f"
53
53
  },
54
54
  "assets/fonts/BebasNeue-OFL.txt": {
55
55
  "bytes": 4337,
package/dist/engine.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fullbleed",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Generate PDFs from HTML and CSS in Node.js with the Fullbleed Rust engine, bundled fonts, and optional PNG previews.",
5
5
  "type": "module",
6
6
  "main": "./src/index.cjs",
@@ -34,7 +34,8 @@
34
34
  "check:types": "tsc -p tsconfig.json",
35
35
  "verify:native": "node tools/verify-native.mjs",
36
36
  "example": "node examples/invoice.mjs",
37
- "verify:pack": "node tools/verify-pack.mjs"
37
+ "verify:pack": "node tools/verify-pack.mjs",
38
+ "verify:text": "python tools/verify-installed-text.py"
38
39
  },
39
40
  "dependencies": {
40
41
  "@bjorn3/browser_wasi_shim": "0.4.2"
@@ -62,7 +63,7 @@
62
63
  "access": "public"
63
64
  },
64
65
  "fullbleed": {
65
- "engineVersion": "2.5.5"
66
+ "engineVersion": "2.5.6"
66
67
  },
67
68
  "devDependencies": {
68
69
  "@types/node": "22.20.5",