Skip to content

📐 Contains types and generates JSON Schemas for the CloudCannon configuration file.

License

Notifications You must be signed in to change notification settings

CloudCannon/configuration-types

Repository files navigation

Configuration types

Contains TypeScript declarations and generates JSON Schema files for the CloudCannon configuration file.

version badge



Installation

npm i -D @cloudcannon/configuration-types

Usage

We plan to add the configuration schema to JSON Schema Store, which would automatically enable in-editor validation, autocomplete and tooltips with the YAML or JSON LSP enabled.

Alternatively, you can add a comment to the top of your file to use a specific schema for YAML files:

# yaml-language-server: $schema=https://raw.githubusercontent.com/CloudCannon/configuration-types/main/dist/cloudcannon-config.schema.json

collections_config:
  posts:
    path: content/posts
    name: Blog
    icon: event

Or the top-level $schema entry for JSON files:

{
  "$schema": "https://raw.githubusercontent.com/CloudCannon/configuration-types/main/dist/cloudcannon-config.schema.json",

  "collections_config": {
    "posts": {
      "path": "content/posts",
      "name": "Blog",
      "icon": "event"
    }
  }
}

You could also/alternatively validate the file on the command line with something like ajv-cli:

npm i @cloudcannon/configuration-types ajv-cli
npm run ajv validate -s node_modules/@cloudcannon/configuration-types/schema/cloudcannon-config.schema.json -d cloudcannon.config.yml

Development

Install dependencies:

npm i

Build:

npm run build

License

MIT

About

📐 Contains types and generates JSON Schemas for the CloudCannon configuration file.

Resources

License

Stars

Watchers

Forks

Packages