{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/madge.json","title":"Madge configuration","description":"Configuration for Madge module dependency analysis.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"object","additionalProperties":true,"properties":{"$schema":{"description":"URI of the JSON Schema used to validate this configuration.\nhttps://json-schema.org/understanding-json-schema/reference/schema.html","type":"string","format":"uri"},"baseDir":{"description":"Base directory to use when resolving paths.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"type":"string"},{"type":"null"}],"default":null},"includeNpm":{"description":"Whether to include shallow npm dependencies in the graph.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"boolean","default":false},"fileExtensions":{"description":"File extensions to analyze, without leading periods.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"array","items":{"type":"string","minLength":1,"pattern":"^[^.]+$"},"default":["js"]},"excludeRegExp":{"description":"Regular expression strings used to exclude modules, or false to disable exclusions.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"type":"array","items":{"type":"string","format":"regex"}},{"const":false}],"default":false},"requireConfig":{"description":"Path to a RequireJS configuration used to resolve aliased modules.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"type":"string"},{"type":"null"}],"default":null},"webpackConfig":{"description":"Path to a webpack configuration used to resolve aliased modules.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"type":"string"},{"type":"null"}],"default":null},"tsConfig":{"description":"Path to a TypeScript configuration or an embedded TypeScript configuration object.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null},"layout":{"description":"Graphviz layout engine used to render the graph. Common values are dot, neato, fdp, sfdp, twopi, and circo.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"dot"},"rankdir":{"description":"Graph layout direction. Common Graphviz values are TB, BT, LR, and RL.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"LR"},"fontName":{"description":"Font name used in the graph.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"Arial"},"fontSize":{"description":"Font size used in the graph.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"14px"},"backgroundColor":{"description":"Graph background color in any syntax supported by Graphviz.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/api.js#L9-L30","type":"string","default":"#111111"},"nodeShape":{"description":"Graphviz shape used for nodes.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"box"},"nodeStyle":{"description":"Graphviz style used for nodes.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"rounded"},"nodeColor":{"description":"Default node color in any syntax supported by Graphviz.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"#c6c5fe"},"noDependencyColor":{"description":"Color used for nodes with no dependencies.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"#cfffac"},"cyclicNodeColor":{"description":"Color used for nodes involved in circular dependencies.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"#ff6c60"},"edgeColor":{"description":"Color used for graph edges.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","type":"string","default":"#757575"},"graphVizOptions":{"description":"Additional Graphviz graph, edge, and node attributes, or false to use only Madge defaults.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"$ref":"#/definitions/graphVizOptions"},{"const":false}],"default":false},"graphVizPath":{"description":"Directory containing the Graphviz executables, or false or null to use executables from PATH.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/graph.js#L21-L36","oneOf":[{"type":"string"},{"const":false},{"type":"null"}],"default":false},"detectiveOptions":{"description":"Parser-specific detective options passed to dependency-tree, or false to use parser defaults.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","oneOf":[{"$ref":"#/definitions/detectiveOptions"},{"const":false}],"default":false},"dependencyFilter":{"description":"Disables the programmatic dependency filter. Functions are supported by the JavaScript API but cannot be represented in JSON configuration.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#configuration","const":false,"default":false}},"definitions":{"graphVizAttributes":{"description":"Graphviz attributes forwarded to the renderer.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/graph.js#L45-L74","type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"graphVizOptions":{"type":"object","additionalProperties":true,"properties":{"G":{"$ref":"#/definitions/graphVizAttributes","description":"Graph-level Graphviz attributes.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/graph.js#L45-L74"},"E":{"$ref":"#/definitions/graphVizAttributes","description":"Edge-level Graphviz attributes.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/graph.js#L45-L74"},"N":{"$ref":"#/definitions/graphVizAttributes","description":"Node-level Graphviz attributes.\nhttps://github.com/pahen/madge/blob/v8.0.0/lib/graph.js#L45-L74"}}},"detectiveParserOptions":{"type":"object","additionalProperties":true,"properties":{"mixedImports":{"description":"Whether to detect ES module and CommonJS imports in the same file.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#using-mixed-import-syntax-in-the-same-file","type":"boolean"},"skipTypeImports":{"description":"Whether to ignore type-only imports.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#how-to-ignore-import-type-statements-in-es6--flow","type":"boolean"},"skipAsyncImports":{"description":"Whether to ignore dynamic imports.\nhttps://github.com/pahen/madge/blob/v8.0.0/README.md#how-to-ignore-dynamic-imports-in-typescript","type":"boolean"}}},"detectiveOptions":{"type":"object","additionalProperties":true,"properties":{"es6":{"$ref":"#/definitions/detectiveParserOptions"},"ts":{"$ref":"#/definitions/detectiveParserOptions"},"tsx":{"$ref":"#/definitions/detectiveParserOptions"}}}}}