UNPKG

checksync

Version:

A tool that allows code to be annotated across different files to ensure they remain in sync.

140 lines 5.39 kB
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "CheckSync", "description": "Configuration file for CheckSync", "type": "object", "properties": { "$comment": { "description": "A comment about the configuration", "type": "string" }, "$schema": { "description": "The JSON schema for this file", "type": "string" }, "$schemaVersion": { "description": "The version of the JSON schema for this file", "type": "string", "pattern": "^[0-9]+(\\.[0-9]+){1,3}$" }, "autoFix": { "description": "When true, checksync will attempt to apply fixes to an errors", "type": "boolean", "default": false }, "comments": { "description": "An array of the strings that identify the starts of comments in the files being parsed", "type": "array", "items": { "type": "string" }, "uniqueItems": true, "minLength": 0, "default": [ "#", "//", "{/*" ] }, "dryRun": { "description": "When true, checksync will not write any files", "type": "boolean", "default": false }, "excludeGlobs": { "description": "An array of globs that identify files to exclude from the checks", "type": "array", "items": { "type": "string", "pattern": "^([^/*.][^/*]+|\\*{1,2}|\\.{1,2}|\\.[^/*.]+)(\\/([^/*]+|\\*{1,2}))*$" }, "uniqueItems": true, "minLength": 0 }, "includeGlobs": { "description": "An array of globs that identify files to include in the checks", "type": "array", "items": { "type": "string", "pattern": "^([^/*.][^/*]+|\\*{1,2}|\\.{1,2}|\\.[^/*.]+)(\\/([^/*]+|\\*{1,2}))*$" }, "uniqueItems": true, "minLength": 0 }, "ignoreFiles": { "description": "An array of globs that identify .gitignore-style files that specify files to be ignored", "type": "array", "items": { "type": "string", "pattern": "^([^/*.][^/*]+|\\*{1,2}|\\.{1,2}|\\.[^/*.]+)(\\/([^/*]+|\\*{1,2}))*$" }, "uniqueItems": true, "minLength": 0 }, "json": { "description": "When true, checksync output will be as JSON", "type": "boolean", "default": false }, "rootMarker": { "description": "The string that identifies the root of the project from which all sync-tags are relative", "type": "string", "pattern": "^[^/\\\\]+$" }, "allowEmptyTags": { "description": "When true, checksync will not report an error if a sync-tag is empty", "type": "boolean", "default": false }, "migration": { "description": "Configuration for migrating local tags to different targets", "type": "object", "properties": { "mode": { "description": "When set to missing, only tags where a local target cannot be found will be migrated: when set to all, all matching targets will be migrated", "type": "string", "enum": [ "missing", "all" ], "default": "missing" }, "mappings": { "minItems": 1, "description": "A mapping of new paths to regular expressions of old paths that should migrate to the given new path", "type": "array", "items": { "type": "object", "properties": { "to": { "description": "A URL that is the new target to which the tag should migrate", "type": "string", "format": "uri" }, "from": { "description": "An array of strings against which the starts of target paths are to be compared. Forward slashes must be used for path separation.", "type": "array", "items": { "type": "string", "minLength": 1, "pattern": "^([^/]+/?)+$" } } }, "required": [ "to", "from" ], "additionalProperties": false } } }, "required": [ "mappings" ], "additionalProperties": false } }, "required": [], "additionalProperties": false }