@repdf/preview 0.3.0 → 0.3.1

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.
Files changed (32) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +215 -219
  3. package/dist/preview/.next/BUILD_ID +1 -1
  4. package/dist/preview/.next/build-manifest.json +3 -3
  5. package/dist/preview/.next/cache/.tsbuildinfo +1 -1
  6. package/dist/preview/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/dist/preview/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/dist/preview/.next/cache/webpack/edge-server-production/index.pack +0 -0
  9. package/dist/preview/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/dist/preview/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/dist/preview/.next/next-minimal-server.js.nft.json +1 -1
  12. package/dist/preview/.next/next-server.js.nft.json +1 -1
  13. package/dist/preview/.next/prerender-manifest.json +1 -1
  14. package/dist/preview/.next/routes-manifest.json +1 -1
  15. package/dist/preview/.next/server/chunks/900.js +1 -1
  16. package/dist/preview/.next/server/functions-config-manifest.json +1 -1
  17. package/dist/preview/.next/server/middleware-build-manifest.js +1 -1
  18. package/dist/preview/.next/server/pages/api/trpc/[trpc].js +1 -1
  19. package/dist/preview/.next/server/pages/api/trpc/[trpc].js.nft.json +1 -1
  20. package/dist/preview/.next/server/pages/en/404.html +1 -1
  21. package/dist/preview/.next/server/pages/en/500.html +1 -1
  22. package/dist/preview/.next/server/pages/en/test.html +1 -1
  23. package/dist/preview/.next/server/pages/preview/[...relTemplatePath].js +1 -1
  24. package/dist/preview/.next/server/pages/preview/[...relTemplatePath].js.nft.json +1 -1
  25. package/dist/preview/.next/server/webpack-runtime.js +1 -1
  26. package/dist/preview/.next/static/{xj9QNF1eN2zKV4_vUn8Da → 7nZIXWS8ShPv20tmMeSGr}/_buildManifest.js +1 -1
  27. package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-d13b73e31965195a.js +1 -0
  28. package/dist/preview/.next/trace +13 -12
  29. package/package.json +3 -3
  30. package/dist/preview/.next/server/chunks/870.js +0 -1
  31. package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-00654ed564ac5dbe.js +0 -1
  32. /package/dist/preview/.next/static/{xj9QNF1eN2zKV4_vUn8Da → 7nZIXWS8ShPv20tmMeSGr}/_ssgManifest.js +0 -0
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- #!/usr/bin/env node
1
+ export { };
package/dist/index.js CHANGED
@@ -1,244 +1,240 @@
1
1
  #!/usr/bin/env node
2
-
3
- // src/cli/index.ts
4
2
  import { program } from "commander";
3
+ import fs from "node:fs";
4
+ import pino from "pino";
5
+ import { parse } from "node:url";
6
+ import path from "path";
7
+ import { fileURLToPath } from "url";
8
+ import next from "next";
9
+ import http from "http";
10
+ import http$1 from "node:http";
5
11
 
