Skip to main content

File Exclusions Rules

This page documents the rules for excluding files and folders from the scan.

First, test the file source and exclude files and folders according to the following set of rules:

  • For folders that have duplicated matching names without digits, only one will be scanned

  • Files with only one-character names

  • Files with numeric names

  • For files that have duplicated matching names without digits, only one will be scanned

  • Third-party folders that have LICENSE files inside

  • Files that don´t exist.

  • Big files with the size above MaxFileSize (1024.0 kb)

  • Files with names matching ExcludeFilenamePathPatterns (defined in ExclusionConstants.cs)

    • If you want to add a file name pattern to exclude, the key will be the pattern, and the value will be an array with the corresponding extensions.

    • Default filename exclusions applied

      {  ".spec.",         new [] {".js", "ts" } },
      {  "/bootstrap",     new [] {".js" } },
      {  "/modernizr",     new [] {".js" } },
      {  "/angular",       new [] {".js" } },
      
      { "/tilt.js",            emptyArray }, // A small library that aims to add a smooth 3D tilt effect to any element.
      {  "/joystick.js",       emptyArray }, // A library for creating virtual joysticks on touchscreen devices.
      {  "/bideo.js",          emptyArray }, // A library to make it easy to add fullscreen background videos.
      {  "/.",                       emptyArray }, // Any file starting with '.', like '.abc' - these files are usually configuration or system files and are hidden to prevent accidental modification or deletion
      {  "test.",              emptyArray }, // Any file ends with 'test', like 'my_test.cs' - unit tests
      {  "tests.",             emptyArray }, // Any file ends with 'tests', like 'my_tests.cs'- unit tests
      {  "/test_",             emptyArray }, // Any file starts with 'test_', like 'test_Payment.cs'- unit tests
      {  ".min.",                    emptyArray }, // Any file with *.min.* name, like 'abc.min.js'- unit tests
      {  "example.",           emptyArray }, // example file
      {  "_bck",                 emptyArray }, // Backup file, like abc_bck.11.12.23
      {  "bck_",               emptyArray }, // Backup file, like bck_abc.11.12.23
      {  "_backup",            emptyArray }, // Backup file, like abc_backup.11.12.23
      {  "backup_",            emptyArray }, // Backup file, like backup_abc.11.12.23
      {  "/assemblyinfo.cs",   emptyArray }, // C# info file
      {  "/package-info.java", emptyArray }, // java info file
      {  "/setup.py",          emptyArray }, // Python info file
      {  "/doc.go",            emptyArray }, // GO info file
      {  "/_regex.java",       emptyArray }, // This file is Android auto-generated and contains identifiers for all the resources (like layouts, strings, etc) used in the application.
      {  "/buildconfig.java",  emptyArray }, // This auto-generated Android file maintains useful information about the build configurations.
      {  ".storyboard",        emptyArray }, // IOS UI files
      {  ".spec.js",           emptyArray },
      {  ".spec.ts",           emptyArray }
  • Files with extensions matching ExcludeExtensionPathPatterns (defined in ExclusionConstants.cs)

    • If you want to add an extension pattern to exclude, add it to the array.

    • Default extension patterns

      ".xml",              // xml files
      ".propert",           // *.property and *.properties files
      ".txt",               // *.txt
      ".config",            // *.config
      ".xaml",              // *.xaml
      ".json",              // *.json
      ".gradle",              // Contains Gradle build automation files.
  • Folders with names matching ExcludeFolderPathPattern (defined in ExclusionConstants.cs)

    • To add a folder pattern to exclude, the key will be the pattern, and the value will be a tuple:

      • To apply to some extensions, the first value will be an array with the corresponding extensions, and the second value will be null.

      • The first value will be null to apply to all exceptions except some, and the second value will be an array with the included extensions.

      • To apply to all extensions, both values will be null.

      • These are the default exclusions applied to folders in paths

            { "/pkg/",           Tuple.Create(new [] {".js", ".py", ".go"}, emptyArray) },      // Short for 'package', this might contain packaged distribution files.
            { "/spec/",          Tuple.Create(new [] {".js", ".rb"}, emptyArray) },             // This dir is often used when using the RSpec testing tool.Contains specifications for testing the application
            { "/modules/",       Tuple.Create(new [] {".js", ".py", ".rb"}, emptyArray) },      // Contains data models files.
            { "/packages/",      Tuple.Create(new [] {".js", ".py", ".cs"}, emptyArray) },      // Contains package files or imported modules/packages.
            { "/frameworks/",    Tuple.Create(new [] {".js", ".swift", ".objc"}, emptyArray) }, // Contains shared libraries (.dylib) or frameworks(.framework) that your app uses.
            { "framework/",      Tuple.Create(new [] {".swift", ".objc"}, emptyArray) },        // Contains shared libraries (.dylib) or frameworks(.framework) that your app uses.
            { "/vendor/",        Tuple.Create(new [] {".go"}, emptyArray) },                    // Third-party code or libraries.
            { "/target/",        Tuple.Create(new [] {".java"}, emptyArray) },                  // The output folder for compiled languages like Java.
            { "/maven/",         Tuple.Create(new [] {".java"}, emptyArray) },
            { "/.mvn/",          Tuple.Create(new [] {".java", ".py"}, emptyArray) },           // Maven build folder
            { "/.m2/",           Tuple.Create(new [] {".java"}, emptyArray) },                  // Maven build folder
            { "/__pycache__/",   Tuple.Create(new [] {".py"}, emptyArray) },
            { "/.pytest_cache/", Tuple.Create(new [] {".py"}, emptyArray) },
            { "/e2e/",           Tuple.Create(new [] {".ts", ".js"}, emptyArray) },             // end-2-end tests
            { "/.nuget/",        Tuple.Create(new [] {".cs"}, emptyArray) },
        
            { "/lib/",           Tuple.Create(emptyArray, new [] {".c", ".cpp", ".h"}) }, // Short for libraries. It might contain the libraries or modules used by the application.
            { "/build/",         Tuple.Create(emptyArray, new [] {".c", ".cpp", ".h"}) }, // Contains compiled source code or output of build scripts.
        
            { "/swagger/",          emptyTuple },
            { "/plugins/",          emptyTuple },
            { "/.idea/",            emptyTuple }, // IntelliJ IDE build folder
            { "/.androidTest/",     emptyTuple }, // test code
            { "/.settings/",        emptyTuple }, // Eclipse IDE build folder
            { "imageset/",          emptyTuple }, // IOS Images Folder
            { "/xcuserdata/",       emptyTuple }, // IOS XCode Folder
            { "/xcshareddata/",     emptyTuple }, // IOS XCode Folder
            { "xcassets/",          emptyTuple }, // IOS Assets Folder
            { "appiconset/",        emptyTuple }, // IOS Icon Image Folder
            { "/__MACOSX/",         emptyTuple }, // IOS Binary Files
            { "xcodeproj",          emptyTuple }, // IOS XCode Folder
            { ".storyboard/",       emptyTuple }, // IOS UI files
            { "lproj/",             emptyTuple }, // IOS Storyboards Folder
            { "/drawable",          emptyTuple }, // Android Image assets
            { "/mipmap",            emptyTuple }, // Android Image assets
            { "/node",              emptyTuple },
            { "/xjs/",              emptyTuple },
            { "/yui/",              emptyTuple },
            { "/dojo/",             emptyTuple },
            { "/3rd",               emptyTuple },
            { "/package",           emptyTuple },
            { "/tests/",            emptyTuple }, // Contains unit tests, integration tests and other test scripts.
            { "/mock/",             emptyTuple }, // Contains mock objects for use in testing.
            { "/dummy/",            emptyTuple }, // This folder might contain dummy data used for testing or development purposes.
            { "/fake/",             emptyTuple }, // Similar to "/mock/" and "/dummy/", emptyTuple },  it may contain fake data or objects for testing or simulation.
            { "/sample/",           emptyTuple }, // Sample data or sample code for demonstration or testing purposes.
            { "/testing/",          emptyTuple }, // Stores test code and related resources
            { "/test/",             emptyTuple }, // Similar to "/tests/", emptyTuple },  used for storing test scripts.
            { "/it/",               emptyTuple }, // Integration tests.
            { "/ci/",               emptyTuple }, // This directory contains scripts, configuration files, and templates related to the CI process.
            { "/test-utils/",       emptyTuple }, // Testing & Utils.
            { "integrationtest",    emptyTuple }, // Integration tests.
            { "/samples/",          emptyTuple }, // Sample data or sample code for demonstration or testing purposes.
            { "/node_modules/",     emptyTuple }, // Contains npm packages for a Node.js project.
            { "/scripts/",          emptyTuple }, // Contains script files, often build scripts or utility scripts.
            { "/dist/",             emptyTuple }, // Short for 'distribution', it contains the final version of the application ready for deployment.
            { "/third_party/",      emptyTuple }, // Third party code.
            { "/thirdparty/",       emptyTuple }, // third party libraries
            { "/.env/",             emptyTuple }, // Environment variables, often sensitive, for the application.
            { "/env/",              emptyTuple }, // Environment variables, often sensitive, for the application.
            { "/venv/",             emptyTuple }, // Virtual environment for Python applications.
            { "/data/",             emptyTuple }, // Sample data used by the application.
            { "/tox/",              emptyTuple }, // Virtual environments for Python testing with tox.
            { "/libraries/",        emptyTuple }, // Similar to "/lib/," contains libraries used in the project.
            { "/library/",          emptyTuple }, // Similar to "/lib/," contains libraries used in the project.
            { "/buildspec/",        emptyTuple }, // Used to store build specification files.
            { "/buildspecs/",       emptyTuple }, // Used to store build specification files.
            { "/storage/",          emptyTuple }, // This is directory contains compiled Blade templates, file based sessions, file caches, and other files.
            { "/static/",           emptyTuple }, // Static files like CSS, JavaScript, and images.
            { "/resource/",         emptyTuple }, // Could be other resources needed by the application like images, sound files etc.
            { "/resources/",        emptyTuple }, // Could be other resources needed by the application like images, sound files etc.
            { "/res/",              emptyTuple }, // Contains resources such as images, xml files etc.
            { "/assets/",           emptyTuple }, // Any sort of asset files like images, video, audio, fonts etc.
            { "/bin/",              emptyTuple }, // Binary executables or command-line scripts.
            { "/gradle/",           emptyTuple }, // Contains Gradle scripts and configuration files.
            { "/doc/",              emptyTuple }, // Contains documentation files. Sometimes API docs too.
            { "/docs/",             emptyTuple }, // Contains documentation files. Sometimes API docs too.
            { "/backup/",           emptyTuple }, // Backup files of the project.
            { "/obj/",              emptyTuple }, // Short for 'object', it may contain object or binary files created during compilation.
            { "/coverage/",         emptyTuple }, // Test coverage reports.
            { "/properties/",       emptyTuple }, // Could contain property files or configuration data.
            { "/javadoc/",          emptyTuple }, // Stores API documentation generated from Java source code.
            { "/meta-inf/",         emptyTuple }, // The META-INF folder in a Java jar file stands for "META information." It is a directory that contains meta-information about the contents of the jar file
            { "/app_data/",         emptyTuple }, // Contains application data like local DB, XML , etc.
            { "/migrations/",       emptyTuple }, // Database migration files for projects using ORM.
            { "/npm/",              emptyTuple }, // npm typically refers to the Node Package Manager.
            { "/.venv/",            emptyTuple }, // Virtual environment for Python applications.
            { "/.tox/",             emptyTuple }, // Virtual environments for Python testing with tox.
            { "/.npm/",             emptyTuple }, // A folder created by Node Package Manager (npm) to store and manage package data and dependencies for a Node.js project.
            { "/.yarn/",            emptyTuple }, // A similar folder to ".npm/", but created by Yarn. It manages package data, including package metadata, cache, and temporary workspaces.
            { "/.git/",             emptyTuple }, // A Git repository's root directory where all the metadata for the repo is stored.
            { "/.vscode/",          emptyTuple }, // A directory created by Visual Studio Code IDE. It holds workspace settings and recommended extensions for the project, among other things.
            { "/config/",           emptyTuple }, // Contains all configuration files.
            { "/conf/",             emptyTuple }, // Contains all configuration files.
            { "/etc/",              emptyTuple }, // System-wide configuration files.
            { "/db/",               emptyTuple }, // Database schema and migrations files.
            { "/bootstrap/",        emptyTuple }, // Contains framework startup scripts.
            { "/objects/",          emptyTuple }, // Contains all object's metadata files of Apex.
            { "/layouts/",          emptyTuple }, // Contains all page layout files. 
            { "/log/",              emptyTuple }, // Application log files.
            { "/t/",                emptyTuple }, // Contains test scripts and files.
            { "/var/",              emptyTuple }, // Directory for variable data files like logs, caches, etc.
            { "/contrib/",          emptyTuple }, // Contains contributions that are not part of the core distribution.
            { "/ext/",              emptyTuple }, // Contains directories for extensions.
            { "/assets.xcassets/",  emptyTuple }, // Contains app icons, images, colors, and other assets used in the app.
            { "/info.plist/",       emptyTuple }, // A system file that contains the specifications and configurations of the app.
            { "/supporting files/", emptyTuple }, // Contains app resources and files that support the app.
            { "/products/",         emptyTuple }, // It’s where your compiled .app will be placed after a successful build.
            { "/storyboard/",       emptyTuple }, // Visual representation of the User Interface, containing all screens and navigation of iOS.
            { "/examples/",         emptyTuple }, // example files
                        /* JS Common Libraries */
            { "/jquery/",           emptyTuple }, // Stores jQuery-related files
            { "/react/",            emptyTuple }, // This directory usually contains React components, hooks, state files, and other related React files.
            { "/angular/",          emptyTuple }, // In an Angular project, this directory could contain Angular components, services, modules, and other related Angular files.
            { "/vue/",              emptyTuple }, // If your project is using Vue.js, this directory might contain Vue components, mixins, plugins, and other related Vue files.
            { "/express/",          emptyTuple }, // In a node.js project that uses Express.js, this directory might include middleware, route definitions, and other Express-related files.
            { "/lodash/",           emptyTuple }, // If Lodash utility library is used in your project, any custom Lodash scripts might be kept here.
            { "/moment/",           emptyTuple }, // This folder would contain any scripts or files related to the Moment.js library, which is widely used for date manipulation in JavaScript.
            { "/rxjs/",             emptyTuple }, // In an Angular project, this directory would commonly be used to store scripts related to RxJS, a library for reactive programming.
            { "/d3/",               emptyTuple }, // If you're using D3.js for data visualizations, this directory might contain scripts that generate or manipulate your visualizations. 
            { "/backbone/",         emptyTuple }, // Provides the minimal structure needed to organize an application's JavaScript logic and data management.
            { "/tinymce/",          emptyTuple }, // TinyMCE is an online rich-text editor 
            { "/thickbox/",         emptyTuple }, // ThickBox is a webpage UI dialog widget
            { "/mediaelement/",     emptyTuple }, // MediaElement.js is a blazingly fast and amazingly powerful HTML5 audio and video library
            { "/imgareaselect/",    emptyTuple }, // ImgAreaSelect is a jQuery plugin for selecting a rectangular area of an image.
            { "/crop/",             emptyTuple }, // JavaScript image cropper.
            { "/jcrop/",            emptyTuple }, // Jcrop is the quick and easy way to add image cropping functionality to your web application.
            { "/swfupload/",        emptyTuple }, // SWFUpload is a JavaScript Library that wraps the Flash Player's upload function.
            { "/plupload/",         emptyTuple }, // Upload in HTML5.
            { "/ember/",            emptyTuple }, // A robust JavaScript framework for creating ambitious web applications.
            { "/svelte/",           emptyTuple }, // A radical new approach to building user interfaces, where the code compiles to maximize runtime performance.
            { "/threejs/",          emptyTuple }, // A JavaScript library for creating and displaying animated 3D graphics in a web browser.
            { "/fabricjs/",         emptyTuple }, // A powerful and simple Javascript HTML5 canvas library that allows you to work with canvas elements easily.
            { "/phaser/",           emptyTuple }, // An open-source HTML5 game framework for creating fun, desktop and mobile browser games.
            { "/socket.io/",        emptyTuple }, // A library for real-time bidirectional event-based communication, primarily used for building real-time web applications.
            { "/greensock/",        emptyTuple }, // The GreenSock Animation Platform (GSAP) for creating high-performance animations that work in every major browser.
            { "/howlerjs/",         emptyTuple }, // An audio library for the modern web, which makes working with audio in JavaScript easy and reliable across all platforms.
            { "/p5js/",             emptyTuple }, // A client-side library for creating graphic and interactive experiences based on the core principles of Processing.
            { "/popperjs/",         emptyTuple }, // A tooltip & popover positioning engine, used to calculate the position of an element to make it float near a given reference element.
            { "/modernizr/",        emptyTuple }, // A library that detects HTML5 and CSS3 features in the user’s browser, allowing you to write conditional code based upon whether features are present.
            { "/foundation-sites/", emptyTuple }, // An advanced responsive front-end framework for building fast, robust, and adaptable web apps or sites.
            { "/material-ui/",      emptyTuple }, // React components for faster and easier web development, inspired by Google's Material Design.
            { "/anime/",            emptyTuple }, // A lightweight JavaScript animation library with a simple, yet powerful API that works across a multitude of browsers.
            { "/tether/",           emptyTuple }, // A library for efficiently making an absolutely positioned element stay next to another element on the page.
            { "/mathjax/",          emptyTuple }, // A JavaScript display engine for mathematics that works in all browsers and supports LaTeX, MathML, and AsciiMath notation.
            { "/hammerjs/",         emptyTuple }, // A open-source library that can recognize gestures made by touch, mouse, and pointerEvents.
            { "/dayjs/",            emptyTuple }, // A minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers.
            { "/echarts/",          emptyTuple }, // A powerful charting and visualization library offering an easy way of adding intuitive, interactive, and highly customizable charts.
            { "/immutable/",        emptyTuple }, // An immutable data collection library designed to underpin React and Redux applications or similar data-flow architectures.
            { "/revealjs/",         emptyTuple }, // A framework for creating beautiful interactive presentations using HTML.
            { "/mermaid/",          emptyTuple }, // A JavaScript-based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.
            { "/ckeditor/",         emptyTuple }, // A powerful WYSIWYG text editor for web pages.
            { "/quill/",            emptyTuple }, // A modern WYSIWYG editor tailored for cross-browser compatibility and extensibility.
            { "/summernote/",       emptyTuple }, // A lightweight and customizable WYSIWYG text editor.
            { "/froala/",           emptyTuple }, // An intuitive WYSIWYG HTML Editor with a focus on design and rich-text editing.
            { "/codemirror/",       emptyTuple }, // A versatile in-browser code editor with support for a multitude of programming languages.
            { "/monaco-editor/",    emptyTuple }, // The code editor that powers VS Code, offering rich code-editing features.
            { "/datatables/",       emptyTuple }, // A jQuery plugin that enhances HTML tables with advanced interaction controls.
            { "/fullcalendar/",     emptyTuple }, // A comprehensive event calendar library with drag & drop support and integration capabilities.
            { "/select2/",          emptyTuple }, // An advanced replacement for traditional select boxes with search and filter functionalities.
            { "/chosen/",           emptyTuple }, // A jQuery plugin that makes unwieldy select boxes more navigable for users.
            { "/dropzone/",         emptyTuple }, // Drag-and-drop file upload library with image previews and progress updates.
            { "/magnific-popup/",   emptyTuple }, // A responsive and performant lightbox script for images and multimedia.
            { "/swiper/",           emptyTuple }, // A modern touch-enabled slider with a variety of swiping options.
            { "/owl-carousel/",     emptyTuple }, // A customizable jQuery carousel plugin for creating responsive content carousels.
            { "/chartjs/",          emptyTuple }, // Simple and flexible chart creation with a responsive design for developers and designers.
            { "/highcharts/",       emptyTuple }, // An SVG-based charting library that creates interactive, high-performance charts.
            { "/leaflet/",          emptyTuple }, // An open-source library for creating interactive maps that are mobile-friendly.
            { "/videojs/",          emptyTuple }, // A web video player kit that simplifies working with HTML5 video elements.
            { "/plyr/",             emptyTuple }, // A simple HTML5, YouTube, and Vimeo multimedia player with customizable controls.
            { "/sweetalert2/",      emptyTuple }, // A feature-rich and accessible alternative for standard popup boxes.
            { "/lightbox2/",        emptyTuple }, // A lightweight library for showcasing images in overlay galleries.
            { "/masonry/",          emptyTuple }, // A JavaScript grid layout library designed to create masonry style column layouts.
            { "/isotope/",          emptyTuple }, // A dynamic layout library for sorting and filtering grid displays with animations.
            { "/fancybox/",         emptyTuple }, // A tool for displaying images and content in a box above the main web page content.
            { "/jspdf/",            emptyTuple }, // A client-side JavaScript library for creating PDF documents programmatically.
            { "/handsontable/",     emptyTuple }, // A versatile data grid editor that operates like a spreadsheet.
            { "/nouislider/",       emptyTuple }, // A lightweight range slider with multi-touch support and substantial customization features.
            { "/sortablejs/",       emptyTuple }, // A reorderable drag-and-drop list library for modern browsers and touch interfaces.
            { "/clipboard/",        emptyTuple }, // A practical library for copying text to the clipboard with a click or keyboard shortcut.
            { "/animejs/",          emptyTuple }, // A flexible JavaScript library for creating smooth CSS animations.
            { "/wowjs/",            emptyTuple }, // A library for triggering animations on scroll for added page dynamism.
            { "/particlesjs/",      emptyTuple }, // A lightweight JavaScript library for creating particle effects.
            { "/typedjs/",          emptyTuple }, // A library for generating typewriter-like typing animations.
            { "/lazysizes/",        emptyTuple }, // An SEO-friendly and high-performance lazy loader for images and iframes.
            { "/headroomjs/",       emptyTuple }, // A library for hiding and revealing page headers on scroll.
            { "/aos/",              emptyTuple }, // A library for animating elements on scroll with CSS3.
            { "/pace/",             emptyTuple }, // Automatic page loading progress bar with customizable design themes.
            { "/waypoints/",        emptyTuple }, // A tool for executing functions upon scrolling to particular page elements.
            { "/nivo-slider/",      emptyTuple }, // A responsive jQuery slider with customizable transitions and automatic content progression.
            { "/pixijs/",           emptyTuple }, // A library for creating fast 2D graphics on the Web, rendering via WebGL and fallbacks to HTML5's canvas if needed.
            { "/gsap/",             emptyTuple }, // The GreenSock Animation Platform (GSAP) is a suite of tools for scripted, high-performance HTML5 animations that work in all major browsers.
            { "/mojs/",             emptyTuple }, // A motion graphics library dedicated to creating delightful user interface animations.
            { "/velocity/",         emptyTuple }, // An animation engine with the same API as jQuery's $.animate(), it works with and without jQuery.
            { "/scrollmagic/",      emptyTuple }, // A library for creating magical scroll interactions. It allows you to animate based on scroll position. 
            { "/splitjs/",          emptyTuple }, // A lightweight, flexible library for creating split views or panes in web applications.
            { "/zdog/",             emptyTuple }, // A pseudo-3D engine for canvas and SVG that makes round, flat, designer-friendly 3D shapes.
            { "/barba/",            emptyTuple }, // A library to create fluid and smooth transitions between your website's pages.
            { "/builtin/",          emptyTuple }, // An extensible web standards library for the modern JavaScript stack.
            { "/popmotion/",        emptyTuple }, // A functional, reactive JavaScript motion library that allows developers to describe complex UI motions in simple terms.
            { "/flot/",             emptyTuple }, // A pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.
            { "/kendo-ui/",         emptyTuple }, // A complete JavaScript UI component library that allows you to quickly build eye-catching, high-quality, high-performance responsive web apps.
            { "/amcharts/",         emptyTuple }, // An advanced charting library that will suit any data visualization need, with robust features and great performance.
            { "/draft-js/",         emptyTuple }, // A React framework for building text editors with the power of immutable.js and Draft.js plugins.
            { "/scrollreveal/",     emptyTuple }, // A library for easily animating elements as they enter/leave the viewport.
            { "/choreographer-js/", emptyTuple }, // A simple library to take care of complex CSS animations.
            { "/interactjs/",       emptyTuple }, // A JavaScript library for drag and drop, resizing and multi-touch gestures with inertia and snapping.
            { "/bluebird/",         emptyTuple }, // A fully featured promise library with unmatched performance.
            { "/vivus/",            emptyTuple }, // A library to make drawing animation on SVG.
            { "/snapsvg/",          emptyTuple }, // A JavaScript SVG library for the modern web, to work with SVG in a simple, compact way.
            { "/threejs/physics/",  emptyTuple }, // A library to implement physics in three.js 3D graphics.
            { "/peerjs/",           emptyTuple }, // A library that simplifies WebRTC peer-to-peer data, video, and audio calls.
            { "/wavesurfer/",       emptyTuple }, // An interactive navigable audio visualization using Web Audio and Canvas.
            { "/parsleyjs/",        emptyTuple }, // A library for validating forms without needing to write custom validation logic.
            { "/simmerjs/",         emptyTuple }, // A library to generate unique CSS selectors for a given DOM element.
            { "/pressure/",         emptyTuple }, // A JavaScript library for handling both Force Touch and 3D Touch on the web.
            { "/jsplumb/",          emptyTuple }, // Allows you to connect elements on a web page with a visual representation of "plumbing" or connections.
        };

