UNPKG

@primexop/pbk

Version:

Primexop Backend Kit - A powerful TypeScript utility for managing backend projects with features like B2F Portal integration, cross-project validation, and Next.js support

79 lines 3.48 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "PBK Configuration Schema", "description": "Schema for pbk.config.json configuration file", "type": "object", "required": ["projects", "b2fPortal", "checkCrossProjectImports"], "properties": { "projects": { "type": "array", "description": "Array of projects to manage. Each project can have multiple sections like masterPanel, adminPanel, staffPanel, and webApp.", "items": { "type": "object", "required": ["projectName", "projectBaseDirPath", "sections"], "properties": { "projectName": { "type": "string", "description": "Name of the project (e.g., 'demo_project')" }, "projectBaseDirPath": { "type": "string", "description": "Base directory path for the project relative to the config file" }, "sharedBackendPath": { "type": "string", "description": "Path to shared backend code, relative to the project root (e.g., '../../shared_one/backend')" }, "sections": { "type": "array", "description": "Array of project sections. Each section represents a different part of your application (e.g., masterPanel, adminPanel, staffPanel, webApp)", "items": { "type": "object", "required": ["sectionName", "repository", "localPath", "isZodCreator"], "properties": { "sectionName": { "type": "string", "description": "Name of the section (e.g., 'masterPanel', 'adminPanel', 'staffPanel', 'webApp')" }, "repository": { "type": "object", "required": ["name", "path"], "properties": { "name": { "type": "string", "description": "Repository name (e.g., 'demo_project_master_panel')" }, "path": { "type": "string", "description": "Repository path relative to the project root (e.g., '../../demo_project/master_panel')" } } }, "localPath": { "type": "string", "description": "Local path where the section code is located relative to the project root (e.g., 'masterPanel')" }, "isZodCreator": { "type": "boolean", "description": "Whether this section uses Zod for validation. Set to true if the section uses Zod schemas." }, "needNextJsPatch": { "type": "boolean", "description": "Whether this section needs Next.js patch. Only required for Next.js projects." } } } } } } }, "b2fPortal": { "type": "boolean", "description": "Whether this is a B2F (Business-to-Frontend) portal project. Set to true if your project is a B2F portal." }, "checkCrossProjectImports": { "type": "boolean", "description": "Whether to check for cross-project imports. Set to true to enable validation of imports between different project sections." } } }