6
- // package.json
12
+ //#region package.json
13
+ var name = "@repdf/preview";
14
+ var version = "0.3.0";
15
+ var type = "module";
16
+ var main = "dist/index.js";
17
+ var bin = { "repdf": "./dist/index.js" };
18
+ var exports = {
19
+ "./package.json": "./package.json",
20
+ ".": { "import": "./dist/index.js" }
21
+ };
22
+ var description = "preview app for rePDF. Not ready for production use.";
23
+ var keywords = [
24
+ "pdf",
25
+ "typescript",
26
+ "react"
27
+ ];
28
+ var homepage = "https://repdf.dev";
29
+ var author = "repdf labs";
30
+ var files = ["dist"];
31
+ var license = "MIT";
32
+ var scripts = {
33
+ "tsdown": "tsdown && node build-preview-server.js",
34
+ "build": "next build",
35
+ "dev": "next dev -p 3000",
36
+ "dev:live": "tsx src/cli/index.ts dev",
37
+ "dev:live:notused": "tsdown --watch",
38
+ "lint": "next lint",
39
+ "start": "next start",
40
+ "check-exports": "attw --pack .",
41
+ "format": "biome check --write .",
42
+ "local-release": "bun publish --access public",
43
+ "clean": "rm -rf dist",
44
+ "typecheck": "tsc --noEmit"
45
+ };
46
+ var dependencies = {
47
+ "@react-email/render": "1.0.2",
48
+ "@react-email/tailwind": "1.0.2",
49
+ "@repdf/core": "workspace:*",
50
+ "@repdf/tailwind-v3": "workspace:*",
51
+ "@repdf/tailwind-v4": "workspace:*",
52
+ "@tanstack/react-query": "^5.90.2",
53
+ "@tanstack/react-query-devtools": "^5.90.2",
54
+ "@trpc/client": "11.6.0",
55
+ "@trpc/next": "11.6.0",
56
+ "@trpc/react-query": "11.6.0",
57
+ "@trpc/server": "11.6.0",
58
+ "chokidar": "4.0.3",
59
+ "clsx": "^2.1.1",
60
+ "commander": "^12.1.0",
61
+ "dependency-tree": "^11.0.1",
62
+ "esbuild": "0.24.0",
63
+ "glob": "^11.0.0",
64
+ "js-beautify": "^1.15.1",
65
+ "js-dependency-extractor": "^1.0.3",
66
+ "lucide-react": "^0.453.0",
67
+ "next": "^14.2.17",
68
+ "ora": "^8.1.0",
69
+ "pino": "^9.4.0",
70
+ "pino-pretty": "^11.2.2",
71
+ "prism-react-renderer": "^2.4.0",
72
+ "puppeteer-core": "^24.37.5",
73
+ "react": "^18.3.1",
74
+ "react-dom": "^18.3.1",
75
+ "react-hot-toast": "^2.6.0",
76
+ "source-map-js": "^1.2.1",
77
+ "stacktrace-parser": "^0.1.10",
78
+ "superjson": "^2.2.1",
79
+ "tailwind-merge": "^2.6.0",
80
+ "webpack": "^5.95.0",
81
+ "zod": "^3.1.11"
82
+ };
83
+ var devDependencies = {
84
+ "@arethetypeswrong/cli": "0.16.4",
85
+ "@biomejs/biome": "1.9.3",
86
+ "@changesets/cli": "2.27.9",
87
+ "@types/js-beautify": "^1.14.3",
88
+ "@types/node": "^20.14.10",
89
+ "@types/react": "^18.3.12",
90
+ "@types/react-dom": "^18.3.1",
91
+ "postcss": "^8.4.39",
92
+ "react-email": "3.0.1",
93
+ "tailwindcss": "^3.4.14",
94
+ "tsdown": "^0.9.0",
95
+ "tsx": "^4.19.2",
96
+ "typescript": "^5.9.3"
97
+ };
98
+ var packageManager = "pnpm@9.7.1";
7
99
  var package_default = {
8
- name: "@repdf/preview",
9
- version: "0.3.0",
10
- type: "module",
11
- main: "dist/index.js",
12
- bin: {
13
- repdf: "./dist/index.js"
14
- },
15
- exports: {
16
- "./package.json": "./package.json",
17
- ".": {
18
- import: "./dist/index.js"
19
- }
20
- },
21
- description: "preview app for rePDF. Not ready for production use.",
22
- keywords: ["pdf", "typescript", "react"],
23
- homepage: "https://repdf.dev",
24
- author: "repdf labs",
25
- files: ["dist"],
26
- license: "MIT",
27
- scripts: {
28
- tsup: "tsup --tsconfig tsconfig.build.json && node build-preview-server.js",
29
- build: "next build",
30
- dev: "next dev -p 3000",
31
- "dev:live": "tsx src/cli/index.ts dev",
32
- "dev:live:notused": "tsup --tsconfig tsconfig.build.json --watch",
33
- lint: "next lint",
34
- start: "next start",
35
- "check-exports": "attw --pack .",
36
- format: "biome check --write .",
37
- "local-release": "bun publish --access public",
38
- clean: "rm -rf dist",
39
- typecheck: "tsc --noEmit"
40
- },
41
- dependencies: {
42
- "@react-email/render": "1.0.2",
43
- "@react-email/tailwind": "1.0.2",
44
- "@repdf/core": "workspace:*",
45
- "@repdf/tailwind-v3": "workspace:*",
46
- "@repdf/tailwind-v4": "workspace:*",
47
- "@tanstack/react-query": "^5.90.2",
48
- "@tanstack/react-query-devtools": "^5.90.2",
49
- "@trpc/client": "11.6.0",
50
- "@trpc/next": "11.6.0",
51
- "@trpc/react-query": "11.6.0",
52
- "@trpc/server": "11.6.0",
53
- chokidar: "4.0.3",
54
- clsx: "^2.1.1",
55
- commander: "^12.1.0",
56
- "dependency-tree": "^11.0.1",
57
- esbuild: "0.24.0",
58
- glob: "^11.0.0",
59
- "js-beautify": "^1.15.1",
60
- "js-dependency-extractor": "^1.0.3",
61
- "lucide-react": "^0.453.0",
62
- next: "^14.2.17",
63
- ora: "^8.1.0",
64
- pino: "^9.4.0",
65
- "pino-pretty": "^11.2.2",
66
- "prism-react-renderer": "^2.4.0",
67
- "puppeteer-core": "^24.37.5",
68
- react: "^18.3.1",
69
- "react-dom": "^18.3.1",
70
- "react-hot-toast": "^2.6.0",
71
- "source-map-js": "^1.2.1",
72
- "stacktrace-parser": "^0.1.10",
73
- superjson: "^2.2.1",
74
- "tailwind-merge": "^2.6.0",
75
- webpack: "^5.95.0",
76
- zod: "^3.1.11"
77
- },
78
- devDependencies: {
79
- "@arethetypeswrong/cli": "0.16.4",
80
- "@biomejs/biome": "1.9.3",
81
- "@changesets/cli": "2.27.9",
82
- "@types/js-beautify": "^1.14.3",
83
- "@types/node": "^20.14.10",
84
- "@types/react": "^18.3.12",
85
- "@types/react-dom": "^18.3.1",
86
- postcss: "^8.4.39",
87
- "react-email": "3.0.1",
88
- tailwindcss: "^3.4.14",
89
- tsup: "8.3.5",
90
- tsx: "^4.19.2",
91
- typescript: "^5.9.3"
92
- },
93
- packageManager: "pnpm@9.7.1"
100
+ name,
101
+ version,
102
+ type,
103
+ main,
104
+ bin,
105
+ exports,
106
+ description,
107
+ keywords,
108
+ homepage,
109
+ author,
110
+ files,
111
+ license,
112
+ scripts,
113
+ dependencies,
114
+ devDependencies,
115
+ packageManager
94
116
  };
