checksync
Version:
A tool that allows code to be annotated across different files to ensure they remain in sync.
140 lines • 5.39 kB
JSON
{
"$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
}