@social-mail/social-mail-web-server 1.7.698 → 1.7.699
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/server/services/puppeteer/PuppeteerService.d.ts +13 -1
- package/dist/server/services/puppeteer/PuppeteerService.d.ts.map +1 -1
- package/dist/server/services/puppeteer/PuppeteerService.js +143 -2
- package/dist/server/services/puppeteer/PuppeteerService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/site/preview/get.d.ts +2 -2
- package/dist/wwwroot/routes/social-mail/site/preview/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/preview/get.js +13 -105
- package/dist/wwwroot/routes/social-mail/site/preview/get.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/templates/list/get.d.ts +1 -0
- package/dist/wwwroot/routes/social-mail/site/templates/list/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/templates/list/get.js +9 -3
- package/dist/wwwroot/routes/social-mail/site/templates/list/get.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/templates/preview/[host]/[type]/[cacheKey]/get.d.ts +2 -2
- package/dist/wwwroot/routes/social-mail/site/templates/preview/[host]/[type]/[cacheKey]/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/templates/preview/[host]/[type]/[cacheKey]/get.js +14 -105
- package/dist/wwwroot/routes/social-mail/site/templates/preview/[host]/[type]/[cacheKey]/get.js.map +1 -1
- package/package.json +3 -3
- package/src/server/services/puppeteer/PuppeteerService.ts +89 -1
- package/src/wwwroot/routes/social-mail/site/preview/get.tsx +12 -44
- package/src/wwwroot/routes/social-mail/site/templates/list/get.tsx +9 -3
- package/src/wwwroot/routes/social-mail/site/templates/preview/[host]/[type]/[cacheKey]/get.tsx +8 -38
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import SiteDiskContentCache from "../files/SiteDiskContentCache.js";
|
|
2
|
+
export default class PuppeteerService {
|
|
3
|
+
siteCache: SiteDiskContentCache;
|
|
4
|
+
generate({ url, mobile, width, height, deviceScaleFactor, output, packageHash }: {
|
|
5
|
+
url: any;
|
|
6
|
+
mobile?: boolean;
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
deviceScaleFactor?: number;
|
|
10
|
+
output?: string;
|
|
11
|
+
packageHash?: string;
|
|
12
|
+
}): Promise<import("@entity-access/server-pages/dist/core/LocalFile.js").LocalFile>;
|
|
13
|
+
}
|
|
2
14
|
//# sourceMappingURL=PuppeteerService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuppeteerService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/puppeteer/PuppeteerService.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PuppeteerService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/puppeteer/PuppeteerService.ts"],"names":[],"mappings":"AAOA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAQpE,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAGjC,SAAS,EAAE,oBAAoB,CAAC;IAE1B,QAAQ,CAAC,EACX,GAAG,EACH,MAAc,EACd,KAA2B,EAC3B,MAA6B,EAC7B,iBAAkC,EAClC,MAAe,EACf,WAAgC,EACnC;;;;;;;;KAAA;CA4DJ"}
|
|
@@ -1,3 +1,144 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
11
|
+
if (value !== null && value !== void 0) {
|
|
12
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
13
|
+
var dispose, inner;
|
|
14
|
+
if (async) {
|
|
15
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
16
|
+
dispose = value[Symbol.asyncDispose];
|
|
17
|
+
}
|
|
18
|
+
if (dispose === void 0) {
|
|
19
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
20
|
+
dispose = value[Symbol.dispose];
|
|
21
|
+
if (async) inner = dispose;
|
|
22
|
+
}
|
|
23
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
24
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
25
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
26
|
+
}
|
|
27
|
+
else if (async) {
|
|
28
|
+
env.stack.push({ async: true });
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
};
|
|
32
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
33
|
+
return function (env) {
|
|
34
|
+
function fail(e) {
|
|
35
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
36
|
+
env.hasError = true;
|
|
37
|
+
}
|
|
38
|
+
var r, s = 0;
|
|
39
|
+
function next() {
|
|
40
|
+
while (r = env.stack.pop()) {
|
|
41
|
+
try {
|
|
42
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
43
|
+
if (r.dispose) {
|
|
44
|
+
var result = r.dispose.call(r.value);
|
|
45
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
46
|
+
}
|
|
47
|
+
else s |= 1;
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
fail(e);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
54
|
+
if (env.hasError) throw env.error;
|
|
55
|
+
}
|
|
56
|
+
return next();
|
|
57
|
+
};
|
|
58
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
59
|
+
var e = new Error(message);
|
|
60
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
61
|
+
});
|
|
62
|
+
/* eslint-disable no-console */
|
|
63
|
+
import Inject, { RegisterSingleton } from "@entity-access/entity-access/dist/di/di.js";
|
|
64
|
+
import { fetch } from "undici";
|
|
65
|
+
import { hash } from "crypto";
|
|
66
|
+
import { globalEnv } from "../../../common/globalEnv.js";
|
|
67
|
+
import LockFile from "../../storage/LockFile.js";
|
|
68
|
+
import SiteDiskContentCache from "../files/SiteDiskContentCache.js";
|
|
69
|
+
let port = globalEnv.puppeteer.port;
|
|
70
|
+
if (/^\d+$/i.test(port)) {
|
|
71
|
+
port = Number(port);
|
|
72
|
+
}
|
|
73
|
+
let PuppeteerService = class PuppeteerService {
|
|
74
|
+
async generate({ url, mobile = false, width = mobile ? 650 : 1200, height = mobile ? 1000 : 1536, deviceScaleFactor = mobile ? 2 : 1, output = "webp", packageHash = globalEnv.serverID }) {
|
|
75
|
+
const key = `previews/${packageHash}/preview-${hash("sha256", url, "hex")}.${output}`;
|
|
76
|
+
const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
|
|
77
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
78
|
+
try {
|
|
79
|
+
const _ = __addDisposableResource(env_1, await LockFile.lock(`puppeteer-preview-generator`), false);
|
|
80
|
+
const query = new URLSearchParams({
|
|
81
|
+
url,
|
|
82
|
+
width: width,
|
|
83
|
+
height: height,
|
|
84
|
+
deviceScaleFactor: deviceScaleFactor,
|
|
85
|
+
mobile: mobile ? "true" : void 0,
|
|
86
|
+
output
|
|
87
|
+
});
|
|
88
|
+
// const dispatcher = new Agent({
|
|
89
|
+
// connect: (options, callback) => {
|
|
90
|
+
// try {
|
|
91
|
+
// const s= connect({
|
|
92
|
+
// port,
|
|
93
|
+
// host: globalEnv.puppeteer.host
|
|
94
|
+
// }, () => callback(null, s));
|
|
95
|
+
// s.on("error", (e) => {
|
|
96
|
+
// console.error(e);
|
|
97
|
+
// callback(e, null);
|
|
98
|
+
// });
|
|
99
|
+
// } catch (error) {
|
|
100
|
+
// callback(error, null);
|
|
101
|
+
// }
|
|
102
|
+
// }
|
|
103
|
+
// });
|
|
104
|
+
const r = await fetch(`http://${globalEnv.puppeteer.host}:${port}/screen-shot?${query.toString()}`, {
|
|
105
|
+
// dispatcher
|
|
106
|
+
});
|
|
107
|
+
const b = await r.arrayBuffer();
|
|
108
|
+
const buffer = Buffer.from(b);
|
|
109
|
+
await lf.writeAll(buffer);
|
|
110
|
+
}
|
|
111
|
+
catch (e_1) {
|
|
112
|
+
env_1.error = e_1;
|
|
113
|
+
env_1.hasError = true;
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
__disposeResources(env_1);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
switch (output) {
|
|
120
|
+
case "pdf":
|
|
121
|
+
// @ts-expect-error readonly
|
|
122
|
+
file.contentType = "application/pdf";
|
|
123
|
+
break;
|
|
124
|
+
case "png":
|
|
125
|
+
// @ts-expect-error readonly
|
|
126
|
+
file.contentType = "image/png";
|
|
127
|
+
break;
|
|
128
|
+
case "webp":
|
|
129
|
+
// @ts-expect-error readonly
|
|
130
|
+
file.contentType = "image/webp";
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
return file;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
__decorate([
|
|
137
|
+
Inject,
|
|
138
|
+
__metadata("design:type", SiteDiskContentCache)
|
|
139
|
+
], PuppeteerService.prototype, "siteCache", void 0);
|
|
140
|
+
PuppeteerService = __decorate([
|
|
141
|
+
RegisterSingleton
|
|
142
|
+
], PuppeteerService);
|
|
143
|
+
export default PuppeteerService;
|
|
3
144
|
//# sourceMappingURL=PuppeteerService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuppeteerService.js","sourceRoot":"","sources":["../../../../src/server/services/puppeteer/PuppeteerService.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PuppeteerService.js","sourceRoot":"","sources":["../../../../src/server/services/puppeteer/PuppeteerService.ts"],"names":[],"mappings":"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"}
|