95
117
 
96
- // src/cli/commands/dev.ts
97
- import fs from "node:fs";
98
-
99
- // src/logger.ts
100
- import pino from "pino";
101
- var logger = pino({
102
- transport: {
103
- target: "pino-pretty"
104
- },
105
- level: "info"
118
+ //#endregion
119
+ //#region src/logger.ts
120
+ const logger = pino({
121
+ transport: { target: "pino-pretty" },
122
+ level: "info"
106
123
  });
107
124
  function enableDebugLogging() {
108
- logger.level = "debug";
125
+ logger.level = "debug";
109
126
  }
110
127
  var logger_default = logger;
111
128
 
112
- // src/cli/commands/server.ts
113
- import { parse } from "node:url";
114
- import path from "path";
115
- import { fileURLToPath } from "url";
116
- import next from "next";
117
-
118
- // src/utils/checkPortAvailability.ts
119
- import http from "http";
129
+ //#endregion
130
+ //#region src/utils/checkPortAvailability.ts
120
131
  function checkPortAvailability(port) {
121
- return new Promise((resolve) => {
122
- const server = http.createServer();
123
- server.once("error", (err) => {
124
- if (err.code === "EADDRINUSE") {
125
- resolve(false);
126
- } else {
127
- resolve(false);
128
- }
129
- });
130
- server.once("listening", () => {
131
- server.close();
132
- resolve(true);
133
- });
134
- server.listen(port);
135
- });
132
+ return new Promise((resolve) => {
133
+ const server = http.createServer();
134
+ server.once("error", (err) => {
135
+ if (err.code === "EADDRINUSE") resolve(false);
136
+ else resolve(false);
137
+ });
138
+ server.once("listening", () => {
139
+ server.close();
140
+ resolve(true);
141
+ });
142
+ server.listen(port);
143
+ });
136
144
  }
137
145
 
138
- // src/cli/commands/server.ts
139
- import http2 from "node:http";
140
- var __filename = fileURLToPath(import.meta.url);
141
- var __dirname = path.dirname(__filename);
142
- var isDev = !__filename.endsWith("index.js");
146
+ //#endregion
147
+ //#region src/cli/commands/server.ts
148
+ const __filename = fileURLToPath(import.meta.url);
149
+ const __dirname = path.dirname(__filename);
150
+ const isDev = !__filename.endsWith("index.js");
143
151
  logger_default.debug({ isDev }, "cli script dev mode");
144
- var cliPackageLocation = isDev ? path.resolve(__dirname, "../..") : path.resolve(__dirname, "../..");
145
- var previewServerLocation = isDev ? path.resolve(__dirname, "../../..") : path.resolve(__dirname, "./preview");
146
- var getEnvVariablesForPreviewApp = (relativePathToPdfsDirectory, cwd) => {
147
- return {
148
- RELATIVE_PATH_TO_PDF_FOLDER: relativePathToPdfsDirectory,
149
- ABSOLUTE_PATH_TO_PDF_FOLDER: path.resolve(cwd, relativePathToPdfsDirectory),
150
- USER_PROJECT_LOCATION: cwd
151
- // TODO what is this used for if anything
152
- };
152
+ const cliPackageLocation = isDev ? path.resolve(__dirname, "../..") : path.resolve(__dirname, "../..");
153
+ const previewServerLocation = isDev ? path.resolve(__dirname, "../../..") : path.resolve(__dirname, "./preview");
154
+ const getEnvVariablesForPreviewApp = (relativePathToPdfsDirectory, cwd) => {
155
+ return {
156
+ RELATIVE_PATH_TO_PDF_FOLDER: relativePathToPdfsDirectory,
157
+ ABSOLUTE_PATH_TO_PDF_FOLDER: path.resolve(cwd, relativePathToPdfsDirectory),
158
+ USER_PROJECT_LOCATION: cwd
159
+ };
153
160
  };
154
- var previewServer;
155
- var startPreviewServer = async (pdfsDirRelativePath, port) => {
156
- let actualPort = port;
157
- while (!await checkPortAvailability(actualPort)) {
158
- logger_default.info(`port ${actualPort} in use, trying ${actualPort + 1}`);
159
- actualPort++;
160
- }
161
- process.env = {
162
- ...process.env,
163
- NODE_ENV: "development",
164
- //isDev ? "development" : "production", // TODO: why is this set to development and is that right?
165
- PORT: actualPort.toString(),
166
- ...getEnvVariablesForPreviewApp(
167
- // If we don't do normalization here, stuff like https://github.com/resend/react-email/issues/1354 happens.
168
- path.normalize(pdfsDirRelativePath),
169
- process.cwd()
170
- )
171
- };
172
- const nextApp = next({
173
- dev: isDev,
174
- conf: {
175
- images: {
176
- // This is to avoid the warning with sharp
177
- unoptimized: true
178
- }
179
- },
180
- hostname: "localhost",
181
- port: actualPort,
182
- dir: previewServerLocation
183
- });
184
- logger_default.info("preparing next app");
185
- await nextApp.prepare();
186
- previewServer = http2.createServer((req, res) => {
187
- nextApp.getRequestHandler()(req, res, parse(req.url || "/", true));
188
- });
189
- const server = previewServer.listen(actualPort);
190
- const url = `http://localhost:${actualPort}`;
191
- const clickableUrl = `\x1B]8;;${url}\x07${url}\x1B]8;;\x07`;
192
- console.log(clickableUrl);
193
- server.on("upgrade", (req, socket, head) => {
194
- logger_default.debug({ url: req.url }, "websocket upgrade");
195
- const { pathname } = parse(req.url || "/", true);
196
- if (pathname === "/_next/webpack-hmr") {
197
- logger_default.debug("nextjs HMR websocket upgrade");
198
- nextApp.getUpgradeHandler()(req, socket, head);
199
- }
200
- });
201
- return server;
161
+ let previewServer;
162
+ const startPreviewServer = async (pdfsDirRelativePath, port) => {
163
+ let actualPort = port;
164
+ while (!await checkPortAvailability(actualPort)) {
165
+ logger_default.info(`port ${actualPort} in use, trying ${actualPort + 1}`);
166
+ actualPort++;
167
+ }
168
+ process.env = {
169
+ ...process.env,
170
+ NODE_ENV: "development",
171
+ PORT: actualPort.toString(),
172
+ ...getEnvVariablesForPreviewApp(
173
+ // If we don't do normalization here, stuff like https://github.com/resend/react-email/issues/1354 happens.
174
+ path.normalize(pdfsDirRelativePath),
175
+ process.cwd()
176
+ )
177
+ };
178
+ const nextApp = next({
179
+ dev: isDev,
180
+ conf: { images: { unoptimized: true } },
181
+ hostname: "localhost",
182
+ port: actualPort,
183
+ dir: previewServerLocation
184
+ });
185
+ logger_default.info("preparing next app");
186
+ await nextApp.prepare();
187
+ previewServer = http$1.createServer((req, res) => {
188
+ nextApp.getRequestHandler()(req, res, parse(req.url || "/", true));
189
+ });
190
+ const server = previewServer.listen(actualPort);
191
+ const url = `http://localhost:${actualPort}`;
192
+ const clickableUrl = `\u001B]8;;${url}\u0007${url}\u001B]8;;\u0007`;
193
+ console.log(clickableUrl);
194
+ server.on("upgrade", (req, socket, head) => {
195
+ logger_default.debug({ url: req.url }, "websocket upgrade");
196
+ const { pathname } = parse(req.url || "/", true);
197
+ if (pathname === "/_next/webpack-hmr") {
198
+ logger_default.debug("nextjs HMR websocket upgrade");
199
+ nextApp.getUpgradeHandler()(req, socket, head);
200
+ }
201
+ });
202
+ return server;
202
203
  };
203
204
 
204
- // src/cli/commands/dev.ts
205
- var dev = async ({
206
- dir: relativePathToPdfFolder,
207
- port,
208
- debug
209
- }) => {
210
- if (debug || process.env.DEBUG === "true" || process.env.DEBUG === "1") {
211
- process.env.DEBUG = "true";
212
- enableDebugLogging();
213
- logger_default.debug("debug logging enabled");
214
- }
215
- try {
216
- if (!fs.existsSync(relativePathToPdfFolder)) {
217
- throw new Error(`Missing ${relativePathToPdfFolder} folder`);
218
- }
219
- const devServer = await startPreviewServer(
220
- relativePathToPdfFolder,
221
- parseInt(port)
222
- );
223
- const shutdown = async () => {
224
- logger_default.info("Shutting down preview server...");
225
- await devServer?.close();
226
- process.exit(0);
227
- };
228
- process.on("SIGINT", shutdown);
229
- process.on("SIGTERM", shutdown);
230
- } catch (error) {
231
- logger_default.error(error);
232
- process.exit(1);
233
- }
205
+ //#endregion
206
+ //#region src/cli/commands/dev.ts
207
+ const dev = async ({ dir: relativePathToPdfFolder, port, debug }) => {
208
+ if (debug || process.env.DEBUG === "true" || process.env.DEBUG === "1") {
209
+ process.env.DEBUG = "true";
210
+ enableDebugLogging();
211
+ logger_default.debug("debug logging enabled");
212
+ }
213
+ try {
214
+ if (!fs.existsSync(relativePathToPdfFolder)) throw new Error(`Missing ${relativePathToPdfFolder} folder`);
215
+ const devServer = await startPreviewServer(relativePathToPdfFolder, parseInt(port));
216
+ const shutdown = async () => {
217
+ logger_default.info("Shutting down preview server...");
218
+ await devServer?.close();
219
+ process.exit(0);
220
+ };
221
+ process.on("SIGINT", shutdown);
222
+ process.on("SIGTERM", shutdown);
223
+ } catch (error) {
224
+ logger_default.error(error);
225
+ process.exit(1);
226
+ }
234
227
  };
235
228
 
236
- // src/cli/index.ts
237
- var PACKAGE_NAME = "repdf";
229
+ //#endregion
230
+ //#region src/cli/index.ts
231
+ const PACKAGE_NAME = "repdf";
238
232
  program.name(PACKAGE_NAME).description("A live preview of your pdf templates").version(package_default.version);
239
233
  program.command("dev").description("Starts the preview pdf development app").option("-d --dir <path>", "Directory containing pdf templates", "./src/pdfs").option("-p --port <port>", "Port to run dev server on", "3000").option("--debug", "Enable debug logging").action(dev);
240
234
  if (!process.argv.slice(2).length) {
241
- program.outputHelp();
242
- process.exit(0);
235
+ program.outputHelp();
236
+ process.exit(0);
243
237
  }
244
238
  program.parse();
239
+
240
+ //#endregion
@@ -1 +1 @@
1
- xj9QNF1eN2zKV4_vUn8Da
1
+ 7nZIXWS8ShPv20tmMeSGr
@@ -5,8 +5,8 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/xj9QNF1eN2zKV4_vUn8Da/_buildManifest.js",
9
- "static/xj9QNF1eN2zKV4_vUn8Da/_ssgManifest.js"
8
+ "static/7nZIXWS8ShPv20tmMeSGr/_buildManifest.js",
9
+ "static/7nZIXWS8ShPv20tmMeSGr/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [],
12
12
  "pages": {
@@ -35,7 +35,7 @@
35
35
  "static/chunks/framework-e0f347a11a70369e.js",
36
36
  "static/chunks/main-32f0addb06a02100.js",
37
37
  "static/chunks/64-33135d2a0b032c99.js",
38
- "static/chunks/pages/preview/[...relTemplatePath]-00654ed564ac5dbe.js"
38
+ "static/chunks/pages/preview/[...relTemplatePath]-d13b73e31965195a.js"
39
39
  ],
40
40
  "/test": [
41
41
  "static/chunks/webpack-0b5d8249fb15f5f3.js",