@spinajs/templates-pdf 2.0.250 → 2.0.251

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.
@@ -2,7 +2,7 @@ declare const pdf: {
2
2
  templates: {
3
3
  pdf: {
4
4
  static: {
5
- port: number;
5
+ portRange: number[];
6
6
  };
7
7
  args: {
8
8
  headless: boolean;
@@ -4,7 +4,7 @@ const pdf = {
4
4
  templates: {
5
5
  pdf: {
6
6
  static: {
7
- port: 3000,
7
+ portRange: [3000, 4000],
8
8
  },
9
9
  args: {
10
10
  headless: true,
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/config/pdf.ts"],"names":[],"mappings":";;AAAA,MAAM,GAAG,GAAG;IACV,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC;AAEF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/config/pdf.ts"],"names":[],"mappings":";;AAAA,MAAM,GAAG,GAAG;IACV,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACxB;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -5,21 +5,31 @@ import { IInstanceCheck } from '@spinajs/di';
5
5
  import { Log } from '@spinajs/log';
6
6
  import * as http from 'http';
7
7
  import '@spinajs/templates-pug';
8
+ interface IPdfRendererOptions {
9
+ static: {
10
+ portRange: number[];
11
+ };
12
+ args: any;
13
+ options: any;
14
+ renderDurationWarning: number;
15
+ }
8
16
  export declare class PdfRenderer extends TemplateRenderer implements IInstanceCheck {
9
17
  protected pdfOptions: PDFOptions;
10
18
  /**
11
19
  * General options from configuration
12
20
  */
13
- protected Options: any;
21
+ protected Options: IPdfRendererOptions;
14
22
  protected Log: Log;
15
23
  protected TemplatingService: Templates;
24
+ protected static USED_PORTS: number[];
16
25
  get Type(): string;
17
26
  get Extension(): string;
18
27
  constructor(pdfOptions: PDFOptions);
19
28
  __checkInstance__(creationOptions: any): boolean;
20
- renderToFile(template: string, model: unknown, filePath: string, language?: string): Promise<void>;
29
+ renderToFile(template: string, model: any, filePath: string, language?: string): Promise<void>;
21
30
  render(_templateName: string, _model: unknown, _language?: string): Promise<string>;
22
31
  protected compile(_path: string): Promise<void>;
23
32
  protected runLocalServer(basePath: string): Promise<http.Server>;
24
33
  }
34
+ export {};
25
35
  //# 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,MAAM,WAAW,CAAC;AAEtE,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;AAEhC,qBAEa,WAAY,SAAQ,gBAAiB,YAAW,cAAc;IAqB7D,SAAS,CAAC,UAAU,EAAE,UAAU;IApB5C;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAEvC,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,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDlG,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;CAoBvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,UAAU,EAAwB,MAAM,WAAW,CAAC;AAEtE,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,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;CAC/B;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;IAiE9F,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;CAsBvE"}
package/lib/cjs/index.js CHANGED
@@ -23,6 +23,7 @@ const log_1 = require("@spinajs/log");
23
23
  const express_1 = __importDefault(require("express"));
24
24
  const cors_1 = __importDefault(require("cors"));
25
25
  require("@spinajs/templates-pug");
26
+ const lodash_1 = __importDefault(require("lodash"));
26
27
  let PdfRenderer = class PdfRenderer extends templates_1.TemplateRenderer {
27
28
  get Type() {
28
29
  return 'pdf';
@@ -44,11 +45,19 @@ let PdfRenderer = class PdfRenderer extends templates_1.TemplateRenderer {
44
45
  this.Log.timeStart(`pdf-template-rendering-${filePath}`);
45
46
  this.Log.trace(`Rendering pdf template ${template} to file ${filePath}`);
46
47
  const templateBasePath = (0, path_1.dirname)(template);
47
- const compiledTemplate = await this.TemplatingService.render((0, path_1.join)(templateBasePath, (0, path_1.basename)(template, '.pdf')) + '.pug', model, language);
48
48
  // fire up local http server for serving images etc
49
49
  // becouse chromium prevents from reading local files when not
50
50
  // rendering file with file:// protocol for security reasons
51
51
  server = await this.runLocalServer(templateBasePath);
52
+ const httpPort = server.address().port;
53
+ const compiledTemplate = await this.TemplatingService.render((0, path_1.join)(templateBasePath, (0, path_1.basename)(template, '.pdf')) + '.pug', {
54
+ // add template temporary server port
55
+ // so we can use it to render images in template
56
+ __http_template_port__: httpPort,
57
+ // for convinience add full url to local http server
58
+ __http_template_address__: `http://localhost:${httpPort}`,
59
+ ...model,
60
+ }, language);
52
61
  browser = await puppeteer_1.default.launch(this.Options.args);
53
62
  const page = await browser.newPage();
54
63
  page
@@ -93,7 +102,9 @@ let PdfRenderer = class PdfRenderer extends templates_1.TemplateRenderer {
93
102
  app.use(express_1.default.static(basePath));
94
103
  return new Promise((resolve, reject) => {
95
104
  app
96
- .listen(this.Options.static.port, function () {
105
+ // if no port is provided express will choose random port to start ( avaible )
106
+ // it not, we will get random from range in config
107
+ .listen(this.Options.static.portRange.length === 0 ? 0 : lodash_1.default.random(this.Options.static.portRange[0], this.Options.static.portRange[1]), function () {
97
108
  self.Log.trace(`PDF image server started`);
98
109
  self.Log.trace(`PDF static file dir at ${basePath}`);
99
110
  resolve(this);
@@ -106,6 +117,7 @@ let PdfRenderer = class PdfRenderer extends templates_1.TemplateRenderer {
106
117
  }
107
118
  };
108
119
  exports.PdfRenderer = PdfRenderer;
120
+ PdfRenderer.USED_PORTS = [];
109
121
  __decorate([
110
122
  (0, configuration_1.Config)('templates.pdf'),
111
123
  __metadata("design:type", Object)
@@ -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":"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"}
@@ -2,7 +2,7 @@ declare const pdf: {
2
2
  templates: {
3
3
  pdf: {
4
4
  static: {
5
- port: number;
5
+ portRange: number[];
6
6
  };
7
7
  args: {
8
8
  headless: boolean;
@@ -2,7 +2,7 @@ const pdf = {
2
2
  templates: {
3
3
  pdf: {
4
4
  static: {
5
- port: 3000,
5
+ portRange: [3000, 4000],
6
6
  },
7
7
  args: {
8
8
  headless: true,
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/config/pdf.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG;IACV,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/config/pdf.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG;IACV,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACxB;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -5,21 +5,31 @@ import { IInstanceCheck } from '@spinajs/di';
5
5
  import { Log } from '@spinajs/log';
6
6
  import * as http from 'http';
7
7
  import '@spinajs/templates-pug';
8
+ interface IPdfRendererOptions {
9
+ static: {
10
+ portRange: number[];
11
+ };
12
+ args: any;
13
+ options: any;
14
+ renderDurationWarning: number;
15
+ }
8
16
  export declare class PdfRenderer extends TemplateRenderer implements IInstanceCheck {
9
17
  protected pdfOptions: PDFOptions;
10
18
  /**
11
19
  * General options from configuration
12
20
  */
13
- protected Options: any;
21
+ protected Options: IPdfRendererOptions;
14
22
  protected Log: Log;
15
23
  protected TemplatingService: Templates;
24
+ protected static USED_PORTS: number[];
16
25
  get Type(): string;
17
26
  get Extension(): string;
18
27
  constructor(pdfOptions: PDFOptions);
19
28
  __checkInstance__(creationOptions: any): boolean;
20
- renderToFile(template: string, model: unknown, filePath: string, language?: string): Promise<void>;
29
+ renderToFile(template: string, model: any, filePath: string, language?: string): Promise<void>;
21
30
  render(_templateName: string, _model: unknown, _language?: string): Promise<string>;
22
31
  protected compile(_path: string): Promise<void>;
23
32
  protected runLocalServer(basePath: string): Promise<http.Server>;
24
33
  }
34
+ export {};
25
35
  //# 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,MAAM,WAAW,CAAC;AAEtE,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;AAEhC,qBAEa,WAAY,SAAQ,gBAAiB,YAAW,cAAc;IAqB7D,SAAS,CAAC,UAAU,EAAE,UAAU;IApB5C;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAEvC,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,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDlG,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;CAoBvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,UAAU,EAAwB,MAAM,WAAW,CAAC;AAEtE,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,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,CAAC;IACb,qBAAqB,EAAE,MAAM,CAAC;CAC/B;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;IAiE9F,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;CAsBvE"}
package/lib/mjs/index.js CHANGED
@@ -17,6 +17,7 @@ import { Log, Logger } from '@spinajs/log';
17
17
  import Express from 'express';
18
18
  import cors from 'cors';
19
19
  import '@spinajs/templates-pug';
20
+ import _ from 'lodash';
20
21
  let PdfRenderer = class PdfRenderer extends TemplateRenderer {
21
22
  get Type() {
22
23
  return 'pdf';
@@ -38,11 +39,19 @@ let PdfRenderer = class PdfRenderer extends TemplateRenderer {
38
39
  this.Log.timeStart(`pdf-template-rendering-${filePath}`);
39
40
  this.Log.trace(`Rendering pdf template ${template} to file ${filePath}`);
40
41
  const templateBasePath = dirname(template);
41
- const compiledTemplate = await this.TemplatingService.render(join(templateBasePath, basename(template, '.pdf')) + '.pug', model, language);
42
42
  // fire up local http server for serving images etc
43
43
  // becouse chromium prevents from reading local files when not
44
44
  // rendering file with file:// protocol for security reasons
45
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);
46
55
  browser = await puppeteer.launch(this.Options.args);
47
56
  const page = await browser.newPage();
48
57
  page
@@ -87,7 +96,9 @@ let PdfRenderer = class PdfRenderer extends TemplateRenderer {
87
96
  app.use(Express.static(basePath));
88
97
  return new Promise((resolve, reject) => {
89
98
  app
90
- .listen(this.Options.static.port, function () {
99
+ // if no port is provided express will choose random port to start ( avaible )
100
+ // it not, we will get random from range in config
101
+ .listen(this.Options.static.portRange.length === 0 ? 0 : _.random(this.Options.static.portRange[0], this.Options.static.portRange[1]), function () {
91
102
  self.Log.trace(`PDF image server started`);
92
103
  self.Log.trace(`PDF static file dir at ${basePath}`);
93
104
  resolve(this);
@@ -99,6 +110,7 @@ let PdfRenderer = class PdfRenderer extends TemplateRenderer {
99
110
  });
100
111
  }
101
112
  };
113
+ PdfRenderer.USED_PORTS = [];
102
114
  __decorate([
103
115
  Config('templates.pdf'),
104
116
  __metadata("design:type", Object)
@@ -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":"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"}