create-manifest 1.3.3 → 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.
Files changed (57) hide show
  1. package/README.md +39 -24
  2. package/index.js +51 -0
  3. package/package.json +11 -89
  4. package/starter/.claude/settings.local.json +21 -0
  5. package/starter/.env.example +1 -0
  6. package/starter/@/components/table.tsx +478 -0
  7. package/starter/@/components/ui/button.tsx +62 -0
  8. package/starter/@/components/ui/checkbox.tsx +30 -0
  9. package/starter/README-DEV.md +167 -0
  10. package/starter/components.json +24 -0
  11. package/starter/package.json +42 -0
  12. package/starter/src/flows/list-pokemons.flow.ts +131 -0
  13. package/starter/src/server.ts +165 -0
  14. package/starter/src/web/PokemonList.tsx +125 -0
  15. package/starter/src/web/components/blog-post-card.tsx +286 -0
  16. package/starter/src/web/components/blog-post-list.tsx +291 -0
  17. package/starter/src/web/components/ui/.gitkeep +0 -0
  18. package/starter/src/web/components/ui/button.tsx +62 -0
  19. package/starter/src/web/globals.css +98 -0
  20. package/starter/src/web/hooks/.gitkeep +0 -0
  21. package/starter/src/web/lib/utils.ts +6 -0
  22. package/starter/src/web/root.tsx +36 -0
  23. package/starter/src/web/tsconfig.json +3 -0
  24. package/starter/tsconfig.json +21 -0
  25. package/starter/tsconfig.web.json +24 -0
  26. package/starter/vite.config.ts +36 -0
  27. package/assets/monorepo/README.md +0 -51
  28. package/assets/monorepo/api-package.json +0 -9
  29. package/assets/monorepo/api-readme.md +0 -49
  30. package/assets/monorepo/manifest.yml +0 -34
  31. package/assets/monorepo/root-package.json +0 -15
  32. package/assets/monorepo/web-package.json +0 -10
  33. package/assets/monorepo/web-readme.md +0 -9
  34. package/assets/standalone/README.md +0 -49
  35. package/assets/standalone/api-package.json +0 -9
  36. package/assets/standalone/manifest.yml +0 -34
  37. package/bin/dev.cmd +0 -3
  38. package/bin/dev.js +0 -5
  39. package/bin/run.cmd +0 -3
  40. package/bin/run.js +0 -5
  41. package/dist/commands/index.d.ts +0 -65
  42. package/dist/commands/index.js +0 -480
  43. package/dist/index.d.ts +0 -1
  44. package/dist/index.js +0 -1
  45. package/dist/utils/GetBackendFileContent.d.ts +0 -1
  46. package/dist/utils/GetBackendFileContent.js +0 -21
  47. package/dist/utils/GetLatestPackageVersion.d.ts +0 -1
  48. package/dist/utils/GetLatestPackageVersion.js +0 -5
  49. package/dist/utils/UpdateExtensionJsonFile.d.ts +0 -6
  50. package/dist/utils/UpdateExtensionJsonFile.js +0 -8
  51. package/dist/utils/UpdatePackageJsonFile.d.ts +0 -18
  52. package/dist/utils/UpdatePackageJsonFile.js +0 -21
  53. package/dist/utils/UpdateSettingsJsonFile.d.ts +0 -4
  54. package/dist/utils/UpdateSettingsJsonFile.js +0 -6
  55. package/dist/utils/helpers.d.ts +0 -1
  56. package/dist/utils/helpers.js +0 -11
  57. 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,6 @@
