@signiphi/pdf-compose 0.1.0-beta.6 → 0.1.0-beta.8
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/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +286 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +286 -26
- package/dist/index.mjs.map +1 -1
- package/dist/styles/index.css +3 -0
- package/dist/styles/index.d.ts +1 -0
- package/dist/utils/markdown-parser.d.ts.map +1 -1
- package/dist/utils/markdown-validator.d.ts.map +1 -1
- package/dist/utils/markdown-writer.d.ts.map +1 -1
- package/dist/utils/pdf-generator.d.ts +51 -1
- package/dist/utils/pdf-generator.d.ts.map +1 -1
- package/dist/utils/template-pipeline.d.ts +20 -3
- package/dist/utils/template-pipeline.d.ts.map +1 -1
- package/dist/utils/variable-helpers.d.ts.map +1 -1
- package/package.json +12 -6
- package/src/styles/index.d.ts +1 -0
package/dist/styles/index.css
CHANGED
|
@@ -311,6 +311,9 @@
|
|
|
311
311
|
.signiphi-pdf-compose:not(#\#):not(#\#):not(#\#):not(#\#) .collapse {
|
|
312
312
|
visibility: collapse;
|
|
313
313
|
}
|
|
314
|
+
.signiphi-pdf-compose:not(#\#):not(#\#):not(#\#):not(#\#) .visible {
|
|
315
|
+
visibility: visible;
|
|
316
|
+
}
|
|
314
317
|
.signiphi-pdf-compose:not(#\#):not(#\#):not(#\#):not(#\#) .absolute {
|
|
315
318
|
position: absolute;
|
|
316
319
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-parser.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-parser.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiqBhD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAI9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-validator.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAKlF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,MAAM,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,
|
|
1
|
+
{"version":3,"file":"markdown-validator.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAKlF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,MAAM,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CA6I3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-writer.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-writer.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA6RhD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAMzD"}
|
|
@@ -1,10 +1,53 @@
|
|
|
1
|
+
import type { Color } from 'pdf-lib';
|
|
1
2
|
import type { JSONContent } from '@tiptap/core';
|
|
2
3
|
import { type FormFieldPosition, type DocumentGeneratorField } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Optional brand colors for the PDF renderer (hex strings, e.g. "#161848").
|
|
6
|
+
* Every value is optional; omitted values fall back to the classic gray/black
|
|
7
|
+
* output, so existing consumers are unaffected.
|
|
8
|
+
*/
|
|
9
|
+
export interface PdfTheme {
|
|
10
|
+
/** Table-header fill, panel dark-header fill, horizontal rules, page-header text. */
|
|
11
|
+
primaryColor?: string;
|
|
12
|
+
/** Rule under the repeating page header. */
|
|
13
|
+
accentColor?: string;
|
|
14
|
+
/** Table and panel border lines. */
|
|
15
|
+
borderColor?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Repeating page-header text, drawn inside the top margin of every page. */
|
|
18
|
+
export interface PdfPageHeader {
|
|
19
|
+
/** Bold, primary-colored, left-aligned (e.g. marina name). */
|
|
20
|
+
left?: string;
|
|
21
|
+
/** Small gray, right-aligned (e.g. document title / number). */
|
|
22
|
+
right?: string;
|
|
23
|
+
/** Skip page 1 — for documents whose body already opens with a letterhead. */
|
|
24
|
+
skipFirstPage?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** Repeating page-footer text, drawn next to the existing page number. */
|
|
27
|
+
export interface PdfPageFooter {
|
|
28
|
+
/** Small gray, left-aligned (e.g. contact line). */
|
|
29
|
+
left?: string;
|
|
30
|
+
}
|
|
31
|
+
interface ResolvedTheme {
|
|
32
|
+
tableHeaderBg: Color;
|
|
33
|
+
tableHeaderText: Color;
|
|
34
|
+
tableBorder: Color;
|
|
35
|
+
panelDarkHeaderBg: Color;
|
|
36
|
+
panelDarkHeaderText: Color;
|
|
37
|
+
panelBorder: Color;
|
|
38
|
+
rule: Color;
|
|
39
|
+
pageHeaderText: Color;
|
|
40
|
+
pageHeaderRule: Color;
|
|
41
|
+
}
|
|
42
|
+
/** Resolve a caller theme onto the classic defaults (exported for tests). */
|
|
43
|
+
export declare function resolveTheme(theme?: PdfTheme): ResolvedTheme;
|
|
3
44
|
export interface PdfGenerationResult {
|
|
4
|
-
pdfBytes: Uint8Array
|
|
45
|
+
pdfBytes: Uint8Array<ArrayBuffer>;
|
|
5
46
|
fieldPositions: Map<string, FormFieldPosition>;
|
|
6
47
|
/** Non-fatal warnings about fields that failed to create */
|
|
7
48
|
fieldWarnings?: string[];
|
|
49
|
+
/** Non-fatal warnings about images that failed to load/embed */
|
|
50
|
+
imageWarnings?: string[];
|
|
8
51
|
}
|
|
9
52
|
export interface PdfGenerationOptions {
|
|
10
53
|
/** Draw visual placeholder boxes for fields in the PDF (default: false) */
|
|
@@ -13,6 +56,12 @@ export interface PdfGenerationOptions {
|
|
|
13
56
|
embedFormFields?: boolean;
|
|
14
57
|
/** Fields data for form field creation (required when embedFormFields is true) */
|
|
15
58
|
fields?: DocumentGeneratorField[];
|
|
59
|
+
/** Brand colors; omitted values keep the classic gray/black output */
|
|
60
|
+
theme?: PdfTheme;
|
|
61
|
+
/** Repeating page header (drawn in the top margin of every page) */
|
|
62
|
+
header?: PdfPageHeader;
|
|
63
|
+
/** Repeating page footer (drawn next to the page number) */
|
|
64
|
+
footer?: PdfPageFooter;
|
|
16
65
|
}
|
|
17
66
|
/**
|
|
18
67
|
* Generate a PDF from TipTap JSON content.
|
|
@@ -24,4 +73,5 @@ export interface PdfGenerationOptions {
|
|
|
24
73
|
* into the PDF for downstream consumption (e.g. pdf-signer).
|
|
25
74
|
*/
|
|
26
75
|
export declare function generatePdfFromContent(content: JSONContent, options?: PdfGenerationOptions): Promise<PdfGenerationResult>;
|
|
76
|
+
export {};
|
|
27
77
|
//# sourceMappingURL=pdf-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-generator.d.ts","sourceRoot":"","sources":["../../src/utils/pdf-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAiB,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf-generator.d.ts","sourceRoot":"","sources":["../../src/utils/pdf-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAiB,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAe9F;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,aAAa,EAAE,KAAK,CAAC;IACrB,eAAe,EAAE,KAAK,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,iBAAiB,EAAE,KAAK,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC;IAC3B,WAAW,EAAE,KAAK,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,KAAK,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;CACvB;AAkBD,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,aAAa,CAe5D;AA8rDD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAyH9B"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import type { JSONContent } from '@tiptap/core';
|
|
2
|
+
import type { PdfTheme, PdfPageHeader, PdfPageFooter } from './pdf-generator';
|
|
2
3
|
export interface HeadlessPdfResult {
|
|
3
|
-
pdfBytes: Uint8Array
|
|
4
|
+
pdfBytes: Uint8Array<ArrayBuffer>;
|
|
5
|
+
/** Non-fatal warnings about images that failed to load/embed */
|
|
6
|
+
imageWarnings?: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Presentation options for headless generation. All optional — omitting them
|
|
10
|
+
* reproduces the classic output exactly (backward compatible).
|
|
11
|
+
*/
|
|
12
|
+
export interface HeadlessPdfOptions {
|
|
13
|
+
/** Brand colors (table headers, panel headers, rules) */
|
|
14
|
+
theme?: PdfTheme;
|
|
15
|
+
/** Repeating page header (top margin of every page) */
|
|
16
|
+
header?: PdfPageHeader;
|
|
17
|
+
/** Repeating page footer (next to the page number) */
|
|
18
|
+
footer?: PdfPageFooter;
|
|
19
|
+
/** Draw visual placeholder boxes for fields (default: false) */
|
|
20
|
+
drawFieldPlaceholders?: boolean;
|
|
4
21
|
}
|
|
5
22
|
/**
|
|
6
23
|
* Generate a PDF from TipTap JSON content with variable values applied.
|
|
@@ -8,7 +25,7 @@ export interface HeadlessPdfResult {
|
|
|
8
25
|
* Pipeline: expand repeats -> suppress zeros -> replace variables -> render PDF.
|
|
9
26
|
* Pure function — no React, no DOM, no editor instance required.
|
|
10
27
|
*/
|
|
11
|
-
export declare function generatePdfFromTiptap(content: JSONContent, values: Record<string, string
|
|
28
|
+
export declare function generatePdfFromTiptap(content: JSONContent, values: Record<string, string>, options?: HeadlessPdfOptions): Promise<HeadlessPdfResult>;
|
|
12
29
|
/**
|
|
13
30
|
* Generate a PDF from extended markdown with variable values applied.
|
|
14
31
|
*
|
|
@@ -17,5 +34,5 @@ export declare function generatePdfFromTiptap(content: JSONContent, values: Reco
|
|
|
17
34
|
*
|
|
18
35
|
* Pure function — no React, no DOM, no editor instance required.
|
|
19
36
|
*/
|
|
20
|
-
export declare function generatePdfFromMarkdown(markdown: string, values: Record<string, string
|
|
37
|
+
export declare function generatePdfFromMarkdown(markdown: string, values: Record<string, string>, options?: HeadlessPdfOptions): Promise<HeadlessPdfResult>;
|
|
21
38
|
//# sourceMappingURL=template-pipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-pipeline.d.ts","sourceRoot":"","sources":["../../src/utils/template-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"template-pipeline.d.ts","sourceRoot":"","sources":["../../src/utils/template-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAClC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,sDAAsD;IACtD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAiB5B;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAG5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/variable-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,yBAAyB,EAAE,CAuB7F;AAeD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,WAAW,
|
|
1
|
+
{"version":3,"file":"variable-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/variable-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,yBAAyB,EAAE,CAuB7F;AAeD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,WAAW,CA+Bb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIjD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,WAAW,CAgDb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CA+F1D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signiphi/pdf-compose",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.8",
|
|
4
4
|
"description": "Markdown-based document composer with field placeholders for the signiphi signing pipeline",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
"require": "./dist/index.js",
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
18
|
},
|
|
19
|
-
"./styles":
|
|
19
|
+
"./styles": {
|
|
20
|
+
"types": "./dist/styles/index.d.ts",
|
|
21
|
+
"import": "./dist/styles/index.css",
|
|
22
|
+
"default": "./dist/styles/index.css"
|
|
23
|
+
},
|
|
20
24
|
"./styles/source": "./src/styles/index.css",
|
|
21
25
|
"./src/styles/index.css": "./src/styles/index.css",
|
|
22
26
|
"./dist/styles/index.css": "./dist/styles/index.css"
|
|
@@ -27,9 +31,10 @@
|
|
|
27
31
|
"README.md"
|
|
28
32
|
],
|
|
29
33
|
"scripts": {
|
|
30
|
-
"build": "tsup && tsc --emitDeclarationOnly --declaration --outDir dist && node -e \"require('fs').mkdirSync('dist/styles', {recursive: true})\" && postcss src/styles/index.css -o dist/styles/index.css",
|
|
31
|
-
"dev": "tsup --watch",
|
|
32
|
-
"type-check": "tsc --noEmit"
|
|
34
|
+
"build": "tsup && tsc --emitDeclarationOnly --declaration --outDir dist && node -e \"require('fs').mkdirSync('dist/styles', {recursive: true})\" && postcss src/styles/index.css -o dist/styles/index.css && node -e \"require('fs').copyFileSync('src/styles/index.d.ts','dist/styles/index.d.ts')\"",
|
|
35
|
+
"dev": "tsup --watch --no-clean",
|
|
36
|
+
"type-check": "tsc --noEmit",
|
|
37
|
+
"test": "vitest run"
|
|
33
38
|
},
|
|
34
39
|
"keywords": [
|
|
35
40
|
"pdf",
|
|
@@ -91,6 +96,7 @@
|
|
|
91
96
|
"postcss-preset-env": "^10.4.0",
|
|
92
97
|
"tailwindcss": "^4.1.4",
|
|
93
98
|
"tsup": "^8.3.5",
|
|
94
|
-
"typescript": "^5.8.3"
|
|
99
|
+
"typescript": "^5.8.3",
|
|
100
|
+
"vitest": "^3.1.4"
|
|
95
101
|
}
|
|
96
102
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|