Lastly, test the lines of each file and exclude files and folders according to the following set of rules:

  • Files with matching AutoGeneratedPhrases lines (defined in ExclusionConstants.cs)

    • These are the patterns to look for in the default configuration

      "auto generated",
      "is auto-generated",
      "auto-generated file",
      "generated from",
      "auto-generated by",
      "automatically generated",
      "was generated by ",
      "is generated by ",
      "generated automatically from",
      "has been generated automatically",
      "code is generated",
      "code is regenerated",
      "<auto-generated>",
      "do not modify this file",
      "don't modify this file",
      "do not alter this file",
      "don't alter this file",
      "do not change this file",
      "don't change this file",
      "do not edit this file",
      "do not edit manually",
      "do not edit it manually",
      "don't edit it manually",
      "don't edit manually",
      "don't edit this file"
  • Files with unit tests, with annotations matching UnitTestAnnotations lines (defined in ExclusionConstants.cs)

    • Current patterns identifying unit tests in the default configuration

      "[testclass",           // C#
      "[testmethod",          // C#                
      "@test",                // Java
      "@parameterizedtest",   // Java
      "@repeatedtest",        // Java
      "@unittest",            // Python
      "@test",                // PHP
      "import \"testing\"",   // GO
      "test(",                // node.js
      "describe(",            // node.js
      "assertequals(",
      "@before",
      "@after",
      "@istest",
      "assert_equal ",
      "use test::simple",
      "use test::more",
      "import xctest",
      "@testable",
      "import unittest",
      "import spock",
      "import org.scalatest",
      "import org.junit"
  • Files with more lines than MaxLines (6000)

  • Files with more than 10% of long lines above MaxLineLength (500)

  • Empty files, non-text files, or files with only one line

  • Different files with the same contents - only one will be included

  • Files with more than 70% of lines without indentation (comments don’t count toward this measurement) and more than 100 lines

  • Files with more than 50% of lines without inner spaces