@vibecms/next 0.1.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.
@@ -0,0 +1,5 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+
3
+ declare function createVibeRouteHandler(): (req: NextRequest) => Promise<NextResponse<any>>;
4
+
5
+ export { createVibeRouteHandler };
@@ -0,0 +1,5 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+
3
+ declare function createVibeRouteHandler(): (req: NextRequest) => Promise<NextResponse<any>>;
4
+
5
+ export { createVibeRouteHandler };
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/app-router/index.ts
21
+ var app_router_exports = {};
22
+ __export(app_router_exports, {
23
+ createVibeRouteHandler: () => createVibeRouteHandler
24
+ });
25
+ module.exports = __toCommonJS(app_router_exports);
26
+ var import_server = require("next/server");
27
+ var import_core = require("@vibecms/core");
28
+ function createVibeRouteHandler() {
29
+ return async function POST(req) {
30
+ if (process.env.NODE_ENV !== "development") {
31
+ return import_server.NextResponse.json({ error: "Unauthorized" }, { status: 401 });
32
+ }
33
+ try {
34
+ const formData = req.headers.get("content-type")?.includes("multipart/form-data") ? await req.formData() : null;
35
+ if (formData) {
36
+ const method2 = formData.get("method");
37
+ if (method2 === "writeMedia") {
38
+ const file = formData.get("file");
39
+ const result = await import_core.VibeEngine.writeMedia(file);
40
+ return import_server.NextResponse.json(typeof result === "string" ? { url: result } : result);
41
+ }
42
+ return import_server.NextResponse.json({ error: "Invalid method" }, { status: 400 });
43
+ }
44
+ const body = await req.json();
45
+ const { method, collection, slug, data, options } = body;
46
+ switch (method) {
47
+ case "read":
48
+ return import_server.NextResponse.json(await import_core.VibeEngine.read(collection, slug));
49
+ case "list":
50
+ return import_server.NextResponse.json(await import_core.VibeEngine.list(collection, options));
51
+ case "write":
52
+ await import_core.VibeEngine.write(collection, slug, data);
53
+ return import_server.NextResponse.json({ success: true });
54
+ case "delete":
55
+ await import_core.VibeEngine.delete(collection, slug);
56
+ return import_server.NextResponse.json({ success: true });
57
+ case "listMedia":
58
+ return import_server.NextResponse.json({ files: await import_core.VibeEngine.listMedia() });
59
+ case "deleteMedia":
60
+ await import_core.VibeEngine.deleteMedia(body.file);
61
+ return import_server.NextResponse.json({ success: true });
62
+ case "renameMedia":
63
+ await import_core.VibeEngine.renameMedia(body.oldFile, body.newFile);
64
+ return import_server.NextResponse.json({ success: true });
65
+ case "pruneMedia":
66
+ return import_server.NextResponse.json(await import_core.VibeEngine.pruneMedia());
67
+ case "getHistory":
68
+ return import_server.NextResponse.json(await import_core.VibeEngine.getHistory(collection, slug));
69
+ case "getVersionContent":
70
+ return import_server.NextResponse.json(await import_core.VibeEngine.getVersionContent(body.commitOid, collection, slug));
71
+ case "commit":
72
+ return import_server.NextResponse.json(await import_core.VibeEngine.commit(body.message));
73
+ default:
74
+ return import_server.NextResponse.json({ error: "Unknown method" }, { status: 400 });
75
+ }
76
+ } catch (e) {
77
+ console.error("VibeEngine API Error:", e);
78
+ return import_server.NextResponse.json({ error: e.message || "Server Error" }, { status: 400 });
79
+ }
80
+ };
81
+ }
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ createVibeRouteHandler
85
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ createVibeRouteHandler
3
+ } from "../chunk-VEBMSZIA.mjs";
4
+ export {
5
+ createVibeRouteHandler
6
+ };
@@ -0,0 +1,61 @@
1
+ // src/app-router/index.ts
2
+ import { NextResponse } from "next/server";
3
+ import { VibeEngine } from "@vibecms/core";
4
+ function createVibeRouteHandler() {
5
+ return async function POST(req) {
6
+ if (process.env.NODE_ENV !== "development") {
7
+ return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
8
+ }
9
+ try {
10
+ const formData = req.headers.get("content-type")?.includes("multipart/form-data") ? await req.formData() : null;
11
+ if (formData) {
12
+ const method2 = formData.get("method");
13
+ if (method2 === "writeMedia") {
14
+ const file = formData.get("file");
15
+ const result = await VibeEngine.writeMedia(file);
16
+ return NextResponse.json(typeof result === "string" ? { url: result } : result);
17
+ }
18
+ return NextResponse.json({ error: "Invalid method" }, { status: 400 });
19
+ }
20
+ const body = await req.json();
21
+ const { method, collection, slug, data, options } = body;
22
+ switch (method) {
23
+ case "read":
24
+ return NextResponse.json(await VibeEngine.read(collection, slug));
25
+ case "list":
26
+ return NextResponse.json(await VibeEngine.list(collection, options));
27
+ case "write":
28
+ await VibeEngine.write(collection, slug, data);
29
+ return NextResponse.json({ success: true });
30
+ case "delete":
31
+ await VibeEngine.delete(collection, slug);
32
+ return NextResponse.json({ success: true });
33
+ case "listMedia":
34
+ return NextResponse.json({ files: await VibeEngine.listMedia() });
35
+ case "deleteMedia":
36
+ await VibeEngine.deleteMedia(body.file);
37
+ return NextResponse.json({ success: true });
38
+ case "renameMedia":
39
+ await VibeEngine.renameMedia(body.oldFile, body.newFile);
40
+ return NextResponse.json({ success: true });
41
+ case "pruneMedia":
42
+ return NextResponse.json(await VibeEngine.pruneMedia());
43
+ case "getHistory":
44
+ return NextResponse.json(await VibeEngine.getHistory(collection, slug));
45
+ case "getVersionContent":
46
+ return NextResponse.json(await VibeEngine.getVersionContent(body.commitOid, collection, slug));
47
+ case "commit":
48
+ return NextResponse.json(await VibeEngine.commit(body.message));
49
+ default:
50
+ return NextResponse.json({ error: "Unknown method" }, { status: 400 });
51
+ }
52
+ } catch (e) {
53
+ console.error("VibeEngine API Error:", e);
54
+ return NextResponse.json({ error: e.message || "Server Error" }, { status: 400 });
55
+ }
56
+ };
57
+ }
58
+
59
+ export {
60
+ createVibeRouteHandler
61
+ };
@@ -0,0 +1,2 @@
1
+ export { createVibeRouteHandler } from './app-router/index.mjs';
2
+ import 'next/server';
@@ -0,0 +1,2 @@
1
+ export { createVibeRouteHandler } from './app-router/index.js';
2
+ import 'next/server';
package/dist/index.js ADDED
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ createVibeRouteHandler: () => createVibeRouteHandler
24
+ });
25
+ module.exports = __toCommonJS(index_exports);
26
+
27
+ // src/app-router/index.ts
28
+ var import_server = require("next/server");
29
+ var import_core = require("@vibecms/core");
30
+ function createVibeRouteHandler() {
31
+ return async function POST(req) {
32
+ if (process.env.NODE_ENV !== "development") {
33
+ return import_server.NextResponse.json({ error: "Unauthorized" }, { status: 401 });
34
+ }
35
+ try {
36
+ const formData = req.headers.get("content-type")?.includes("multipart/form-data") ? await req.formData() : null;
37
+ if (formData) {
38
+ const method2 = formData.get("method");
39
+ if (method2 === "writeMedia") {
40
+ const file = formData.get("file");
41
+ const result = await import_core.VibeEngine.writeMedia(file);
42
+ return import_server.NextResponse.json(typeof result === "string" ? { url: result } : result);
43
+ }
44
+ return import_server.NextResponse.json({ error: "Invalid method" }, { status: 400 });
45
+ }
46
+ const body = await req.json();
47
+ const { method, collection, slug, data, options } = body;
48
+ switch (method) {
49
+ case "read":
50
+ return import_server.NextResponse.json(await import_core.VibeEngine.read(collection, slug));
51
+ case "list":
52
+ return import_server.NextResponse.json(await import_core.VibeEngine.list(collection, options));
53
+ case "write":
54
+ await import_core.VibeEngine.write(collection, slug, data);
55
+ return import_server.NextResponse.json({ success: true });
56
+ case "delete":
57
+ await import_core.VibeEngine.delete(collection, slug);
58
+ return import_server.NextResponse.json({ success: true });
59
+ case "listMedia":
60
+ return import_server.NextResponse.json({ files: await import_core.VibeEngine.listMedia() });
61
+ case "deleteMedia":
62
+ await import_core.VibeEngine.deleteMedia(body.file);
63
+ return import_server.NextResponse.json({ success: true });
64
+ case "renameMedia":
65
+ await import_core.VibeEngine.renameMedia(body.oldFile, body.newFile);
66
+ return import_server.NextResponse.json({ success: true });
67
+ case "pruneMedia":
68
+ return import_server.NextResponse.json(await import_core.VibeEngine.pruneMedia());
69
+ case "getHistory":
70
+ return import_server.NextResponse.json(await import_core.VibeEngine.getHistory(collection, slug));
71
+ case "getVersionContent":
72
+ return import_server.NextResponse.json(await import_core.VibeEngine.getVersionContent(body.commitOid, collection, slug));
73
+ case "commit":
74
+ return import_server.NextResponse.json(await import_core.VibeEngine.commit(body.message));
75
+ default:
76
+ return import_server.NextResponse.json({ error: "Unknown method" }, { status: 400 });
77
+ }
78
+ } catch (e) {
79
+ console.error("VibeEngine API Error:", e);
80
+ return import_server.NextResponse.json({ error: e.message || "Server Error" }, { status: 400 });
81
+ }
82
+ };
83
+ }
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ createVibeRouteHandler
87
+ });
package/dist/index.mjs ADDED
@@ -0,0 +1,6 @@
1
+ import {
2
+ createVibeRouteHandler
3
+ } from "./chunk-VEBMSZIA.mjs";
4
+ export {
5
+ createVibeRouteHandler
6
+ };
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@vibecms/next",
3
+ "version": "0.1.0",
4
+ "license": "LicenseRef-VibeCMS",
5
+ "publishConfig": {
6
+ "registry": "https://registry.npmjs.org",
7
+ "access": "public"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/lassewehlmanngit/vibecms.git"
17
+ },
18
+ "homepage": "https://vibecms.com",
19
+ "main": "./dist/index.js",
20
+ "module": "./dist/index.mjs",
21
+ "types": "./dist/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "import": "./dist/index.mjs",
26
+ "require": "./dist/index.js"
27
+ },
28
+ "./app-router": {
29
+ "types": "./dist/app-router/index.d.ts",
30
+ "import": "./dist/app-router/index.mjs",
31
+ "require": "./dist/app-router/index.js"
32
+ }
33
+ },
34
+ "scripts": {
35
+ "build": "tsup src/index.ts src/app-router/index.ts --format esm,cjs --dts"
36
+ },
37
+ "dependencies": {},
38
+ "peerDependencies": {
39
+ "@vibecms/core": "*",
40
+ "next": "^14.0.0 || ^15.0.0 || ^16.0.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^20.0.0",
44
+ "tsup": "^8.0.2",
45
+ "typescript": "^5.0.0"
46
+ }
47
+ }