create-manifest 1.3.4 → 2.0.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.
- package/README.md +40 -21
- package/index.js +51 -0
- package/package.json +11 -89
- package/starter/.claude/settings.local.json +21 -0
- package/starter/.env.example +1 -0
- package/starter/@/components/table.tsx +478 -0
- package/starter/@/components/ui/button.tsx +62 -0
- package/starter/@/components/ui/checkbox.tsx +30 -0
- package/starter/README-DEV.md +167 -0
- package/starter/components.json +24 -0
- package/starter/package.json +42 -0
- package/starter/src/flows/list-pokemons.flow.ts +131 -0
- package/starter/src/server.ts +165 -0
- package/starter/src/web/PokemonList.tsx +125 -0
- package/starter/src/web/components/blog-post-card.tsx +286 -0
- package/starter/src/web/components/blog-post-list.tsx +291 -0
- package/starter/src/web/components/ui/.gitkeep +0 -0
- package/starter/src/web/components/ui/button.tsx +62 -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 +21 -0
- package/starter/tsconfig.web.json +24 -0
- package/starter/vite.config.ts +36 -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,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,21 @@
|
|
|
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
|
+
}
|
|
21
|
+
}
|
|
@@ -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,36 @@
|
|
|
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
|
+
}
|
|
36
|
+
})
|
|
@@ -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
package/bin/run.js
DELETED
package/dist/commands/index.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Command } from '@oclif/core';
|
|
2
|
-
export default class CreateManifest extends Command {
|
|
3
|
-
static description: string;
|
|
4
|
-
static args: {
|
|
5
|
-
firstArg: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
6
|
-
};
|
|
7
|
-
static flags: {
|
|
8
|
-
backendFile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
cursor: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
copilot: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
-
windsurf: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* The run method is called when the command is run.
|
|
15
|
-
*
|
|
16
|
-
* Steps:
|
|
17
|
-
* 1. Create a folder named after the first arg or ask for it
|
|
18
|
-
* 2. Create a folder with the name `manifest`.
|
|
19
|
-
* 3. Create a file inside the folder with the name `manifest.yml`.
|
|
20
|
-
* 4. Update the `package.json` file with the new packages and scripts.
|
|
21
|
-
* 5. Update the .vscode/extensions.json file with the recommended extensions.
|
|
22
|
-
* 6. Update the .vscode/settings.json file with the recommended settings.
|
|
23
|
-
* 7. Update the .gitignore file with the recommended settings.
|
|
24
|
-
* 8. Update the .env file with the environment variables.
|
|
25
|
-
* 9. If no README.md file exists, create one.
|
|
26
|
-
* 10. Add optional files based on flags
|
|
27
|
-
* 11. Install the new packages.
|
|
28
|
-
* 12. Serve the new app.
|
|
29
|
-
* 13. Wait for the server to start.
|
|
30
|
-
* 14. Seed the database.
|
|
31
|
-
* 15. Open the browser.
|
|
32
|
-
*/
|
|
33
|
-
run(): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Check if the server is ready.
|
|
36
|
-
*
|
|
37
|
-
* @returns {Promise<boolean>} - Returns a promise that resolves to a boolean.
|
|
38
|
-
*
|
|
39
|
-
**/
|
|
40
|
-
isServerReady(): Promise<boolean>;
|
|
41
|
-
/**
|
|
42
|
-
* Wait for the server to be ready.
|
|
43
|
-
*
|
|
44
|
-
* @returns a promise that resolves to void when the server is ready.
|
|
45
|
-
*
|
|
46
|
-
**/
|
|
47
|
-
waitForServerToBeReady(): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Transform a JSON with comments to a JSON without comments.
|
|
50
|
-
*
|
|
51
|
-
* @param jsonString - The JSON with comments.
|
|
52
|
-
*
|
|
53
|
-
* @returns the JSON without comments.
|
|
54
|
-
*
|
|
55
|
-
**/
|
|
56
|
-
removeComments(jsonString: string): string;
|
|
57
|
-
/**
|
|
58
|
-
* Kill a process without logging an error if it fails.
|
|
59
|
-
*
|
|
60
|
-
* @param {number} pid - The process ID.
|
|
61
|
-
* @returns {Promise<void>} - A promise that resolves when the process is killed.
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
|
-
silentKill(pid: number): Promise<void>;
|
|
65
|
-
}
|