pretext-pdf 0.9.3 → 1.0.1
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/CHANGELOG.md +141 -1
- package/README.md +874 -795
- package/dist/allowed-props.d.ts +1 -0
- package/dist/allowed-props.d.ts.map +1 -1
- package/dist/allowed-props.js +2 -0
- package/dist/allowed-props.js.map +1 -1
- package/dist/assets.d.ts +4 -2
- package/dist/assets.d.ts.map +1 -1
- package/dist/assets.js +22 -1
- package/dist/assets.js.map +1 -1
- package/dist/benchmarks/corpora.d.ts +11 -0
- package/dist/benchmarks/corpora.d.ts.map +1 -0
- package/dist/benchmarks/corpora.js +228 -0
- package/dist/benchmarks/corpora.js.map +1 -0
- package/dist/builder.d.ts +10 -2
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +12 -4
- package/dist/builder.js.map +1 -1
- package/dist/cli.js +19 -19
- package/dist/element-types.d.ts +16 -0
- package/dist/element-types.d.ts.map +1 -0
- package/dist/element-types.js +16 -0
- package/dist/element-types.js.map +1 -0
- package/dist/errors.d.ts +8 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -0
- package/dist/errors.js.map +1 -1
- package/dist/fonts.d.ts +2 -1
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js.map +1 -1
- package/dist/index.d.ts +21 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -309
- package/dist/index.js.map +1 -1
- package/dist/layout-state.d.ts +39 -0
- package/dist/layout-state.d.ts.map +1 -0
- package/dist/layout-state.js +46 -0
- package/dist/layout-state.js.map +1 -0
- package/dist/measure-blocks.d.ts +2 -1
- package/dist/measure-blocks.d.ts.map +1 -1
- package/dist/measure-blocks.js.map +1 -1
- package/dist/measure.d.ts +4 -2
- package/dist/measure.d.ts.map +1 -1
- package/dist/measure.js +15 -5
- package/dist/measure.js.map +1 -1
- package/dist/page-sizes.d.ts +1 -0
- package/dist/page-sizes.d.ts.map +1 -1
- package/dist/page-sizes.js.map +1 -1
- package/dist/paginate.d.ts +1 -1
- package/dist/paginate.d.ts.map +1 -1
- package/dist/paginate.js +11 -2
- package/dist/paginate.js.map +1 -1
- package/dist/pipeline-footnotes.d.ts +18 -0
- package/dist/pipeline-footnotes.d.ts.map +1 -0
- package/dist/pipeline-footnotes.js +98 -0
- package/dist/pipeline-footnotes.js.map +1 -0
- package/dist/pipeline-toc.d.ts +11 -0
- package/dist/pipeline-toc.d.ts.map +1 -0
- package/dist/pipeline-toc.js +28 -0
- package/dist/pipeline-toc.js.map +1 -0
- package/dist/pipeline.d.ts +24 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +116 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/plugin-registry.d.ts +40 -0
- package/dist/plugin-registry.d.ts.map +1 -0
- package/dist/plugin-registry.js +104 -0
- package/dist/plugin-registry.js.map +1 -0
- package/dist/plugin-types.d.ts +185 -0
- package/dist/plugin-types.d.ts.map +1 -0
- package/dist/plugin-types.js +27 -0
- package/dist/plugin-types.js.map +1 -0
- package/dist/post-process.d.ts +16 -0
- package/dist/post-process.d.ts.map +1 -0
- package/dist/post-process.js +80 -0
- package/dist/post-process.js.map +1 -0
- package/dist/render-blocks.d.ts +2 -1
- package/dist/render-blocks.d.ts.map +1 -1
- package/dist/render-blocks.js.map +1 -1
- package/dist/render-extras.d.ts +2 -2
- package/dist/render-extras.d.ts.map +1 -1
- package/dist/render-extras.js.map +1 -1
- package/dist/render.d.ts +4 -2
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +23 -4
- package/dist/render.js.map +1 -1
- package/dist/types-internal.d.ts +302 -0
- package/dist/types-internal.d.ts.map +1 -0
- package/dist/types-internal.js +9 -0
- package/dist/types-internal.js.map +1 -0
- package/dist/types-public.d.ts +1031 -0
- package/dist/types-public.d.ts.map +1 -0
- package/dist/types-public.js +2 -0
- package/dist/types-public.js.map +1 -0
- package/dist/types.d.ts +6 -1224
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -1
- package/dist/validate.d.ts +6 -4
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +50 -17
- package/dist/validate.js.map +1 -1
- package/package.json +192 -184
- package/docs/screenshots/showcase-invoice.png +0 -0
- package/docs/screenshots/showcase-report.png +0 -0
- package/docs/screenshots/showcase-resume.png +0 -0
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAA"}
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pretext-pdf — Public API barrel export
|
|
3
|
+
*
|
|
4
|
+
* This file re-exports all public types from types-public.ts.
|
|
5
|
+
* Internal types are kept separate in types-internal.ts to prevent
|
|
6
|
+
* accidental public API surface expansion.
|
|
7
|
+
*/
|
|
1
8
|
export {};
|
|
2
9
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/dist/validate.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { PdfDocument } from './types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { PdfDocument, RenderOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a PdfDocument and throw a {@link PretextPdfError} if any errors are found.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export declare function validate(doc: PdfDocument, options?: RenderOptions): void;
|
|
5
7
|
//# sourceMappingURL=validate.d.ts.map
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4C,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4C,aAAa,EAAE,MAAM,YAAY,CAAA;AA4ItG;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAwXxE"}
|
package/dist/validate.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { PretextPdfError } from './errors.js';
|
|
2
2
|
import { resolvePageDimensions } from './page-sizes.js';
|
|
3
3
|
import { ALLOWED_PROPS, ALLOWED_PROPS_SUB } from './allowed-props.js';
|
|
4
|
+
import { ELEMENT_TYPES } from './element-types.js';
|
|
5
|
+
import { findPlugin, runPluginValidate } from './plugin-registry.js';
|
|
4
6
|
/**
|
|
5
7
|
* RTL strong bidi characters — Bidi_Class=R or AL per UAX #9.
|
|
6
8
|
* Block-level coverage following Unicode DerivedBidiClass defaults.
|
|
@@ -40,7 +42,7 @@ const HEX_COLOR_REGEX = /^#[0-9A-Fa-f]{6}$/;
|
|
|
40
42
|
const SAFE_URL_SCHEME = /^(https?|mailto|ftp|#)/i;
|
|
41
43
|
/** BCP47 language tag pattern for hyphenation.language — prevents dynamic-import path injection */
|
|
42
44
|
const LANGUAGE_TAG_REGEX = /^[a-zA-Z]{2,8}(-[a-zA-Z0-9]{2,8})*$/;
|
|
43
|
-
/** Levenshtein distance
|
|
45
|
+
/** Levenshtein distance, returns 999 if result would exceed 2 */
|
|
44
46
|
function levenshteinDist(a, b) {
|
|
45
47
|
if (a === b)
|
|
46
48
|
return 0;
|
|
@@ -57,13 +59,11 @@ function levenshteinDist(a, b) {
|
|
|
57
59
|
for (let j = 1; j <= n; j++) {
|
|
58
60
|
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
59
61
|
curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
|
|
60
|
-
if (curr[j] > 2)
|
|
61
|
-
return 999;
|
|
62
62
|
}
|
|
63
63
|
for (let j = 0; j <= n; j++)
|
|
64
64
|
prev[j] = curr[j];
|
|
65
65
|
}
|
|
66
|
-
return prev[n];
|
|
66
|
+
return prev[n] > 2 ? 999 : prev[n];
|
|
67
67
|
}
|
|
68
68
|
/** Find closest match with edit distance <= 2 */
|
|
69
69
|
function closestMatch(prop, allowed) {
|
|
@@ -85,7 +85,7 @@ function assertUnknownProps(obj, allowed, path, errors) {
|
|
|
85
85
|
for (const key of Object.keys(obj)) {
|
|
86
86
|
if (!allowed.has(key)) {
|
|
87
87
|
const suggestion = closestMatch(key, allowed);
|
|
88
|
-
const hint = suggestion ? `
|
|
88
|
+
const hint = suggestion ? ` did you mean "${suggestion}"` : '';
|
|
89
89
|
errors.push(`${path}.${key}: unknown property.${hint}`);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -94,9 +94,10 @@ function assertUnknownProps(obj, allowed, path, errors) {
|
|
|
94
94
|
function formatErrors(errors) {
|
|
95
95
|
if (errors.length === 0)
|
|
96
96
|
return '';
|
|
97
|
+
const header = `Strict validation failed (${errors.length} issue${errors.length === 1 ? '' : 's'}):\n`;
|
|
97
98
|
const msgs = errors.slice(0, 20);
|
|
98
99
|
const suffix = errors.length > 20 ? `\n... and ${errors.length - 20} more error(s)` : '';
|
|
99
|
-
return msgs.join('\n') + suffix;
|
|
100
|
+
return header + msgs.join('\n') + suffix;
|
|
100
101
|
}
|
|
101
102
|
/** Validate a hyperlink URL — throws VALIDATION_ERROR for unsafe schemes */
|
|
102
103
|
function validateUrl(url, prefix) {
|
|
@@ -119,12 +120,25 @@ const STAR_WIDTH_REGEX = /^(\d*\.?\d+)?\*$/;
|
|
|
119
120
|
const BUNDLED_FAMILIES = new Set(['Inter']);
|
|
120
121
|
/** Font variants (family-weight-style) always available without explicit doc.fonts entry */
|
|
121
122
|
const BUNDLED_VARIANTS = new Set(['Inter-400-normal', 'Inter-700-normal']);
|
|
123
|
+
/**
|
|
124
|
+
* Validate a PdfDocument and throw a {@link PretextPdfError} if any errors are found.
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
122
127
|
export function validate(doc, options) {
|
|
123
128
|
const strict = options?.strict ?? false;
|
|
124
129
|
const errors = [];
|
|
130
|
+
// Plugin pre-flight: enforce type string safety and no collision with built-ins
|
|
131
|
+
for (const plugin of options?.plugins ?? []) {
|
|
132
|
+
if (!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(plugin.type)) {
|
|
133
|
+
throw new PretextPdfError('VALIDATION_ERROR', `Plugin type '${plugin.type}' is invalid. Must start with a letter and contain only letters, digits, hyphens, or underscores.`);
|
|
134
|
+
}
|
|
135
|
+
if (ELEMENT_TYPES.includes(plugin.type)) {
|
|
136
|
+
throw new PretextPdfError('VALIDATION_ERROR', `Plugin type '${plugin.type}' collides with a built-in element type. Choose a different type string.`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
125
139
|
// Strict: check doc-level properties
|
|
126
140
|
if (strict) {
|
|
127
|
-
assertUnknownProps(doc, ALLOWED_PROPS_SUB['document'], '
|
|
141
|
+
assertUnknownProps(doc, ALLOWED_PROPS_SUB['document'], 'doc', errors);
|
|
128
142
|
}
|
|
129
143
|
// content must be a non-empty array
|
|
130
144
|
if (!Array.isArray(doc.content) || doc.content.length === 0) {
|
|
@@ -288,6 +302,9 @@ export function validate(doc, options) {
|
|
|
288
302
|
// encryption
|
|
289
303
|
if (doc.encryption) {
|
|
290
304
|
const enc = doc.encryption;
|
|
305
|
+
if (strict) {
|
|
306
|
+
assertUnknownProps(enc, ALLOWED_PROPS_SUB['encryption'], 'doc.encryption', errors);
|
|
307
|
+
}
|
|
291
308
|
if (enc.userPassword !== undefined && typeof enc.userPassword !== 'string') {
|
|
292
309
|
throw new PretextPdfError('VALIDATION_ERROR', 'doc.encryption.userPassword must be a string if provided');
|
|
293
310
|
}
|
|
@@ -338,7 +355,7 @@ export function validate(doc, options) {
|
|
|
338
355
|
throw new PretextPdfError('VALIDATION_ERROR', 'signature.invisible must be a boolean');
|
|
339
356
|
}
|
|
340
357
|
if (sig.p12 !== undefined && doc.encryption !== undefined) {
|
|
341
|
-
throw new PretextPdfError('
|
|
358
|
+
throw new PretextPdfError('SIGNATURE_CERT_AND_ENCRYPTION', 'Cannot use both signature.p12 (cryptographic signing) and encryption together — the encryption step would invalidate the cryptographic signature.');
|
|
342
359
|
}
|
|
343
360
|
}
|
|
344
361
|
// bookmarks
|
|
@@ -407,7 +424,7 @@ export function validate(doc, options) {
|
|
|
407
424
|
}
|
|
408
425
|
}
|
|
409
426
|
for (let i = 0; i < doc.content.length; i++) {
|
|
410
|
-
validateElement(doc.content[i], i, loadedFamilies, strict, errors);
|
|
427
|
+
validateElement(doc.content[i], i, loadedFamilies, strict, errors, options);
|
|
411
428
|
}
|
|
412
429
|
// ── Footnote ref/def cross-validation ─────────────────────────────────────
|
|
413
430
|
const footnoteDefIds = new Map(); // id → content index
|
|
@@ -572,7 +589,7 @@ function validateFontReferences(doc, loadedFamilies) {
|
|
|
572
589
|
// code.fontFamily already validated against loadedFamilies in validateElement
|
|
573
590
|
}
|
|
574
591
|
}
|
|
575
|
-
function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
592
|
+
function validateElement(el, index, loadedFamilies, strict, errors, options) {
|
|
576
593
|
const prefix = `content[${index}]`;
|
|
577
594
|
if (!el || typeof el !== 'object' || !('type' in el)) {
|
|
578
595
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix}: each element must have a 'type' field`);
|
|
@@ -638,7 +655,7 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
638
655
|
if (el.annotation) {
|
|
639
656
|
// Strict: validate annotation properties
|
|
640
657
|
if (strict) {
|
|
641
|
-
assertUnknownProps(el.annotation, ALLOWED_PROPS_SUB['annotation'], `${prefix}
|
|
658
|
+
assertUnknownProps(el.annotation, ALLOWED_PROPS_SUB['annotation'], `${prefix}.annotation`, errors);
|
|
642
659
|
}
|
|
643
660
|
if (!el.annotation.contents || el.annotation.contents.trim() === '') {
|
|
644
661
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (paragraph): annotation.contents is required and must be non-empty`);
|
|
@@ -820,13 +837,13 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
820
837
|
}
|
|
821
838
|
// Strict: validate row and column defs
|
|
822
839
|
if (strict) {
|
|
823
|
-
assertUnknownProps(row, ALLOWED_PROPS_SUB['table-row'], `${prefix}
|
|
840
|
+
assertUnknownProps(row, ALLOWED_PROPS_SUB['table-row'], `${prefix}.rows[${ri}]`, errors);
|
|
824
841
|
}
|
|
825
842
|
for (let cellI = 0; cellI < row.cells.length; cellI++) {
|
|
826
843
|
const cell = row.cells[cellI];
|
|
827
844
|
// Strict: validate cell properties
|
|
828
845
|
if (strict) {
|
|
829
|
-
assertUnknownProps(cell, ALLOWED_PROPS_SUB['table-cell'], `${prefix}
|
|
846
|
+
assertUnknownProps(cell, ALLOWED_PROPS_SUB['table-cell'], `${prefix}.rows[${ri}].cells[${cellI}]`, errors);
|
|
830
847
|
}
|
|
831
848
|
if (typeof cell.text !== 'string') {
|
|
832
849
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (table): rows[${ri}].cells[${cellI}].text must be a string`);
|
|
@@ -1064,7 +1081,7 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
1064
1081
|
const item = el.items[ii];
|
|
1065
1082
|
// Strict: validate list item properties
|
|
1066
1083
|
if (strict) {
|
|
1067
|
-
assertUnknownProps(item, ALLOWED_PROPS_SUB['list-item'], `${prefix}
|
|
1084
|
+
assertUnknownProps(item, ALLOWED_PROPS_SUB['list-item'], `${prefix}.items[${ii}]`, errors);
|
|
1068
1085
|
}
|
|
1069
1086
|
if (typeof item.text !== 'string' || item.text.trim() === '') {
|
|
1070
1087
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (list): items[${ii}].text must be a non-empty string`);
|
|
@@ -1085,7 +1102,7 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
1085
1102
|
const nested = item.items[ni];
|
|
1086
1103
|
// Strict: validate nested list item properties
|
|
1087
1104
|
if (strict) {
|
|
1088
|
-
assertUnknownProps(nested, ALLOWED_PROPS_SUB['list-item'], `${prefix}
|
|
1105
|
+
assertUnknownProps(nested, ALLOWED_PROPS_SUB['list-item'], `${prefix}.items[${ii}].items[${ni}]`, errors);
|
|
1089
1106
|
}
|
|
1090
1107
|
if (typeof nested.text !== 'string' || nested.text.trim() === '') {
|
|
1091
1108
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (list): items[${ii}].items[${ni}].text must be a non-empty string`);
|
|
@@ -1140,7 +1157,7 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
1140
1157
|
const span = el.spans[si];
|
|
1141
1158
|
// Strict: validate span properties
|
|
1142
1159
|
if (strict) {
|
|
1143
|
-
assertUnknownProps(span, ALLOWED_PROPS_SUB['inline-span'], `${prefix}
|
|
1160
|
+
assertUnknownProps(span, ALLOWED_PROPS_SUB['inline-span'], `${prefix}.spans[${si}]`, errors);
|
|
1144
1161
|
}
|
|
1145
1162
|
if (typeof span.text !== 'string') {
|
|
1146
1163
|
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (rich-paragraph): spans[${si}].text must be a string`);
|
|
@@ -1472,7 +1489,23 @@ function validateElement(el, index, loadedFamilies, strict, errors) {
|
|
|
1472
1489
|
}
|
|
1473
1490
|
default: {
|
|
1474
1491
|
const type = el.type;
|
|
1475
|
-
|
|
1492
|
+
const plugins = options?.plugins ?? [];
|
|
1493
|
+
const plugin = findPlugin(plugins, String(type));
|
|
1494
|
+
if (plugin) {
|
|
1495
|
+
let rejection;
|
|
1496
|
+
try {
|
|
1497
|
+
rejection = runPluginValidate(plugin, el);
|
|
1498
|
+
}
|
|
1499
|
+
catch (err) {
|
|
1500
|
+
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (${String(type)}): plugin validate hook threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
1501
|
+
}
|
|
1502
|
+
if (rejection) {
|
|
1503
|
+
throw new PretextPdfError('VALIDATION_ERROR', `${prefix} (${String(type)}): ${rejection}`);
|
|
1504
|
+
}
|
|
1505
|
+
break;
|
|
1506
|
+
}
|
|
1507
|
+
const validList = ELEMENT_TYPES.map(t => `'${t}'`).join(', ');
|
|
1508
|
+
throw new PretextPdfError('VALIDATION_ERROR', `${prefix}: unknown element type '${String(type)}'. Valid types: ${validList}`);
|
|
1476
1509
|
}
|
|
1477
1510
|
}
|
|
1478
1511
|
}
|