@repdf/preview 0.0.17 → 0.0.21

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 (84) hide show
  1. package/dist/index.js +2 -4
  2. package/dist/preview/.next/BUILD_ID +1 -1
  3. package/dist/preview/.next/build-manifest.json +5 -11
  4. package/dist/preview/.next/cache/.tsbuildinfo +1 -1
  5. package/dist/preview/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/dist/preview/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/dist/preview/.next/cache/webpack/edge-server-production/index.pack +0 -0
  8. package/dist/preview/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/dist/preview/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/dist/preview/.next/next-minimal-server.js.nft.json +1 -1
  11. package/dist/preview/.next/next-server.js.nft.json +1 -1
  12. package/dist/preview/.next/prerender-manifest.json +1 -1
  13. package/dist/preview/.next/routes-manifest.json +1 -1
  14. package/dist/preview/.next/server/chunks/787.js +4 -0
  15. package/dist/preview/.next/server/functions-config-manifest.json +1 -1
  16. package/dist/preview/.next/server/middleware-build-manifest.js +1 -1
  17. package/dist/preview/.next/server/pages/api/component.js +2 -2
  18. package/dist/preview/.next/server/pages/api/component.js.nft.json +1 -1
  19. package/dist/preview/.next/server/pages/api/pdf.js +1 -1
  20. package/dist/preview/.next/server/pages/api/pdf.js.nft.json +1 -1
  21. package/dist/preview/.next/server/pages/api/trpc/[trpc].js +1 -1
  22. package/dist/preview/.next/server/pages/api/trpc/[trpc].js.nft.json +1 -1
  23. package/dist/preview/.next/server/pages/en/404.html +1 -1
  24. package/dist/preview/.next/server/pages/en/500.html +1 -1
  25. package/dist/preview/.next/server/pages/index.js +1 -1
  26. package/dist/preview/.next/server/pages/preview/[...relTemplatePath].js +1 -1
  27. package/dist/preview/.next/server/pages-manifest.json +1 -1
  28. package/dist/preview/.next/static/chunks/pages/{index-cfb3abc654808c53.js → index-7e306d1513d09a1a.js} +1 -1
  29. package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-21a4afde50569413.js +1 -0
  30. package/dist/preview/.next/static/css/{ba34de3f88ea3d7b.css → 1f6d59b4f8c0fd6a.css} +1 -1
  31. package/dist/preview/.next/static/fz9ql8-57k-jJMz9gYIxr/_buildManifest.js +1 -0
  32. package/dist/preview/.next/trace +14 -14
  33. package/package.json +3 -5
  34. package/dist/index.cjs +0 -394
  35. package/dist/index.d.cts +0 -1
  36. package/dist/preview/.next/cache/webpack/client-development/0.pack.gz +0 -0
  37. package/dist/preview/.next/cache/webpack/client-development/1.pack.gz +0 -0
  38. package/dist/preview/.next/cache/webpack/client-development/10.pack.gz +0 -0
  39. package/dist/preview/.next/cache/webpack/client-development/11.pack.gz +0 -0
  40. package/dist/preview/.next/cache/webpack/client-development/12.pack.gz +0 -0
  41. package/dist/preview/.next/cache/webpack/client-development/13.pack.gz +0 -0
  42. package/dist/preview/.next/cache/webpack/client-development/14.pack.gz +0 -0
  43. package/dist/preview/.next/cache/webpack/client-development/15.pack.gz +0 -0
  44. package/dist/preview/.next/cache/webpack/client-development/16.pack.gz +0 -0
  45. package/dist/preview/.next/cache/webpack/client-development/2.pack.gz +0 -0
  46. package/dist/preview/.next/cache/webpack/client-development/3.pack.gz +0 -0
  47. package/dist/preview/.next/cache/webpack/client-development/4.pack.gz +0 -0
  48. package/dist/preview/.next/cache/webpack/client-development/5.pack.gz +0 -0
  49. package/dist/preview/.next/cache/webpack/client-development/6.pack.gz +0 -0
  50. package/dist/preview/.next/cache/webpack/client-development/7.pack.gz +0 -0
  51. package/dist/preview/.next/cache/webpack/client-development/8.pack.gz +0 -0
  52. package/dist/preview/.next/cache/webpack/client-development/9.pack.gz +0 -0
  53. package/dist/preview/.next/cache/webpack/client-development/index.pack.gz +0 -0
  54. package/dist/preview/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
  55. package/dist/preview/.next/cache/webpack/client-development-fallback/0.pack.gz +0 -0
  56. package/dist/preview/.next/cache/webpack/client-development-fallback/index.pack.gz.old +0 -0
  57. package/dist/preview/.next/cache/webpack/client-production/index.pack.old +0 -0
  58. package/dist/preview/.next/cache/webpack/server-development/0.pack.gz +0 -0
  59. package/dist/preview/.next/cache/webpack/server-development/1.pack.gz +0 -0
  60. package/dist/preview/.next/cache/webpack/server-development/10.pack.gz +0 -0
  61. package/dist/preview/.next/cache/webpack/server-development/11.pack.gz +0 -0
  62. package/dist/preview/.next/cache/webpack/server-development/12.pack.gz +0 -0
  63. package/dist/preview/.next/cache/webpack/server-development/13.pack.gz +0 -0
  64. package/dist/preview/.next/cache/webpack/server-development/14.pack.gz +0 -0
  65. package/dist/preview/.next/cache/webpack/server-development/15.pack.gz +0 -0
  66. package/dist/preview/.next/cache/webpack/server-development/16.pack.gz +0 -0
  67. package/dist/preview/.next/cache/webpack/server-development/2.pack.gz +0 -0
  68. package/dist/preview/.next/cache/webpack/server-development/3.pack.gz +0 -0
  69. package/dist/preview/.next/cache/webpack/server-development/4.pack.gz +0 -0
  70. package/dist/preview/.next/cache/webpack/server-development/5.pack.gz +0 -0
  71. package/dist/preview/.next/cache/webpack/server-development/6.pack.gz +0 -0
  72. package/dist/preview/.next/cache/webpack/server-development/7.pack.gz +0 -0
  73. package/dist/preview/.next/cache/webpack/server-development/8.pack.gz +0 -0
  74. package/dist/preview/.next/cache/webpack/server-development/9.pack.gz +0 -0
  75. package/dist/preview/.next/cache/webpack/server-development/index.pack.gz +0 -0
  76. package/dist/preview/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
  77. package/dist/preview/.next/cache/webpack/server-production/index.pack.old +0 -0
  78. package/dist/preview/.next/server/chunks/288.js +0 -4
  79. package/dist/preview/.next/server/pages/en/hello.html +0 -1
  80. package/dist/preview/.next/server/pages/hello.js.nft.json +0 -1
  81. package/dist/preview/.next/static/S0LfO37YMLHJNvMGk_OGT/_buildManifest.js +0 -1
  82. package/dist/preview/.next/static/chunks/pages/hello-78aa44a690f8e32d.js +0 -1
  83. package/dist/preview/.next/static/chunks/pages/preview/[...relTemplatePath]-d073643405d70bc7.js +0 -1
  84. /package/dist/preview/.next/static/{S0LfO37YMLHJNvMGk_OGT → fz9ql8-57k-jJMz9gYIxr}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@repdf/preview",
