@spinajs/templates-pdf 2.0.434 → 2.0.438

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePdfTemplate.js","sourceRoot":"","sources":["../../src/BasePdfTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { PDFOptions } from 'puppeteer';
2
+ import { IInstanceCheck } from '@spinajs/di';
3
+ import { BasePdfTemplate, RenderContext } from './BasePdfTemplate.js';
4
+ import '@spinajs/templates-pug';
5
+ /**
6
+ * PDF renderer that generates PDF files from templates
7
+ */
8
+ export declare class PdfRenderer extends BasePdfTemplate implements IInstanceCheck {
9
+ protected pdfOptions: PDFOptions;
10
+ get Type(): string;
11
+ get Extension(): string;
12
+ constructor(pdfOptions: PDFOptions);
13
+ __checkInstance__(creationOptions: any): boolean;
14
+ /**
15
+ * Perform PDF rendering
16
+ */
17
+ protected performRender(context: RenderContext, filePath: string): Promise<void>;
18
+ render(_templateName: string, _model: unknown, _language?: string): Promise<string>;
19
+ }
20
+ //# sourceMappingURL=PdfRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfRenderer.d.ts","sourceRoot":"","sources":["../../src/PdfRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAgC,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAEa,WAAY,SAAQ,eAAgB,YAAW,cAAc;IAS5D,SAAS,CAAC,UAAU,EAAE,UAAU;IAR5C,IAAW,IAAI,WAEd;IAED,IAAW,SAAS,WAEnB;gBAEqB,UAAU,EAAE,UAAU;IAI5C,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO;IAIhD;;OAEG;cACa,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjG"}
@@ -0,0 +1,51 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { NotSupported } from '@spinajs/exceptions';
11
+ import { Injectable, PerInstanceCheck } from '@spinajs/di';
12
+ import { BasePdfTemplate } from './BasePdfTemplate.js';
13
+ import '@spinajs/templates-pug';
14
+ import { TemplateRenderer } from '@spinajs/templates';
15
+ /**
16
+ * PDF renderer that generates PDF files from templates
17
+ */
18
+ let PdfRenderer = class PdfRenderer extends BasePdfTemplate {
19
+ get Type() {
20
+ return 'pdf';
21
+ }
22
+ get Extension() {
23
+ return '.pdf';
24
+ }
25
+ constructor(pdfOptions) {
26
+ super();
27
+ this.pdfOptions = pdfOptions;
28
+ }
29
+ __checkInstance__(creationOptions) {
30
+ return JSON.stringify(this.pdfOptions) === JSON.stringify(creationOptions);
31
+ }
32
+ /**
33
+ * Perform PDF rendering
34
+ */
35
+ async performRender(context, filePath) {
36
+ await context.page.pdf({
37
+ path: filePath,
38
+ ...this.pdfOptions,
39
+ });
40
+ }
41
+ async render(_templateName, _model, _language) {
42
+ throw new NotSupported('cannot render pdf template to string');
43
+ }
44
+ };
45
+ PdfRenderer = __decorate([
46
+ Injectable(TemplateRenderer),
47
+ PerInstanceCheck(),
48
+ __metadata("design:paramtypes", [Object])
49
+ ], PdfRenderer);
50
+ export { PdfRenderer };
51
+ //# sourceMappingURL=PdfRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfRenderer.js","sourceRoot":"","sources":["../../src/PdfRenderer.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAkB,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAC;AAEtE,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AAGI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,eAAe;IAC9C,IAAW,IAAI;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAsB,UAAsB;QAC1C,KAAK,EAAE,CAAC;QADY,eAAU,GAAV,UAAU,CAAY;IAE5C,CAAC;IAED,iBAAiB,CAAC,eAAoB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,aAAa,CAAC,OAAsB,EAAE,QAAgB;QACpE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,EAAE,QAAQ;YACd,GAAG,IAAI,CAAC,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,MAAe,EAAE,SAAkB;QAC5E,MAAM,IAAI,YAAY,CAAC,sCAAsC,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AA9BY,WAAW;IAFvB,UAAU,CAAC,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE;;GACN,WAAW,CA8BvB"}
@@ -0,0 +1,31 @@
1
+ import { PDFOptions, ScreenshotOptions } from 'puppeteer';
2
+ import { IInstanceCheck } from '@spinajs/di';
3
+ import { BasePdfTemplate, RenderContext } from './BasePdfTemplate.js';
4
+ import '@spinajs/templates-pug';
5
+ export interface PdfToImageOptions {
6
+ /**
7
+ * PDF generation options (used as intermediate step)
8
+ */
9
+ pdfOptions?: PDFOptions;
10
+ /**
11
+ * Screenshot/image generation options
12
+ */
13
+ screenshotOptions: ScreenshotOptions;
14
+ }
15
+ /**
16
+ * PDF-to-Image renderer that generates images from PDF templates
17
+ * First renders to PDF, then captures as image
18
+ */
19
+ export declare class PdfToImageRenderer extends BasePdfTemplate implements IInstanceCheck {
20
+ protected imageOptions: PdfToImageOptions;
21
+ get Type(): string;
22
+ get Extension(): string;
23
+ constructor(imageOptions: PdfToImageOptions);
24
+ __checkInstance__(creationOptions: any): boolean;
25
+ /**
26
+ * Perform image rendering from PDF
27
+ */
28
+ protected performRender(context: RenderContext, filePath: string): Promise<void>;
29
+ render(_templateName: string, _model: unknown, _language?: string): Promise<string>;
30
+ }
31
+ //# sourceMappingURL=PdfToImageRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfToImageRenderer.d.ts","sourceRoot":"","sources":["../../src/PdfToImageRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAgC,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,wBAAwB,CAAC;AAGhC,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;;GAGG;AACH,qBAEa,kBAAmB,SAAQ,eAAgB,YAAW,cAAc;IAUnE,SAAS,CAAC,YAAY,EAAE,iBAAiB;IATrD,IAAW,IAAI,WAEd;IAED,IAAW,SAAS,WAGnB;gBAEqB,YAAY,EAAE,iBAAiB;IAIrD,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO;IAIhD;;OAEG;cACa,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjG"}
@@ -0,0 +1,62 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { NotSupported } from '@spinajs/exceptions';
11
+ import { Injectable, PerInstanceCheck } from '@spinajs/di';
12
+ import { BasePdfTemplate } from './BasePdfTemplate.js';
13
+ import { extname } from 'path';
14
+ import '@spinajs/templates-pug';
15
+ import { TemplateRenderer } from '@spinajs/templates';
16
+ /**
17
+ * PDF-to-Image renderer that generates images from PDF templates
18
+ * First renders to PDF, then captures as image
19
+ */
20
+ let PdfToImageRenderer = class PdfToImageRenderer extends BasePdfTemplate {
21
+ get Type() {
22
+ return 'pdf-image';
23
+ }
24
+ get Extension() {
25
+ const type = this.imageOptions.screenshotOptions.type || 'png';
26
+ return `.${type}`;
27
+ }
28
+ constructor(imageOptions) {
29
+ super();
30
+ this.imageOptions = imageOptions;
31
+ }
32
+ __checkInstance__(creationOptions) {
33
+ return JSON.stringify(this.imageOptions) === JSON.stringify(creationOptions);
34
+ }
35
+ /**
36
+ * Perform image rendering from PDF
37
+ */
38
+ async performRender(context, filePath) {
39
+ // Determine image type from file extension or options
40
+ const fileExt = extname(filePath).toLowerCase().slice(1);
41
+ const imageType = (fileExt === 'jpg' || fileExt === 'jpeg' || fileExt === 'png' || fileExt === 'webp')
42
+ ? fileExt
43
+ : this.imageOptions.screenshotOptions.type || 'png';
44
+ // Take screenshot
45
+ await context.page.screenshot({
46
+ path: filePath,
47
+ type: imageType,
48
+ ...this.imageOptions.screenshotOptions,
49
+ });
50
+ this.Log.trace(`Generated image from PDF template: ${filePath}`);
51
+ }
52
+ async render(_templateName, _model, _language) {
53
+ throw new NotSupported('cannot render pdf-image template to string');
54
+ }
55
+ };
56
+ PdfToImageRenderer = __decorate([
57
+ Injectable(TemplateRenderer),
58
+ PerInstanceCheck(),
59
+ __metadata("design:paramtypes", [Object])
60
+ ], PdfToImageRenderer);
61
+ export { PdfToImageRenderer };
62
+ //# sourceMappingURL=PdfToImageRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfToImageRenderer.js","sourceRoot":"","sources":["../../src/PdfToImageRenderer.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAkB,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AActD;;;GAGG;AAGI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,eAAe;IACrD,IAAW,IAAI;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAW,SAAS;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/D,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,YAAsB,YAA+B;QACnD,KAAK,EAAE,CAAC;QADY,iBAAY,GAAZ,YAAY,CAAmB;IAErD,CAAC;IAED,iBAAiB,CAAC,eAAoB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,aAAa,CAAC,OAAsB,EAAE,QAAgB;QACpE,sDAAsD;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,CAAC;YACpG,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,CAAC;QAEtD,kBAAkB;QAClB,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAoC;YAC1C,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,MAAe,EAAE,SAAkB;QAC5E,MAAM,IAAI,YAAY,CAAC,4CAA4C,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AAzCY,kBAAkB;IAF9B,UAAU,CAAC,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE;;GACN,kBAAkB,CAyC9B"}
@@ -1,67 +1,16 @@
1
- import { PDFOptions, LaunchOptions } from 'puppeteer';
2
- import { TemplateRenderer, Templates } from '@spinajs/templates';
1
+ import { Page, PDFOptions } from 'puppeteer';
2
+ import { PuppeteerRenderer, IPuppeteerRendererOptions } from '@spinajs/templates-puppeteer';
3
3
  import { IInstanceCheck } from '@spinajs/di';
