@ngm-dev/cli
Version:
A CLI for ui.angular-material.dev
273 lines (272 loc) • 7.63 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"meta": {
"description": "Optional metadata to include in the manifest file.",
"type": "object",
"properties": {
"authors": {
"description": "The names of the authors of this registry.",
"type": "array",
"items": {
"type": "string"
}
},
"bugs": {
"description": "Where users should report bugs.",
"type": "string"
},
"description": {
"description": "A description of the registry.",
"type": "string"
},
"homepage": {
"description": "The URL to the registry homepage.",
"type": "string",
"format": "uri"
},
"repository": {
"description": "The source repository for the registry. (Omit this if you are distributing from a git repository)",
"type": "string",
"format": "uri"
},
"tags": {
"description": "Keywords that describe your registry.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"peerDependencies": {
"description": "A list of dependencies that are not installed by blocks or config files but are required for your registry to function in users projects.",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"description": "The version or version range that is supported by your registry."
},
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "The version or version range that is supported by your registry."
},
"message": {
"type": "string",
"description": "A message displayed to users when installing with an incompatible peer dependency."
}
},
"required": ["version", "message"],
"additionalProperties": false
}
]
}
},
"configFiles": {
"description": "Any config files that should be included when initializing the registry.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Name of the config file.",
"type": "string"
},
"path": {
"description": "Path where the config file lives.",
"type": "string"
},
"expectedPath": {
"description": "Path to default to searching in the users project.",
"type": "string"
},
"optional": {
"description": "Config file is optional and the user will be prompted accordingly.",
"type": "boolean",
"default": false
}
},
"required": ["name", "path"]
}
},
"dirs": {
"description": "Directories that contain the categories you want to build into the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"outputDir": {
"description": "The directory to output the registry to. (Copies ngm-dev-cli-manifest.json + all required files)",
"type": "string"
},
"includeBlocks": {
"description": "The names of the blocks that should be included in the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"includeCategories": {
"description": "The names of the categories that should be included in the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"excludeBlocks": {
"description": "The names of the blocks that should not be included in the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"excludeCategories": {
"description": "The names of the categories that should not be included in the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"listBlocks": {
"description": "List only the blocks with these names.",
"type": "array",
"items": {
"type": "string"
}
},
"listCategories": {
"description": "List only the categories with these names.",
"type": "array",
"items": {
"type": "string"
}
},
"doNotListBlocks": {
"description": "Do not list the blocks with these names.",
"type": "array",
"items": {
"type": "string"
}
},
"doNotListCategories": {
"description": "Do not list the categories with these names.",
"type": "array",
"items": {
"type": "string"
}
},
"excludeDeps": {
"description": "Remote dependencies that should not be added to the manifest.",
"type": "array",
"items": {
"type": "string"
}
},
"allowSubdirectories": {
"description": "Allow subdirectories to be built.",
"type": "boolean",
"default": false
},
"preview": {
"description": "Display a preview of the blocks list.",
"type": "boolean",
"default": false
},
"rules": {
"description": "Configure rules when checking manifest after build.",
"type": "object",
"properties": {
"no-category-index-file-dependency": {
"description": "Disallow depending on the index file of a category.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
"no-unpinned-dependency": {
"description": "Require all dependencies to have a pinned version.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
"require-local-dependency-exists": {
"description": "Require all local dependencies to exist.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "error"
},
"max-local-dependencies": {
"description": "Enforces a limit on the amount of local dependencies a block can have.",
"type": "array",
"items": [
{
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
{
"description": "Max local dependencies",
"type": "number",
"default": 10
}
],
"default": ["warn", 10]
},
"no-circular-dependency": {
"description": "Disallow circular dependencies.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "error"
},
"no-unused-block": {
"description": "Disallow unused blocks. (Not listed and not a dependency of another block)",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
"no-framework-dependency": {
"description": "Disallow frameworks (Svelte, Vue, React, etc.) as dependencies.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
"require-config-file-exists": {
"description": "Require all of the paths listed in `configFiles` to exist.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "error"
},
"no-config-file-framework-dependency": {
"description": "Disallow frameworks (Svelte, Vue, React, etc.) as dependencies of config files.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
},
"no-config-file-unpinned-dependency": {
"description": "Require all dependencies of config files to have a pinned version.",
"type": "string",
"enum": ["error", "warn", "off"],
"default": "warn"
}
},
"default": {
"no-category-index-file-dependency": "warn",
"no-unpinned-dependency": "warn",
"require-local-dependency-exists": "error",
"max-local-dependencies": ["warn", 10],
"no-circular-dependency": "error",
"no-unused-block": "warn",
"no-framework-dependency": "warn",
"require-config-file-exists": "error",
"no-config-file-framework-dependency": "warn",
"no-config-file-unpinned-dependency": "warn"
}
}
},
"required": ["dirs"]
}