3
- "version": "0.0.17",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -9,8 +9,7 @@
9
9
  "exports": {
10
10
  "./package.json": "./package.json",
11
11
  ".": {
12
- "import": "./dist/index.js",
13
- "default": "./dist/index.cjs"
12
+ "import": "./dist/index.js"
14
13
  }
15
14
  },
16
15
  "description": "preview app for rePDF. Not ready for production use.",
@@ -60,7 +59,7 @@
60
59
  "webpack": "^5.95.0",
61
60
  "ws": "^8.18.0",
62
61
  "zod": "^3.23.8",
63
- "@repdf/core": "0.0.13"
62
+ "@repdf/core": "0.0.15"
64
63
  },
65
64
  "devDependencies": {
66
65
  "tsx": "^4.19.1",
@@ -89,7 +88,6 @@
89
88
  "start": "next start",
90
89
  "check-exports": "attw --pack .",
91
90
  "format": "biome check --write .",
92
- "local-release": "bun publish --access public",
93
91
  "clean": "rm -rf dist"
94
92
  }
95
93
  }
package/dist/index.cjs DELETED
@@ -1,394 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
-
26
- // src/cli/index.ts
27
- var import_commander = require("commander");
28
-
29
- // package.json
30
- var package_default = {
31
- name: "@repdf/preview",
32
- version: "0.0.17",
33
- type: "module",
34
- main: "dist/index.js",
35
- bin: {
36
- repdf: "./dist/index.js"
37
- },
38
- exports: {
39
- "./package.json": "./package.json",
40
- ".": {
41
- import: "./dist/index.js",
42
- default: "./dist/index.cjs"
43
- }
44
- },
45
- description: "preview app for rePDF. Not ready for production use.",
46
- keywords: ["pdf", "typescript", "react"],
47
- homepage: "https://repdf.dev",
48
- author: "repdf labs",
49
- files: ["dist"],
50
- license: "MIT",
51
- scripts: {
52
- tsup: "tsup --tsconfig tsconfig.build.json && node build-preview-server.js",
53
- build: "next build",
54
- dev: "next dev -p 3005",
55
- "dev:live": "tsx watch src/cli/index.ts dev",
56
- "dev:live:notused": "tsup --tsconfig tsconfig.build.json --watch",
57
- lint: "next lint",
58
- start: "next start",
59
- "check-exports": "attw --pack .",
60
- format: "biome check --write .",
61
- "local-release": "bun publish --access public",
62
- clean: "rm -rf dist"
63
- },
64
- dependencies: {
65
- "@repdf/core": "workspace:*",
66
- "@react-email/render": "1.0.1",
67
- "@react-email/tailwind": "0.1.0",
68
- "@tanstack/react-query": "^5.59.15",
69
- "@tanstack/react-query-devtools": "^5.59.15",
70
- "@trpc/client": "^11.0.0-rc.553",
71
- "@trpc/next": "^11.0.0-rc.553",
72
- "@trpc/react-query": "^11.0.0-rc.553",
73
- "@trpc/server": "^11.0.0-rc.553",
74
- chokidar: "4.0.1",
75
- clsx: "^2.1.1",
76
- commander: "^12.1.0",
77
- "dependency-tree": "^11.0.1",
78
- esbuild: "0.24.0",
79
- express: "^4.21.1",
80
- glob: "^11.0.0",
81
- "js-beautify": "^1.15.1",
82
- "js-dependency-extractor": "^1.0.3",
83
- "lucide-react": "^0.453.0",
84
- next: "^14.2.15",
85
- ora: "^8.1.0",
86
- pino: "^9.4.0",
87
- "pino-pretty": "^11.2.2",
88
- "prism-react-renderer": "^2.4.0",
89
- puppeteer: "^23.4.1",
90
- react: "^18.3.1",
91
- "react-dom": "^18.3.1",
92
- "react-use-websocket": "^4.10.0",
93
- "source-map-js": "^1.2.1",
94
- "stacktrace-parser": "^0.1.10",
95
- superjson: "^2.2.1",
96
- "tailwind-merge": "^2.5.2",
97
- webpack: "^5.95.0",
98
- ws: "^8.18.0",
99
- zod: "^3.23.8"
100
- },
101
- devDependencies: {
102
- tsx: "^4.19.1",
103
- tsup: "8.3.0",
104
- "@changesets/cli": "2.27.9",
105
- "@arethetypeswrong/cli": "0.16.4",
106
- "@biomejs/biome": "1.9.3",
107
- "@types/express": "^5.0.0",
108
- "@types/js-beautify": "^1.14.3",
109
- "@types/node": "^20.14.10",
110
- "@types/react": "^18.3.11",
111
- "@types/react-dom": "^18.3.1",
112
- "@types/ws": "^8.5.12",
113
- postcss: "^8.4.39",
114
- "react-email": "3.0.1",
115
- tailwindcss: "^3.4.13",
116
- typescript: "^5.6.3"
117
- },
118
- packageManager: "pnpm@9.7.1"
119
- };
120
-
121
- // src/cli/commands/dev.ts
122
- var import_node_fs2 = __toESM(require("fs"), 1);
123
-
124
- // src/logger.ts
125
- var import_pino = __toESM(require("pino"), 1);
126
- var logger = (0, import_pino.default)({
127
- transport: {
128
- target: "pino-pretty"
129
- },
130
- level: "debug"
131
- });
132
- var logger_default = logger;
133
-
134
- // src/cli/commands/server.ts
135
- var import_node_url = require("url");
136
- var import_path = __toESM(require("path"), 1);
137
- var import_url = require("url");
138
- var import_express = __toESM(require("express"), 1);
139
- var import_next = __toESM(require("next"), 1);
140
- var import_ws = __toESM(require("ws"), 1);
141
- var import_ws2 = require("ws");
142
-
143
- // src/utils/files/pdfTemplateWatcher.ts
144
- var chokidar = __toESM(require("chokidar"), 1);
145
-
146
- // src/constants.ts
147
- var RELATIVE_PATH_TO_PDF_FOLDER = () => {
148
- if (!process.env.RELATIVE_PATH_TO_PDF_FOLDER) {
149
- throw new Error("RELATIVE_PATH_TO_PDF_FOLDER is not set");
150
- }
151
- return process.env.RELATIVE_PATH_TO_PDF_FOLDER;
152
- };
153
- var ABSOLUTE_PATH_TO_PDF_FOLDER = () => {
154
- if (!process.env.ABSOLUTE_PATH_TO_PDF_FOLDER) {
155
- throw new Error("ABSOLUTE_PATH_TO_PDF_FOLDER is not set");
156
- }
157
- return process.env.ABSOLUTE_PATH_TO_PDF_FOLDER;
158
- };
159
-
160
- // src/utils/files/dependencyTree.ts
161
- var import_dependency_tree = __toESM(require("dependency-tree"), 1);
162
- function getDependencyTree({
163
- relViewerPath,
164
- outputType
165
- }) {
166
- const options = {
167
- filename: relViewerPath,
168
- //TODO does this work with absolute paths?
169
- directory: ".",
170
- // requireConfig: 'path/to/requirejs/config', // optional
171
- // webpackConfig: 'path/to/webpack/config', // optional
172
- tsConfig: "tsconfig.json",
173
- // optional
174
- // nodeModulesConfig: {
175
- // entry: 'module'
176
- // }, // optional
177
- filter: (path3) => path3.indexOf("node_modules") === -1,
178
- // remove node_node modules from tree
179
- // nonExistent: [], // optional
180
- noTypeDefinitions: false
181
- // optional
182
- };
183
- if (outputType === "list") {
184
- return import_dependency_tree.default.toList(options);
185
- }
186
- return (0, import_dependency_tree.default)(options);
187
- }
188
-
189
- // src/utils/files/getPdfTemplates.ts
190
- var import_node_fs = __toESM(require("fs"), 1);
191
- var import_node_path = __toESM(require("path"), 1);
192
- var import_glob = require("glob");
193
- function isPotentialPdfTemplate(relViewerPath) {
194
- const stat = import_node_fs.default.statSync(relViewerPath);
195
- if (stat.isDirectory()) return false;
196
- const fileName = import_node_path.default.basename(relViewerPath);
197
- if (fileName.startsWith("_")) {
198
- return false;
199
- }
200
- const extension = import_node_path.default.extname(relViewerPath);
201
- if (![".tsx", ".ts", ".jsx", ".js"].includes(extension)) {
202
- return false;
203
- }
204
- const absoluteFilePath = import_node_path.default.resolve(relViewerPath);
205
- if (!import_node_fs.default.existsSync(absoluteFilePath)) {
206
- return false;
207
- }
208
- const fileContents = import_node_fs.default.readFileSync(absoluteFilePath, "utf8");
209
- const hasDefaultExport = fileContents.includes("export default");
210
- return hasDefaultExport;
211
- }
212
- function getPdfTemplates() {
213
- const potentialTemplateFilePaths = import_glob.glob.sync(
214
- `${RELATIVE_PATH_TO_PDF_FOLDER()}/**/*.{tsx,jsx,js}`,
215
- { nodir: true }
216
- );
217
- const filteredTemplateFilePaths = potentialTemplateFilePaths.filter(
218
- isPotentialPdfTemplate
219
- );
220
- return filteredTemplateFilePaths.map((file) => {
221
- const relTemplatePath = file.replace(
222
- `${RELATIVE_PATH_TO_PDF_FOLDER()}/`,
223
- ""
224
- );
225
- const pathParts = relTemplatePath.split("/");
226
- let topParentFolder = null;
227
- if (pathParts.length > 1 && pathParts[0]) {
228
- topParentFolder = pathParts[0];
229
- }
230
- return {
231
- fileName: import_node_path.default.basename(file),
232
- // just the file name
233
- relTemplatePath,
234
- relViewerPath: file,
235
- // to where script is being run
236
- absolutePath: import_node_path.default.resolve(file),
237
- // file system
238
- topParentFolder
239
- };
240
- });
241
- }
242
-
243
- // src/utils/files/pdfTemplateWatcher.ts
244
- function pdfTemplateWatcher() {
245
- const pdfTemplates = getPdfTemplates();
246
- const allFiles = /* @__PURE__ */ new Set();
247
- for (const pdfTemplate of pdfTemplates) {
248
- allFiles.add(pdfTemplate.absolutePath);
249
- const dependencyTree2 = getDependencyTree({
250
- relViewerPath: pdfTemplate.relViewerPath,
251
- outputType: "list"
252
- });
253
- for (const absoluteFilePath of dependencyTree2) {
254
- allFiles.add(absoluteFilePath);
255
- }
256
- }
257
- const watcher2 = chokidar.watch(ABSOLUTE_PATH_TO_PDF_FOLDER(), {
258
- persistent: true,
259
- ignoreInitial: true,
260
- ignored: /(^|[\/\\])\../
261
- // Ignore dot files
262
- });
263
- watcher2.add(Array.from(allFiles));
264
- watcher2.on("add", (filePath) => {
265
- logger_default.debug(`File ${filePath} has been added`);
266
- }).on("change", (filePath) => {
267
- }).on("unlink", (filePath) => {
268
- }).on("error", (error) => logger_default.error(`Watcher error: ${error}`));
269
- return watcher2;
270
- }
271
-
272
- // src/cli/commands/server.ts
273
- var import_meta = {};
274
- var __filename = (0, import_url.fileURLToPath)(import_meta.url);
275
- var __dirname = import_path.default.dirname(__filename);
276
- var isDev = !__filename.endsWith("index.js");
277
- console.log("cli script is in dev mode", isDev);
278
- var cliPackageLocation = isDev ? import_path.default.resolve(__dirname, "../..") : import_path.default.resolve(__dirname, "../..");
279
- var previewServerLocation = isDev ? import_path.default.resolve(__dirname, "../../..") : import_path.default.resolve(__dirname, "./preview");
280
- var getEnvVariablesForPreviewApp = (relativePathToPdfsDirectory, cwd) => {
281
- return {
282
- RELATIVE_PATH_TO_PDF_FOLDER: relativePathToPdfsDirectory,
283
- ABSOLUTE_PATH_TO_PDF_FOLDER: import_path.default.resolve(cwd, relativePathToPdfsDirectory),
284
- USER_PROJECT_LOCATION: cwd
285
- // TODO what is this used for if anything
286
- };
287
- };
288
- var previewServer;
289
- var clients = /* @__PURE__ */ new Set();
290
- var watcher;
291
- var startPreviewServer = async (pdfsDirRelativePath, port) => {
292
- previewServer = (0, import_express.default)();
293
- const server = previewServer.listen(port);
294
- const wss = new import_ws2.WebSocketServer({ noServer: true });
295
- process.env = {
296
- ...process.env,
297
- NODE_ENV: isDev ? "development" : "production",
298
- // TODO: why is this set to devlopment and is that right?
299
- PORT: port.toString(),
300
- ...getEnvVariablesForPreviewApp(
301
- // If we don't do normalization here, stuff like https://github.com/resend/react-email/issues/1354 happens.
302
- import_path.default.normalize(pdfsDirRelativePath),
303
- process.cwd()
304
- )
305
- };
306
- const nextApp = (0, import_next.default)({
307
- dev: isDev,
308
- conf: {
309
- images: {
310
- // This is to avoid the warning with sharp
311
- unoptimized: true
312
- }
313
- },
314
- hostname: "localhost",
315
- port,
316
- dir: previewServerLocation
317
- });
318
- logger_default.info("preparing next app");
319
- nextApp.prepare().then(() => {
320
- const url = `http://localhost:${port}`;
321
- const clickableUrl = `\x1B]8;;${url}\x07${url}\x1B]8;;\x07`;
322
- console.log(clickableUrl);
323
- previewServer.use((req, res, next2) => {
324
- nextApp.getRequestHandler()(req, res, (0, import_node_url.parse)(req.url, true));
325
- });
326
- watcher = pdfTemplateWatcher();
327
- watcher.on("all", () => {
328
- logger_default.info("watcher: file changed");
329
- for (const client of Array.from(clients)) {
330
- client.send(`file changed ${(/* @__PURE__ */ new Date()).toISOString()}`);
331
- }
332
- watcher = pdfTemplateWatcher();
333
- });
334
- wss.on("connection", (ws) => {
335
- clients.add(ws);
336
- logger_default.info("New client connected");
337
- ws.on("message", (message, isBinary) => {
338
- logger_default.info(`Message received: ${message}`);
339
- for (const client of Array.from(clients)) {
340
- if (client.readyState === import_ws.default.OPEN && message.toString() !== `{"event":"ping"}`) {
341
- client.send(message, { binary: isBinary });
342
- }
343
- }
344
- });
345
- ws.on("close", () => {
346
- clients.delete(ws);
347
- logger_default.info("Client disconnected");
348
- });
349
- });
350
- server.on("upgrade", (req, socket, head) => {
351
- logger_default.info("upgrading to websockets", req.url);
352
- const { pathname } = (0, import_node_url.parse)(req.url || "/", true);
353
- if (pathname === "/_next/webpack-hmr") {
354
- logger_default.info("inside nextjs hot module reloading path");
355
- nextApp.getUpgradeHandler()(req, socket, head);
356
- }
357
- if (pathname === "/api/ws") {
358
- wss.handleUpgrade(req, socket, head, (ws) => {
359
- wss.emit("connection", ws, req);
360
- });
361
- }
362
- });
363
- });
364
- return previewServer;
365
- };
366
-
367
- // src/cli/commands/dev.ts
368
- var dev = async ({
369
- dir: relativePathToPdfFolder,
370
- port
371
- }) => {
372
- try {
373
- if (!import_node_fs2.default.existsSync(relativePathToPdfFolder)) {
374
- throw new Error(`Missing ${relativePathToPdfFolder} folder`);
375
- }
376
- const devServer = await startPreviewServer(
377
- relativePathToPdfFolder,
378
- parseInt(port)
379
- );
380
- } catch (error) {
381
- logger_default.error(error);
382
- process.exit(1);
383
- }
384
- };
385
-
386
- // src/cli/index.ts
387
- var PACKAGE_NAME = "repdf";
388
- import_commander.program.name(PACKAGE_NAME).description("A live preview of your pdf templates").version(package_default.version);
389
- import_commander.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").action(dev);
390
- if (!process.argv.slice(2).length) {
391
- import_commander.program.outputHelp();
392
- process.exit(0);
393
- }
394
- import_commander.program.parse();
package/dist/index.d.cts DELETED
@@ -1 +0,0 @@
1
- #!/usr/bin/env node
@@ -1,4 +0,0 @@
1
- exports.id=288,exports.ids=[288],exports.modules={4227:(e,t,r)=>{var o={".":8833,"./":8833,"./__snapshots__/get-email-component.spec.ts.snap":7969,"./close-ora-on-sigint":9862,"./close-ora-on-sigint.ts":9862,"./cn":5481,"./cn.ts":5481,"./constants":1517,"./constants.ts":1517,"./esbuild/escape-string-for-regex":8895,"./esbuild/escape-string-for-regex.ts":8895,"./esbuild/renderring-utilities-exporter":3214,"./esbuild/renderring-utilities-exporter.ts":3214,"./get-email-component":4154,"./get-email-component.ts":4154,"./improve-error-with-sourcemap":7510,"./improve-error-with-sourcemap.ts":7510,"./index":8833,"./index.ts":8833,"./language-map":7137,"./language-map.ts":7137,"./static-node-modules-for-vm":1422,"./static-node-modules-for-vm.ts":1422,"./testing/request-response-email":9323,"./testing/request-response-email.tsx":9323,"./types/as":4467,"./types/as.ts":4467,"./types/error-object":787,"./types/error-object.ts":787,"./types/hot-reload-change":3053,"./types/hot-reload-change.ts":3053,"./types/hot-reload-event":1570,"./types/hot-reload-event.ts":1570,"src/og":8833,"src/og/":8833,"src/og/__snapshots__/get-email-component.spec.ts.snap":7969,"src/og/close-ora-on-sigint":9862,"src/og/close-ora-on-sigint.ts":9862,"src/og/cn":5481,"src/og/cn.ts":5481,"src/og/constants":1517,"src/og/constants.ts":1517,"src/og/esbuild/escape-string-for-regex":8895,"src/og/esbuild/escape-string-for-regex.ts":8895,"src/og/esbuild/renderring-utilities-exporter":3214,"src/og/esbuild/renderring-utilities-exporter.ts":3214,"src/og/get-email-component":4154,"src/og/get-email-component.ts":4154,"src/og/improve-error-with-sourcemap":7510,"src/og/improve-error-with-sourcemap.ts":7510,"src/og/index":8833,"src/og/index.ts":8833,"src/og/language-map":7137,"src/og/language-map.ts":7137,"src/og/static-node-modules-for-vm":1422,"src/og/static-node-modules-for-vm.ts":1422,"src/og/testing/request-response-email":9323,"src/og/testing/request-response-email.tsx":9323,"src/og/types/as":4467,"src/og/types/as.ts":4467,"src/og/types/error-object":787,"src/og/types/error-object.ts":787,"src/og/types/hot-reload-change":3053,"src/og/types/hot-reload-change.ts":3053,"src/og/types/hot-reload-event":1570,"src/og/types/hot-reload-event.ts":1570};function a(e){return r(n(e))}function n(e){if(!r.o(o,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}a.keys=function(){return Object.keys(o)},a.resolve=n,e.exports=a,a.id=4227},7282:(e,t)=>{"use strict";Object.defineProperty(t,"l",{enumerable:!0,get:function(){return function e(t,r){return r in t?t[r]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,r)):"function"==typeof t&&"default"===r?t:void 0}}})},8770:(e,t,r)=>{"use strict";r.d(t,{$:()=>a,z:()=>o});let o=()=>{if(!process.env.RELATIVE_PATH_TO_PDF_FOLDER)throw Error("RELATIVE_PATH_TO_PDF_FOLDER is not set");return process.env.RELATIVE_PATH_TO_PDF_FOLDER},a=()=>{if(!process.env.ABSOLUTE_PATH_TO_PDF_FOLDER)throw Error("ABSOLUTE_PATH_TO_PDF_FOLDER is not set");return process.env.ABSOLUTE_PATH_TO_PDF_FOLDER}},9862:(e,t,r)=>{"use strict";r.r(t),r.d(t,{closeOraOnSIGNIT:()=>a});let o=new Set;process.on("SIGINT",()=>{o.forEach(e=>{e.isSpinning&&e.stop()})});let a=e=>{o.add(e)}},5481:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.r(t),r.d(t,{cn:()=>s});var a=r(6593),n=r(8097),i=e([a,n]);[a,n]=i.then?(await i)():i;let s=(...e)=>(0,n.twMerge)((0,a.clsx)(e));o()}catch(e){o(e)}})},1517:(e,t,r)=>{"use strict";r.r(t),r.d(t,{tabTransition:()=>o});let o={type:"spring",stiffness:2e3,damping:80,mass:1}},8895:(e,t,r)=>{"use strict";function o(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}r.r(t),r.d(t,{escapeStringForRegex:()=>o})},3214:(e,t,r)=>{"use strict";r.r(t),r.d(t,{renderingUtilitiesExporter:()=>s});var o=r(7561),a=r(9411),n=r.n(a),i=r(8895);let s=e=>({name:"rendering-utilities-exporter",setup:t=>{t.onLoad({filter:new RegExp(e.map(e=>(0,i.escapeStringForRegex)(e)).join("|"))},async({path:e})=>({contents:`${await o.promises.readFile(e,"utf8")};
2
- export { render } from 'react-email-module-that-will-export-render'
3
- export { createElement as reactEmailCreateReactElement } from 'react';
4
- `,loader:n().extname(e).slice(1)})),t.onResolve({filter:/^react-email-module-that-will-export-render$/},async e=>{let r={kind:"import-statement",importer:e.importer,resolveDir:e.resolveDir,namespace:e.namespace},o=await t.resolve("@react-email/render",r);return 0===o.errors.length||0===(o=await t.resolve("@repdf/core",r)).errors.length||(o=await t.resolve("@react-email/components",r)).errors.length>0&&o.errors[0]&&(o.errors[0].text="Failed trying to import `render` from either `@react-email/render` or `@react-email/components` to be able to render your email template.\n Maybe you don't have either of them installed?"),o})}})},4154:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getEmailComponent:()=>d});var o=r(9411),a=r.n(o),n=r(6019),i=r.n(n),s=r(9659),l=r(3214),F=r(7510),u=r(1422);let d=async e=>{let t;try{t=(await (0,s.build)({bundle:!0,entryPoints:[e],plugins:[(0,l.renderingUtilitiesExporter)([e])],platform:"node",write:!1,format:"cjs",jsx:"automatic",logLevel:"silent",loader:{".js":"jsx"},outdir:"stdout",sourcemap:"external"})).outputFiles}catch(e){return{error:{message:e.message,stack:e.stack,name:e.name,cause:e.cause}}}let o=t[0],n=t[1].text,d={...global,console,Buffer,AbortSignal,Event,EventTarget,TextDecoder,Request,Response,TextDecoderStream,TextEncoder,TextEncoderStream,ReadableStream,URL,URLSearchParams,Headers,module:{exports:{default:void 0,render:void 0,reactEmailCreateReactElement:void 0}},__filename:e,__dirname:a().dirname(e),require:e=>{let t=e;return(e.startsWith("node:")&&(t=t.split(":")[1]),t in u.staticNodeModulesForVM)?u.staticNodeModulesForVM[t]:r(4227)(`${e}`)},process},c=JSON.parse(o.text);c.sourceRoot=a().resolve(o.path,"../.."),c.sources=c.sources.map(e=>a().resolve(o.path,"..",e));try{i().runInNewContext(n,d,{filename:e})}catch(t){return t.stack&&=t.stack.split("at Script.runInContext (node:vm")[0],{error:(0,F.improveErrorWithSourceMap)(t,e,c)}}return void 0===d.module.exports.default?{error:(0,F.improveErrorWithSourceMap)(Error(`The email component at ${e} does not contain a default export`),e,c)}:{emailComponent:d.module.exports.default,render:d.module.exports.render,createElement:d.module.exports.reactEmailCreateReactElement,sourceMapToOriginalFile:c}}},7510:(e,t,r)=>{"use strict";r.r(t),r.d(t,{improveErrorWithSourceMap:()=>s});var o=r(9411),a=r.n(o),n=r(483),i=r(4835);let s=(e,t,r)=>{let o;let s=r.sourceRoot??a().dirname(t),l=(e,t,r,o)=>{let n=o||r?`${r??""}${r&&o?":":""}${o??""}`:void 0,i=a().relative(s,t);return"<unknown>"===e?` at ${i}${n?`:${n}`:""}`:` at ${e} (${i}${n?`:${n}`:""})`};if(void 0!==e.stack){let a=i.parse(e.stack),s=new n.SourceMapConsumer(r),F=[];for(let e of a)if(e.file===t){if(e.column||e.lineNumber){let t=s.originalPositionFor({column:e.column??0,line:e.lineNumber??0});F.push(l(e.methodName,t.source??e.file,t.line,t.column))}else F.push(l(e.methodName,e.file,e.lineNumber,e.column))}else if(e.file){let t=l(e.methodName,e.file,e.lineNumber,e.column);F.push(t)}o=F.join("\n")}return{name:e.name,message:e.message,cause:e.cause,stack:o}}},8833:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.r(t),r.d(t,{cn:()=>a.cn});var a=r(5481);r(7137);var n=e([a]);a=(n.then?(await n)():n)[0],o()}catch(e){o(e)}})},7137:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});let o={jsx:"React",markup:"HTML",markdown:"Plain Text"}},1422:(e,t,r)=>{"use strict";r.r(t),r.d(t,{staticNodeModulesForVM:()=>ej});var o=r(8061),a=r.n(o),n=r(2761),i=r.n(n),s=r(2254),l=r.n(s),F=r(7718),u=r.n(F),d=r(8878),c=r.n(d),p=r(27),m=r.n(p),g=r(7053),x=r.n(g),h=r(6005),E=r.n(h),b=r(1215),f=r.n(b),y=r(5714),v=r.n(y),w=r(604),_=r.n(w),T=r(4158),k=r.n(T),P=r(5673),S=r.n(P),R=r(7561),A=r.n(R),O=r(3977),D=r.n(O),j=r(8849),C=r.n(j),L=r(2725),z=r.n(L),M=r(2286),N=r.n(M),$=r(5690),U=r.n($),q=r(2033),I=r.n(q),V=r(7503),H=r.n(V),G=r(612),W=r.n(G),B=r(9411),J=r.n(B),Y=r(8846),X=r.n(Y),K=r(7742),Q=r.n(K),Z=r(3801),ee=r.n(Z),et=r(9630),er=r.n(et),eo=r(1747),ea=r.n(eo),en=r(3792),ei=r.n(en),es=r(4492),el=r.n(es),eF=r(6915),eu=r.n(eF),ed=r(2332),ec=r.n(ed),ep=r(9397),em=r.n(ep),eg=r(1764),ex=r.n(eg),eh=r(5997),eE=r.n(eh),eb=r(1041),ef=r.n(eb),ey=r(7261),ev=r.n(ey),ew=r(3746),e_=r.n(ew),eT=r(3858),ek=r.n(eT),eP=r(6019),eS=r.n(eP),eR=r(4086),eA=r.n(eR),eO=r(5628),eD=r.n(eO);let ej={assert:a(),async_hooks:i(),buffer:l(),child_process:u(),cluster:c(),console:m(),constants:x(),crypto:E(),dgram:f(),diagnostics_channel:v(),dns:_(),domain:k(),events:S(),fs:A(),"fs/promises":D(),http:C(),http2:z(),https:N(),inspector:U(),module:I(),net:H(),os:W(),path:J(),perf_hooks:X(),process:Q(),punycode:ee(),querystring:er(),readline:ea(),repl:ei(),stream:el(),string_decoder:eu(),timers:ec(),"timers/promises":em(),tls:ex(),tty:eE(),url:ef(),util:ev(),"util/types":e_(),v8:ek(),vm:eS(),worker_threads:eA(),zlib:eD()}},9323:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var o=r(997);new Request("https://react.email"),new Response("{}");let a=()=>o.jsx("div",{})},4467:(e,t,r)=>{"use strict";r.r(t)},787:(e,t,r)=>{"use strict";r.r(t)},3053:(e,t,r)=>{"use strict";r.r(t)},1570:(e,t,r)=>{"use strict";r.r(t)},8107:(e,t)=>{"use strict";var r;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return r}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(r||(r={}))},4994:(e,t,r)=>{"use strict";e.exports=r(145)},7969:(e,t)=>{t["getEmailComponent() > with a demo email template 1"]=`"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html dir="ltr" lang="en"><head><link rel="preload" as="image" href="/static/vercel-logo.png"/><link rel="preload" as="image" href="/static/vercel-user.png"/><link rel="preload" as="image" href="/static/vercel-arrow.png"/><link rel="preload" as="image" href="/static/vercel-team.png"/><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><meta name="x-apple-disable-message-reformatting"/><!--$--></head><div style="display:none;overflow:hidden;line-height:1px;opacity:0;max-height:0;max-width:0">Join Alan on Vercel<div>\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF\xa0‌​‍‎‏\uFEFF</div></div><body style="background-color:rgb(255,255,255);margin-top:auto;margin-bottom:auto;margin-left:auto;margin-right:auto;font-family:ui-sans-serif, system-ui, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, &quot;Noto Color Emoji&quot;;padding-left:0.5rem;padding-right:0.5rem"><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" style="border-width:1px;border-style:solid;border-color:rgb(234,234,234);border-radius:0.25rem;margin-top:40px;margin-bottom:40px;margin-left:auto;margin-right:auto;padding:20px;max-width:465px"><tbody><tr style="width:100%"><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" style="margin-top:32px"><tbody><tr><td><img alt="Vercel" height="37" src="/static/vercel-logo.png" style="margin-top:0px;margin-bottom:0px;margin-left:auto;margin-right:auto;display:block;outline:none;border:none;text-decoration:none" width="40"/></td></tr></tbody></table><h1 style="color:rgb(0,0,0);font-size:24px;font-weight:400;text-align:center;padding:0px;margin-top:30px;margin-bottom:30px;margin-left:0px;margin-right:0px">Join <strong>Enigma</strong> on <strong>Vercel</strong></h1><p style="color:rgb(0,0,0);font-size:14px;line-height:24px;margin:16px 0">Hello <!-- -->alanturing<!-- -->,</p><p style="color:rgb(0,0,0);font-size:14px;line-height:24px;margin:16px 0"><strong>Alan</strong> (<a href="mailto:alan.turing@example.com" style="color:rgb(37,99,235);text-decoration-line:none" target="_blank">alan.turing@example.com</a>) has invited you to the <strong>Enigma</strong> team on<!-- --> <strong>Vercel</strong>.</p><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody><tr><td><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody style="width:100%"><tr style="width:100%"><td align="right" data-id="__react-email-column"><img height="64" src="/static/vercel-user.png" style="border-radius:9999px;display:block;outline:none;border:none;text-decoration:none" width="64"/></td><td align="center" data-id="__react-email-column"><img alt="invited you to" height="9" src="/static/vercel-arrow.png" style="display:block;outline:none;border:none;text-decoration:none" width="12"/></td><td align="left" data-id="__react-email-column"><img height="64" src="/static/vercel-team.png" style="border-radius:9999px;display:block;outline:none;border:none;text-decoration:none" width="64"/></td></tr></tbody></table></td></tr></tbody></table><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" style="text-align:center;margin-top:32px;margin-bottom:32px"><tbody><tr><td><a href="https://vercel.com/teams/invite/foo" style="background-color:rgb(0,0,0);border-radius:0.25rem;color:rgb(255,255,255);font-size:12px;font-weight:600;text-decoration-line:none;text-align:center;padding-left:1.25rem;padding-right:1.25rem;padding-top:0.75rem;padding-bottom:0.75rem;line-height:100%;text-decoration:none;display:inline-block;max-width:100%;mso-padding-alt:0px;padding:12px 20px 12px 20px" target="_blank"><span><!--[if mso]><i style="mso-font-width:500%;mso-text-raise:18" hidden>&#8202;&#8202;</i><![endif]--></span><span style="max-width:100%;display:inline-block;line-height:120%;mso-padding-alt:0px;mso-text-raise:9px">Join the team</span><span><!--[if mso]><i style="mso-font-width:500%" hidden>&#8202;&#8202;&#8203;</i><![endif]--></span></a></td></tr></tbody></table><p style="color:rgb(0,0,0);font-size:14px;line-height:24px;margin:16px 0">or copy and paste this URL into your browser:<!-- --> <a href="https://vercel.com/teams/invite/foo" style="color:rgb(37,99,235);text-decoration-line:none" target="_blank">https://vercel.com/teams/invite/foo</a></p><hr style="border-width:1px;border-style:solid;border-color:rgb(234,234,234);margin-top:26px;margin-bottom:26px;margin-left:0px;margin-right:0px;width:100%;border:none;border-top:1px solid #eaeaea"/><p style="color:rgb(102,102,102);font-size:12px;line-height:24px;margin:16px 0">This invitation was intended for<!-- --> <span style="color:rgb(0,0,0)">alanturing</span>. This invite was sent from <span style="color:rgb(0,0,0)">204.13.186.218</span> <!-- -->located in<!-- --> <span style="color:rgb(0,0,0)">S\xe3o Paulo, Brazil</span>. If you were not expecting this invitation, you can ignore this email. If you are concerned about your account&#x27;s safety, please reply to this email to get in touch with us.</p></td></tr></tbody></table><!--/$--></body></html>"`},2398:(e,t,r)=>{"use strict";r.a(e,async(e,o)=>{try{r.d(t,{sY:()=>s}),r(997);var a=r(526),n=r(8684),i=e([a]);async function s(e,t){let r=n.renderToString(e);return!t?.preview&&r.startsWith('<div id="repdf-doc-container">')&&r.endsWith("</div>")&&(r=(r=r.replace(/^<div id="repdf-doc-container">/,"<!DOCTYPE html><html><head><style>a,hr{color:inherit}progress,sub,sup{vertical-align:baseline}blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,menu,ol,p,pre,ul{margin:0}dialog,fieldset,legend,menu,ol,ul{padding:0}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}menu,ol,ul{list-style:none}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}</style></head><body>")).replace(/<\/div>$/,"</body></html>")),r}a=(i.then?(await i)():i)[0],o()}catch(e){o(e)}})}};
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16"/><link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32"/><link rel="preload" href="/_next/static/css/ba34de3f88ea3d7b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ba34de3f88ea3d7b.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-b8f8d6679aaa5f42.js" defer=""></script><script src="/_next/static/chunks/framework-e0f347a11a70369e.js" defer=""></script><script src="/_next/static/chunks/main-58cc12cfc6868a7a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2de82f9e83b4c360.js" defer=""></script><script src="/_next/static/chunks/pages/hello-78aa44a690f8e32d.js" defer=""></script><script src="/_next/static/S0LfO37YMLHJNvMGk_OGT/_buildManifest.js" defer=""></script><script src="/_next/static/S0LfO37YMLHJNvMGk_OGT/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="grid grid-cols-12"><div class="col-span-2"><div class="h-full min-h-screen border-r p-4 relative"><a href="/"><h1 class="text-2xl font-bold">rePDF</h1></a><div class="mt-5 flex flex-col gap-2"><div class="fixed bottom-4 left-0 p-4 text-sm"><div class="text-xs rounded-lg bg-gray-300 p-2 bg-green-500">Live Preview: <!-- -->OPEN</div></div></div></div></div><div class="col-span-10"><div class="flex h-screen flex-col items-center justify-center text-center"><h1 class="mb-4 text-4xl font-bold">rePDF</h1><h2 class="mb-4 text-2xl font-bold">Design, Develop, Deploy and Delight with PDFs</h2><p class="mb-8 max-w-2xl text-lg">The modern way to build PDFs, automatic previews and best practice components to make it easy to go from development to deployment.</p><a href="https://github.com/your-repo" target="_blank" rel="noopener noreferrer"><button type="button" class="rounded bg-blue-500 px-4 py-2 text-white transition duration-300 hover:bg-blue-700">Documentation</button></a></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/hello","query":{},"buildId":"S0LfO37YMLHJNvMGk_OGT","nextExport":true,"autoExport":true,"isFallback":false,"locale":"en","locales":["en"],"defaultLocale":"en","scriptLoader":[]}</script></body></html>
@@ -1 +0,0 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/992.js","../chunks/76.js","../chunks/515.js","../../../package.json","../../../../../package.json"]}
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[e,"static/chunks/pages/index-cfb3abc654808c53.js"],"/_error":["static/chunks/pages/_error-4ad10ca9d415501b.js"],"/hello":["static/chunks/pages/hello-78aa44a690f8e32d.js"],"/preview/[...relTemplatePath]":[e,"static/chunks/pages/preview/[...relTemplatePath]-d073643405d70bc7.js"],sortedPages:["/","/_app","/_error","/hello","/preview/[...relTemplatePath]"]}}("static/chunks/138-c24eca17d1ad2527.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[628],{3269:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/hello",function(){return n(3764)}])},3764:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return r}});var o=n(1549);function r(){return(0,o.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center text-center",children:[(0,o.jsx)("h1",{className:"mb-4 text-4xl font-bold",children:"rePDF"}),(0,o.jsx)("h2",{className:"mb-4 text-2xl font-bold",children:"Design, Develop, Deploy and Delight with PDFs"}),(0,o.jsx)("p",{className:"mb-8 max-w-2xl text-lg",children:"The modern way to build PDFs, automatic previews and best practice components to make it easy to go from development to deployment."}),(0,o.jsx)("a",{href:"https://github.com/your-repo",target:"_blank",rel:"noopener noreferrer",children:(0,o.jsx)("button",{type:"button",className:"rounded bg-blue-500 px-4 py-2 text-white transition duration-300 hover:bg-blue-700",children:"Documentation"})})]})}n(4194)}},function(e){e.O(0,[888,774,179],function(){return e(e.s=3269)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[254],{3440:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/preview/[...relTemplatePath]",function(){return r(8713)}])},8713:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSP:function(){return f},default:function(){return j}});var n=r(1549),l=r(7829),s=r(1578),i=r.n(s),a=r(433),c=r(4194),o=r(5562);function d(e){let{children:t}=e,{data:r,isLoading:l}=o.h.core.templateCheck.useQuery({relTemplatePath:"test.txt"});return(0,n.jsx)(n.Fragment,{children:t})}var h=r(7406);function u(e){let{relTemplatePath:t}=e,{data:r,isLoading:l}=o.h.core.fileContents.useQuery({relTemplatePath:t});return l?(0,n.jsx)("div",{children:"Loading..."}):r?(0,n.jsx)("div",{children:(0,n.jsx)(h.y$,{theme:h.np.shadesOfPurple,code:r,language:"tsx",children:e=>{let{className:t,style:r,tokens:l,getLineProps:s,getTokenProps:i}=e;return(0,n.jsx)("pre",{style:{...r,fontSize:"0.8rem",wordWrap:"break-word",whiteSpace:"pre-wrap",overflowWrap:"break-word",maxWidth:"100%"},children:l.map((e,t)=>(0,n.jsxs)("div",{...s({line:e}),style:{display:"flex"},children:[(0,n.jsx)("span",{style:{minWidth:"2em",userSelect:"none",opacity:.5},children:t+1}),(0,n.jsx)("span",{style:{flex:1,overflow:"hidden"},children:e.map((e,t)=>(0,n.jsx)("span",{...i({token:e}),style:{...i({token:e}).style,wordBreak:"break-all",whiteSpace:"pre-wrap"}},t))})]},t))})}})}):(0,n.jsx)("div",{children:"Error"})}function p(e){let{relTemplatePath:t}=e,{data:r}=o.h.core.generic.useQuery(void 0,{staleTime:1/0,initialData:new Date().toISOString()}),[l,s]=(0,c.useState)(!0),[i,a]=(0,c.useState)("/api/component?relativeTemplatePath=".concat(t));return(0,c.useEffect)(()=>{r&&(s(!0),a("/api/component?relativeTemplatePath=".concat(t,"&refresh=").concat(r)))},[r,t]),(0,n.jsxs)("div",{className:"relative h-full w-full",children:[l&&(0,n.jsx)("div",{className:"absolute inset-0 flex h-full w-full items-center justify-center bg-gray-100 bg-opacity-50",children:(0,n.jsx)("p",{children:"Rendering Component..."})}),i&&(0,n.jsx)("iframe",{src:i,className:"h-full w-full border-none",onLoad:()=>s(!1)})]})}function x(e){let{relTemplatePath:t}=e,{data:r,isLoading:l}=o.h.core.renderedHtml.useQuery({relTemplatePath:t});return l?(0,n.jsx)("div",{children:"Loading..."}):r?(0,n.jsx)("div",{children:(0,n.jsx)(h.y$,{theme:h.np.shadesOfPurple,code:r,language:"tsx",children:e=>{let{className:t,style:r,tokens:l,getLineProps:s,getTokenProps:i}=e;return(0,n.jsx)("pre",{style:{...r,fontSize:"0.8rem",wordWrap:"break-word",whiteSpace:"pre-wrap",overflowWrap:"break-word"},children:l.map((e,t)=>(0,n.jsxs)("div",{...s({line:e}),style:{display:"flex"},children:[(0,n.jsx)("span",{style:{minWidth:"2em",userSelect:"none",opacity:.5},children:t+1}),(0,n.jsx)("span",{children:e.map((e,t)=>(0,n.jsx)("span",{...i({token:e})},t))})]},t))})}})}):(0,n.jsx)("div",{children:"Error"})}function m(e){let{relTemplatePath:t}=e,{data:r}=o.h.core.generic.useQuery(void 0,{staleTime:1/0,initialData:new Date().toISOString()}),[l,s]=(0,c.useState)(!0),[i,a]=(0,c.useState)("/api/pdf?relativeTemplatePath=".concat(t));return(0,c.useEffect)(()=>{r&&(s(!0),a("/api/pdf?relativeTemplatePath=".concat(t,"&refresh=").concat(r)))},[r,t]),(0,n.jsxs)("div",{className:"relative h-full w-full",children:[l&&(0,n.jsx)("div",{className:"absolute inset-0 flex h-full w-full items-center justify-center bg-gray-100 bg-opacity-50",children:(0,n.jsx)("p",{children:"Rendering PDF..."})}),(0,n.jsx)("iframe",{src:i,width:"100%",height:"100%",title:"PDF Preview",onLoad:()=>s(!1)},r)]})}var f=!0;function j(e){let{templateName:t,relTemplatePath:r}=e,s=(0,a.useRouter)(),o=s.query.view,h=e=>{s.push({query:{...s.query,view:e}})};return(0,c.useEffect)(()=>{o||s.push({query:{...s.query,view:"component"}})},[o]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i(),{children:(0,n.jsx)("title",{children:"Preview PDF - rePDF"})}),(0,n.jsxs)("div",{className:"flex h-screen flex-col",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between bg-gray-200 p-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{children:t}),(0,n.jsx)("p",{className:"text-sm text-gray-500",children:t!==r?r:"​"})]}),(0,n.jsx)("div",{children:(0,n.jsxs)("ul",{className:"flex",children:[(0,n.jsx)("li",{className:(0,l.Z)("rounded-l bg-gray-300 p-2 text-sm hover:bg-gray-400 hover:text-white cursor-pointer","code"===o&&"bg-gray-400 text-white"),onClick:()=>h("code"),children:"Code"}),(0,n.jsx)("li",{className:(0,l.Z)(" bg-gray-300 p-2 text-sm hover:bg-gray-400 hover:text-white cursor-pointer","component"===o&&"bg-gray-400 text-white"),onClick:()=>h("component"),children:"Component"}),(0,n.jsx)("li",{className:(0,l.Z)(" bg-gray-300 p-2 text-sm hover:bg-gray-400 hover:text-white cursor-pointer","pdf"===o&&"bg-gray-400 text-white"),onClick:()=>h("pdf"),children:"PDF"}),(0,n.jsx)("li",{className:(0,l.Z)("rounded-r bg-gray-300 p-2 text-sm hover:bg-gray-400 hover:text-white cursor-pointer","html"===o&&"bg-gray-400 text-white"),onClick:()=>h("html"),children:"HTML"})]})})]}),(0,n.jsx)("div",{className:"flex-grow",children:(0,n.jsxs)(d,{children:["code"===o&&(0,n.jsx)(u,{relTemplatePath:r}),(null===o||"component"===o)&&(0,n.jsx)(p,{relTemplatePath:r}),"html"===o&&(0,n.jsx)(x,{relTemplatePath:r}),"pdf"===o&&(0,n.jsx)(m,{relTemplatePath:r})]})})]})]})}},433:function(e,t,r){e.exports=r(7835)}},function(e){e.O(0,[138,888,774,179],function(){return e(e.s=3440)}),_N_E=e.O()}]);