4
- import { Log } from '@spinajs/log';
5
- import * as http from 'http';
6
- import '@spinajs/templates-pug';
7
- interface IPdfRendererOptions {
8
- static: {
9
- portRange: number[];
10
- };
11
- args: LaunchOptions;
12
- /**
13
- * Optional path to Chrome/Chromium executable.
14
- * Useful when running in environments where Puppeteer cannot download Chromium.
15
- * If provided, overrides args.executablePath.
16
- */
17
- executablePath?: string;
18
- renderDurationWarning: number;
19
- navigationTimeout?: number;
20
- renderTimeout?: number;
21
- /**
22
- * Debug options
23
- */
24
- debug?: {
25
- /**
26
- * If true, browser will remain open after rendering for inspection
27
- * Use it with headless: false in args to see the browser window ( puppetter.launch args )
28
- */
29
- close?: boolean;
30
- };
31
- }
32
- export declare class PdfRenderer extends TemplateRenderer implements IInstanceCheck {
4
+ export declare class PdfRenderer extends PuppeteerRenderer implements IInstanceCheck {
33
5
  protected pdfOptions: PDFOptions;
34
6
  /**
35
7
  * General options from configuration
36
8
  */
37
- protected Options: IPdfRendererOptions;
38
- protected Log: Log;
39
- protected TemplatingService: Templates;
40
- protected static USED_PORTS: number[];
9
+ protected Options: IPuppeteerRendererOptions;
41
10
  get Type(): string;
42
11
  get Extension(): string;
43
12
  constructor(pdfOptions: PDFOptions);
44
13
  __checkInstance__(creationOptions: any): boolean;
45
- renderToFile(template: string, model: any, filePath: string, language?: string): Promise<void>;
46
- render(_templateName: string, _model: unknown, _language?: string): Promise<string>;
47
- protected compile(_path: string): Promise<void>;
48
- protected runLocalServer(basePath: string): Promise<http.Server>;
49
- /**
50
- * Enhanced browser cleanup with error handling
51
- */
52
- private safeBrowserCleanup;
53
- /**
54
- * Force close browser with process termination
55
- */
56
- private forceCloseBrowser;
57
- /**
58
- * Enhanced server cleanup with timeout
59
- */
60
- private safeServerCleanup;
61
- /**
62
- * Add page event listeners with cleanup function
63
- */
64
- private addPageEventListeners;
14
+ protected performRender(page: Page, filePath: string): Promise<void>;
65
15
  }
66
- export {};
67
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAwB,aAAa,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAA4C,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,wBAAwB,CAAC;AAIhC,UAAU,mBAAmB;IAC3B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,aAAa,CAAC;IAEpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE;QAEN;;;WAGG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAA;CACF;AAED,qBAEa,WAAY,SAAQ,gBAAiB,YAAW,cAAc;IAuB7D,SAAS,CAAC,UAAU,EAAE,UAAU;IAtB5C;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAGvC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAEvC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAE3C,IAAW,IAAI,WAEd;IAED,IAAW,SAAS,WAEnB;gBAEqB,UAAU,EAAE,UAAU;IAI5C,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO;IAInC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiH9F,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAKhF,OAAO,CAAC,KAAK,EAAE,MAAM;cAErB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IA2CtE;;OAEG;YACW,kBAAkB;IAoBhC;;OAEG;YACW,iBAAiB;IAY/B;;OAEG;YACW,iBAAiB;IA2B/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CA0B9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAG5F,OAAO,EAAE,cAAc,EAAgC,MAAM,aAAa,CAAC;AAE3E,qBAEa,WAAY,SAAQ,iBAAkB,YAAW,cAAc;IAe9D,SAAS,CAAC,UAAU,EAAE,UAAU;IAd5C;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAE7C,IAAW,IAAI,WAEd;IAED,IAAW,SAAS,WAEnB;gBAEqB,UAAU,EAAE,UAAU;IAI5C,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO;cAIhC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM3E"}
package/lib/mjs/index.js CHANGED
@@ -7,18 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { default as puppeteer } from 'puppeteer';
11
- import { NotSupported } from '@spinajs/exceptions';
12
- import { TemplateRenderer, Templates } from '@spinajs/templates';
10
+ import { PuppeteerRenderer } from '@spinajs/templates-puppeteer';
11
+ import { TemplateRenderer } from '@spinajs/templates';
13
12
  import { Config } from '@spinajs/configuration';
14
- import { Injectable, LazyInject, PerInstanceCheck } from '@spinajs/di';
15
- import { basename, dirname, join } from 'path';
16
- import { Log, Logger } from '@spinajs/log';
17
- import Express from 'express';
18
- import cors from 'cors';
19
- import '@spinajs/templates-pug';
20
- import _ from 'lodash';
21
- let PdfRenderer = class PdfRenderer extends TemplateRenderer {
13
+ import { Injectable, PerInstanceCheck } from '@spinajs/di';
14
+ let PdfRenderer = class PdfRenderer extends PuppeteerRenderer {
22
15
  get Type() {
23
16
  return 'pdf';
24
17
  }
@@ -32,258 +25,17 @@ let PdfRenderer = class PdfRenderer extends TemplateRenderer {
32
25
  __checkInstance__(creationOptions) {
33
26
  return JSON.stringify(this.pdfOptions) === JSON.stringify(creationOptions);
34
27
  }
35
- async renderToFile(template, model, filePath, language) {
36
- let server = null;
37
- let browser = null;
38
- try {
39
- this.Log.timeStart(`pdf-template-rendering-${filePath}`);
40
- this.Log.trace(`Rendering pdf template ${template} to file ${filePath}`);
41
- const templateBasePath = dirname(template);
42
- // fire up local http server for serving images etc
43
- // becouse chromium prevents from reading local files when not
44
- // rendering file with file:// protocol for security reasons
45
- server = await this.runLocalServer(templateBasePath);
46
- const httpPort = server.address().port;
47
- const compiledTemplate = await this.TemplatingService.render(join(templateBasePath, basename(template, '.pdf')) + '.pug', {
48
- // add template temporary server port
49
- // so we can use it to render images in template
50
- __http_template_port__: httpPort,
51
- // for convinience add full url to local http server
52
- __http_template_address__: `http://localhost:${httpPort}`,
53
- ...model,
54
- }, language);
55
- const launchOptions = {
56
- ...this.Options.args,
57
- ...(this.Options.executablePath && {
58
- executablePath: this.Options.executablePath,
59
- }),
60
- };
61
- browser = await puppeteer.launch(launchOptions);
62
- const page = await browser.newPage();
63
- // Skip timeouts in debug mode
64
- if (!this.Options.debug?.close) {
65
- page.setDefaultNavigationTimeout(this.Options.navigationTimeout || 30000); // Default 30s
66
- page.setDefaultTimeout(this.Options.renderTimeout || 30000); // Default 30s
67
- }
68
- // Set up render timeout (skip in debug mode)
69
- let renderTimeout;
70
- if (!this.Options.debug?.close) {
71
- const timeoutMs = this.Options.renderTimeout || 30000;
72
- renderTimeout = setTimeout(async () => {
73
- this.Log.warn(`PDF render timeout (${timeoutMs}ms) - forcing cleanup`);
74
- try {
75
- if (page)
76
- await page.close().catch(() => { });
77
- if (browser)
78
- await this.forceCloseBrowser(browser);
79
- }
80
- catch (err) {
81
- this.Log.error('Error during timeout cleanup:', err);
82
- }
83
- }, timeoutMs);
84
- }
85
- // Add event listeners with explicit cleanup tracking
86
- const eventCleanup = this.addPageEventListeners(page);
87
- try {
88
- await page.setBypassCSP(true);
89
- await page.setContent(compiledTemplate);
90
- await page.pdf({
91
- path: filePath,
92
- ...this.pdfOptions,
93
- });
94
- // Clear timeout on successful completion
95
- if (renderTimeout) {
96
- clearTimeout(renderTimeout);
97
- renderTimeout = undefined;
98
- }
99
- // Clean up event listeners
100
- eventCleanup();
101
- }
102
- catch (renderError) {
103
- // Clear timeout on error
104
- if (renderTimeout) {
105
- clearTimeout(renderTimeout);
106
- renderTimeout = undefined;
107
- }
108
- this.Log.error(renderError, `Error during PDF rendering for template ${template}`);
109
- throw renderError;
110
- }
111
- }
112
- catch (err) {
113
- this.Log.error(err, `Error rendering pdf template ${template} to file ${filePath}`);
114
- throw err;
115
- }
116
- finally {
117
- const duration = this.Log.timeEnd(`pdf-template-rendering-${filePath}`);
118
- this.Log.trace(`Ended rendering pdf template ${template} to file ${filePath}, took: ${duration}ms`);
119
- if (duration > this.Options.renderDurationWarning) {
120
- this.Log.warn(`Rendering pdf template ${template} to file ${filePath} took too long.`);
121
- }
122
- // Skip browser cleanup if debug.close is false (keep browser open for inspection)
123
- if (browser && this.Options.debug?.close !== false) {
124
- await this.safeBrowserCleanup(browser);
125
- }
126
- else if (browser) {
127
- this.Log.info('Browser kept open for debugging (debug.close=false)');
128
- }
129
- if (server) {
130
- await this.safeServerCleanup(server);
131
- }
132
- }
133
- }
134
- async render(_templateName, _model, _language) {
135
- throw new NotSupported('cannot render pdf template to string');
136
- }
137
- // no compilation at start
138
- async compile(_path) { }
139
- async runLocalServer(basePath) {
140
- const self = this;
141
- const app = Express();
142
- app.use(cors());
143
- app.use(Express.static(basePath));
144
- return new Promise((resolve, reject) => {
145
- const server = app
146
- // if no port is provided express will choose random port to start (available)
147
- // if not, we will get random from range in config
148
- .listen(this.Options.static.portRange.length === 0
149
- ? 0
150
- : _.random(this.Options.static.portRange[0], this.Options.static.portRange[1]))
151
- .on('listening', function () {
152
- self.Log.trace(`PDF image server started on port ${this.address().port}`);
153
- self.Log.trace(`PDF static file dir at ${basePath}`);
154
- resolve(this);
155
- })
156
- .on('error', (err) => {
157
- self.Log.error(err, `PDF image server cannot start`);
158
- // Clean up the failed server
159
- if (server) {
160
- server.close(() => {
161
- reject(err);
162
- });
163
- }
164
- else {
165
- reject(err);
166
- }
167
- });
168
- // Set a timeout for server startup
169
- setTimeout(() => {
170
- if (!server.listening) {
171
- server.close();
172
- reject(new Error('Server startup timeout'));
173
- }
174
- }, 10000);
28
+ async performRender(page, filePath) {
29
+ await page.pdf({
30
+ path: filePath,
31
+ ...this.pdfOptions,
175
32
  });
176
33
  }
177
- /**
178
- * Enhanced browser cleanup with error handling
179
- */
180
- async safeBrowserCleanup(browser) {
181
- try {
182
- // First try to close all pages
183
- const pages = await browser.pages();
184
- await Promise.allSettled(pages.map(page => page.close()));
185
- // Then close the browser normally
186
- await browser.close();
187
- }
188
- catch (err) {
189
- this.Log.warn(`Error during normal browser cleanup: ${err.message}`);
190
- // Force kill if normal close fails
191
- try {
192
- await this.forceCloseBrowser(browser);
193
- }
194
- catch (killErr) {
195
- this.Log.error(`Failed to force kill browser: ${killErr.message}`);
196
- }
197
- }
198
- }
199
- /**
200
- * Force close browser with process termination
201
- */
202
- async forceCloseBrowser(browser) {
203
- try {
204
- const process = browser.process();
205
- if (process) {
206
- process.kill('SIGKILL');
207
- this.Log.warn('Browser process force killed');
208
- }
209
- }
210
- catch (err) {
211
- this.Log.error(`Error force killing browser process: ${err.message}`);
212
- }
213
- }
214
- /**
215
- * Enhanced server cleanup with timeout
216
- */
217
- async safeServerCleanup(server) {
218
- try {
219
- await new Promise((resolve, reject) => {
220
- const timeout = setTimeout(() => {
221
- reject(new Error('Server close timeout'));
222
- }, 5000);
223
- server.close((err) => {
224
- clearTimeout(timeout);
225
- if (err)
226
- reject(err);
227
- else
228
- resolve();
229
- });
230
- });
231
- }
232
- catch (err) {
233
- this.Log.warn(`Error closing server: ${err.message}`);
234
- // Force close connections if available
235
- try {
236
- if ('closeAllConnections' in server) {
237
- server.closeAllConnections();
238
- }
239
- }
240
- catch (forceErr) {
241
- this.Log.error(`Error force closing server connections: ${forceErr.message}`);
242
- }
243
- }
244
- }
245
- /**
246
- * Add page event listeners with cleanup function
247
- */
248
- addPageEventListeners(page) {
249
- const listeners = {
250
- console: (message) => this.Log.trace(`${message.type().substr(0, 3).toUpperCase()} ${message.text()}`),
251
- pageerror: ({ message }) => this.Log.error(message),
252
- response: (response) => this.Log.trace(`${response.status()} ${response.url()}`),
253
- requestfailed: (request) => this.Log.error(`${request.failure().errorText} ${request.url()}`)
254
- };
255
- // Add listeners
256
- page.on('console', listeners.console);
257
- page.on('pageerror', listeners.pageerror);
258
- page.on('response', listeners.response);
259
- page.on('requestfailed', listeners.requestfailed);
260
- // Return cleanup function
261
- return () => {
262
- try {
263
- page.removeListener('console', listeners.console);
264
- page.removeListener('pageerror', listeners.pageerror);
265
- page.removeListener('response', listeners.response);
266
- page.removeListener('requestfailed', listeners.requestfailed);
267
- }
268
- catch (err) {
269
- this.Log.warn(`Error removing page listeners: ${err.message}`);
270
- }
271
- };
272
- }
273
34
  };
274
- PdfRenderer.USED_PORTS = [];
275
35
  __decorate([
276
36
  Config('templates.pdf'),
277
37
  __metadata("design:type", Object)
278
38
  ], PdfRenderer.prototype, "Options", void 0);
279
- __decorate([
280
- Logger('pdf-templates'),
281
- __metadata("design:type", Log)
282
- ], PdfRenderer.prototype, "Log", void 0);
283
- __decorate([
284
- LazyInject(),
285
- __metadata("design:type", Templates)
286
- ], PdfRenderer.prototype, "TemplatingService", void 0);
287
39
  PdfRenderer = __decorate([
288
40
  Injectable(TemplateRenderer),
289
41
  PerInstanceCheck(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAkB,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,iBAAiB;IAOhD,IAAW,IAAI;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAsB,UAAsB;QAC1C,KAAK,EAAE,CAAC;QADY,eAAU,GAAV,UAAU,CAAY;IAE5C,CAAC;IAED,iBAAiB,CAAC,eAAoB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7E,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,IAAU,EAAE,QAAgB;QACxD,MAAM,IAAI,CAAC,GAAG,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,GAAG,IAAI,CAAC,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxBW;IADT,MAAM,CAAC,eAAe,CAAC;;4CACqB;AALlC,WAAW;IAFvB,UAAU,CAAC,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE;;GACN,WAAW,CA6BvB"}