wuppycms 0.2.0 → 0.2.2

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 (3) hide show
  1. package/README.md +69 -0
  2. package/dist/index.d.mts +12 -12
  3. package/package.json +24 -6
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # wuppycms
2
+
3
+ A file-based, Git-backed CMS for [Astro](https://astro.build). WuppyCMS adds an admin panel to your Astro site: content
4
+ stays in Markdown and MDX files in your repository, every save is a Git commit, and editors get a visual editor.
5
+
6
+ ## Start a new site
7
+
8
+ ```sh
9
+ npm create wuppycms my-site
10
+ cd my-site
11
+ npm install
12
+ npm run dev
13
+ ```
14
+
15
+ Open `http://localhost:4321/admin` and create the first account.
16
+
17
+ ## Add it to an existing Astro site
18
+
19
+ ```sh
20
+ npm install wuppycms
21
+ npx wuppycms init
22
+ ```
23
+
24
+ `wuppycms init` finds your content collections, writes `wuppy.config.mjs` and adds the integration:
25
+
26
+ ```js
27
+ // astro.config.mjs
28
+ import { defineConfig } from "astro/config";
29
+ import wuppycms from "wuppycms/astro";
30
+
31
+ export default defineConfig({
32
+ integrations: [wuppycms()],
33
+ });
34
+ ```
35
+
36
+ ## Use content in templates
37
+
38
+ ```astro
39
+ ---
40
+ import { getMenu, readData } from "wuppycms";
41
+ const menu = await getMenu("main");
42
+ ---
43
+ ```
44
+
45
+ ## What you get
46
+
47
+ - Collections and fields from `wuppy.config.mjs`; forms are built from them
48
+ - Revisions, diffs and restore from Git history
49
+ - A visual editor for blocks and for your theme's own markup
50
+ - Users and roles, two-factor sign-in, passkeys and a security log
51
+ - Media with focal points and crops, menus, redirects, SEO and sitemaps
52
+ - Plugins in a WebAssembly sandbox, webhooks, an AI assistant and managed sites
53
+
54
+ ## CLI
55
+
56
+ | Command | Does |
57
+ | --- | --- |
58
+ | `wuppycms init` | wrap an existing Astro project |
59
+ | `wuppycms upgrade` | migrate project data after updating the package |
60
+ | `wuppycms types` | generate TypeScript types for your collections |
61
+ | `wuppycms doctor` | check the setup |
62
+
63
+ Requires Node.js 22.16 or later and Astro 7.4 or later.
64
+
65
+ ## Links
66
+
67
+ - Website: [wuppycms.com](https://wuppycms.com)
68
+ - Documentation: [docs.wuppycms.com](https://docs.wuppycms.com)
69
+ - Source: [GitHub](https://github.com/fuatcangnc/wuppy)
package/dist/index.d.mts CHANGED
@@ -841,9 +841,9 @@ declare const widgetAreaSchema: z.ZodObject<{
841
841
  widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
842
842
  id: z.ZodString;
843
843
  type: z.ZodEnum<{
844
- custom: "custom";
845
844
  text: "text";
846
845
  taxonomy: "taxonomy";
846
+ custom: "custom";
847
847
  html: "html";
848
848
  menu: "menu";
849
849
  recent: "recent";
@@ -1042,9 +1042,9 @@ declare const dataSchemas: {
1042
1042
  widgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
1043
1043
  id: z.ZodString;
1044
1044
  type: z.ZodEnum<{
1045
- custom: "custom";
1046
1045
  text: "text";
1047
1046
  taxonomy: "taxonomy";
1047
+ custom: "custom";
1048
1048
  html: "html";
1049
1049
  menu: "menu";
1050
1050
  recent: "recent";
@@ -2301,7 +2301,7 @@ declare function createApp({
2301
2301
  dir: string;
2302
2302
  format: "md" | "mdx";
2303
2303
  fields: {
2304
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
2304
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
2305
2305
  type: FieldKind;
2306
2306
  collection?: string | undefined;
2307
2307
  taxonomy?: string | undefined;
@@ -3066,7 +3066,7 @@ declare function createApp({
3066
3066
  dir: string;
3067
3067
  format: "md" | "mdx";
3068
3068
  fields: {
3069
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
3069
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
3070
3070
  type: FieldKind;
3071
3071
  collection?: string | undefined;
3072
3072
  taxonomy?: string | undefined;
@@ -3178,7 +3178,7 @@ declare function createApp({
3178
3178
  description: string;
3179
3179
  widgets: {
3180
3180
  id: string;
3181
- type: "custom" | "text" | "taxonomy" | "html" | "menu" | "recent";
3181
+ type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
3182
3182
  title: string;
3183
3183
  body: string;
3184
3184
  locales: string[];
@@ -3372,7 +3372,7 @@ declare function createApp({
3372
3372
  dir: string;
3373
3373
  format: "md" | "mdx";
3374
3374
  fields: {
3375
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
3375
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
3376
3376
  type: FieldKind;
3377
3377
  collection?: string | undefined;
3378
3378
  taxonomy?: string | undefined;
@@ -3484,7 +3484,7 @@ declare function createApp({
3484
3484
  description: string;
3485
3485
  widgets: {
3486
3486
  id: string;
3487
- type: "custom" | "text" | "taxonomy" | "html" | "menu" | "recent";
3487
+ type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
3488
3488
  title: string;
3489
3489
  body: string;
3490
3490
  locales: string[];
@@ -5815,7 +5815,7 @@ declare function createServer({
5815
5815
  dir: string;
5816
5816
  format: "md" | "mdx";
5817
5817
  fields: {
5818
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
5818
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
5819
5819
  type: FieldKind;
5820
5820
  collection?: string | undefined;
5821
5821
  taxonomy?: string | undefined;
@@ -6580,7 +6580,7 @@ declare function createServer({
6580
6580
  dir: string;
6581
6581
  format: "md" | "mdx";
6582
6582
  fields: {
6583
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
6583
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
6584
6584
  type: FieldKind;
6585
6585
  collection?: string | undefined;
6586
6586
  taxonomy?: string | undefined;
@@ -6692,7 +6692,7 @@ declare function createServer({
6692
6692
  description: string;
6693
6693
  widgets: {
6694
6694
  id: string;
6695
- type: "custom" | "text" | "taxonomy" | "html" | "menu" | "recent";
6695
+ type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
6696
6696
  title: string;
6697
6697
  body: string;
6698
6698
  locales: string[];
@@ -6886,7 +6886,7 @@ declare function createServer({
6886
6886
  dir: string;
6887
6887
  format: "md" | "mdx";
6888
6888
  fields: {
6889
- [x: string]: "string" | "number" | "boolean" | "image" | "date" | "text" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
6889
+ [x: string]: "string" | "number" | "boolean" | "image" | "text" | "date" | "list" | "byline" | "taxonomy" | "reference" | "section" | "select" | "json" | "richText" | "repeater" | "blocks" | {
6890
6890
  type: FieldKind;
6891
6891
  collection?: string | undefined;
6892
6892
  taxonomy?: string | undefined;
@@ -6998,7 +6998,7 @@ declare function createServer({
6998
6998
  description: string;
6999
6999
  widgets: {
7000
7000
  id: string;
7001
- type: "custom" | "text" | "taxonomy" | "html" | "menu" | "recent";
7001
+ type: "text" | "taxonomy" | "custom" | "html" | "menu" | "recent";
7002
7002
  title: string;
7003
7003
  body: string;
7004
7004
  locales: string[];
package/package.json CHANGED
@@ -1,6 +1,24 @@
1
1
  {
2
2
  "name": "wuppycms",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
+ "description": "WuppyCMS: a file-based, Git-backed CMS and admin panel for Astro.",
5
+ "keywords": [
6
+ "astro",
7
+ "astro-integration",
8
+ "cms",
9
+ "headless-cms",
10
+ "markdown",
11
+ "mdx",
12
+ "git",
13
+ "withastro"
14
+ ],
15
+ "homepage": "https://wuppycms.com",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/fuatcangnc/wuppy.git",
19
+ "directory": "packages/core"
20
+ },
21
+ "bugs": "https://github.com/fuatcangnc/wuppy/issues",
4
22
  "type": "module",
5
23
  "exports": {
6
24
  ".": {
@@ -40,11 +58,11 @@
40
58
  "resend": "^6.34.1",
41
59
  "yaml": "^2.8.0",
42
60
  "zod": "4.5.4",
43
- "@wuppycms/admin": "0.2.0",
44
- "@wuppycms/auth": "0.2.0",
45
- "@wuppycms/git": "0.2.0",
46
- "@wuppycms/plugin-types": "0.2.0",
47
- "@wuppycms/visual-editor": "0.2.0"
61
+ "@wuppycms/admin": "0.2.2",
62
+ "@wuppycms/auth": "0.2.2",
63
+ "@wuppycms/git": "0.2.2",
64
+ "@wuppycms/plugin-types": "0.2.2",
65
+ "@wuppycms/visual-editor": "0.2.2"
48
66
  },
49
67
  "devDependencies": {
50
68
  "@types/node": "^22.16.0",