@orhancodestudio/ocsm-core 0.1.0-alpha.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.
- package/CHANGELOG.md +13 -0
- package/README.md +47 -0
- package/package.json +53 -0
- package/src/admin/admin.module.css +1312 -0
- package/src/admin/admin.types.ts +85 -0
- package/src/admin/components/access-denied.tsx +12 -0
- package/src/admin/components/admin-shell.tsx +168 -0
- package/src/admin/components/content-list-view.tsx +83 -0
- package/src/admin/components/dashboard-view.tsx +113 -0
- package/src/admin/components/data-table.tsx +80 -0
- package/src/admin/components/document-delete-button.tsx +44 -0
- package/src/admin/components/icons.tsx +150 -0
- package/src/admin/components/modal.tsx +78 -0
- package/src/admin/components/page-builder.tsx +1334 -0
- package/src/admin/components/settings-view.tsx +334 -0
- package/src/admin/components/sign-out-button.tsx +22 -0
- package/src/admin/components/system-view.tsx +77 -0
- package/src/admin/components/users-panel.tsx +321 -0
- package/src/admin/index.ts +20 -0
- package/src/admin/ocsm-admin.tsx +259 -0
- package/src/auth/authenticate.ts +76 -0
- package/src/auth/index.ts +9 -0
- package/src/auth/password.ts +22 -0
- package/src/auth/permissions.ts +27 -0
- package/src/auth/session.ts +103 -0
- package/src/blocks/block-renderer.tsx +428 -0
- package/src/blocks/block.types.ts +401 -0
- package/src/blocks/index.ts +15 -0
- package/src/blocks/markdown.tsx +11 -0
- package/src/config/config.schema.ts +28 -0
- package/src/config/config.types.ts +16 -0
- package/src/config/define-config.ts +19 -0
- package/src/config/index.ts +13 -0
- package/src/config/resolve-config.ts +10 -0
- package/src/content/content-repository.ts +66 -0
- package/src/content/content-store.interface.ts +23 -0
- package/src/content/content.types.ts +25 -0
- package/src/content/create-content-store.ts +18 -0
- package/src/content/frontmatter.ts +25 -0
- package/src/content/index.ts +12 -0
- package/src/index.ts +10 -0
- package/src/layout/index.ts +1 -0
- package/src/layout/layout-store.ts +27 -0
- package/src/roles/index.ts +10 -0
- package/src/roles/role-store.ts +95 -0
- package/src/roles/role.types.ts +86 -0
- package/src/server/create-ocsm.ts +67 -0
- package/src/server/documents.ts +28 -0
- package/src/server/index.ts +59 -0
- package/src/server/render-mdx.tsx +14 -0
- package/src/storage/create-file-backend.ts +26 -0
- package/src/storage/file-backend.ts +26 -0
- package/src/storage/fs-file-backend.ts +43 -0
- package/src/storage/github-file-backend.ts +97 -0
- package/src/storage/index.ts +8 -0
- package/src/storage/json-store.ts +23 -0
- package/src/theme/css.ts +28 -0
- package/src/theme/index.ts +8 -0
- package/src/theme/theme-store.ts +19 -0
- package/src/theme/theme.types.ts +53 -0
- package/src/types/css-modules.d.ts +4 -0
- package/src/update/check-for-updates.ts +50 -0
- package/src/update/index.ts +1 -0
- package/src/users/index.ts +6 -0
- package/src/users/user-store.ts +120 -0
- package/src/users/user.types.ts +18 -0
- package/src/version.ts +11 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Changelog — @orhancodestudio/ocsm-core
|
|
2
|
+
|
|
3
|
+
## 0.1.0-alpha.1
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Config layer: `defineOcsmConfig`, `resolveOcsmConfig`, zod-validated schema.
|
|
8
|
+
- Content layer: `ContentStore` interface with `FileSystemContentStore` and
|
|
9
|
+
`GitHubContentStore`, plus the `createContentStore` factory.
|
|
10
|
+
- Server API: `createOcsm`, `writeDocument`, `deleteDocument`, `OcsmContent` (MDX),
|
|
11
|
+
and cookie-based admin auth.
|
|
12
|
+
- Admin panel: `OcsmAdmin` component (dashboard, list, MDX editor with optimistic save).
|
|
13
|
+
- `checkForUpdates` against the npm registry and the `OCSM_VERSION` constant.
|
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# @orhancodestudio/ocsm-core
|
|
2
|
+
|
|
3
|
+
The git-based CMS core for Next.js, powering **OCS Management** by
|
|
4
|
+
[Orhan Code Studio](https://orhancodestudio.com).
|
|
5
|
+
|
|
6
|
+
> ⚠️ Pre-release (`alpha`). APIs may change before `1.0.0`.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pnpm add @orhancodestudio/ocsm-core
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Then enable transpilation in `next.config.ts`:
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import type { NextConfig } from "next";
|
|
18
|
+
|
|
19
|
+
const nextConfig: NextConfig = {
|
|
20
|
+
transpilePackages: ["@orhancodestudio/ocsm-core"],
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default nextConfig;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Entry points
|
|
27
|
+
|
|
28
|
+
| Import | Use |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| `@orhancodestudio/ocsm-core` | `defineOcsmConfig`, types, `OCSM_VERSION`, `checkForUpdates`. |
|
|
31
|
+
| `@orhancodestudio/ocsm-core/config` | `defineOcsmConfig`, config types. |
|
|
32
|
+
| `@orhancodestudio/ocsm-core/server` | `createOcsm`, content helpers, `OcsmContent`, auth — **server only**. |
|
|
33
|
+
| `@orhancodestudio/ocsm-core/admin` | `OcsmAdmin` panel component + action types. |
|
|
34
|
+
|
|
35
|
+
## Environment variables
|
|
36
|
+
|
|
37
|
+
| Variable | Description |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| `OCSM_ADMIN_PASSWORD` | Password gating `/ocsm-admin`. Empty = open (local dev only). |
|
|
40
|
+
| `OCSM_GITHUB_TOKEN` | GitHub token; enables the GitHub content store (production). |
|
|
41
|
+
| `OCSM_GITHUB_REPO` | `owner/repo` to commit content to. |
|
|
42
|
+
| `OCSM_GITHUB_BRANCH` | Target branch (default `main`). |
|
|
43
|
+
|
|
44
|
+
If `OCSM_GITHUB_TOKEN` + `OCSM_GITHUB_REPO` are set, content is read/written via the
|
|
45
|
+
GitHub API; otherwise the local filesystem is used.
|
|
46
|
+
|
|
47
|
+
© Orhan Code Studio
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@orhancodestudio/ocsm-core",
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
|
+
"description": "OCS Management — the git-based CMS core for Next.js. Built by Orhan Code Studio.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Orhan Code Studio (https://orhancodestudio.com)",
|
|
7
|
+
"homepage": "https://orhancodestudio.com",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"files": ["src", "README.md", "CHANGELOG.md"],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": "./src/index.ts",
|
|
13
|
+
"./server": "./src/server/index.ts",
|
|
14
|
+
"./admin": "./src/admin/index.ts",
|
|
15
|
+
"./config": "./src/config/index.ts"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"typecheck": "tsc --noEmit"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"cms",
|
|
22
|
+
"nextjs",
|
|
23
|
+
"git-based",
|
|
24
|
+
"mdx",
|
|
25
|
+
"ocsm",
|
|
26
|
+
"orhan-code-studio"
|
|
27
|
+
],
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"next": ">=15",
|
|
30
|
+
"react": ">=19",
|
|
31
|
+
"react-dom": ">=19"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@octokit/rest": "^21.0.2",
|
|
35
|
+
"gray-matter": "^4.0.3",
|
|
36
|
+
"react-markdown": "^9.0.1",
|
|
37
|
+
"remark-gfm": "^4.0.0",
|
|
38
|
+
"zod": "^3.24.1"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^22.10.2",
|
|
42
|
+
"@types/react": "^19.0.2",
|
|
43
|
+
"@types/react-dom": "^19.0.2",
|
|
44
|
+
"next": "^15.1.3",
|
|
45
|
+
"react": "^19.0.0",
|
|
46
|
+
"react-dom": "^19.0.0",
|
|
47
|
+
"typescript": "^5.7.2"
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public",
|
|
51
|
+
"tag": "alpha"
|
|
52
|
+
}
|
|
53
|
+
}
|