{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/yasshi2525/export-gitproject/main/config.schema.json", "title": "Export Git Project Configuration", "description": "Configuration schema for @yasshi2525/export-gitproject.", "type": "object", "properties": { "out": { "type": "string", "description": "Path to the target project where files will be copied and replaced.", "default": "out" }, "copy": { "description": "Configuration for copying files from the source project to the target project.", "type": "object", "properties": { "exclude": { "description": "List of files or directories to exclude from copying. Regardless of this value, `.git` directory, configuration file and every pathes written in `.gitignore` will be excluded.", "type": "array", "items": { "type": "string", "description": "File or directory to exclude from copying. Supports .gitignore syntax." } } } }, "replace": { "type": "array", "description": "List of replacement rules for files in the source project.", "items": { "type": "object", "description": "Replacement rule for a file in the source project.", "properties": { "from": { "type": "string", "description": "Source directory which contains the file to be replaced. This should be a relative path from the root of the source project." }, "to": { "type": "string", "description": "Target directory where the file will be copied to. This should be a relative path from the root of the target project." }, "errorOnUnmatch": { "type": "boolean", "description": "If true, an error will be thrown if two file list in `from` and `to` are not equal. If false, the replacement will execute based on the file list in `from`.", "default": false } }, "required": ["from", "to"] } } } }