docgen-utils 1.0.32 → 1.0.34
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/bundle.js +215 -48
- package/dist/bundle.min.js +101 -101
- package/dist/cli.js +170 -95
- package/dist/packages/cli/commands/export-slides.d.ts.map +1 -1
- package/dist/packages/cli/commands/export-slides.js +88 -85
- package/dist/packages/cli/commands/export-slides.js.map +1 -1
- package/dist/packages/shared/fetch-with-proxy.d.ts +6 -1
- package/dist/packages/shared/fetch-with-proxy.d.ts.map +1 -1
- package/dist/packages/shared/fetch-with-proxy.js +103 -30
- package/dist/packages/shared/fetch-with-proxy.js.map +1 -1
- package/dist/packages/slides/convert.js +3 -3
- package/dist/packages/slides/parse.d.ts.map +1 -1
- package/dist/packages/slides/parse.js +211 -8
- package/dist/packages/slides/parse.js.map +1 -1
- package/package.json +3 -2
|
@@ -2,8 +2,72 @@ import * as http from "node:http";
|
|
|
2
2
|
import * as tls from "node:tls";
|
|
3
3
|
import { URL } from "node:url";
|
|
4
4
|
const userAgent = "Mozilla/5.0 (compatible; Copilot/1.0)";
|
|
5
|
+
const MAX_REDIRECTS = 5;
|
|
6
|
+
/**
|
|
7
|
+
* Fetch via forward proxy - sends full URL to proxy, proxy handles TLS.
|
|
8
|
+
* This is the most common proxy type (e.g., Squid, corporate proxies).
|
|
9
|
+
* Automatically follows redirects up to MAX_REDIRECTS.
|
|
10
|
+
*/
|
|
11
|
+
function fetchViaForwardProxy(proxy, targetUrl, redirectCount = 0) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
const target = new URL(targetUrl);
|
|
14
|
+
const req = http.request({
|
|
15
|
+
host: proxy.hostname,
|
|
16
|
+
port: Number(proxy.port) || 80,
|
|
17
|
+
method: "GET",
|
|
18
|
+
path: targetUrl, // Full URL as path for forward proxy
|
|
19
|
+
headers: {
|
|
20
|
+
Host: target.hostname,
|
|
21
|
+
"User-Agent": userAgent,
|
|
22
|
+
Connection: "close",
|
|
23
|
+
},
|
|
24
|
+
}, (res) => {
|
|
25
|
+
const chunks = [];
|
|
26
|
+
res.on("data", (chunk) => chunks.push(chunk));
|
|
27
|
+
res.on("end", () => {
|
|
28
|
+
const statusCode = res.statusCode ?? 0;
|
|
29
|
+
// Handle redirects (301, 302, 303, 307, 308)
|
|
30
|
+
if (statusCode >= 301 &&
|
|
31
|
+
statusCode <= 308 &&
|
|
32
|
+
statusCode !== 304 &&
|
|
33
|
+
res.headers.location) {
|
|
34
|
+
if (redirectCount >= MAX_REDIRECTS) {
|
|
35
|
+
reject(new Error(`Too many redirects (max ${MAX_REDIRECTS})`));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Resolve relative URLs against the current target
|
|
39
|
+
const redirectUrl = new URL(res.headers.location, targetUrl).toString();
|
|
40
|
+
resolve(fetchViaForwardProxy(proxy, redirectUrl, redirectCount + 1));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const body = Buffer.concat(chunks);
|
|
44
|
+
const headers = {};
|
|
45
|
+
for (const [key, value] of Object.entries(res.headers)) {
|
|
46
|
+
if (typeof value === "string") {
|
|
47
|
+
headers[key.toLowerCase()] = value;
|
|
48
|
+
}
|
|
49
|
+
else if (Array.isArray(value)) {
|
|
50
|
+
headers[key.toLowerCase()] = value.join(", ");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
resolve({
|
|
54
|
+
ok: statusCode >= 200 && statusCode < 300,
|
|
55
|
+
status: statusCode,
|
|
56
|
+
statusText: res.statusMessage ?? "",
|
|
57
|
+
headers: new Headers(headers),
|
|
58
|
+
arrayBuffer: () => Promise.resolve(body.buffer.slice(body.byteOffset, body.byteOffset + body.byteLength)),
|
|
59
|
+
text: () => Promise.resolve(body.toString("utf-8")),
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
res.on("error", reject);
|
|
63
|
+
});
|
|
64
|
+
req.on("error", reject);
|
|
65
|
+
req.end();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
5
68
|
/**
|
|
6
69
|
* Create a TCP tunnel through an HTTP proxy using the CONNECT method.
|
|
70
|
+
* Used for CONNECT-capable proxies (tunneling proxies).
|
|
7
71
|
*/
|
|
8
72
|
function connectThroughProxy(proxy, targetHost, targetPort) {
|
|
9
73
|
return new Promise((resolve, reject) => {
|
|
@@ -28,12 +92,6 @@ function connectThroughProxy(proxy, targetHost, targetPort) {
|
|
|
28
92
|
}
|
|
29
93
|
/**
|
|
30
94
|
* Upgrade a raw TCP socket to TLS.
|
|
31
|
-
* Uses the documented tls.connect({ socket, servername }) API.
|
|
32
|
-
* @see https://nodejs.org/api/tls.html#tlsconnectoptions-callback
|
|
33
|
-
*
|
|
34
|
-
* @param rawSocket - The raw TCP socket from the proxy CONNECT tunnel
|
|
35
|
-
* @param servername - The target hostname for SNI
|
|
36
|
-
* @param rejectUnauthorized - Whether to verify the server certificate (default: true)
|
|
37
95
|
*/
|
|
38
96
|
function upgradeTls(rawSocket, servername, rejectUnauthorized = true) {
|
|
39
97
|
return new Promise((resolve, reject) => {
|
|
@@ -45,7 +103,6 @@ function upgradeTls(rawSocket, servername, rejectUnauthorized = true) {
|
|
|
45
103
|
}
|
|
46
104
|
/**
|
|
47
105
|
* Parse a raw HTTP/1.1 response from a TLS socket stream.
|
|
48
|
-
* Handles both Content-Length and chunked Transfer-Encoding.
|
|
49
106
|
*/
|
|
50
107
|
function parseHttpResponse(tlsSocket) {
|
|
51
108
|
return new Promise((resolve, reject) => {
|
|
@@ -67,14 +124,12 @@ function parseHttpResponse(tlsSocket) {
|
|
|
67
124
|
headerEndIndex = Buffer.byteLength(str.slice(0, idx + 4), "utf-8");
|
|
68
125
|
const headerSection = str.slice(0, idx);
|
|
69
126
|
const lines = headerSection.split("\r\n");
|
|
70
|
-
// Parse status line: HTTP/1.1 200 OK
|
|
71
127
|
const statusLine = lines[0];
|
|
72
128
|
const match = statusLine.match(/^HTTP\/\d\.\d\s+(\d+)\s*(.*)/);
|
|
73
129
|
if (match) {
|
|
74
130
|
statusCode = parseInt(match[1], 10);
|
|
75
131
|
statusText = match[2];
|
|
76
132
|
}
|
|
77
|
-
// Parse headers
|
|
78
133
|
for (let i = 1; i < lines.length; i++) {
|
|
79
134
|
const colonIdx = lines[i].indexOf(":");
|
|
80
135
|
if (colonIdx > 0) {
|
|
@@ -89,7 +144,6 @@ function parseHttpResponse(tlsSocket) {
|
|
|
89
144
|
else if (headers["content-length"]) {
|
|
90
145
|
contentLength = parseInt(headers["content-length"], 10);
|
|
91
146
|
}
|
|
92
|
-
// Push any leftover bytes after headers as body
|
|
93
147
|
const bodyStart = raw.slice(headerEndIndex);
|
|
94
148
|
if (bodyStart.length > 0) {
|
|
95
149
|
bodyChunks.push(bodyStart);
|
|
@@ -113,7 +167,7 @@ function parseHttpResponse(tlsSocket) {
|
|
|
113
167
|
if (chunkEnd > buf.length)
|
|
114
168
|
break;
|
|
115
169
|
parts.push(buf.slice(chunkStart, chunkEnd));
|
|
116
|
-
offset = chunkEnd + 2;
|
|
170
|
+
offset = chunkEnd + 2;
|
|
117
171
|
}
|
|
118
172
|
return Buffer.concat(parts);
|
|
119
173
|
}
|
|
@@ -122,7 +176,6 @@ function parseHttpResponse(tlsSocket) {
|
|
|
122
176
|
raw = Buffer.concat([raw, chunk]);
|
|
123
177
|
if (tryParseHeaders()) {
|
|
124
178
|
headerDone = true;
|
|
125
|
-
// Check if body is already complete
|
|
126
179
|
if (!isChunked &&
|
|
127
180
|
contentLength >= 0 &&
|
|
128
181
|
bodyBytesRead >= contentLength) {
|
|
@@ -170,9 +223,31 @@ function parseHttpResponse(tlsSocket) {
|
|
|
170
223
|
});
|
|
171
224
|
});
|
|
172
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Fetch via CONNECT tunnel - establishes tunnel, then does TLS handshake.
|
|
228
|
+
* Used for CONNECT-capable proxies.
|
|
229
|
+
*/
|
|
230
|
+
async function fetchViaConnectTunnel(proxy, targetUrl) {
|
|
231
|
+
const target = new URL(targetUrl);
|
|
232
|
+
const rawSocket = await connectThroughProxy(proxy, target.hostname, 443);
|
|
233
|
+
// Disable certificate verification for proxy scenarios (MITM proxies)
|
|
234
|
+
const tlsSocket = await upgradeTls(rawSocket, target.hostname, false);
|
|
235
|
+
const requestLine = `GET ${target.pathname}${target.search} HTTP/1.1\r\n` +
|
|
236
|
+
`Host: ${target.hostname}\r\n` +
|
|
237
|
+
`User-Agent: ${userAgent}\r\n` +
|
|
238
|
+
`Connection: close\r\n` +
|
|
239
|
+
`\r\n`;
|
|
240
|
+
tlsSocket.write(requestLine);
|
|
241
|
+
return parseHttpResponse(tlsSocket);
|
|
242
|
+
}
|
|
173
243
|
/**
|
|
174
244
|
* Fetch a URL with optional proxy support.
|
|
175
|
-
*
|
|
245
|
+
*
|
|
246
|
+
* Supports two proxy modes:
|
|
247
|
+
* 1. Forward proxy (default): Sends full URL to proxy, proxy handles TLS.
|
|
248
|
+
* Works with most proxies (Squid, corporate proxies, etc.)
|
|
249
|
+
* 2. CONNECT tunnel (fallback): Establishes tunnel, client handles TLS.
|
|
250
|
+
* Used when forward proxy fails or for CONNECT-only proxies.
|
|
176
251
|
*
|
|
177
252
|
* @param url - The URL to fetch
|
|
178
253
|
* @returns A Promise resolving to a ProxyResponse or native Response
|
|
@@ -188,23 +263,21 @@ export async function fetchWithProxy(url) {
|
|
|
188
263
|
? proxyUrl
|
|
189
264
|
: `http://${proxyUrl}`;
|
|
190
265
|
const proxy = new URL(normalizedProxyUrl);
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
// 4. Parse raw HTTP response
|
|
207
|
-
return parseHttpResponse(tlsSocket);
|
|
266
|
+
// Try forward proxy first (most compatible with corporate/staging proxies)
|
|
267
|
+
try {
|
|
268
|
+
return await fetchViaForwardProxy(proxy, url);
|
|
269
|
+
}
|
|
270
|
+
catch (forwardError) {
|
|
271
|
+
// Fall back to CONNECT tunnel for CONNECT-capable proxies
|
|
272
|
+
try {
|
|
273
|
+
return await fetchViaConnectTunnel(proxy, url);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// Both methods failed, throw the forward proxy error
|
|
277
|
+
// (usually more informative for debugging)
|
|
278
|
+
throw forwardError;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
208
281
|
}
|
|
209
282
|
return fetch(url, { headers: { "User-Agent": userAgent } });
|
|
210
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-with-proxy.js","sourceRoot":"","sources":["../../../packages/shared/fetch-with-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAK/B,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAW1D
|
|
1
|
+
{"version":3,"file":"fetch-with-proxy.js","sourceRoot":"","sources":["../../../packages/shared/fetch-with-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAK/B,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAW1D,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,KAAU,EACV,SAAiB,EACjB,gBAAwB,CAAC;IAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CACtB;YACE,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,EAAE,qCAAqC;YACtD,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAC,QAAQ;gBACrB,YAAY,EAAE,SAAS;gBACvB,UAAU,EAAE,OAAO;aACpB;SACF,EACD,CAAC,GAAoB,EAAE,EAAE;YACvB,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;gBAEvC,6CAA6C;gBAC7C,IACE,UAAU,IAAI,GAAG;oBACjB,UAAU,IAAI,GAAG;oBACjB,UAAU,KAAK,GAAG;oBAClB,GAAG,CAAC,OAAO,CAAC,QAAQ,EACpB,CAAC;oBACD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,aAAa,GAAG,CAAC,CAAC,CAAC;wBAC/D,OAAO;oBACT,CAAC;oBACD,mDAAmD;oBACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,EACpB,SAAS,CACV,CAAC,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,OAAO,GAA2B,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;oBACrC,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC;oBACN,EAAE,EAAE,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG;oBACzC,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;oBACnC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC;oBAC7B,WAAW,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CACnB,CACjB;oBACH,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAAU,EACV,UAAkB,EAClB,UAAkB;IAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,GAAG,UAAU,IAAI,UAAU,EAAE;SACpC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,MAAc,EAAE,EAAE;YACzD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CACJ,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,UAAU,EAAE,CAAC,CAChE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,SAAiB,EACjB,UAAkB,EAClB,qBAA8B,IAAI;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAC3B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,EACrD,GAAG,EAAE;YACH,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAExB,SAAS,eAAe;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE7B,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAEnE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,aAAa,IAAI,SAAS,CAAC,MAAM,CAAC;YACpC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS,iBAAiB,CAAC,GAAW;YACpC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;gBACzD,IAAI,OAAO,KAAK,CAAC,CAAC;oBAAE,MAAM;gBAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,SAAS,KAAK,CAAC;oBAAE,MAAM;gBAC3B,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;gBACxC,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM;oBAAE,MAAM;gBACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC5C,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClC,IAAI,eAAe,EAAE,EAAE,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;oBAElB,IACE,CAAC,SAAS;wBACV,aAAa,IAAI,CAAC;wBAClB,aAAa,IAAI,aAAa,EAC9B,CAAC;wBACD,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;gBAE9B,IACE,CAAC,SAAS;oBACV,aAAa,IAAI,CAAC;oBAClB,aAAa,IAAI,aAAa,EAC9B,CAAC;oBACD,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,SAAS,MAAM;YACb,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAEhB,IAAI,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAW,CAAC;YAC3C,CAAC;iBAAM,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAW,CAAC;YACnD,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC;gBACN,EAAE,EAAE,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG;gBACzC,MAAM,EAAE,UAAU;gBAClB,UAAU;gBACV,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CACnB,CACjB;gBACH,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YACnC,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAClC,KAAU,EACV,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEzE,sEAAsE;IACtE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEtE,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,eAAe;QACrD,SAAS,MAAM,CAAC,QAAQ,MAAM;QAC9B,eAAe,SAAS,MAAM;QAC9B,uBAAuB;QACvB,MAAM,CAAC;IAET,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE7B,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW;IAEX,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAEzB,IAAI,QAAQ,EAAE,CAAC;QACb,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE1C,2EAA2E;QAC3E,IAAI,CAAC;YACH,OAAO,MAAM,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,0DAA0D;YAC1D,IAAI,CAAC;gBACH,OAAO,MAAM,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,qDAAqD;gBACrD,2CAA2C;gBAC3C,MAAM,YAAY,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -261,7 +261,7 @@ pres) {
|
|
|
261
261
|
if (el.type === 'slideBackgroundImage') {
|
|
262
262
|
const imgSrc = getCachedImageSource(el.src);
|
|
263
263
|
if (!imgSrc) {
|
|
264
|
-
console.warn(`Skipping slide background image (
|
|
264
|
+
console.warn(`Skipping slide background image (fetch failed): ${el.src}`);
|
|
265
265
|
continue;
|
|
266
266
|
}
|
|
267
267
|
const imageOptions = {
|
|
@@ -323,7 +323,7 @@ pres) {
|
|
|
323
323
|
if (el.type === 'image') {
|
|
324
324
|
const imgSrc = getCachedImageSource(el.src);
|
|
325
325
|
if (!imgSrc) {
|
|
326
|
-
console.warn(`Skipping image (
|
|
326
|
+
console.warn(`Skipping image (fetch failed): ${el.src}`);
|
|
327
327
|
continue;
|
|
328
328
|
}
|
|
329
329
|
const imageOptions = {
|
|
@@ -363,7 +363,7 @@ pres) {
|
|
|
363
363
|
else if (el.type === 'backgroundImage') {
|
|
364
364
|
const imgSrc = getCachedImageSource(el.src);
|
|
365
365
|
if (!imgSrc) {
|
|
366
|
-
console.warn(`Skipping background image (
|
|
366
|
+
console.warn(`Skipping background image (fetch failed): ${el.src}`);
|
|
367
367
|
continue;
|
|
368
368
|
}
|
|
369
369
|
const imageOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAeZ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAeZ,MAAM,UAAU,CAAC;AAwmFlB;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAyyKzD"}
|