@repdf/preview 0.3.1 → 0.4.0
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.js +37 -10
- package/dist/preview/.next/BUILD_ID +1 -1
- package/dist/preview/.next/build-manifest.json +6 -5
- package/dist/preview/.next/cache/.tsbuildinfo +1 -1
- package/dist/preview/.next/cache/webpack/client-production/0.pack +0 -0
- package/dist/preview/.next/cache/webpack/client-production/index.pack +0 -0
- package/dist/preview/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/dist/preview/.next/cache/webpack/server-production/0.pack +0 -0
- package/dist/preview/.next/cache/webpack/server-production/index.pack +0 -0
- package/dist/preview/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/preview/.next/next-server.js.nft.json +1 -1
- package/dist/preview/.next/prerender-manifest.json +1 -1
- package/dist/preview/.next/routes-manifest.json +1 -1
- package/dist/preview/.next/server/chunks/239.js +3 -3
- package/dist/preview/.next/server/chunks/276.js +1 -0
- package/dist/preview/.next/server/chunks/444.js +2 -2
- package/dist/preview/.next/server/chunks/903.js +1 -0
- package/dist/preview/.next/server/functions-config-manifest.json +1 -1
- package/dist/preview/.next/server/middleware-build-manifest.js +1 -1
- package/dist/preview/.next/server/pages/_app.js +1 -1
- package/dist/preview/.next/server/pages/_app.js.nft.json +1 -1
- package/dist/preview/.next/server/pages/_document.js +1 -1
- package/dist/preview/.next/server/pages/_document.js.nft.json +1 -1
- package/dist/preview/.next/server/pages/_error.js +1 -1
- package/dist/preview/.next/server/pages/_error.js.nft.json +1 -1
- package/dist/preview/.next/server/pages/api/component.js +2 -63
- package/dist/preview/.next/server/pages/api/component.js.nft.json +1 -1
- package/dist/preview/.next/server/pages/api/pdf.js +2 -2
- package/dist/preview/.next/server/pages/api/trpc/[trpc].js +1 -1
- package/dist/preview/.next/server/pages/api/trpc/[trpc].js.nft.json +1 -1
- package/dist/preview/.next/server/pages/en/404.html +1 -1
- package/dist/preview/.next/server/pages/en/500.html +1 -1
- package/dist/preview/.next/server/pages/en/test.html +1 -1
- package/dist/preview/.next/server/pages/index.js +2 -2
- package/dist/preview/.next/server/pages/index.js.nft.json +1 -1
- package/dist/preview/.next/server/pages/preview/[...relTemplatePath].js +1 -1
- package/dist/preview/.next/server/pages/preview/[...relTemplatePath].js.nft.json +1 -1
- package/dist/preview/.next/server/pages/test.js.nft.json +1 -1
- package/dist/preview/.next/server/pages-manifest.json +1 -1
- package/dist/preview/.next/static/KcxCEfbjkQZ7a2n1JJAmW/_buildManifest.js +1 -0
- package/dist/preview/.next/static/chunks/837-9d4cc2d57e81e85c.js +1 -0
- package/dist/preview/.next/static/chunks/pages/{_app-fb23116bf8c2175a.js → _app-7fa4f80c08ce0ec4.js} +28 -27
- package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-e0152b67b748423c.js +1 -0
- package/dist/preview/.next/static/css/{c7f6a8bc767cd2f6.css → 2f58a14ea86bceaa.css} +2 -2
- package/dist/preview/.next/trace +13 -13
- package/package.json +5 -6
- package/dist/preview/.next/server/chunks/865.js +0 -1
- package/dist/preview/.next/server/chunks/900.js +0 -1
- package/dist/preview/.next/static/7nZIXWS8ShPv20tmMeSGr/_buildManifest.js +0 -1
- package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-d13b73e31965195a.js +0 -1
- /package/dist/preview/.next/static/{7nZIXWS8ShPv20tmMeSGr → KcxCEfbjkQZ7a2n1JJAmW}/_ssgManifest.js +0 -0
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import http$1 from "node:http";
|
|
|
11
11
|
|
|
12
12
|
//#region package.json
|
|
13
13
|
var name = "@repdf/preview";
|
|
14
|
-
var version = "0.
|
|
14
|
+
var version = "0.4.0";
|
|
15
15
|
var type = "module";
|
|
16
16
|
var main = "dist/index.js";
|
|
17
17
|
var bin = { "repdf": "./dist/index.js" };
|
|
@@ -44,8 +44,6 @@ var scripts = {
|
|
|
44
44
|
"typecheck": "tsc --noEmit"
|
|
45
45
|
};
|
|
46
46
|
var dependencies = {
|
|
47
|
-
"@react-email/render": "1.0.2",
|
|
48
|
-
"@react-email/tailwind": "1.0.2",
|
|
49
47
|
"@repdf/core": "workspace:*",
|
|
50
48
|
"@repdf/tailwind-v3": "workspace:*",
|
|
51
49
|
"@repdf/tailwind-v4": "workspace:*",
|
|
@@ -65,6 +63,7 @@ var dependencies = {
|
|
|
65
63
|
"js-dependency-extractor": "^1.0.3",
|
|
66
64
|
"lucide-react": "^0.453.0",
|
|
67
65
|
"next": "^14.2.17",
|
|
66
|
+
"nuqs": "^2.8.9",
|
|
68
67
|
"ora": "^8.1.0",
|
|
69
68
|
"pino": "^9.4.0",
|
|
70
69
|
"pino-pretty": "^11.2.2",
|
|
@@ -129,15 +128,14 @@ var logger_default = logger;
|
|
|
129
128
|
//#endregion
|
|
130
129
|
//#region src/utils/checkPortAvailability.ts
|
|
131
130
|
function checkPortAvailability(port) {
|
|
132
|
-
return new Promise((resolve) => {
|
|
131
|
+
return new Promise((resolve, reject) => {
|
|
133
132
|
const server = http.createServer();
|
|
134
133
|
server.once("error", (err) => {
|
|
135
134
|
if (err.code === "EADDRINUSE") resolve(false);
|
|
136
|
-
else
|
|
135
|
+
else reject(err);
|
|
137
136
|
});
|
|
138
137
|
server.once("listening", () => {
|
|
139
|
-
server.close();
|
|
140
|
-
resolve(true);
|
|
138
|
+
server.close(() => resolve(true));
|
|
141
139
|
});
|
|
142
140
|
server.listen(port);
|
|
143
141
|
});
|
|
@@ -159,12 +157,21 @@ const getEnvVariablesForPreviewApp = (relativePathToPdfsDirectory, cwd) => {
|
|
|
159
157
|
};
|
|
160
158
|
};
|
|
161
159
|
let previewServer;
|
|
160
|
+
const activeSockets = new Set();
|
|
162
161
|
const startPreviewServer = async (pdfsDirRelativePath, port) => {
|
|
163
162
|
let actualPort = port;
|
|
164
|
-
while (
|
|
163
|
+
while (actualPort <= 65535) {
|
|
164
|
+
let isAvailable = false;
|
|
165
|
+
try {
|
|
166
|
+
isAvailable = await checkPortAvailability(actualPort);
|
|
167
|
+
} catch (error) {
|
|
168
|
+
throw new Error(`Failed to check port ${actualPort}: ${error.message}`);
|
|
169
|
+
}
|
|
170
|
+
if (isAvailable) break;
|
|
165
171
|
logger_default.info(`port ${actualPort} in use, trying ${actualPort + 1}`);
|
|
166
172
|
actualPort++;
|
|
167
173
|
}
|
|
174
|
+
if (actualPort > 65535) throw new Error(`No available ports found starting from ${port} (checked through 65535)`);
|
|
168
175
|
process.env = {
|
|
169
176
|
...process.env,
|
|
170
177
|
NODE_ENV: "development",
|
|
@@ -187,6 +194,12 @@ const startPreviewServer = async (pdfsDirRelativePath, port) => {
|
|
|
187
194
|
previewServer = http$1.createServer((req, res) => {
|
|
188
195
|
nextApp.getRequestHandler()(req, res, parse(req.url || "/", true));
|
|
189
196
|
});
|
|
197
|
+
previewServer.on("connection", (socket) => {
|
|
198
|
+
activeSockets.add(socket);
|
|
199
|
+
socket.on("close", () => {
|
|
200
|
+
activeSockets.delete(socket);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
190
203
|
const server = previewServer.listen(actualPort);
|
|
191
204
|
const url = `http://localhost:${actualPort}`;
|
|
192
205
|
const clickableUrl = `\u001B]8;;${url}\u0007${url}\u001B]8;;\u0007`;
|
|
@@ -201,6 +214,20 @@ const startPreviewServer = async (pdfsDirRelativePath, port) => {
|
|
|
201
214
|
});
|
|
202
215
|
return server;
|
|
203
216
|
};
|
|
217
|
+
const stopPreviewServer = async () => {
|
|
218
|
+
if (!previewServer) return;
|
|
219
|
+
for (const socket of activeSockets) socket.destroy();
|
|
220
|
+
activeSockets.clear();
|
|
221
|
+
await new Promise((resolve, reject) => {
|
|
222
|
+
previewServer.close((error) => {
|
|
223
|
+
if (error) {
|
|
224
|
+
reject(error);
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
resolve();
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
};
|
|
204
231
|
|
|
205
232
|
//#endregion
|
|
206
233
|
//#region src/cli/commands/dev.ts
|
|
@@ -212,10 +239,10 @@ const dev = async ({ dir: relativePathToPdfFolder, port, debug }) => {
|
|
|
212
239
|
}
|
|
213
240
|
try {
|
|
214
241
|
if (!fs.existsSync(relativePathToPdfFolder)) throw new Error(`Missing ${relativePathToPdfFolder} folder`);
|
|
215
|
-
|
|
242
|
+
await startPreviewServer(relativePathToPdfFolder, parseInt(port));
|
|
216
243
|
const shutdown = async () => {
|
|
217
244
|
logger_default.info("Shutting down preview server...");
|
|
218
|
-
await
|
|
245
|
+
await stopPreviewServer();
|
|
219
246
|
process.exit(0);
|
|
220
247
|
};
|
|
221
248
|
process.on("SIGINT", shutdown);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
KcxCEfbjkQZ7a2n1JJAmW
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/KcxCEfbjkQZ7a2n1JJAmW/_buildManifest.js",
|
|
9
|
+
"static/KcxCEfbjkQZ7a2n1JJAmW/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [],
|
|
12
12
|
"pages": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"static/chunks/webpack-0b5d8249fb15f5f3.js",
|
|
22
22
|
"static/chunks/framework-e0f347a11a70369e.js",
|
|
23
23
|
"static/chunks/main-32f0addb06a02100.js",
|
|
24
|
-
"static/css/
|
|
25
|
-
"static/chunks/pages/_app-
|
|
24
|
+
"static/css/2f58a14ea86bceaa.css",
|
|
25
|
+
"static/chunks/pages/_app-7fa4f80c08ce0ec4.js"
|
|
26
26
|
],
|
|
27
27
|
"/_error": [
|
|
28
28
|
"static/chunks/webpack-0b5d8249fb15f5f3.js",
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
"static/chunks/framework-e0f347a11a70369e.js",
|
|
36
36
|
"static/chunks/main-32f0addb06a02100.js",
|
|
37
37
|
"static/chunks/64-33135d2a0b032c99.js",
|
|
38
|
-
"static/chunks/
|
|
38
|
+
"static/chunks/837-9d4cc2d57e81e85c.js",
|
|
39
|
+
"static/chunks/pages/preview/[...relTemplatePath]-e0152b67b748423c.js"
|
|
39
40
|
],
|
|
40
41
|
"/test": [
|
|
41
42
|
"static/chunks/webpack-0b5d8249fb15f5f3.js",
|