create-manifest 1.3.4 → 2.0.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/README.md +40 -21
- package/index.js +51 -0
- package/package.json +11 -89
- package/starter/.claude/settings.local.json +23 -0
- package/starter/.env.example +1 -0
- package/starter/README.md +26 -0
- package/starter/components.json +24 -0
- package/starter/package.json +42 -0
- package/starter/src/flows/list-pokemons.flow.ts +129 -0
- package/starter/src/server.ts +169 -0
- package/starter/src/web/PokemonList.tsx +126 -0
- package/starter/src/web/components/blog-post-card.tsx +288 -0
- package/starter/src/web/components/blog-post-list.tsx +291 -0
- package/starter/src/web/components/payment-methods.tsx +201 -0
- package/starter/src/web/components/table.tsx +478 -0
- package/starter/src/web/components/ui/.gitkeep +0 -0
- package/starter/src/web/components/ui/button.tsx +62 -0
- package/starter/src/web/components/ui/checkbox.tsx +30 -0
- package/starter/src/web/globals.css +98 -0
- package/starter/src/web/hooks/.gitkeep +0 -0
- package/starter/src/web/lib/utils.ts +6 -0
- package/starter/src/web/root.tsx +36 -0
- package/starter/src/web/tsconfig.json +3 -0
- package/starter/tsconfig.json +25 -0
- package/starter/tsconfig.web.json +24 -0
- package/starter/vite.config.ts +37 -0
- package/assets/monorepo/README.md +0 -52
- package/assets/monorepo/api-package.json +0 -9
- package/assets/monorepo/api-readme.md +0 -50
- package/assets/monorepo/manifest.yml +0 -34
- package/assets/monorepo/root-package.json +0 -15
- package/assets/monorepo/web-package.json +0 -10
- package/assets/monorepo/web-readme.md +0 -9
- package/assets/standalone/README.md +0 -50
- package/assets/standalone/api-package.json +0 -9
- package/assets/standalone/manifest.yml +0 -34
- package/bin/dev.cmd +0 -3
- package/bin/dev.js +0 -5
- package/bin/run.cmd +0 -3
- package/bin/run.js +0 -5
- package/dist/commands/index.d.ts +0 -65
- package/dist/commands/index.js +0 -480
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/utils/GetBackendFileContent.d.ts +0 -1
- package/dist/utils/GetBackendFileContent.js +0 -21
- package/dist/utils/GetLatestPackageVersion.d.ts +0 -1
- package/dist/utils/GetLatestPackageVersion.js +0 -5
- package/dist/utils/UpdateExtensionJsonFile.d.ts +0 -6
- package/dist/utils/UpdateExtensionJsonFile.js +0 -8
- package/dist/utils/UpdatePackageJsonFile.d.ts +0 -18
- package/dist/utils/UpdatePackageJsonFile.js +0 -21
- package/dist/utils/UpdateSettingsJsonFile.d.ts +0 -4
- package/dist/utils/UpdateSettingsJsonFile.js +0 -6
- package/dist/utils/helpers.d.ts +0 -1
- package/dist/utils/helpers.js +0 -11
- package/oclif.manifest.json +0 -47
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import { Slot } from "@radix-ui/react-slot"
|
|
3
|
+
import { cva, type VariantProps } from "class-variance-authority"
|
|
4
|
+
|
|
5
|
+
import { cn } from "@/lib/utils"
|
|
6
|
+
|
|
7
|
+
const buttonVariants = cva(
|
|
8
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
13
|
+
destructive:
|
|
14
|
+
"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
15
|
+
outline:
|
|
16
|
+
"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
17
|
+
secondary:
|
|
18
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
19
|
+
ghost:
|
|
20
|
+
"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
21
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
25
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
26
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
27
|
+
icon: "size-9",
|
|
28
|
+
"icon-sm": "size-8",
|
|
29
|
+
"icon-lg": "size-10",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
variant: "default",
|
|
34
|
+
size: "default",
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
function Button({
|
|
40
|
+
className,
|
|
41
|
+
variant = "default",
|
|
42
|
+
size = "default",
|
|
43
|
+
asChild = false,
|
|
44
|
+
...props
|
|
45
|
+
}: React.ComponentProps<"button"> &
|
|
46
|
+
VariantProps<typeof buttonVariants> & {
|
|
47
|
+
asChild?: boolean
|
|
48
|
+
}) {
|
|
49
|
+
const Comp = asChild ? Slot : "button"
|
|
50
|
+
|
|
51
|
+
return (
|
|
52
|
+
<Comp
|
|
53
|
+
data-slot="button"
|
|
54
|
+
data-variant={variant}
|
|
55
|
+
data-size={size}
|
|
56
|
+
className={cn(buttonVariants({ variant, size, className }))}
|
|
57
|
+
{...props}
|
|
58
|
+
/>
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { Button, buttonVariants }
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
|
|
3
|
+
import { CheckIcon } from "lucide-react"
|
|
4
|
+
|
|
5
|
+
import { cn } from "@/lib/utils"
|
|
6
|
+
|
|
7
|
+
function Checkbox({
|
|
8
|
+
className,
|
|
9
|
+
...props
|
|
10
|
+
}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
|
|
11
|
+
return (
|
|
12
|
+
<CheckboxPrimitive.Root
|
|
13
|
+
data-slot="checkbox"
|
|
14
|
+
className={cn(
|
|
15
|
+
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
16
|
+
className
|
|
17
|
+
)}
|
|
18
|
+
{...props}
|
|
19
|
+
>
|
|
20
|
+
<CheckboxPrimitive.Indicator
|
|
21
|
+
data-slot="checkbox-indicator"
|
|
22
|
+
className="grid place-content-center text-current transition-none"
|
|
23
|
+
>
|
|
24
|
+
<CheckIcon className="size-3.5" />
|
|
25
|
+
</CheckboxPrimitive.Indicator>
|
|
26
|
+
</CheckboxPrimitive.Root>
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { Checkbox }
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
@custom-variant dark (&:is(.dark *));
|
|
4
|
+
|
|
5
|
+
@theme inline {
|
|
6
|
+
--color-background: var(--background);
|
|
7
|
+
--color-foreground: var(--foreground);
|
|
8
|
+
--color-card: var(--card);
|
|
9
|
+
--color-card-foreground: var(--card-foreground);
|
|
10
|
+
--color-popover: var(--popover);
|
|
11
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
12
|
+
--color-primary: var(--primary);
|
|
13
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
14
|
+
--color-secondary: var(--secondary);
|
|
15
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
16
|
+
--color-muted: var(--muted);
|
|
17
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
18
|
+
--color-accent: var(--accent);
|
|
19
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
20
|
+
--color-destructive: var(--destructive);
|
|
21
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
22
|
+
--color-border: var(--border);
|
|
23
|
+
--color-input: var(--input);
|
|
24
|
+
--color-ring: var(--ring);
|
|
25
|
+
--color-chart-1: var(--chart-1);
|
|
26
|
+
--color-chart-2: var(--chart-2);
|
|
27
|
+
--color-chart-3: var(--chart-3);
|
|
28
|
+
--color-chart-4: var(--chart-4);
|
|
29
|
+
--color-chart-5: var(--chart-5);
|
|
30
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
31
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
32
|
+
--radius-lg: var(--radius);
|
|
33
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:root {
|
|
37
|
+
--background: oklch(1 0 0);
|
|
38
|
+
--foreground: oklch(0.145 0 0);
|
|
39
|
+
--card: oklch(1 0 0);
|
|
40
|
+
--card-foreground: oklch(0.145 0 0);
|
|
41
|
+
--popover: oklch(1 0 0);
|
|
42
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
43
|
+
--primary: oklch(0.205 0 0);
|
|
44
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
45
|
+
--secondary: oklch(0.97 0 0);
|
|
46
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
47
|
+
--muted: oklch(0.97 0 0);
|
|
48
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
49
|
+
--accent: oklch(0.97 0 0);
|
|
50
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
51
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
52
|
+
--destructive-foreground: oklch(0.577 0.245 27.325);
|
|
53
|
+
--border: oklch(0.922 0 0);
|
|
54
|
+
--input: oklch(0.922 0 0);
|
|
55
|
+
--ring: oklch(0.708 0 0);
|
|
56
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
57
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
58
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
59
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
60
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
61
|
+
--radius: 0.625rem;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.dark {
|
|
65
|
+
--background: oklch(0.145 0 0);
|
|
66
|
+
--foreground: oklch(0.985 0 0);
|
|
67
|
+
--card: oklch(0.145 0 0);
|
|
68
|
+
--card-foreground: oklch(0.985 0 0);
|
|
69
|
+
--popover: oklch(0.145 0 0);
|
|
70
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
71
|
+
--primary: oklch(0.985 0 0);
|
|
72
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
73
|
+
--secondary: oklch(0.269 0 0);
|
|
74
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
75
|
+
--muted: oklch(0.269 0 0);
|
|
76
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
77
|
+
--accent: oklch(0.269 0 0);
|
|
78
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
79
|
+
--destructive: oklch(0.396 0.141 25.723);
|
|
80
|
+
--destructive-foreground: oklch(0.637 0.237 25.331);
|
|
81
|
+
--border: oklch(0.269 0 0);
|
|
82
|
+
--input: oklch(0.269 0 0);
|
|
83
|
+
--ring: oklch(0.439 0 0);
|
|
84
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
85
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
86
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
87
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
88
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@layer base {
|
|
92
|
+
* {
|
|
93
|
+
@apply border-border;
|
|
94
|
+
}
|
|
95
|
+
body {
|
|
96
|
+
@apply bg-background text-foreground;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useEffect, useState, type ReactNode } from 'react'
|
|
2
|
+
import '@/globals.css'
|
|
3
|
+
|
|
4
|
+
export default function RootLayout({ children }: { children: ReactNode }) {
|
|
5
|
+
const [theme, setTheme] = useState<'light' | 'dark'>('light')
|
|
6
|
+
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (window.openai?.theme) {
|
|
9
|
+
setTheme(window.openai.theme)
|
|
10
|
+
}
|
|
11
|
+
}, [])
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div className={theme === 'dark' ? 'dark' : ''}>
|
|
15
|
+
{children}
|
|
16
|
+
</div>
|
|
17
|
+
)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Type declarations for OpenAI host
|
|
21
|
+
declare global {
|
|
22
|
+
interface Window {
|
|
23
|
+
openai?: {
|
|
24
|
+
theme?: 'light' | 'dark'
|
|
25
|
+
content?: {
|
|
26
|
+
structuredContent?: unknown
|
|
27
|
+
}
|
|
28
|
+
sendFollowUpMessage?: (message: string) => void
|
|
29
|
+
callTool?: (name: string, args: Record<string, unknown>) => Promise<unknown>
|
|
30
|
+
openExternal?: (url: string) => void
|
|
31
|
+
requestDisplayMode?: (mode: 'inline' | 'fullscreen' | 'pip') => void
|
|
32
|
+
requestClose?: () => void
|
|
33
|
+
setWidgetState?: (state: Record<string, unknown>) => void
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"include": ["src/**/*"],
|
|
3
|
+
"exclude": ["vite.config.ts", "src/web"],
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"rootDir": "./src",
|
|
6
|
+
"outDir": "./dist",
|
|
7
|
+
"module": "nodenext",
|
|
8
|
+
"target": "esnext",
|
|
9
|
+
"types": [],
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"declarationMap": true,
|
|
13
|
+
"noUncheckedIndexedAccess": true,
|
|
14
|
+
"exactOptionalPropertyTypes": true,
|
|
15
|
+
"strict": true,
|
|
16
|
+
"verbatimModuleSyntax": true,
|
|
17
|
+
"isolatedModules": true,
|
|
18
|
+
"moduleDetection": "force",
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"baseUrl": ".",
|
|
21
|
+
"paths": {
|
|
22
|
+
"@/*": ["./src/web/*"]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
"moduleResolution": "bundler",
|
|
9
|
+
"allowImportingTsExtensions": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"isolatedModules": true,
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"jsx": "react-jsx",
|
|
14
|
+
"strict": true,
|
|
15
|
+
"noUnusedLocals": true,
|
|
16
|
+
"noUnusedParameters": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"baseUrl": ".",
|
|
19
|
+
"paths": {
|
|
20
|
+
"@/*": ["./src/web/*"]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"include": ["src/web"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import react from '@vitejs/plugin-react'
|
|
3
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
4
|
+
import { chatGPTWidgetPlugin } from 'vite-plugin-chatgpt-widgets'
|
|
5
|
+
import { resolve } from 'path'
|
|
6
|
+
|
|
7
|
+
const port = Number(process.env.PORT) || 3000
|
|
8
|
+
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
plugins: [
|
|
11
|
+
react(),
|
|
12
|
+
tailwindcss(),
|
|
13
|
+
chatGPTWidgetPlugin({
|
|
14
|
+
widgetsDir: 'src/web',
|
|
15
|
+
baseUrl: `http://localhost:${port}`
|
|
16
|
+
})
|
|
17
|
+
],
|
|
18
|
+
resolve: {
|
|
19
|
+
alias: {
|
|
20
|
+
'@': resolve(import.meta.dirname, 'src/web')
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
build: {
|
|
24
|
+
manifest: true,
|
|
25
|
+
outDir: 'dist/web',
|
|
26
|
+
rollupOptions: {
|
|
27
|
+
// Don't look for default index.html - the plugin adds widget entries
|
|
28
|
+
input: {}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
server: {
|
|
32
|
+
cors: {
|
|
33
|
+
origin: true
|
|
34
|
+
},
|
|
35
|
+
allowedHosts: ['.ngrok-free.dev', '.ngrok.io']
|
|
36
|
+
}
|
|
37
|
+
})
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
<br>
|
|
2
|
-
<p align="center">
|
|
3
|
-
<a href="https://manifest.build/#gh-light-mode-only">
|
|
4
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-transparent.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
5
|
-
</a>
|
|
6
|
-
<a href="https://manifest.build/#gh-dark-mode-only">
|
|
7
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-light.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
8
|
-
</a>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align='center'>
|
|
12
|
-
<strong>1-file backend to ship fast</strong> <br> <span>Manifest is an open source, portable backend with data, storage, logic, auth and admin UI to ship Prototypes and MVPs.
|
|
13
|
-
</span>
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Welcome to your [Manifest](https://github.com/mnfst/manifest) project ! Feel free to replace this README by your own.
|
|
18
|
-
|
|
19
|
-
This application is a **monorepo** composed by a [Manifest backend](https://github.com/mnfst/manifest) in the "/api" folder and a frontend of your choice that you can add in the "/web" folder.
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
$ npm install
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Running the app
|
|
28
|
-
|
|
29
|
-
To run the app in the development mode:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npm run start
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
- Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
|
|
36
|
-
- Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
|
|
37
|
-
|
|
38
|
-
The page will reload when you make changes.
|
|
39
|
-
|
|
40
|
-
## Seed dummy data
|
|
41
|
-
|
|
42
|
-
Seeds some dummy data for your entities:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
npm run seed
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Community & Resources
|
|
49
|
-
|
|
50
|
-
- [Docs](https://manifest.build/docs) - Get started with Manifest
|
|
51
|
-
- [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
|
|
52
|
-
- [Github](https://github.com/mnfst/manifest/issues) - Report bugs and share ideas to improve the product.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<br>
|
|
2
|
-
<p align="center">
|
|
3
|
-
<a href="https://manifest.build/#gh-light-mode-only">
|
|
4
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-transparent.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
5
|
-
</a>
|
|
6
|
-
<a href="https://manifest.build/#gh-dark-mode-only">
|
|
7
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-light.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
8
|
-
</a>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align='center'>
|
|
12
|
-
<strong>1-file backend to ship fast</strong> <br> <span>Manifest is an open source, portable backend with data, storage, logic, auth and admin UI to ship Prototypes and MVPs.
|
|
13
|
-
</span>
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Welcome to your [Manifest](https://github.com/mnfst/manifest) backend ! Feel free to replace this README by your own.
|
|
18
|
-
|
|
19
|
-
## Installation
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
$ npm install
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Running the app
|
|
26
|
-
|
|
27
|
-
To run the app in the development mode:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm run start
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
- Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
|
|
34
|
-
- Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
|
|
35
|
-
|
|
36
|
-
The page will reload when you make changes.
|
|
37
|
-
|
|
38
|
-
## Seed dummy data
|
|
39
|
-
|
|
40
|
-
Seeds some dummy data for your entities:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm run seed
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Community & Resources
|
|
47
|
-
|
|
48
|
-
- [Docs](https://manifest.build/docs) - Get started with Manifest
|
|
49
|
-
- [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
|
|
50
|
-
- [Github](https://github.com/mnfst/manifest/issues) - Report bugs and share ideas to improve the product.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# This is a sample file for a manifest.yml manifest backend.
|
|
2
|
-
# Read more about the manifest format here: https:/manifest.build/docs
|
|
3
|
-
|
|
4
|
-
name: My pet app 🐾
|
|
5
|
-
entities:
|
|
6
|
-
Owner:
|
|
7
|
-
properties:
|
|
8
|
-
- name
|
|
9
|
-
- { name: birthdate, type: date }
|
|
10
|
-
policies:
|
|
11
|
-
read:
|
|
12
|
-
- access: public
|
|
13
|
-
|
|
14
|
-
Cat:
|
|
15
|
-
properties:
|
|
16
|
-
- name
|
|
17
|
-
- { name: age, type: number }
|
|
18
|
-
- { name: birthdate, type: date }
|
|
19
|
-
belongsTo:
|
|
20
|
-
- Owner
|
|
21
|
-
policies:
|
|
22
|
-
read:
|
|
23
|
-
- access: public
|
|
24
|
-
|
|
25
|
-
Homepage:
|
|
26
|
-
nameSingular: Home content
|
|
27
|
-
single: true
|
|
28
|
-
properties:
|
|
29
|
-
- title
|
|
30
|
-
- { name: description, type: richText }
|
|
31
|
-
- { name: cover, type: image }
|
|
32
|
-
policies:
|
|
33
|
-
read:
|
|
34
|
-
- access: public
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "PROJECT_NAME",
|
|
3
|
-
"private": true,
|
|
4
|
-
"workspaces": ["api", "web"],
|
|
5
|
-
"description": "A full-stack app made with Manifest: https://manifest.build",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"start": "concurrently \"npm run start:api\" \"npm run start:web\"",
|
|
8
|
-
"start:api": "npm run start --workspace=api",
|
|
9
|
-
"start:web": "npm run start --workspace=web",
|
|
10
|
-
"seed": "npm run seed --workspace=api"
|
|
11
|
-
},
|
|
12
|
-
"devDependencies": {
|
|
13
|
-
"concurrently": "^8.0.0"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Frontend Application
|
|
2
|
-
|
|
3
|
-
This folder is ready for your frontend framework of choice:
|
|
4
|
-
|
|
5
|
-
- Next.js: `npx create-next-app@latest . --typescript --tailwind`
|
|
6
|
-
- Vite React: `npm create vite@latest . -- --template react-ts`
|
|
7
|
-
- SvelteKit: `npm create svelte@latest .`
|
|
8
|
-
|
|
9
|
-
After setting up your frontend, update the dev script in package.json.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<br>
|
|
2
|
-
<p align="center">
|
|
3
|
-
<a href="https://manifest.build/#gh-light-mode-only">
|
|
4
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-transparent.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
5
|
-
</a>
|
|
6
|
-
<a href="https://manifest.build/#gh-dark-mode-only">
|
|
7
|
-
<img alt="manifest" src="https://manifest.build/assets/images/logo-light.svg" height="55px" alt="Manifest logo" title="Manifest - A backend so simple that it fits in a YAML file" />
|
|
8
|
-
</a>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align='center'>
|
|
12
|
-
<strong>1-file backend to ship fast</strong> <br> <span>Manifest is an open source, portable backend with data, storage, logic, auth and admin UI to ship Prototypes and MVPs.
|
|
13
|
-
</span>
|
|
14
|
-
|
|
15
|
-
## Description
|
|
16
|
-
|
|
17
|
-
Welcome to your [Manifest](https://github.com/mnfst/manifest) project ! Feel free to replace this README by your own.
|
|
18
|
-
|
|
19
|
-
## Installation
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
$ npm install
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Running the app
|
|
26
|
-
|
|
27
|
-
To run the app in the development mode:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm run start
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
- Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
|
|
34
|
-
- Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
|
|
35
|
-
|
|
36
|
-
The page will reload when you make changes.
|
|
37
|
-
|
|
38
|
-
## Seed dummy data
|
|
39
|
-
|
|
40
|
-
Seeds some dummy data for your entities:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm run seed
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Community & Resources
|
|
47
|
-
|
|
48
|
-
- [Docs](https://manifest.build/docs) - Get started with Manifest
|
|
49
|
-
- [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
|
|
50
|
-
- [Github](https://github.com/mnfst/manifest/issues) - Report bugs and share ideas to improve the product.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# This is a sample file for a manifest.yml manifest backend.
|
|
2
|
-
# Read more about the manifest format here: https:/manifest.build/docs
|
|
3
|
-
|
|
4
|
-
name: My pet app 🐾
|
|
5
|
-
entities:
|
|
6
|
-
Owner:
|
|
7
|
-
properties:
|
|
8
|
-
- name
|
|
9
|
-
- { name: birthdate, type: date }
|
|
10
|
-
policies:
|
|
11
|
-
read:
|
|
12
|
-
- access: public
|
|
13
|
-
|
|
14
|
-
Cat:
|
|
15
|
-
properties:
|
|
16
|
-
- name
|
|
17
|
-
- { name: age, type: number }
|
|
18
|
-
- { name: birthdate, type: date }
|
|
19
|
-
belongsTo:
|
|
20
|
-
- Owner
|
|
21
|
-
policies:
|
|
22
|
-
read:
|
|
23
|
-
- access: public
|
|
24
|
-
|
|
25
|
-
Homepage:
|
|
26
|
-
nameSingular: Home content
|
|
27
|
-
single: true
|
|
28
|
-
properties:
|
|
29
|
-
- title
|
|
30
|
-
- { name: description, type: richText }
|
|
31
|
-
- { name: cover, type: image }
|
|
32
|
-
policies:
|
|
33
|
-
read:
|
|
34
|
-
- access: public
|
package/bin/dev.cmd
DELETED
package/bin/dev.js
DELETED
package/bin/run.cmd
DELETED