@markitdownjs/next 0.1.1 → 0.1.3
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/api-route.d.ts.map +1 -1
- package/dist/api-route.js +7 -7
- package/dist/api-route.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/route-handler.js +12 -13
- package/dist/route-handler.js.map +1 -1
- package/dist/server-action.d.ts +1 -1
- package/dist/server-action.js +4 -4
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +8 -8
- package/dist/upload.js.map +1 -1
- package/package.json +3 -3
package/dist/api-route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-route.d.ts","sourceRoot":"","sources":["../src/api-route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-route.d.ts","sourceRoot":"","sources":["../src/api-route.ts"],"names":[],"mappings":"AAAA,UAAU,yBAAyB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,IAC7C,SAAS,OAAO,uBAgC5C"}
|
package/dist/api-route.js
CHANGED
|
@@ -2,27 +2,27 @@ export function createConvertRoute(options = {}) {
|
|
|
2
2
|
return async function POST(request) {
|
|
3
3
|
try {
|
|
4
4
|
const formData = await request.formData();
|
|
5
|
-
const file = formData.get(
|
|
5
|
+
const file = formData.get("file");
|
|
6
6
|
if (!file) {
|
|
7
|
-
return Response.json({ error:
|
|
7
|
+
return Response.json({ error: "No file provided" }, { status: 400 });
|
|
8
8
|
}
|
|
9
9
|
if (options.maxFileSize && file.size > options.maxFileSize) {
|
|
10
|
-
return Response.json({ error:
|
|
10
|
+
return Response.json({ error: "File too large" }, { status: 413 });
|
|
11
11
|
}
|
|
12
12
|
if (options.allowedTypes && options.allowedTypes.length > 0) {
|
|
13
|
-
const ext = file.name.split(
|
|
13
|
+
const ext = file.name.split(".").pop()?.toLowerCase();
|
|
14
14
|
if (!ext || !options.allowedTypes.includes(ext)) {
|
|
15
|
-
return Response.json({ error:
|
|
15
|
+
return Response.json({ error: "File type not allowed" }, { status: 415 });
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
const { MarkItDown } = await import(
|
|
18
|
+
const { MarkItDown } = await import("@markitdownjs/core");
|
|
19
19
|
const parser = new MarkItDown();
|
|
20
20
|
const result = await parser.convert(file);
|
|
21
21
|
options.onConvert?.(result);
|
|
22
22
|
return Response.json(result);
|
|
23
23
|
}
|
|
24
24
|
catch (error) {
|
|
25
|
-
return Response.json({ error: error instanceof Error ? error.message :
|
|
25
|
+
return Response.json({ error: error instanceof Error ? error.message : "Conversion failed" }, { status: 500 });
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
}
|
package/dist/api-route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-route.js","sourceRoot":"","sources":["../src/api-route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-route.js","sourceRoot":"","sources":["../src/api-route.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IACxE,OAAO,KAAK,UAAU,IAAI,CAAC,OAAgB;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;YAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;gBACtD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,EACvE,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createConvertRoute } from
|
|
2
|
-
export { convertDocumentAction } from
|
|
3
|
-
export { formatsRoute, convertRoute, batchRoute } from
|
|
4
|
-
export { handleFileUpload, validateFile } from
|
|
1
|
+
export { createConvertRoute } from "./api-route.js";
|
|
2
|
+
export { convertDocumentAction } from "./server-action.js";
|
|
3
|
+
export { formatsRoute, convertRoute, batchRoute } from "./route-handler.js";
|
|
4
|
+
export { handleFileUpload, validateFile } from "./upload.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createConvertRoute } from
|
|
2
|
-
export { convertDocumentAction } from
|
|
3
|
-
export { formatsRoute, convertRoute, batchRoute } from
|
|
4
|
-
export { handleFileUpload, validateFile } from
|
|
1
|
+
export { createConvertRoute } from "./api-route.js";
|
|
2
|
+
export { convertDocumentAction } from "./server-action.js";
|
|
3
|
+
export { formatsRoute, convertRoute, batchRoute } from "./route-handler.js";
|
|
4
|
+
export { handleFileUpload, validateFile } from "./upload.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/route-handler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSupportedExtensions, getSupportedMimeTypes } from
|
|
1
|
+
import { getSupportedExtensions, getSupportedMimeTypes } from "@markitdownjs/shared";
|
|
2
2
|
export async function formatsRoute() {
|
|
3
3
|
const extensions = getSupportedExtensions();
|
|
4
4
|
const mimeTypes = getSupportedMimeTypes();
|
|
@@ -7,44 +7,43 @@ export async function formatsRoute() {
|
|
|
7
7
|
export async function convertRoute(request) {
|
|
8
8
|
try {
|
|
9
9
|
const formData = await request.formData();
|
|
10
|
-
const file = formData.get(
|
|
10
|
+
const file = formData.get("file");
|
|
11
11
|
if (!file) {
|
|
12
|
-
return Response.json({ error:
|
|
12
|
+
return Response.json({ error: "No file provided" }, { status: 400 });
|
|
13
13
|
}
|
|
14
|
-
const { MarkItDown } = await import(
|
|
14
|
+
const { MarkItDown } = await import("@markitdownjs/core");
|
|
15
15
|
const parser = new MarkItDown();
|
|
16
16
|
const result = await parser.convert(file);
|
|
17
17
|
return Response.json(result);
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
|
-
return Response.json({ error: error instanceof Error ? error.message :
|
|
20
|
+
return Response.json({ error: error instanceof Error ? error.message : "Conversion failed" }, { status: 500 });
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
export async function batchRoute(request) {
|
|
24
24
|
try {
|
|
25
25
|
const formData = await request.formData();
|
|
26
26
|
const entries = Array.from(formData.entries());
|
|
27
|
-
const files = entries
|
|
28
|
-
.filter((entry) => entry[1] instanceof File);
|
|
27
|
+
const files = entries.filter((entry) => entry[1] instanceof File);
|
|
29
28
|
if (files.length === 0) {
|
|
30
|
-
return Response.json({ error:
|
|
29
|
+
return Response.json({ error: "No files provided" }, { status: 400 });
|
|
31
30
|
}
|
|
32
|
-
const { MarkItDown } = await import(
|
|
31
|
+
const { MarkItDown } = await import("@markitdownjs/core");
|
|
33
32
|
const parser = new MarkItDown();
|
|
34
33
|
const results = await Promise.allSettled(files.map(async ([name, file]) => {
|
|
35
34
|
const result = await parser.convert(file);
|
|
36
35
|
return { name, result };
|
|
37
36
|
}));
|
|
38
37
|
const succeeded = results
|
|
39
|
-
.filter((r) => r.status ===
|
|
38
|
+
.filter((r) => r.status === "fulfilled")
|
|
40
39
|
.map((r) => r.value);
|
|
41
40
|
const failed = results
|
|
42
|
-
.filter((r) => r.status ===
|
|
43
|
-
.map((r, i) => ({ name: files[i][0], error: r.reason?.message ??
|
|
41
|
+
.filter((r) => r.status === "rejected")
|
|
42
|
+
.map((r, i) => ({ name: files[i][0], error: r.reason?.message ?? "Conversion failed" }));
|
|
44
43
|
return Response.json({ succeeded, failed });
|
|
45
44
|
}
|
|
46
45
|
catch (error) {
|
|
47
|
-
return Response.json({ error: error instanceof Error ? error.message :
|
|
46
|
+
return Response.json({ error: error instanceof Error ? error.message : "Batch conversion failed" }, { status: 500 });
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
//# sourceMappingURL=route-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-handler.js","sourceRoot":"","sources":["../src/route-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IACjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,EACvE,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO
|
|
1
|
+
{"version":3,"file":"route-handler.js","sourceRoot":"","sources":["../src/route-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/server-action.d.ts
CHANGED
package/dist/server-action.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use server";
|
|
2
2
|
export async function convertDocumentAction(formData) {
|
|
3
|
-
const file = formData.get(
|
|
3
|
+
const file = formData.get("file");
|
|
4
4
|
if (!file) {
|
|
5
|
-
throw new Error(
|
|
5
|
+
throw new Error("No file provided");
|
|
6
6
|
}
|
|
7
|
-
const { MarkItDown } = await import(
|
|
7
|
+
const { MarkItDown } = await import("@markitdownjs/core");
|
|
8
8
|
const parser = new MarkItDown();
|
|
9
9
|
return parser.convert(file);
|
|
10
10
|
}
|
package/dist/upload.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE;AAED,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,mBAAwB,GAChC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAcpC"}
|
package/dist/upload.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export async function handleFileUpload(request) {
|
|
2
|
-
const contentType = request.headers.get(
|
|
3
|
-
if (contentType.includes(
|
|
2
|
+
const contentType = request.headers.get("content-type") ?? "";
|
|
3
|
+
if (contentType.includes("multipart/form-data")) {
|
|
4
4
|
const formData = await request.formData();
|
|
5
|
-
const file = formData.get(
|
|
5
|
+
const file = formData.get("file");
|
|
6
6
|
if (!file) {
|
|
7
|
-
throw new Error(
|
|
7
|
+
throw new Error("No file provided in form data");
|
|
8
8
|
}
|
|
9
9
|
return file;
|
|
10
10
|
}
|
|
11
11
|
const body = await request.arrayBuffer();
|
|
12
|
-
const fileName = request.headers.get(
|
|
13
|
-
const mimeType = request.headers.get(
|
|
12
|
+
const fileName = request.headers.get("x-file-name") ?? "unknown";
|
|
13
|
+
const mimeType = request.headers.get("content-type") ?? "application/octet-stream";
|
|
14
14
|
return new File([body], fileName, { type: mimeType });
|
|
15
15
|
}
|
|
16
16
|
export function validateFile(file, options = {}) {
|
|
@@ -19,9 +19,9 @@ export function validateFile(file, options = {}) {
|
|
|
19
19
|
return { valid: false, error: `File size exceeds ${maxMB}MB limit` };
|
|
20
20
|
}
|
|
21
21
|
if (options.allowedTypes && options.allowedTypes.length > 0) {
|
|
22
|
-
const ext = file.name.split(
|
|
22
|
+
const ext = file.name.split(".").pop()?.toLowerCase();
|
|
23
23
|
if (!ext || !options.allowedTypes.includes(ext)) {
|
|
24
|
-
return { valid: false, error: `File type .${ext ??
|
|
24
|
+
return { valid: false, error: `File type .${ext ?? "?"} is not allowed` };
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
return { valid: true };
|
package/dist/upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgB;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE9D,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;IACnF,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgB;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE9D,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;IACnF,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,UAA+B,EAAE;IAEjC,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,KAAK,UAAU,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,iBAAiB,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markitdownjs/next",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Next.js integration for MarkItDownJS document conversion",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@markitdownjs/shared": "0.
|
|
20
|
+
"@markitdownjs/shared": "0.3.0"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"next": ">=14.0.0"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"typescript": "^5.5.0",
|
|
27
27
|
"next": "^14.0.0",
|
|
28
|
-
"@markitdownjs/core": "0.
|
|
28
|
+
"@markitdownjs/core": "0.3.0"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "tsc --project tsconfig.json",
|