1
+ import { type ClassValue, clsx } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs))
6
+ }
@@ -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,3 @@
1
+ {
2
+ "extends": "../../tsconfig.web.json"
3
+ }
@@ -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,51 +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>The backend for AI code editors</strong> <br> <span>Manifest is a backend your AI can understand and your team can trust.</span>
13
-
14
- ## Description
15
-
16
- Welcome to your [Manifest](https://github.com/mnfst/manifest) project ! Feel free to replace this README by your own.
17
-
18
- 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.
19
-
20
- ## Installation
21
-
22
- ```bash
23
- $ npm install
24
- ```
25
-
26
- ## Running the app
27
-
28
- To run the app in the development mode:
29
-
30
- ```bash
31
- npm run start
32
- ```
33
-
34
- - Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
35
- - Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
36
-
37
- The page will reload when you make changes.
38
-
39
- ## Seed dummy data
40
-
41
- Seeds some dummy data for your entities:
42
-
43
- ```bash
44
- npm run seed
45
- ```
46
-
47
- ## Community & Resources
48
-
49
- - [Docs](https://manifest.build/docs) - Get started with Manifest
50
- - [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
51
- - [Github](https://github.com/mnfst/manifest/issues) - Report bugs and share ideas to improve the product.
@@ -1,9 +0,0 @@
1
- {
2
- "name": "@PROJECT_NAME/api",
3
- "version": "0.1.0",
4
- "description": "A backend made with Manifest: https://manifest.build",
5
- "private": true,
6
- "license": "UNLICENSED",
7
- "scripts": {},
8
- "dependencies": {}
9
- }
@@ -1,49 +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>The backend for AI code editors</strong> <br> <span>Manifest is a backend your AI can understand and your team can trust.</span>
13
-
14
- ## Description
15
-
16
- Welcome to your [Manifest](https://github.com/mnfst/manifest) backend ! Feel free to replace this README by your own.
17
-
18
- ## Installation
19
-
20
- ```bash
21
- $ npm install
22
- ```
23
-
24
- ## Running the app
25
-
26
- To run the app in the development mode:
27
-
28
- ```bash
29
- npm run start
30
- ```
31
-
32
- - Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
33
- - Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
34
-
35
- The page will reload when you make changes.
36
-
37
- ## Seed dummy data
38
-
39
- Seeds some dummy data for your entities:
40
-
41
- ```bash
42
- npm run seed
43
- ```
44
-
45
- ## Community & Resources
46
-
47
- - [Docs](https://manifest.build/docs) - Get started with Manifest
48
- - [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
49
- - [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,10 +0,0 @@
1
- {
2
- "name": "@PROJECT_NAME/web",
3
- "version": "0.1.0",
4
- "private": true,
5
- "license": "UNLICENSED",
6
- "scripts": {
7
- "start": "echo 'Add your frontend framework here'",
8
- "build": "echo 'Add your build command here'"
9
- }
10
- }
@@ -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,49 +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>The backend for AI code editors</strong> <br> <span>Manifest is a backend your AI can understand and your team can trust.</span>
13
-
14
- ## Description
15
-
16
- Welcome to your [Manifest](https://github.com/mnfst/manifest) project ! Feel free to replace this README by your own.
17
-
18
- ## Installation
19
-
20
- ```bash
21
- $ npm install
22
- ```
23
-
24
- ## Running the app
25
-
26
- To run the app in the development mode:
27
-
28
- ```bash
29
- npm run start
30
- ```
31
-
32
- - Open [http://localhost:1111](http://localhost:1111) to open your admin UI it in your browser
33
- - Open [http://localhost:1111/api](http://localhost:111/api) to view your REST API documentation
34
-
35
- The page will reload when you make changes.
36
-
37
- ## Seed dummy data
38
-
39
- Seeds some dummy data for your entities:
40
-
41
- ```bash
42
- npm run seed
43
- ```
44
-
45
- ## Community & Resources
46
-
47
- - [Docs](https://manifest.build/docs) - Get started with Manifest
48
- - [Discord](https://discord.gg/FepAked3W7) - Come chat with the community
49
- - [Github](https://github.com/mnfst/manifest/issues) - Report bugs and share ideas to improve the product.
@@ -1,9 +0,0 @@
1
- {
2
- "name": "PROJECT_NAME",
3
- "version": "0.1.0",
4
- "description": "A backend made with Manifest: https://manifest.build",
5
- "private": true,
6
- "license": "UNLICENSED",
7
- "scripts": {},
8
- "dependencies": {}
9
- }
@@ -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
@@ -1,3 +0,0 @@
1
- @echo off
2
-
3
- node --loader ts-node/esm --no-warnings=ExperimentalWarning "%~dp0\dev" %*
package/bin/dev.js DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env -S node --loader ts-node/esm --no-warnings=ExperimentalWarning
2
-
3
- import {execute} from '@oclif/core'
4
-
5
- await execute({development: true, dir: import.meta.url})
package/bin/run.cmd DELETED
@@ -1,3 +0,0 @@
1
- @echo off
2
-
3
- node "%~dp0\run" %*
package/bin/run.js DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import {execute} from '@oclif/core'
4
-
5
- await execute({dir: import.meta.url})
@@ -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
- }