minimum size of code block in tokens to check for duplication
maximum allowed duplicate lines expressed as a percentage; exit with error and exit code 1 when threshold exceeded
ignore code blocks matching these regular expressions
mode of detection quality; see https://github.com/kucherenko/jscpd/blob/master/packages/jscpd/README.md#mode
format or list of formats for which to detect duplication (default: all); see https://github.com/kucherenko/jscpd/blob/master/FORMATS.md
a list of reporters to use to output information about duplication; built-ins include console, consoleFull/console-full, json, xml, csv, html, markdown, badge, sarif, ai, xcode, threshold, and silent; third-party reporters are also supported
do not follow symlinks
skip duplicates within folders; just detect cross-folder duplicates
ignore case of symbols in code (experimental)
respect .gitignore files. Enabled by default in current jscpd; set false to opt out in v4 configs.
SVG width of icon to display in front of badge subject text; set this if icon is not square
directory used by the v4 store for cache files, useful for isolating parallel LevelDB runs. v5 reports this config field as migrated to the CLI --store-path flag.
v5 config field matching --no-gitignore; do not respect .gitignore files
v5 config field matching --follow-symlinks; follow symbolic links
compatibility alias for noSymlinks with a capital L; prefer noSymlinks or followSymlinks
v5 kebab-case alias for minTokens. minimum size of code block in tokens to check for duplication
v5 kebab-case alias for minLines. minimum size of code block in lines to check for duplication
v5 kebab-case alias for maxLines. maximum size of source file in lines to check for duplication
v5 kebab-case alias for maxSize. maximum size of source file in bytes to check for duplication (e.g., 102400, 1kb, 1m, 120kb)
v5 kebab-case alias for ignorePattern. ignore code blocks matching these regular expressions
v5 kebab-case alias for ignoreCase. ignore case of symbols in code (experimental)
v5 kebab-case alias for noGitignore. v5 config field matching --no-gitignore; do not respect .gitignore files
v5 kebab-case alias for followSymlinks. v5 config field matching --follow-symlinks; follow symbolic links
v5 kebab-case alias for skipLocal. skip duplicates within folders; just detect cross-folder duplicates
v5 kebab-case alias for exitCode. exit code to use when at least one duplicate code block is detected but threshold is not exceeded
v5 kebab-case alias for noColors. disable ANSI color output
v5 kebab-case alias for noTips. suppress tips and promotional messages after detection
matchN(>=1, [ "abap" | "actionscript" | "ada" | "apacheconf" | "apl" | "applescript" | "arduino" | "arff" | "asciidoc" | "asm6502" | "aspnet" | "autohotkey" | "autoit" | "bash" | "basic" | "batch" | "bison" | "brainfuck" | "bro" | "c" | "c-header" | "clike" | "clojure" | "coffeescript" | "comments" | "cpp" | "cpp-header" | "crystal" | "csharp" | "csp" | "css-extras" | "css" | "d" | "dart" | "diff" | "django" | "docker" | "eiffel" | "elixir" | "elm" | "erb" | "erlang" | "flow" | "fortran" | "fsharp" | "gdscript" | "gedcom" | "gherkin" | "git" | "glsl" | "go" | "graphql" | "groovy" | "haml" | "handlebars" | "haskell" | "haxe" | "hpkp" | "hsts" | "http" | "ichigojam" | "icon" | "inform7" | "ini" | "io" | "j" | "java" | "javascript" | "jolie" | "json" | "jsx" | "julia" | "keymap" | "kotlin" | "latex" | "less" | "liquid" | "lisp" | "livescript" | "lolcode" | "lua" | "makefile" | "markdown" | "markup" | "matlab" | "mel" | "mizar" | "monkey" | "n4js" | "nasm" | "nginx" | "nim" | "nix" | "nsis" | "objectivec" | "ocaml" | "opencl" | "oz" | "parigp" | "pascal" | "perl" | "php" | "plsql" | "powershell" | "processing" | "prolog" | "properties" | "protobuf" | "pug" | "puppet" | "pure" | "python" | "q" | "qore" | "r" | "razor" | "reason" | "renpy" | "rest" | "rip" | "roboconf" | "ruby" | "rust" | "sas" | "sass" | "scala" | "scheme" | "scss" | "svelte" | "smalltalk" | "smarty" | "soy" | "sql" | "stylus" | "swift" | "tap" | "tcl" | "textile" | "tsx" | "tt2" | "twig" | "typescript" | "txt" | "vbnet" | "velocity" | "verilog" | "vhdl" | "vim" | "visual-basic" | "astro" | "vue" | "wasm" | "wiki" | "xeora" | "xojo" | "xquery" | "yaml" | "abnf" | "agda" | "antlr4" | "apex" | "aql" | "armasm" | "awk" | "bicep" | "bnf" | "cfscript" | "cfml" | "cmake" | "cobol" | "csv" | "cypher" | "dhall" | "dns-zone-file" | "dot" | "ebnf" | "editorconfig" | "excel-formula" | "factor" | "ftl" | "gcode" | "gettext" | "gml" | "go-module" | "hcl" | "hlsl" | "idris" | "ignore" | "jq" | "json5" | "kusto" | "lilypond" | "linker-script" | "llvm" | "log" | "mermaid" | "mongodb" | "n1ql" | "odin" | "openqasm" | "plant-uml" | "powerquery" | "promql" | "purescript" | "qsharp" | "racket" | "regex" | "rego" | "rescript" | "robotframework" | "shell-session" | "smali" | "solidity" | "sparql" | "stata" | "toml" | "turtle" | "typoscript" | "unrealscript" | "uri" | "vala" | "wgsl" | "wolfram" | "zig", strings.MinRunes(1), ])
minimum size of code block in lines to check for duplication