craft-hub / parseProjectConfig
Function: parseProjectConfig()
parseProjectConfig(
content):object
Defined in: packages/craft-hub/src/config.ts:229
Validate project JSONC content with the same parser used for discovery and edits.
Parameters
content
string
Returns
object
$schema?
optional$schema?:string
capabilities?
optionalcapabilities?:object
capabilities.descriptions?
optionaldescriptions?:Record<string,string| {[key:string]:string;default:string; }>
capabilities.disabledPresets?
optionaldisabledPresets?:string[]
capabilities.hidden?
optionalhidden?:string[]
capabilities.inputs?
optionalinputs?:Record<string,Record<string, {argumentStyle?:"equals"|"separate";default?:string;description?:string| {[key:string]:string;default:string; };flag:string;label?:string| {[key:string]:string;default:string; };options: (string| {arguments?: ...;icon?: ...;label?: ...;omitArgument?: ...;value: ...; })[];pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"select";visibleWhen?: {equals:string;input:string; } |object[]; } | {argumentStyle:"positional";default?:string;description?:string| {[key:string]:string;default:string; };flag?:undefined;label?:string| {[key:string]:string;default:string; };options: (string| {arguments?: ...;icon?: ...;label?: ...;omitArgument?: ...;value: ...; })[];pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"select";visibleWhen?: {equals:string;input:string; } |object[]; } | {argumentStyle?:"equals"|"separate";default?:string;description?:string| {[key:string]:string;default:string; };flag:string;label?:string| {[key:string]:string;default:string; };options?:undefined;pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"text";visibleWhen?: {equals:string;input:string; } |object[]; } | {argumentStyle:"positional";default?:string;description?:string| {[key:string]:string;default:string; };flag?:undefined;label?:string| {[key:string]:string;default:string; };options?:undefined;pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"text";visibleWhen?: {equals:string;input:string; } |object[]; } | {argumentStyle?:undefined;default?:"true"|"false";description?:string| {[key:string]:string;default:string; };flag:string;label?:string| {[key:string]:string;default:string; };omitArgument?:false;options?:undefined;pattern?:undefined;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"boolean";visibleWhen?: {equals:string;input:string; } |object[]; } | {argumentStyle?:undefined;default?:"true"|"false";description?:string| {[key:string]:string;default:string; };flag?:undefined;label?:string| {[key:string]:string;default:string; };omitArgument:true;options?:undefined;pattern?:undefined;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"boolean";visibleWhen?: {equals:string;input:string; } |object[]; }>>
capabilities.operations?
optionaloperations?:Record<string, {customVersionInput?:string;kind:"release";prereleaseIdInput?:string;requiredBranch?:string;requiresCleanGit?:boolean;versionInput?:string;workflowPath?:string; }>
capabilities.skillInputs?
optionalskillInputs?:Record<string,Record<string, {default?:string;description?:string| {[key:string]:string;default:string; };label?:string| {[key:string]:string;default:string; };options: (string| {icon?: ...;label?: ...;value: ...; })[];pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"select";visibleWhen?: {equals:string;input:string; } |object[]; } | {default?:string;description?:string| {[key:string]:string;default:string; };label?:string| {[key:string]:string;default:string; };options?:undefined;pattern?:string;private?:boolean;redactInHistory?:boolean;required?:boolean;requiredWhen?: {equals:string;input:string; } |object[];type:"text";visibleWhen?: {equals:string;input:string; } |object[]; }>>
capabilities.skills?
optionalskills?:object
capabilities.skills.disabled?
optionaldisabled?:object[]
capabilities.skills.disabledPlugins?
optionaldisabledPlugins?:string[]
capabilities.skills.enabled?
optionalenabled?:object[]
capabilities.skills.enabledPlugins?
optionalenabledPlugins?:string[]
capabilities.skills.mode?
optionalmode?:"auto"|"manual"
defaults?
optionaldefaults?:object
defaults.agent?
optionalagent?:string
extensions?
optionalextensions?:Record<string,unknown>
packages?
optionalpackages?:Record<string, {description?:string| {[key:string]:string;default:string; };featured?:boolean;hidden?:boolean;order?:number;quickActions?:string[];readme?:string; }>
project?
optionalproject?:object
project.color?
optionalcolor?:"blue"|"cyan"|"green"|"orange"|"pink"|"purple"|"red"|"yellow"
project.description?
optionaldescription?:string| {[key:string]:string;default:string; }
project.icon?
optionalicon?:string
project.name?
optionalname?:string
project.quickActions?
optionalquickActions?:string[]
project.readme?
optionalreadme?:string
version
version:
1