fullbleed 0.1.3 → 0.1.5
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 +26 -10
- package/dist/THIRD_PARTY_NOTICES.txt +2 -2
- package/dist/build.json +7 -7
- package/dist/engine.wasm +0 -0
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -4,10 +4,12 @@ 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
|
|
8
|
-
The Node package has its own version, **0.1.
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
This is an optional integration around the published **Fullbleed 2.5.8** engine.
|
|
8
|
+
The Node package has its own version, **0.1.5**. Normal text now selects a custom
|
|
9
|
+
family's regular face even when its italic face is supplied first. Review saved
|
|
10
|
+
PDF baselines when upgrading: affected documents can change appearance and line
|
|
11
|
+
breaks. See the [font-family checks](https://github.com/fullbleed-engine/fullbleed-node/blob/main/docs/font-families.md) and
|
|
12
|
+
[embedded-font checks](https://github.com/fullbleed-engine/fullbleed-node/blob/main/docs/font-subsets.md) for the retained fixtures.
|
|
11
13
|
|
|
12
14
|
## Install and render
|
|
13
15
|
|
|
@@ -17,9 +19,9 @@ Use Node.js 22 or newer. Install the [npm package](https://www.npmjs.com/package
|
|
|
17
19
|
npm install fullbleed
|
|
18
20
|
```
|
|
19
21
|
|
|
20
|
-
For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.
|
|
21
|
-
|
|
22
|
-
[GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.
|
|
22
|
+
For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.5`.
|
|
23
|
+
Release verification compares the npm tarball with the checked
|
|
24
|
+
[GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.5).
|
|
23
25
|
See the [installation verification records](https://github.com/fullbleed-engine/fullbleed-node/tree/main/verification).
|
|
24
26
|
|
|
25
27
|
Save this as `invoice.mjs` and run `node invoice.mjs`:
|
|
@@ -164,8 +166,8 @@ arbitrary browser pages.
|
|
|
164
166
|
## Build and verify from source
|
|
165
167
|
|
|
166
168
|
Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target. The independent
|
|
167
|
-
PDF
|
|
168
|
-
|
|
169
|
+
PDF checks also use Python with the test-only readers listed below. Package users
|
|
170
|
+
do not need a compiler or Python. Dependencies are pinned in both lockfiles.
|
|
169
171
|
|
|
170
172
|
```bash
|
|
171
173
|
rustup target add wasm32-wasip1
|
|
@@ -175,8 +177,12 @@ npm test
|
|
|
175
177
|
npm run check:types
|
|
176
178
|
npm run verify:native
|
|
177
179
|
npm run verify:pack
|
|
178
|
-
python -m pip install pypdf==6.19.0
|
|
180
|
+
python -m pip install pypdf==6.19.0 pypdfium2==5.14.0 fonttools==4.65.0 pillow==12.3.0
|
|
179
181
|
npm run verify:text
|
|
182
|
+
npm run render:fonts
|
|
183
|
+
npm run verify:fonts
|
|
184
|
+
npm run render:families
|
|
185
|
+
npm run verify:families
|
|
180
186
|
```
|
|
181
187
|
|
|
182
188
|
The build records engine metadata, licenses, and artifact hashes in `dist/`.
|
|
@@ -185,6 +191,16 @@ fonts, and image assets; compares native and WebAssembly PDF/PNG bytes; checks
|
|
|
185
191
|
error recovery; and installs the packed tarball into a separate directory with
|
|
186
192
|
spaces in its path. CI exercises Node 22, 24, and 26 on Windows, Linux, and macOS.
|
|
187
193
|
Retained release evidence describes the verified fixtures and scope.
|
|
194
|
+
The font check reads PDFs from the isolated tarball installation, checks the
|
|
195
|
+
embedded TrueType programs against their source fonts, and compares two
|
|
196
|
+
independent text readers. CI also compares text and native/PDFium pixels with
|
|
197
|
+
the previous public npm release.
|
|
198
|
+
|
|
199
|
+
An intermittent process crash observed on Linux with Node 24.21.0 remains under
|
|
200
|
+
investigation in [issue #7](https://github.com/fullbleed-engine/fullbleed-node/issues/7).
|
|
201
|
+
Version 0.1.3 fixes worker shutdown timing, but does not establish that this crash
|
|
202
|
+
is resolved. See the [runtime investigation and diagnostic](docs/runtime-diagnostics.md)
|
|
203
|
+
for the observed scope, retained results, and a synthetic reproducer.
|
|
188
204
|
|
|
189
205
|
## License and support
|
|
190
206
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
fullbleed 2.5.
|
|
1
|
+
fullbleed 2.5.8 / 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.
|
|
26
|
+
fullbleed 2.5.8 / 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.
|
|
3
|
-
"engineVersion": "2.5.
|
|
4
|
-
"engineSource": "https://crates.io/crates/fullbleed/2.5.
|
|
2
|
+
"packageVersion": "0.1.5",
|
|
3
|
+
"engineVersion": "2.5.8",
|
|
4
|
+
"engineSource": "https://crates.io/crates/fullbleed/2.5.8",
|
|
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.
|
|
16
|
+
"version": "2.5.8",
|
|
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":
|
|
48
|
-
"sha256": "
|
|
47
|
+
"bytes": 5069661,
|
|
48
|
+
"sha256": "e95cc9132029b9c42ad684d898063b4efc043fa0b7b9fe2e7867f3eb3a17ef58"
|
|
49
49
|
},
|
|
50
50
|
"dist/THIRD_PARTY_NOTICES.txt": {
|
|
51
51
|
"bytes": 57660,
|
|
52
|
-
"sha256": "
|
|
52
|
+
"sha256": "5475f50666d3af5df89048cc1ddc98d153cd813019afbc213be20e4f3838911f"
|
|
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.
|
|
3
|
+
"version": "0.1.5",
|
|
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",
|
|
@@ -35,7 +35,11 @@
|
|
|
35
35
|
"verify:native": "node tools/verify-native.mjs",
|
|
36
36
|
"example": "node examples/invoice.mjs",
|
|
37
37
|
"verify:pack": "node tools/verify-pack.mjs",
|
|
38
|
-
"verify:text": "python tools/verify-installed-text.py"
|
|
38
|
+
"verify:text": "python tools/verify-installed-text.py",
|
|
39
|
+
"render:fonts": "node tools/render-font-subsets.mjs",
|
|
40
|
+
"verify:fonts": "python tools/verify-font-subsets.py",
|
|
41
|
+
"render:families": "node tools/render-font-families.mjs",
|
|
42
|
+
"verify:families": "python tools/verify-font-families.py output/font-families"
|
|
39
43
|
},
|
|
40
44
|
"dependencies": {
|
|
41
45
|
"@bjorn3/browser_wasi_shim": "0.4.2"
|
|
@@ -63,7 +67,7 @@
|
|
|
63
67
|
"access": "public"
|
|
64
68
|
},
|
|
65
69
|
"fullbleed": {
|
|
66
|
-
"engineVersion": "2.5.
|
|
70
|
+
"engineVersion": "2.5.8"
|
|
67
71
|
},
|
|
68
72
|
"devDependencies": {
|
|
69
73
|
"@types/node": "22.20.5",
|