├── .agents └── scripts │ └── setup.sh ├── .claude └── prompts │ └── changelog.md ├── .dockerignore ├── .github ├── DISCUSSION_TEMPLATE │ ├── feature-requests.yml │ └── q-a.yml ├── ISSUE_TEMPLATE │ ├── 1_bug_report.yml │ ├── 2_plugin_request.yml │ └── config.yml ├── dependabot.yml └── workflows │ ├── changelog.yml │ ├── claude.yml │ ├── cli.yml │ ├── cli_integration.yml │ ├── docker.yml │ ├── fmt.yml │ ├── metadata.yml │ ├── plugins.yml │ └── update_linter_versions.yml ├── .gitignore ├── .qlty ├── .gitignore ├── configs │ ├── .flake8 │ ├── .hadolint.yaml │ ├── .markdownlint.json │ ├── .rustfmt.toml │ ├── .yamllint.yaml │ └── package.json └── qlty.toml ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE.md ├── Makefile.toml ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── docs └── licenses │ ├── codecov-uploaders.txt │ ├── deepsource-cli.txt │ ├── deno.txt │ ├── flay.txt │ ├── git-hours.txt │ ├── hyperpolyglot.txt │ ├── influxdb_iox.txt │ ├── ripgrep.txt │ ├── rubocop.txt │ ├── ruff.txt │ ├── trunk-plugins.txt │ └── wasmer.txt ├── plugins ├── qlty-analysis ├── Cargo.toml └── src │ ├── cache.rs │ ├── code.rs │ ├── code │ ├── file.rs │ ├── filter.rs │ ├── language_detector.rs │ ├── line_index.rs │ ├── node_counter.rs │ ├── node_ext.rs │ ├── query.rs │ └── visitor.rs │ ├── git.rs │ ├── git │ ├── diff.rs │ └── upstream.rs │ ├── lang.rs │ ├── lang │ ├── csharp.rs │ ├── go.rs │ ├── java.rs │ ├── javascript.rs │ ├── kotlin.rs │ ├── php.rs │ ├── python.rs │ ├── ruby.rs │ ├── rust.rs │ ├── swift.rs │ ├── tsx.rs │ ├── typescript.rs │ └── typescript_common.rs │ ├── lib.rs │ ├── report.rs │ ├── utils.rs │ ├── utils │ └── fs.rs │ ├── walker.rs │ ├── workspace_entries.rs │ └── workspace_entries │ ├── all_source.rs │ ├── args_source.rs │ ├── diff_source.rs │ ├── matchers.rs │ ├── matchers │ ├── and_matcher.rs │ ├── any_matcher.rs │ ├── exclude_groups_matcher.rs │ ├── exclude_matcher.rs │ ├── file_matcher.rs │ ├── globs_matcher.rs │ ├── language_globs_matcher.rs │ ├── languages_shebang_matcher.rs │ ├── or_matcher.rs │ └── prefix_matcher.rs │ ├── target_mode.rs │ ├── workspace_entry.rs │ ├── workspace_entry_finder.rs │ └── workspace_entry_finder_builder.rs ├── qlty-check ├── Cargo.toml ├── src │ ├── cache.rs │ ├── command.rs │ ├── executor.rs │ ├── executor │ │ ├── driver.rs │ │ ├── invocation_result.rs │ │ ├── invocation_script.rs │ │ └── staging_area.rs │ ├── issue_muter.rs │ ├── lib.rs │ ├── llm │ │ ├── fixer.rs │ │ └── mod.rs │ ├── parser.rs │ ├── parser │ │ ├── actionlint.rs │ │ ├── ast_grep.rs │ │ ├── bandit.rs │ │ ├── biome.rs │ │ ├── clippy.rs │ │ ├── coffeelint.rs │ │ ├── eslint.rs │ │ ├── golangci_lint.rs │ │ ├── hadolint.rs │ │ ├── haml_lint.rs │ │ ├── knip.rs │ │ ├── lsp.rs │ │ ├── markdownlint.rs │ │ ├── mypy.rs │ │ ├── php_codesniffer.rs │ │ ├── phpstan.rs │ │ ├── pylint.rs │ │ ├── radarlint.rs │ │ ├── reek.rs │ │ ├── regex.rs │ │ ├── ripgrep.rs │ │ ├── rubocop.rs │ │ ├── ruff.rs │ │ ├── sarif.rs │ │ ├── shellcheck.rs │ │ ├── sqlfluff.rs │ │ ├── stylelint.rs │ │ ├── taplo.rs │ │ ├── terraform.rs │ │ ├── trivy_sarif.rs │ │ ├── trufflehog.rs │ │ └── tsc.rs │ ├── patch_builder.rs │ ├── patcher.rs │ ├── planner.rs │ ├── planner │ │ ├── check_filters.rs │ │ ├── config.rs │ │ ├── config_files.rs │ │ ├── document_url_generator.rs │ │ ├── driver.rs │ │ ├── invocation_directory.rs │ │ ├── invocation_plan.rs │ │ ├── level_filter.rs │ │ ├── plan.rs │ │ ├── plugin.rs │ │ ├── plugin_mode_transformer.rs │ │ ├── plugin_tab_column_width_transformer.rs │ │ ├── plugin_workspace_entry_finder_builder.rs │ │ ├── source_extractor.rs │ │ ├── target.rs │ │ └── target_batcher.rs │ ├── processor.rs │ ├── report.rs │ ├── results.rs │ ├── settings.rs │ ├── source_reader.rs │ ├── tool.rs │ ├── tool │ │ ├── command_builder.rs │ │ ├── download.rs │ │ ├── github.rs │ │ ├── go.rs │ │ ├── installations.rs │ │ ├── java.rs │ │ ├── node.rs │ │ ├── node │ │ │ └── package_json.rs │ │ ├── null_tool.rs │ │ ├── php.rs │ │ ├── php │ │ │ └── composer.rs │ │ ├── python.rs │ │ ├── ruby.rs │ │ ├── ruby │ │ │ ├── gemfile.rs │ │ │ ├── sys.rs │ │ │ └── sys │ │ │ │ ├── linux.rs │ │ │ │ ├── macos.rs │ │ │ │ └── windows.rs │ │ ├── ruby_source.rs │ │ ├── runnable_archive.rs │ │ ├── rust.rs │ │ └── tool_builder.rs │ ├── ui.rs │ └── utils.rs └── tests │ └── fixtures │ └── planner │ ├── patch_builder │ ├── parse.01.input.rs │ ├── parse.01.output.txt │ ├── parse.02.input.rs │ ├── parse.02.output.txt │ ├── parse.03.input.sh │ ├── parse.03.output.txt │ ├── parse.04.input.go │ ├── parse.04.output.txt │ ├── parse.05.input.sh │ └── parse.05.output.txt │ └── plugin_tab_column_width_transformer │ ├── parse.01.input.sh │ └── parse.01.output.txt ├── qlty-cli ├── Cargo.toml ├── src │ ├── allocator.rs │ ├── arguments.rs │ ├── auth │ │ ├── auth_flow.rs │ │ ├── credentials.rs │ │ └── mod.rs │ ├── commands.rs │ ├── commands │ │ ├── auth.rs │ │ ├── auth │ │ │ ├── login.rs │ │ │ ├── logout.rs │ │ │ ├── signup.rs │ │ │ └── whoami.rs │ │ ├── build.rs │ │ ├── cache.rs │ │ ├── cache │ │ │ ├── clean.rs │ │ │ ├── dir.rs │ │ │ ├── prune.rs │ │ │ └── status.rs │ │ ├── check.rs │ │ ├── completions.rs │ │ ├── config.rs │ │ ├── config │ │ │ ├── migrate.rs │ │ │ ├── show.rs │ │ │ └── validate.rs │ │ ├── coverage.rs │ │ ├── coverage │ │ │ ├── complete.rs │ │ │ ├── publish.rs │ │ │ ├── transform.rs │ │ │ └── utils.rs │ │ ├── dashboard.rs │ │ ├── deinit.rs │ │ ├── discord.rs │ │ ├── docs.rs │ │ ├── fmt.rs │ │ ├── githooks.rs │ │ ├── githooks │ │ │ ├── install.rs │ │ │ ├── pre_commit.sh │ │ │ ├── pre_push.sh │ │ │ └── uninstall.rs │ │ ├── init.rs │ │ ├── install.rs │ │ ├── metrics.rs │ │ ├── panic.rs │ │ ├── parse.rs │ │ ├── patch.rs │ │ ├── plugins.rs │ │ ├── plugins │ │ │ ├── disable.rs │ │ │ ├── enable.rs │ │ │ ├── list.rs │ │ │ └── upgrade.rs │ │ ├── smells.rs │ │ ├── telemetry.rs │ │ ├── upgrade.rs │ │ ├── validate.rs │ │ └── version.rs │ ├── errors.rs │ ├── exe_name.rs │ ├── export │ │ ├── analysis.rs │ │ └── mod.rs │ ├── format │ │ ├── mod.rs │ │ ├── sarif.rs │ │ └── snapshots │ │ │ └── qlty__format__sarif__test__sarif_formatter.snap │ ├── initializer.rs │ ├── initializer │ │ ├── activator.rs │ │ ├── initializer.rs │ │ ├── renderer.rs │ │ ├── scanner.rs │ │ ├── scanner │ │ │ ├── driver_candidate.rs │ │ │ ├── driver_initializer.rs │ │ │ ├── gemfile.rs │ │ │ ├── package_file.rs │ │ │ └── package_json.rs │ │ ├── settings.rs │ │ ├── sources.rs │ │ └── templates │ │ │ ├── gitignore.txt │ │ │ ├── qlty.toml │ │ │ ├── source_default.toml │ │ │ ├── source_directory.toml │ │ │ └── source_git.toml │ ├── lib.rs │ ├── logging.rs │ ├── main.rs │ ├── shell.rs │ ├── shell │ │ ├── bash.rs │ │ ├── fish.rs │ │ └── zsh.rs │ ├── success.rs │ ├── telemetry.rs │ ├── telemetry │ │ ├── analytics.rs │ │ ├── git.rs │ │ ├── locale.rs │ │ └── sanitize.rs │ ├── ui.rs │ ├── ui │ │ ├── errors.rs │ │ ├── fixes.rs │ │ ├── highlight.rs │ │ ├── invocations.rs │ │ ├── issues.rs │ │ ├── level.rs │ │ ├── messages.rs │ │ ├── source.rs │ │ ├── steps.rs │ │ ├── text.rs │ │ └── unformatted.rs │ └── upgrade.rs └── tests │ ├── cmd.rs │ ├── cmd │ ├── build │ │ ├── upstream.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical_a.rb │ │ │ └── identical_b.rb │ │ ├── upstream.stderr │ │ ├── upstream.stdout │ │ └── upstream.toml │ ├── check │ │ ├── batch_by_config.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config.shared.json │ │ │ ├── sample.sh │ │ │ └── sub │ │ │ │ ├── config.different.json │ │ │ │ └── sample_2.sh │ │ ├── batch_by_config.stderr │ │ ├── batch_by_config.toml │ │ ├── batch_by_invocation_directory.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config.json │ │ │ ├── sample.sh │ │ │ └── sub │ │ │ │ ├── config_nested.json │ │ │ │ └── nested.js │ │ ├── batch_by_invocation_directory.stderr │ │ ├── batch_by_invocation_directory.toml │ │ ├── config_matcher.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config.shared.json │ │ │ └── sample.sh │ │ ├── config_matcher.stderr │ │ ├── config_matcher.toml │ │ ├── diff_tests │ │ │ ├── diff_mode.in │ │ │ │ ├── .gitignore │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ ├── diff │ │ │ │ │ └── test_sample.sh │ │ │ │ └── main_sample.sh │ │ │ ├── diff_mode.stderr │ │ │ ├── diff_mode.stdout │ │ │ ├── diff_mode.toml │ │ │ ├── prefix_diff_mode.in │ │ │ │ ├── .gitignore │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ ├── diff │ │ │ │ │ ├── prefix │ │ │ │ │ │ └── prefix_sample.sh │ │ │ │ │ └── test_sample.sh │ │ │ │ └── main_sample.sh │ │ │ ├── prefix_diff_mode.stderr │ │ │ ├── prefix_diff_mode.stdout │ │ │ └── prefix_diff_mode.toml │ │ ├── driver_script_config_file_interpolation.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config_file.json │ │ │ └── sample.sh │ │ ├── driver_script_config_file_interpolation.stderr │ │ ├── driver_script_config_file_interpolation.toml │ │ ├── exclude.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── ignore.sh │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── exclude.stderr │ │ ├── exclude.stdout │ │ ├── exclude.toml │ │ ├── exclude_patterns.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── deep │ │ │ │ └── folder │ │ │ │ │ └── also_ignored.sh │ │ │ ├── folder │ │ │ │ └── also_ignored.sh │ │ │ ├── ignore.sh │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── exclude_patterns.stderr │ │ ├── exclude_patterns.stdout │ │ ├── exclude_patterns.toml │ │ ├── exists.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── exists.stderr │ │ ├── exists.toml │ │ ├── exported_config_files.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config-exporter │ │ │ │ ├── config.yml │ │ │ │ ├── results.txt │ │ │ │ ├── source.toml │ │ │ │ └── subdir │ │ │ │ │ └── config.alternate.yml │ │ │ ├── results.txt │ │ │ └── sample.sh │ │ ├── exported_config_files.stderr │ │ ├── exported_config_files.stdout │ │ ├── exported_config_files.toml │ │ ├── formatter_batch_by_config.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── config.shared.json │ │ │ └── sample.sh │ │ ├── formatter_batch_by_config.stderr │ │ ├── formatter_batch_by_config.toml │ │ ├── ignore.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── ignore.sh │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── ignore.stderr │ │ ├── ignore.stdout │ │ ├── ignore.toml │ │ ├── ignore_config_files.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── vendor │ │ │ │ └── config_file.json │ │ ├── ignore_config_files.stderr │ │ ├── ignore_config_files.toml │ │ ├── missing_output_as_error.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── missing_output_as_error.stderr │ │ ├── missing_output_as_error.stdout │ │ ├── missing_output_as_error.toml │ │ ├── multiple_drivers.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── basic.js │ │ ├── multiple_drivers.stderr │ │ ├── multiple_drivers.stdout │ │ ├── multiple_drivers.toml │ │ ├── negated_exclude_patterns.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── ignores │ │ │ │ ├── dont_ignore │ │ │ │ │ ├── dont_ignore.sh │ │ │ │ │ └── ignore_this_one.sh │ │ │ │ └── ignore.sh │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── negated_exclude_patterns.stderr │ │ ├── negated_exclude_patterns.stdout │ │ ├── negated_exclude_patterns.toml │ │ ├── negated_ignore.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── ignores │ │ │ │ ├── dont_ignore │ │ │ │ │ ├── back_to_ignore │ │ │ │ │ │ ├── back_to_dont_ignore │ │ │ │ │ │ │ └── also_dont_ignore.sh │ │ │ │ │ │ └── ignore_this_one.sh │ │ │ │ │ └── dont_ignore.sh │ │ │ │ └── ignore.sh │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── negated_ignore.stderr │ │ ├── negated_ignore.stdout │ │ ├── negated_ignore.toml │ │ ├── override.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── override.stderr │ │ ├── override.stdout │ │ ├── override.toml │ │ ├── pass_fail.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── basic.js │ │ ├── pass_fail.stderr │ │ ├── pass_fail.stdout │ │ ├── pass_fail.toml │ │ ├── plugin_mode.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── plugin_mode.stderr │ │ ├── plugin_mode.stdout │ │ ├── plugin_mode.toml │ │ ├── plugins │ │ │ ├── linters │ │ │ │ └── simple │ │ │ │ │ └── plugin.toml │ │ │ └── source.toml │ │ ├── prefix.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ ├── sub │ │ │ │ ├── nested │ │ │ │ │ └── sample_3.sh │ │ │ │ └── sample_2.sh │ │ │ └── sub2 │ │ │ │ └── sample_3.sh │ │ ├── prefix.stderr │ │ ├── prefix.stdout │ │ ├── prefix.toml │ │ ├── prefix_formatter.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ ├── sub │ │ │ │ └── sample_2.sh │ │ │ └── sub2 │ │ │ │ └── sample_3.sh │ │ ├── prefix_formatter.stderr │ │ ├── prefix_formatter.stdout │ │ ├── prefix_formatter.toml │ │ ├── prefixed_formatter_batch_by_config.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sub │ │ │ │ ├── config.shared.json │ │ │ │ ├── nested │ │ │ │ │ └── deep.sh │ │ │ │ └── sample.sh │ │ │ └── sub2 │ │ │ │ └── not_target.sh │ │ ├── prefixed_formatter_batch_by_config.stderr │ │ ├── prefixed_formatter_batch_by_config.toml │ │ ├── prepare_script_fail.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── prepare_script_fail.stderr │ │ ├── prepare_script_fail.toml │ │ ├── regex_category_level.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── regex_category_level.stderr │ │ ├── regex_category_level.stdout │ │ ├── regex_category_level.toml │ │ ├── root_or_parent_with_config.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── nested_folder │ │ │ │ ├── config_file.json │ │ │ │ └── deep_nested │ │ │ │ │ └── target.json │ │ │ └── sample.sh │ │ ├── root_or_parent_with_config.stderr │ │ ├── root_or_parent_with_config.stdout │ │ ├── root_or_parent_with_config.toml │ │ ├── root_source.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── root_source.stderr │ │ ├── root_source.stdout │ │ ├── root_source.toml │ │ ├── runs_from.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── nested_folder │ │ │ │ ├── Cargo.lock │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ ├── high.rs │ │ │ │ └── main.rs │ │ ├── runs_from.stderr │ │ ├── runs_from.toml │ │ ├── runs_from_root_or_parent_with.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── nested_folder │ │ │ │ ├── sample.sh │ │ │ │ └── test_file.json │ │ │ └── root.json │ │ ├── runs_from_root_or_parent_with.stderr │ │ ├── runs_from_root_or_parent_with.stdout │ │ ├── runs_from_root_or_parent_with.toml │ │ ├── skip_errored_plugins.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── basic.js │ │ ├── skip_errored_plugins.stderr │ │ ├── skip_errored_plugins.stdout │ │ ├── skip_errored_plugins.toml │ │ ├── skip_errored_plugins_installation.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── basic.js │ │ ├── skip_errored_plugins_installation.stderr │ │ ├── skip_errored_plugins_installation.stdout │ │ ├── skip_errored_plugins_installation.toml │ │ ├── skip_errored_plugins_reports_other_failures.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── basic.js │ │ ├── skip_errored_plugins_reports_other_failures.stderr │ │ ├── skip_errored_plugins_reports_other_failures.stdout │ │ ├── skip_errored_plugins_reports_other_failures.toml │ │ ├── subdir_from_subdir.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── subdir1 │ │ │ │ └── subdir2 │ │ │ │ └── sample.sh │ │ ├── subdir_from_subdir.stdout │ │ ├── subdir_from_subdir.toml │ │ ├── target.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── Cargo.lock │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ │ ├── high.rs │ │ │ │ └── main.rs │ │ ├── target.stderr │ │ ├── target.toml │ │ ├── timeout.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.sh │ │ ├── timeout.stderr │ │ ├── timeout.stdout │ │ ├── timeout.toml │ │ ├── triage.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── triage.stderr │ │ ├── triage.stdout │ │ ├── triage.toml │ │ ├── triage_match_level.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── triage_match_level.stderr │ │ ├── triage_match_level.stdout │ │ ├── triage_match_level.toml │ │ ├── triggers.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.sh │ │ │ └── sample2.sh │ │ ├── triggers.stderr │ │ ├── triggers.stdout │ │ ├── triggers.toml │ │ ├── using_deprecated_default_source.in │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ ├── using_deprecated_default_source.stderr │ │ ├── using_deprecated_default_source.stdout │ │ └── using_deprecated_default_source.toml │ ├── config │ │ └── migrate │ │ │ ├── checks.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── checks.stderr │ │ │ ├── checks.stdout │ │ │ ├── checks.toml │ │ │ ├── exclude_patterns.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── exclude_patterns.stderr │ │ │ ├── exclude_patterns.stdout │ │ │ ├── exclude_patterns.toml │ │ │ ├── match_multiple.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── match_multiple.stderr │ │ │ ├── match_multiple.stdout │ │ │ ├── match_multiple.toml │ │ │ ├── match_path.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── match_path.stderr │ │ │ ├── match_path.stdout │ │ │ ├── match_path.toml │ │ │ ├── match_path_plugin_name.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── match_path_plugin_name.stderr │ │ │ ├── match_path_plugin_name.stdout │ │ │ ├── match_path_plugin_name.toml │ │ │ ├── match_url_filename.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── match_url_filename.stderr │ │ │ ├── match_url_filename.stdout │ │ │ ├── match_url_filename.toml │ │ │ ├── match_url_plugin_name.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── match_url_plugin_name.stderr │ │ │ ├── match_url_plugin_name.stdout │ │ │ ├── match_url_plugin_name.toml │ │ │ ├── missing_codeclimate_yml.in │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── missing_codeclimate_yml.stderr │ │ │ ├── missing_codeclimate_yml.stdout │ │ │ ├── missing_codeclimate_yml.toml │ │ │ ├── missing_codeclimate_yml_fetch.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── missing_codeclimate_yml_fetch.stderr │ │ │ ├── missing_codeclimate_yml_fetch.stdout │ │ │ ├── missing_codeclimate_yml_fetch.toml │ │ │ ├── missing_qlty_toml.in │ │ │ ├── .codeclimate.yml │ │ │ └── .gitignore │ │ │ ├── missing_qlty_toml.stderr │ │ │ ├── missing_qlty_toml.stdout │ │ │ ├── missing_qlty_toml.toml │ │ │ ├── no_match.in │ │ │ ├── .codeclimate.yml │ │ │ ├── .gitignore │ │ │ └── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── no_match.stderr │ │ │ ├── no_match.stdout │ │ │ └── no_match.toml │ ├── coverage │ │ ├── basic.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ └── lcov.info │ │ ├── basic.stderr │ │ ├── basic.stdout │ │ ├── basic.toml │ │ ├── files_exist.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── lcov.info │ │ │ └── src │ │ │ │ └── formatter.js │ │ ├── files_exist.stderr │ │ ├── files_exist.stdout │ │ ├── files_exist.toml │ │ ├── ignore_patterns.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ └── lcov.info │ │ ├── ignore_patterns.stderr │ │ ├── ignore_patterns.stdout │ │ ├── ignore_patterns.toml │ │ ├── json.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ └── lcov.info │ │ ├── json.stderr │ │ ├── json.stdout │ │ ├── json.toml │ │ ├── overrides.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ └── lcov.info │ │ ├── overrides.stderr │ │ ├── overrides.stdout │ │ ├── overrides.toml │ │ ├── publish_validate.in │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── formatter.js │ │ │ └── lcov.info │ │ ├── publish_validate.stderr │ │ ├── publish_validate.stdout │ │ └── publish_validate.toml │ ├── fmt │ │ ├── config_copying.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── deep │ │ │ │ └── nested │ │ │ │ │ └── config.json │ │ │ └── sample.sh │ │ ├── config_copying.stderr │ │ ├── config_copying.stdout │ │ └── config_copying.toml │ ├── help │ │ ├── help.stderr │ │ └── help.toml │ ├── init │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ └── sample.sh │ │ ├── basic.stdout │ │ ├── basic.toml │ │ ├── config_based_multiple_versions.in │ │ │ ├── .gitignore │ │ │ ├── new_config.json │ │ │ ├── old_config.json │ │ │ └── sample.sh │ │ ├── config_based_multiple_versions.stdout │ │ ├── config_based_multiple_versions.toml │ │ ├── config_based_version_new.in │ │ │ ├── .gitignore │ │ │ ├── new_config.json │ │ │ └── sample.sh │ │ ├── config_based_version_new.stdout │ │ ├── config_based_version_new.toml │ │ ├── config_based_version_old.in │ │ │ ├── .gitignore │ │ │ ├── old_config.json │ │ │ └── sample.sh │ │ ├── config_based_version_old.stdout │ │ ├── config_based_version_old.toml │ │ ├── custom_source.in │ │ │ ├── .gitignore │ │ │ └── sample.sh │ │ ├── custom_source.stdout │ │ ├── custom_source.toml │ │ ├── package_file.in │ │ │ ├── .gitignore │ │ │ ├── package.json │ │ │ └── sample.js │ │ ├── package_file.stdout │ │ ├── package_file.toml │ │ ├── package_file_gemfile.in │ │ │ ├── .gitignore │ │ │ ├── Gemfile │ │ │ └── sample.rb │ │ ├── package_file_gemfile.stdout │ │ ├── package_file_gemfile.toml │ │ ├── package_file_gemfile_lock.in │ │ │ ├── .gitignore │ │ │ ├── Gemfile │ │ │ ├── Gemfile.lock │ │ │ └── sample.rb │ │ ├── package_file_gemfile_lock.stdout │ │ ├── package_file_gemfile_lock.toml │ │ ├── package_file_gemfile_with_gemspec.in │ │ │ ├── .gitignore │ │ │ ├── Gemfile │ │ │ ├── random.gemspec │ │ │ └── sample.rb │ │ ├── package_file_gemfile_with_gemspec.stdout │ │ ├── package_file_gemfile_with_gemspec.toml │ │ ├── package_file_package_json.in │ │ │ ├── .gitignore │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ └── sample.js │ │ ├── package_file_package_json.stdout │ │ ├── package_file_package_json.toml │ │ ├── package_file_yarn_lock.in │ │ │ ├── .gitignore │ │ │ ├── package.json │ │ │ ├── sample.js │ │ │ └── yarn.lock │ │ ├── package_file_yarn_lock.stdout │ │ ├── package_file_yarn_lock.toml │ │ ├── plugins │ │ │ └── linters │ │ │ │ ├── multi-driver │ │ │ │ └── plugin.toml │ │ │ │ ├── multiple-package-filter-candidates │ │ │ │ └── plugin.toml │ │ │ │ ├── package-file-gemfile │ │ │ │ └── plugin.toml │ │ │ │ ├── package-file-no-dep │ │ │ │ └── plugin.toml │ │ │ │ ├── package-file-plugin │ │ │ │ └── plugin.toml │ │ │ │ ├── partial-drivers-suggested │ │ │ │ └── plugin.toml │ │ │ │ ├── single-driver │ │ │ │ └── plugin.toml │ │ │ │ └── versioned-config │ │ │ │ └── plugin.toml │ │ ├── prefix.in │ │ │ ├── .gitignore │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── sample.js │ │ │ ├── sub │ │ │ │ ├── package-lock.json │ │ │ │ ├── package.json │ │ │ │ └── sample_2.js │ │ │ └── sub2 │ │ │ │ ├── package-lock.json │ │ │ │ ├── package.json │ │ │ │ └── sample_3.js │ │ ├── prefix.stdout │ │ ├── prefix.toml │ │ ├── skip_default_source.in │ │ │ ├── .gitignore │ │ │ └── sample.sh │ │ ├── skip_default_source.stdout │ │ ├── skip_default_source.toml │ │ ├── source.in │ │ │ ├── .gitignore │ │ │ └── sample.sh │ │ ├── source.stdout │ │ └── source.toml │ ├── metrics │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── example.py │ │ ├── basic.stderr │ │ ├── basic.stdout │ │ ├── basic.toml │ │ ├── depth.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── app │ │ │ │ ├── initialize.py │ │ │ │ └── models │ │ │ │ │ └── car.py │ │ │ └── example.py │ │ ├── depth.stderr │ │ ├── depth.stdout │ │ ├── depth.toml │ │ ├── depth_advanced.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── app │ │ │ │ ├── initialize.py │ │ │ │ └── models │ │ │ │ │ └── car.py │ │ │ └── example.py │ │ ├── depth_advanced.stderr │ │ ├── depth_advanced.stdout │ │ ├── depth_advanced.toml │ │ ├── json.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── example.py │ │ ├── json.stderr │ │ ├── json.stdout │ │ ├── json.toml │ │ ├── paths.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── app │ │ │ │ └── initialize.py │ │ │ └── example.py │ │ ├── paths.stderr │ │ ├── paths.stdout │ │ ├── paths.toml │ │ ├── paths_with_depth.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── app │ │ │ │ ├── controllers │ │ │ │ │ └── cars_controller.py │ │ │ │ ├── initialize.py │ │ │ │ └── models │ │ │ │ │ └── car.py │ │ │ └── example.py │ │ ├── paths_with_depth.stderr │ │ ├── paths_with_depth.stdout │ │ └── paths_with_depth.toml │ ├── network │ │ ├── check │ │ │ ├── basic.in │ │ │ │ ├── .gitignore │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ └── basic.py │ │ │ ├── basic.stderr │ │ │ ├── basic.stdout │ │ │ ├── basic.toml │ │ │ ├── prefix.in │ │ │ │ ├── .gitignore │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ ├── also_nested │ │ │ │ │ └── needs_formatting.js │ │ │ │ └── nested │ │ │ │ │ └── needs_formatting.js │ │ │ ├── prefix.stderr │ │ │ ├── prefix.stdout │ │ │ ├── prefix.toml │ │ │ ├── source.in │ │ │ │ ├── .gitignore │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ └── basic.py │ │ │ ├── source.stderr │ │ │ ├── source.stdout │ │ │ └── source.toml │ │ └── fmt │ │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.py │ │ │ ├── basic.stdout │ │ │ ├── basic.toml │ │ │ ├── inline.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── sample.py │ │ │ ├── inline.stdout │ │ │ ├── inline.toml │ │ │ ├── plugin_ignore.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── sample.js │ │ │ └── sample.md │ │ │ ├── plugin_ignore.stdout │ │ │ ├── plugin_ignore.toml │ │ │ ├── prefix.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── also_nested │ │ │ │ └── needs_formatting.js │ │ │ └── nested │ │ │ │ └── needs_formatting.js │ │ │ ├── prefix.stdout │ │ │ └── prefix.toml │ ├── smells │ │ ├── disable_identical.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical_a.rb │ │ │ ├── identical_b.rb │ │ │ ├── similar_a.rs │ │ │ └── similar_b.rs │ │ ├── disable_identical.stderr │ │ ├── disable_identical.stdout │ │ ├── disable_identical.toml │ │ ├── disable_similar.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical_a.rb │ │ │ ├── identical_b.rb │ │ │ ├── similar_a.rs │ │ │ └── similar_b.rs │ │ ├── disable_similar.stderr │ │ ├── disable_similar.stdout │ │ ├── disable_similar.toml │ │ ├── disable_similar_identical.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical_a.rb │ │ │ ├── identical_b.rb │ │ │ ├── similar_a.rs │ │ │ └── similar_b.rs │ │ ├── disable_similar_identical.stderr │ │ ├── disable_similar_identical.stdout │ │ ├── disable_similar_identical.toml │ │ ├── duplication.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical.rb │ │ │ ├── identical.rs │ │ │ ├── identical.ts │ │ │ ├── similar.rb │ │ │ ├── similar.rs │ │ │ └── similar.ts │ │ ├── duplication.stderr │ │ ├── duplication.stdout │ │ ├── duplication.toml │ │ ├── duplication_paths.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── app │ │ │ │ ├── controllers │ │ │ │ └── controller.rb │ │ │ │ └── models │ │ │ │ └── model.rb │ │ ├── duplication_paths.stderr │ │ ├── duplication_paths.stdout │ │ ├── duplication_paths.toml │ │ ├── ignore_duplication_patterns.in │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── AnotherIdentical.java │ │ │ ├── AnotherIdentical2.java │ │ │ ├── Identical.cs │ │ │ └── Identical2.cs │ │ ├── ignore_duplication_patterns.stdout │ │ ├── ignore_duplication_patterns.toml │ │ ├── paths.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── app │ │ │ │ └── init.js │ │ │ └── returns.js │ │ ├── paths.stderr │ │ ├── paths.stdout │ │ ├── paths.toml │ │ ├── structure.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ └── returns.js │ │ ├── structure.stderr │ │ ├── structure.stdout │ │ ├── structure.toml │ │ ├── upstream.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── identical.rb │ │ │ ├── identical.rs │ │ │ ├── identical.ts │ │ │ ├── similar.rb │ │ │ ├── similar.rs │ │ │ └── similar.ts │ │ ├── upstream.stderr │ │ ├── upstream.stdout │ │ └── upstream.toml │ └── version │ │ ├── version.stdout │ │ └── version.toml │ ├── fixtures │ └── samples │ │ ├── sample.js │ │ ├── sample.py │ │ ├── sample.rb │ │ └── sample.rs │ ├── helpers.rs │ ├── lang.rs │ ├── lang │ ├── csharp │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── BooleanLogic.cs │ │ │ ├── FileComplexity.cs │ │ │ ├── FunctionComplexity.cs │ │ │ ├── Identical.cs │ │ │ ├── Lines.cs │ │ │ ├── NestedControl.cs │ │ │ ├── Parameters.cs │ │ │ ├── Returns.cs │ │ │ ├── cognitive │ │ │ │ ├── CountConditionalAssignment.cs │ │ │ │ ├── CountFunctionWithTernary.cs │ │ │ │ ├── CountNonSequentialLogicalOperators.cs │ │ │ │ ├── CountRecursion.cs │ │ │ │ └── MultipleConditionals.cs │ │ │ ├── cyclomatic │ │ │ │ ├── CycloBasic.cs │ │ │ │ ├── CycloIf.cs │ │ │ │ ├── CycloIfElse.cs │ │ │ │ ├── CycloIfElseIf.cs │ │ │ │ ├── CycloIfElseIfElse.cs │ │ │ │ ├── EmptyFunction.cs │ │ │ │ ├── EmptyIf.cs │ │ │ │ ├── IfWithBool.cs │ │ │ │ ├── IterativeForOf.cs │ │ │ │ ├── IterativeMap.cs │ │ │ │ ├── IterativeMethodsWithFilterAndInclude.cs │ │ │ │ └── WhileLoop.cs │ │ │ ├── fields │ │ │ │ ├── ClassDeclaration.cs │ │ │ │ ├── GetterSetterDeclaration.cs │ │ │ │ ├── Multiple.cs │ │ │ │ ├── Other.cs │ │ │ │ ├── PrivateFieldDeclaration.cs │ │ │ │ ├── PublicFieldDeclaration.cs │ │ │ │ ├── Read.cs │ │ │ │ ├── StaticFieldDeclaration.cs │ │ │ │ ├── Unique.cs │ │ │ │ └── Write.cs │ │ │ ├── functions │ │ │ │ ├── MethodsWithParams.cs │ │ │ │ ├── MethodsWithoutParams.cs │ │ │ │ ├── SingletonMethodsWithParams.cs │ │ │ │ └── SingletonMethodsWithoutParams.cs │ │ │ └── lcom │ │ │ │ ├── lcom_0.cs │ │ │ │ ├── lcom_1-1.cs │ │ │ │ ├── lcom_1.cs │ │ │ │ └── lcom_2.cs │ │ ├── basic.stdout │ │ └── basic.toml │ ├── go │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.go │ │ │ ├── cognitive │ │ │ │ ├── count_else.go │ │ │ │ ├── count_for.go │ │ │ │ ├── count_function_recursion.go │ │ │ │ ├── count_goto.go │ │ │ │ ├── count_if.go │ │ │ │ ├── count_labeled_break.go │ │ │ │ ├── count_nested_closures.go │ │ │ │ ├── count_nested_if.go │ │ │ │ ├── count_select.go │ │ │ │ ├── count_switch.go │ │ │ │ ├── count_type_switch.go │ │ │ │ └── dont_count_unlabeled_break.go │ │ │ ├── cyclomatic │ │ │ │ ├── cyclo_basic.go │ │ │ │ ├── cyclo_for_loop.go │ │ │ │ ├── cyclo_for_loop_nested.go │ │ │ │ ├── cyclo_for_range.go │ │ │ │ ├── cyclo_if.go │ │ │ │ ├── cyclo_if_else.go │ │ │ │ ├── cyclo_if_elsif.go │ │ │ │ └── cyclo_if_elsif_else.go │ │ │ ├── fields │ │ │ │ ├── class_declaration.go │ │ │ │ └── struct_declaration.go │ │ │ ├── file_complexity.go │ │ │ ├── function_complexity.go │ │ │ ├── functions │ │ │ │ ├── methods_with_parameters.go │ │ │ │ └── methods_without_parameters.go │ │ │ ├── identical.go │ │ │ ├── lcom │ │ │ │ └── lcom_0.go │ │ │ ├── lines.go │ │ │ ├── nested_control.go │ │ │ ├── parameters.go │ │ │ └── returns.go │ │ ├── basic.stdout │ │ └── basic.toml │ ├── java │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── BooleanLogic.java │ │ │ ├── FileComplexity.java │ │ │ ├── FunctionComplexity.java │ │ │ ├── Identical.java │ │ │ ├── Lines.java │ │ │ ├── NestedControl.java │ │ │ ├── Parameters.java │ │ │ ├── Returns.java │ │ │ ├── cognitive │ │ │ │ ├── CountConditionalAssignment.java │ │ │ │ ├── CountFunctionWithTernary.java │ │ │ │ ├── CountNonSequentialLogicalOperators.java │ │ │ │ ├── CountRecursion.java │ │ │ │ └── MultipleConditionals.java │ │ │ ├── cyclomatic │ │ │ │ ├── CycloBasic.java │ │ │ │ ├── CycloIf.java │ │ │ │ ├── CycloIfElse.java │ │ │ │ ├── CycloIfElseIf.java │ │ │ │ ├── CycloIfElseIfElse.java │ │ │ │ ├── EmptyFunction.java │ │ │ │ ├── EmptyIf.java │ │ │ │ ├── IfWithBool.java │ │ │ │ ├── IterativeForOf.java │ │ │ │ ├── IterativeMap.java │ │ │ │ ├── IterativeMethodsWithFilterAndInclude.java │ │ │ │ └── WhileLoop.java │ │ │ ├── fields │ │ │ │ ├── ClassDeclaration.java │ │ │ │ ├── GetterSetterDeclaration.java │ │ │ │ ├── Multiple.java │ │ │ │ ├── Other.java │ │ │ │ ├── PrivateFieldDeclaration.java │ │ │ │ ├── PublicFieldDeclaration.java │ │ │ │ ├── Read.java │ │ │ │ ├── StaticFieldDeclaration.java │ │ │ │ ├── Unique.java │ │ │ │ └── Write.java │ │ │ ├── functions │ │ │ │ ├── MethodsWithOutParams.java │ │ │ │ ├── MethodsWithParams.java │ │ │ │ ├── SingleTonMethodWithoutParams.java │ │ │ │ └── SingletonMethodsWithParams.java │ │ │ └── lcom │ │ │ │ ├── lcom_0.java │ │ │ │ ├── lcom_1-1.java │ │ │ │ ├── lcom_1.java │ │ │ │ └── lcom_2.java │ │ ├── basic.stdout │ │ └── basic.toml │ ├── javascript │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.js │ │ │ ├── cognitive │ │ │ │ ├── count_conditional_assignment.js │ │ │ │ ├── count_function_with_ternary.js │ │ │ │ ├── count_non_sequential_logical_operators.js │ │ │ │ ├── count_recursion.js │ │ │ │ └── multiple_conditionals.js │ │ │ ├── cyclomatic │ │ │ │ ├── cyclo_basic.js │ │ │ │ ├── cyclo_if.js │ │ │ │ ├── cyclo_if_else.js │ │ │ │ ├── cyclo_if_else_if.js │ │ │ │ ├── cyclo_if_else_if_else.js │ │ │ │ ├── empty_function.js │ │ │ │ ├── empty_if.js │ │ │ │ ├── if_with_bool.js │ │ │ │ ├── iterative_for_of.js │ │ │ │ ├── iterative_map.js │ │ │ │ ├── iterative_methods_with_filter_and_include.js │ │ │ │ └── while_loop.js │ │ │ ├── fields │ │ │ │ ├── class_declaration.js │ │ │ │ ├── getter_setter_declaration.js │ │ │ │ ├── ignore_collaborators.js │ │ │ │ ├── multiple.js │ │ │ │ ├── private_field_declaration.js │ │ │ │ ├── public_field_declaration.js │ │ │ │ ├── read.js │ │ │ │ ├── static_field_declaration.js │ │ │ │ ├── unique.js │ │ │ │ └── write.js │ │ │ ├── file_complexity.js │ │ │ ├── function_complexity.js │ │ │ ├── functions │ │ │ │ ├── function_with_onclick_in_jsx.js │ │ │ │ ├── methods_with_parameters.js │ │ │ │ ├── methods_without_parameters.js │ │ │ │ ├── singleton_methods_with_parameters.js │ │ │ │ └── singleton_methods_without_parameters.js │ │ │ ├── identical.js │ │ │ ├── lcom │ │ │ │ ├── lcom_0.js │ │ │ │ ├── lcom_1-1.js │ │ │ │ ├── lcom_1.js │ │ │ │ └── lcom_2.js │ │ │ ├── lines.js │ │ │ ├── nested_control.js │ │ │ ├── parameters.js │ │ │ └── returns.js │ │ ├── basic.stdout │ │ └── basic.toml │ ├── kotlin │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.kt │ │ │ ├── class_this_navigations.kt │ │ │ ├── cognitive.kt │ │ │ ├── cyclomatic.kt │ │ │ ├── fields.kt │ │ │ ├── file_complexity.kt │ │ │ ├── function_complexity.kt │ │ │ ├── identical.kt │ │ │ ├── lcom_0.kt │ │ │ ├── lcom_1-1.kt │ │ │ ├── lcom_1.kt │ │ │ ├── lcom_2.kt │ │ │ ├── lines.kt │ │ │ ├── nested_control.kt │ │ │ ├── parameters.kt │ │ │ └── returns.kt │ │ ├── basic.stdout │ │ └── basic.toml │ ├── php │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.php │ │ │ ├── cognitive │ │ │ │ ├── count_conditional_assignment.php │ │ │ │ ├── count_function_with_ternary.php │ │ │ │ ├── count_non_sequential_logical_operators.php │ │ │ │ ├── count_recursion.php │ │ │ │ └── multiple_conditionals.php │ │ │ ├── cyclomatic │ │ │ │ ├── cyclo_basic.php │ │ │ │ ├── cyclo_if.php │ │ │ │ ├── cyclo_if_else.php │ │ │ │ ├── cyclo_if_else_if.php │ │ │ │ ├── cyclo_if_else_if_else.php │ │ │ │ ├── empty_function.php │ │ │ │ ├── empty_if.php │ │ │ │ ├── if_with_bool.php │ │ │ │ ├── iterative_for_of.php │ │ │ │ ├── iterative_map.php │ │ │ │ ├── iterative_methods_with_filter_and_include.php │ │ │ │ └── while_loop.php │ │ │ ├── fields │ │ │ │ ├── class_declaration.php │ │ │ │ ├── getter_setter_declaration.php │ │ │ │ ├── ignore_collaborators.php │ │ │ │ ├── multiple.php │ │ │ │ ├── private_field_declaration.php │ │ │ │ ├── public_field_declaration.php │ │ │ │ ├── read.php │ │ │ │ ├── static_field_declaration.php │ │ │ │ ├── unique.php │ │ │ │ └── write.php │ │ │ ├── file_complexity.php │ │ │ ├── function_complexity.php │ │ │ ├── functions │ │ │ │ ├── methods_with_parameters.php │ │ │ │ ├── methods_without_parameters.php │ │ │ │ ├── singleton_methods_with_parameters.php │ │ │ │ └── singleton_methods_without_parameters.php │ │ │ ├── identical.php │ │ │ ├── lcom │ │ │ │ ├── lcom_0.php │ │ │ │ ├── lcom_1-1.php │ │ │ │ ├── lcom_1.php │ │ │ │ └── lcom_2.php │ │ │ ├── lines.php │ │ │ ├── nested_control.php │ │ │ ├── parameters.php │ │ │ └── returns.php │ │ ├── basic.stdout │ │ └── basic.toml │ ├── python │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.py │ │ │ ├── cognitive │ │ │ │ ├── count_boolean.py │ │ │ │ ├── count_catch_rescue_statements.py │ │ │ │ ├── count_complex_function.py │ │ │ │ ├── count_complex_logical_operator_sequence.py │ │ │ │ ├── count_conditional_assignment.py │ │ │ │ ├── count_decorator.py │ │ │ │ ├── count_decorator_generator.py │ │ │ │ ├── count_function_with_ternary.py │ │ │ │ ├── count_if.py │ │ │ │ ├── count_if_elif_else.py │ │ │ │ ├── count_if_else.py │ │ │ │ ├── count_if_elsif.py │ │ │ │ ├── count_jumps.py │ │ │ │ ├── count_lambdas.py │ │ │ │ ├── count_more_complex_function_with_nested_logic.py │ │ │ │ ├── count_multiple_if_statements.py │ │ │ │ ├── count_nested_if_else.py │ │ │ │ ├── count_nesting_elif.py │ │ │ │ ├── count_nesting_else.py │ │ │ │ ├── count_nesting_except.py │ │ │ │ ├── count_nesting_if.py │ │ │ │ ├── count_nesting_loops.py │ │ │ │ ├── count_no_logic.py │ │ │ │ ├── count_non_sequential_logical_operators.py │ │ │ │ ├── count_not_decorator.py │ │ │ │ ├── count_recursion.py │ │ │ │ └── count_ternary.py │ │ │ ├── cyclomatic │ │ │ │ ├── count_binary.py │ │ │ │ ├── count_if.py │ │ │ │ ├── count_loop.py │ │ │ │ ├── count_no_logic.py │ │ │ │ ├── cyclo_if_elif.py │ │ │ │ ├── cyclo_if_elif_else.py │ │ │ │ ├── cyclo_if_else.py │ │ │ │ ├── iterative_for_in.py │ │ │ │ ├── iterative_map.py │ │ │ │ └── iterative_methods_with_filter.py │ │ │ ├── fields │ │ │ │ ├── class_declaration.py │ │ │ │ ├── ignore_collaborators.py │ │ │ │ ├── multiple.py │ │ │ │ ├── read.py │ │ │ │ ├── unique.py │ │ │ │ └── write.py │ │ │ ├── file_complexity.py │ │ │ ├── function_complexity.py │ │ │ ├── functions │ │ │ │ ├── methods_with_parameters.py │ │ │ │ ├── methods_without_parameters.py │ │ │ │ ├── singleton_methods_with_parameters.py │ │ │ │ └── singleton_methods_without_parameters.py │ │ │ ├── identical.py │ │ │ ├── lcom │ │ │ │ ├── lcom_0.py │ │ │ │ ├── lcom_1-1.py │ │ │ │ ├── lcom_1.py │ │ │ │ └── lcom_2.py │ │ │ ├── lines.py │ │ │ ├── nested_control.py │ │ │ ├── parameters.py │ │ │ └── returns.py │ │ ├── basic.stdout │ │ └── basic.toml │ ├── ruby │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.rb │ │ │ ├── cognitive │ │ │ │ ├── count_catch_rescue_statements.rb │ │ │ │ ├── count_complex_logical_operator_sequence.rb │ │ │ │ ├── count_conditional_assignment.rb │ │ │ │ ├── count_function_with_ternary.rb │ │ │ │ ├── count_if_elsif.rb │ │ │ │ ├── count_multiple_if_statements.rb │ │ │ │ ├── count_nested_if_else.rb │ │ │ │ ├── count_nested_in_method_like_structures.rb │ │ │ │ ├── count_nested_logical_expressions.rb │ │ │ │ ├── count_nested_rescue_statements.rb │ │ │ │ ├── count_nested_while_statements.rb │ │ │ │ ├── count_nesting_for_catch_rescue_statements.rb │ │ │ │ ├── count_nesting_for_switch_statements.rb │ │ │ │ ├── count_nesting_for_while_statements.rb │ │ │ │ ├── count_non_sequential_logical_operators.rb │ │ │ │ ├── count_recursion.rb │ │ │ │ ├── count_recursive_calls_with_other_elements.rb │ │ │ │ ├── count_simple_logical_operator_sequences.rb │ │ │ │ ├── count_switch_statements.rb │ │ │ │ ├── does_not_increment_for_eponymous_method_called_on_object.rb │ │ │ │ ├── does_not_increment_recursion_for_class_method.rb │ │ │ │ ├── increments_nesting_level_for_each_switch_statement.rb │ │ │ │ ├── no_params_with_parenthesis.rb │ │ │ │ └── recursion_no_params_with_self.rb │ │ │ ├── cyclomatic │ │ │ │ ├── empty_function.rb │ │ │ │ ├── empty_if.rb │ │ │ │ ├── if_else.rb │ │ │ │ ├── if_elsif.rb │ │ │ │ ├── if_elsif_else.rb │ │ │ │ ├── if_with_conjunction.rb │ │ │ │ ├── if_with_var.rb │ │ │ │ ├── iterative_each.rb │ │ │ │ ├── iterative_each_with_select.rb │ │ │ │ ├── iterative_for.rb │ │ │ │ ├── iterative_map.rb │ │ │ │ ├── non_iterative_do.rb │ │ │ │ ├── single_variable.rb │ │ │ │ └── while_loop.rb │ │ │ ├── fields │ │ │ │ ├── class_declaration.rb │ │ │ │ ├── ignore_collaborators.rb │ │ │ │ ├── manual_method_declaration.rb │ │ │ │ ├── multiple.rb │ │ │ │ ├── read.rb │ │ │ │ ├── struct_declaration.rb │ │ │ │ ├── unique.rb │ │ │ │ └── write.rb │ │ │ ├── file_complexity.rb │ │ │ ├── function_complexity.rb │ │ │ ├── functions │ │ │ │ ├── methods_with_parameters.rb │ │ │ │ ├── methods_without_parameters.rb │ │ │ │ ├── singleton_methods_with_parameters.rb │ │ │ │ └── singleton_methods_without_parameters.rb │ │ │ ├── identical.rb │ │ │ ├── lcom │ │ │ │ ├── lcom_0.rb │ │ │ │ ├── lcom_1-1.rb │ │ │ │ ├── lcom_1.rb │ │ │ │ └── lcom_2.rb │ │ │ ├── lines.rb │ │ │ ├── nested_control.rb │ │ │ ├── parameters.rb │ │ │ └── returns.rb │ │ ├── basic.stdout │ │ └── basic.toml │ ├── rust │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.rs │ │ │ ├── cognitive.rs │ │ │ ├── cyclomatic.rs │ │ │ ├── fields.rs │ │ │ ├── file_complexity.rs │ │ │ ├── function_complexity.rs │ │ │ ├── identical.rs │ │ │ ├── lines.rs │ │ │ ├── nested_control.rs │ │ │ ├── parameters.rs │ │ │ └── returns.rs │ │ ├── basic.stdout │ │ └── basic.toml │ ├── swift │ │ ├── basic.in │ │ │ ├── BooleanLogic.swift │ │ │ ├── FileComplexity.swift │ │ │ ├── FunctionComplexity.swift │ │ │ ├── Identical.swift │ │ │ ├── Lines.swift │ │ │ ├── NestedControl.swift │ │ │ ├── Returns.swift │ │ │ ├── SwiftClosures.swift │ │ │ ├── SwiftEnums.swift │ │ │ ├── SwiftExtensions.swift │ │ │ ├── SwiftProtocols.swift │ │ │ ├── SwiftStructs.swift │ │ │ ├── boolean_logic.swift │ │ │ ├── class_example.swift │ │ │ ├── cognitive │ │ │ │ ├── CountConditionalAssignment.swift │ │ │ │ ├── CountFunctionWithTernary.swift │ │ │ │ ├── CountNonSequentialLogicalOperators.swift │ │ │ │ ├── CountRecursion.swift │ │ │ │ └── MultipleConditionals.swift │ │ │ ├── cyclomatic │ │ │ │ ├── CycloBasic.swift │ │ │ │ ├── CycloIf.swift │ │ │ │ ├── CycloIfElse.swift │ │ │ │ ├── CycloIfElseIf.swift │ │ │ │ ├── CycloIfElseIfElse.swift │ │ │ │ ├── EmptyFunction.swift │ │ │ │ ├── EmptyIf.swift │ │ │ │ ├── IfWithBool.swift │ │ │ │ ├── IterativeForOf.swift │ │ │ │ ├── IterativeMap.swift │ │ │ │ ├── IterativeMethodsWithFilterAndInclude.swift │ │ │ │ └── WhileLoop.swift │ │ │ ├── fields │ │ │ │ ├── ClassDeclaration.swift │ │ │ │ ├── GetterSetterDeclaration.swift │ │ │ │ ├── Multiple.swift │ │ │ │ ├── Other.swift │ │ │ │ ├── PrivateFieldDeclaration.swift │ │ │ │ ├── PublicFieldDeclaration.swift │ │ │ │ ├── Read.swift │ │ │ │ ├── StaticFieldDeclaration.swift │ │ │ │ ├── Unique.swift │ │ │ │ └── Write.swift │ │ │ ├── file_complexity.swift │ │ │ ├── function_complexity.swift │ │ │ ├── functions │ │ │ │ ├── MethodsWithParams.swift │ │ │ │ ├── MethodsWithoutParams.swift │ │ │ │ ├── SingletonMethodsWithParams.swift │ │ │ │ └── SingletonMethodsWithoutParams.swift │ │ │ ├── lcom │ │ │ │ ├── lcom_0.swift │ │ │ │ ├── lcom_1-1.swift │ │ │ │ ├── lcom_1.swift │ │ │ │ └── lcom_2.swift │ │ │ ├── nested_control.swift │ │ │ └── parameters.swift │ │ ├── basic.stdout │ │ └── basic.toml │ ├── tsx │ │ ├── basic.in │ │ │ ├── .gitignore │ │ │ ├── .qlty │ │ │ │ └── qlty.toml │ │ │ ├── boolean_logic.tsx │ │ │ ├── cognitive │ │ │ │ ├── count_complex_function.tsx │ │ │ │ ├── count_complex_nested_function.tsx │ │ │ │ ├── count_nesting_loops.tsx │ │ │ │ └── count_ternary.tsx │ │ │ ├── cyclomatic │ │ │ │ ├── count_binary.tsx │ │ │ │ ├── count_if.tsx │ │ │ │ ├── count_loop.tsx │ │ │ │ ├── count_no_logic.tsx │ │ │ │ ├── cyclo_if_else.tsx │ │ │ │ ├── cyclo_if_else_if.tsx │ │ │ │ ├── cyclo_if_else_if_else.tsx │ │ │ │ ├── iterative_for_of.tsx │ │ │ │ ├── iterative_map.tsx │ │ │ │ └── iterative_methods_with_filter_and_include.tsx │ │ │ ├── fields │ │ │ │ ├── basic_declaration.tsx │ │ │ │ ├── class_declaration.tsx │ │ │ │ ├── declaration_with_access_modifiers.tsx │ │ │ │ ├── declaration_with_initializer.tsx │ │ │ │ ├── ignore_collaborators.tsx │ │ │ │ ├── multiple.tsx │ │ │ │ ├── read.tsx │ │ │ │ ├── unique.tsx │ │ │ │ └── write.tsx │ │ │ ├── file_complexity.tsx │ │ │ ├── function_complexity.tsx │ │ │ ├── functions │ │ │ │ ├── function_with_onclick_in_tsx.tsx │ │ │ │ ├── functional_components_with_props.tsx │ │ │ │ └── functional_components_without_props.tsx │ │ │ ├── identical.tsx │ │ │ ├── lcom │ │ │ │ ├── lcom_0.tsx │ │ │ │ ├── lcom_1-1.tsx │ │ │ │ ├── lcom_1.tsx │ │ │ │ └── lcom_2.tsx │ │ │ ├── lines.tsx │ │ │ ├── nested_control.tsx │ │ │ ├── parameters.tsx │ │ │ └── returns.tsx │ │ ├── basic.stdout │ │ └── basic.toml │ └── typescript │ │ ├── basic.in │ │ ├── .gitignore │ │ ├── .qlty │ │ │ └── qlty.toml │ │ ├── boolean_logic.ts │ │ ├── cognitive │ │ │ ├── count_complex_function.ts │ │ │ ├── count_complex_nested_function.ts │ │ │ ├── count_nesting_loops.ts │ │ │ └── count_ternary.ts │ │ ├── cyclomatic │ │ │ ├── count_binary.ts │ │ │ ├── count_if.ts │ │ │ ├── count_loop.ts │ │ │ ├── count_no_logic.ts │ │ │ ├── cyclo_if_else.ts │ │ │ ├── cyclo_if_else_if.ts │ │ │ ├── cyclo_if_else_if_else.ts │ │ │ ├── iterative_for_of.ts │ │ │ ├── iterative_map.ts │ │ │ └── iterative_methods_with_filter_and_include.ts │ │ ├── fields │ │ │ ├── basic_declaration.ts │ │ │ ├── class_declaration.ts │ │ │ ├── declaration_with_access_modifiers.ts │ │ │ ├── declaration_with_initializer.ts │ │ │ ├── ignore_collaborators.ts │ │ │ ├── multiple.ts │ │ │ ├── read.ts │ │ │ ├── unique.ts │ │ │ └── write.ts │ │ ├── file_complexity.ts │ │ ├── function_complexity.ts │ │ ├── functions │ │ │ ├── methods_with_parameters.ts │ │ │ ├── methods_without_parameters.ts │ │ │ ├── singleton_methods_with_parameters.ts │ │ │ └── singleton_methods_without_parameters.ts │ │ ├── identical.ts │ │ ├── lcom │ │ │ ├── lcom_0.ts │ │ │ ├── lcom_1-1.ts │ │ │ ├── lcom_1.ts │ │ │ └── lcom_2.ts │ │ ├── lines.ts │ │ ├── nested_control.ts │ │ ├── parameters.ts │ │ └── returns.ts │ │ ├── basic.stdout │ │ └── basic.toml │ └── tests.rs ├── qlty-cloud ├── Cargo.toml └── src │ └── lib.rs ├── qlty-config ├── Cargo.toml ├── build.rs ├── default.toml └── src │ ├── bin │ └── generate_schema.rs │ ├── config.rs │ ├── config │ ├── builder.rs │ ├── coverage.rs │ ├── download.rs │ ├── exclude.rs │ ├── exclude_group.rs │ ├── file_type.rs │ ├── ignore.rs │ ├── issue_transformer.rs │ ├── language.rs │ ├── overrides.rs │ ├── plugin.rs │ ├── release.rs │ ├── smells.rs │ ├── source.rs │ └── triage.rs │ ├── http.rs │ ├── lib.rs │ ├── library.rs │ ├── migration.rs │ ├── migration │ ├── checks.rs │ ├── classic.rs │ └── prepare.rs │ ├── sources.rs │ ├── sources │ ├── default_source.rs │ ├── git_source.rs │ ├── local_source.rs │ ├── source.rs │ ├── source_upgrade.rs │ └── sources_list.rs │ ├── toml_merge.rs │ ├── user.rs │ ├── version.rs │ ├── warning_tracker.rs │ └── workspace.rs ├── qlty-coverage ├── Cargo.toml ├── src │ ├── ci.rs │ ├── ci │ │ ├── buildkite.rs │ │ ├── circleci.rs │ │ ├── codefresh.rs │ │ ├── github.rs │ │ ├── gitlab.rs │ │ ├── semaphore.rs │ │ └── travisci.rs │ ├── env.rs │ ├── export.rs │ ├── formats.rs │ ├── git.rs │ ├── lib.rs │ ├── macros.rs │ ├── parser.rs │ ├── parser │ │ ├── clover.rs │ │ ├── cobertura.rs │ │ ├── coverprofile.rs │ │ ├── jacoco.rs │ │ ├── lcov.rs │ │ ├── qlty.rs │ │ ├── simplecov.rs │ │ └── snapshots │ │ │ ├── qlty_coverage__parser__clover__tests__clover_results.snap │ │ │ └── qlty_coverage__parser__clover__tests__clover_results2.snap │ ├── print.rs │ ├── publish.rs │ ├── publish │ │ ├── metrics.rs │ │ ├── plan.rs │ │ ├── planner.rs │ │ ├── processor.rs │ │ ├── reader.rs │ │ ├── report.rs │ │ ├── results.rs │ │ ├── settings.rs │ │ └── upload.rs │ ├── token.rs │ ├── transform.rs │ ├── transform │ │ ├── plan.rs │ │ ├── planner.rs │ │ ├── processor.rs │ │ └── settings.rs │ ├── transformer.rs │ ├── utils.rs │ └── validate.rs └── tests │ └── fixtures │ ├── clover │ ├── sample.xml │ └── sample2.xml │ ├── cobertura │ └── sample.xml │ ├── coverprofile │ └── sample.out │ ├── jacoco │ └── sample.xml │ ├── lcov │ └── sample.lcov │ └── simplecov │ ├── sample-json.json │ └── sample.json ├── qlty-formats ├── Cargo.toml └── src │ ├── copy.rs │ ├── gz.rs │ ├── json.rs │ ├── json_each.rs │ ├── json_each_truncated.rs │ ├── lib.rs │ └── protos.rs ├── qlty-plugins ├── Cargo.toml ├── plugins │ ├── .eslintrc.cjs │ ├── .gitattributes │ ├── .gitignore │ ├── README.md │ ├── jest.config.ts │ ├── linters │ │ ├── actionlint │ │ │ ├── README.md │ │ │ ├── actionlint.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── bad_v1.6.27.shot │ │ │ │ │ ├── bad_v1.7.1.shot │ │ │ │ │ ├── bad_v1.7.3.shot │ │ │ │ │ ├── empty_v1.6.27.shot │ │ │ │ │ ├── empty_v1.7.1.shot │ │ │ │ │ └── empty_v1.7.3.shot │ │ │ │ ├── bad.in │ │ │ │ │ └── .github │ │ │ │ │ │ └── workflows │ │ │ │ │ │ └── bad.yaml │ │ │ │ └── empty.in │ │ │ │ │ └── .github │ │ │ │ │ └── workflows │ │ │ │ │ └── empty.yaml │ │ │ └── plugin.toml │ │ ├── ast-grep │ │ │ ├── ast-grep.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v0.37.0.shot │ │ │ │ └── basic.in │ │ │ │ │ ├── rules │ │ │ │ │ └── no-await-in-promise-all.yml │ │ │ │ │ ├── sample.ts │ │ │ │ │ └── sgconfig.yml │ │ │ └── plugin.toml │ │ ├── bandit │ │ │ ├── README.md │ │ │ ├── bandit.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.7.8.shot │ │ │ │ │ └── basic_v1.7.9.shot │ │ │ │ └── basic.in.py │ │ │ └── plugin.toml │ │ ├── biome │ │ │ ├── biome.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v1.8.3.shot │ │ │ │ └── basic.in.ts │ │ │ └── plugin.toml │ │ ├── black │ │ │ ├── README.md │ │ │ ├── black.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v22.3.0.shot │ │ │ │ │ └── basic_v24.10.0.shot │ │ │ │ └── basic.in.py │ │ │ └── plugin.toml │ │ ├── brakeman │ │ │ ├── brakeman.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_nested_v6.1.2.shot │ │ │ │ │ ├── basic_nested_v6.2.2.shot │ │ │ │ │ ├── basic_v6.1.2.shot │ │ │ │ │ └── basic_v6.2.2.shot │ │ │ │ ├── basic.in │ │ │ │ │ ├── Gemfile │ │ │ │ │ ├── Gemfile.lock │ │ │ │ │ └── app │ │ │ │ │ │ ├── empty.rb │ │ │ │ │ │ └── helpers │ │ │ │ │ │ └── users_helper.rb │ │ │ │ └── basic_nested.in │ │ │ │ │ └── nested │ │ │ │ │ ├── Gemfile │ │ │ │ │ ├── Gemfile.lock │ │ │ │ │ └── app │ │ │ │ │ ├── empty.rb │ │ │ │ │ └── helpers │ │ │ │ │ └── users_helper.rb │ │ │ └── plugin.toml │ │ ├── checkov │ │ │ ├── README.md │ │ │ ├── checkov.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v2.3.259.shot │ │ │ │ │ ├── basic_v2.3.264.shot │ │ │ │ │ ├── basic_v2.3.75.shot │ │ │ │ │ ├── basic_v3.2.194.shot │ │ │ │ │ └── basic_v3.2.269.shot │ │ │ │ └── basic.in.tf │ │ │ └── plugin.toml │ │ ├── checkstyle │ │ │ ├── checkstyle.test.ts │ │ │ ├── fixtures │ │ │ │ ├── Empty.in.java │ │ │ │ ├── Foo.in.java │ │ │ │ ├── HasIssue.in.java │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── Empty_v10.21.4.shot │ │ │ │ │ ├── Foo_v10.21.4.shot │ │ │ │ │ ├── HasIssue_v10.21.4.shot │ │ │ │ │ ├── batch_v10.21.4.shot │ │ │ │ │ └── no_issue_v10.21.4.shot │ │ │ │ ├── batch.in │ │ │ │ │ ├── Foo.java │ │ │ │ │ ├── HasIssue.java │ │ │ │ │ └── checkstyle.xml │ │ │ │ ├── checkstyle.xml │ │ │ │ └── no_issue.in │ │ │ │ │ ├── checkstyle.xml │ │ │ │ │ └── pkg │ │ │ │ │ └── HasNoIssue.java │ │ │ └── plugin.toml │ │ ├── clippy │ │ │ ├── clippy.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.77.2.shot │ │ │ │ │ ├── missing_cargo_toml_v1.77.2.shot │ │ │ │ │ ├── multiple_files_v1.77.2.shot │ │ │ │ │ └── nested_basic_v1.77.2.shot │ │ │ │ ├── basic.in │ │ │ │ │ ├── Cargo.lock │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ └── src │ │ │ │ │ │ └── main.rs │ │ │ │ ├── missing_cargo_toml.in │ │ │ │ │ ├── Cargo.lock │ │ │ │ │ └── src │ │ │ │ │ │ └── main.rs │ │ │ │ ├── multiple_files.in │ │ │ │ │ ├── Cargo.lock │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ └── src │ │ │ │ │ │ ├── high.rs │ │ │ │ │ │ ├── main.rs │ │ │ │ │ │ └── wont_compile.rs │ │ │ │ └── nested_basic.in │ │ │ │ │ └── random_parent_dir │ │ │ │ │ ├── Cargo.lock │ │ │ │ │ ├── Cargo.toml │ │ │ │ │ └── src │ │ │ │ │ └── main.rs │ │ │ └── plugin.toml │ │ ├── coffeelint │ │ │ ├── coffeelint.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v5.2.11.shot │ │ │ │ └── basic.in │ │ │ │ │ ├── basic.coffee │ │ │ │ │ └── second.coffee │ │ │ └── plugin.toml │ │ ├── dockerfmt │ │ │ ├── dockerfmt.test.ts │ │ │ ├── fixtures │ │ │ │ ├── Dockerfile.in │ │ │ │ └── __snapshots__ │ │ │ │ │ └── Dockerfile_v0.2.6.shot │ │ │ └── plugin.toml │ │ ├── dotenv-linter │ │ │ ├── README.md │ │ │ ├── dotenv_linter.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v3.3.0.shot │ │ │ │ └── basic.in.env │ │ │ └── plugin.toml │ │ ├── eslint │ │ │ ├── README.md │ │ │ ├── eslint.test.ts │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_8_v8.10.0.shot │ │ │ │ │ ├── basic_9_v9.6.0.shot │ │ │ │ │ └── basic_9_v9.7.0.shot │ │ │ │ ├── basic_8.in │ │ │ │ │ ├── .eslintrc.js │ │ │ │ │ └── basic.js │ │ │ │ └── basic_9.in │ │ │ │ │ ├── basic.js │ │ │ │ │ └── eslint.config.mjs │ │ │ └── plugin.toml │ │ ├── flake8 │ │ │ ├── .flake8 │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v6.0.0.shot │ │ │ │ │ ├── basic_v6.1.0.shot │ │ │ │ │ └── basic_v7.1.1.shot │ │ │ │ └── basic.in.py │ │ │ ├── flake8.test.ts │ │ │ └── plugin.toml │ │ ├── gitleaks │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v8.18.2.shot │ │ │ │ │ ├── basic_v8.21.1.shot │ │ │ │ │ └── basic_v8.8.7.shot │ │ │ │ └── basic.in.py │ │ │ ├── gitleaks.test.ts │ │ │ └── plugin.toml │ │ ├── gofmt │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.22.0.shot │ │ │ │ │ └── empty_v1.22.0.shot │ │ │ │ ├── basic.in.go │ │ │ │ └── empty.in.go │ │ │ ├── gofmt.test.ts │ │ │ └── plugin.toml │ │ ├── golangci-lint │ │ │ ├── fixtures │ │ │ │ ├── .golangci.yml │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_new_v2.0.2.shot │ │ │ │ │ ├── basic_v1.59.1.shot │ │ │ │ │ ├── basic_v1.61.0.shot │ │ │ │ │ ├── unused_func_v1.59.1.shot │ │ │ │ │ └── unused_func_v1.61.0.shot │ │ │ │ ├── basic.in.go │ │ │ │ ├── basic_new.in │ │ │ │ │ ├── .golangci.yml │ │ │ │ │ ├── basic.go │ │ │ │ │ └── go.mod │ │ │ │ ├── go.mod │ │ │ │ └── unused_func.in.go │ │ │ ├── golangci-lint.test.ts │ │ │ └── plugin.toml │ │ ├── google-java-format │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── c_v1.22.0.shot │ │ │ │ │ ├── c_v1.24.0.shot │ │ │ │ │ ├── e_v1.22.0.shot │ │ │ │ │ └── e_v1.24.0.shot │ │ │ │ ├── c.in.java │ │ │ │ └── e.in.java │ │ │ ├── google-java-format.test.ts │ │ │ └── plugin.toml │ │ ├── hadolint │ │ │ ├── .hadolint.yaml │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v2.12.1-beta.shot │ │ │ │ └── basic.in.Dockerfile │ │ │ ├── hadolint.test.ts │ │ │ └── plugin.toml │ │ ├── haml-lint │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v0.62.0.shot │ │ │ │ │ └── empty_v0.62.0.shot │ │ │ │ ├── basic.in.haml │ │ │ │ └── empty.in.haml │ │ │ ├── haml-lint.test.ts │ │ │ └── plugin.toml │ │ ├── knip │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_nested_v5.21.2.shot │ │ │ │ │ └── basic_v5.21.2.shot │ │ │ │ ├── basic.in │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── src │ │ │ │ │ │ ├── hello.js │ │ │ │ │ │ └── unusedCode.js │ │ │ │ └── basic_nested.in │ │ │ │ │ └── nested │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── src │ │ │ │ │ ├── hello.js │ │ │ │ │ └── unusedCode.js │ │ │ ├── knip.test.ts │ │ │ └── plugin.toml │ │ ├── kube-linter │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v0.7.1.shot │ │ │ │ └── basic.in.yaml │ │ │ ├── kube-linter.test.ts │ │ │ └── plugin.toml │ │ ├── markdownlint │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── .markdownlint.json │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v0.41.0.shot │ │ │ │ │ └── no_issues_v0.41.0.shot │ │ │ │ ├── basic.in.md │ │ │ │ └── no_issues.in.md │ │ │ ├── markdownlint.test.ts │ │ │ └── plugin.toml │ │ ├── mypy │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.10.1.shot │ │ │ │ │ └── basic_v1.12.1.shot │ │ │ │ └── basic.in.py │ │ │ ├── mypy.test.ts │ │ │ └── plugin.toml │ │ ├── osv-scanner │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── cargo_v1.7.0.shot │ │ │ │ │ ├── cargo_v1.8.2.shot │ │ │ │ │ ├── cargo_v1.9.0.shot │ │ │ │ │ ├── composer_v1.7.0.shot │ │ │ │ │ ├── composer_v1.8.2.shot │ │ │ │ │ ├── composer_v1.9.0.shot │ │ │ │ │ ├── empty_yarn_v1.7.0.shot │ │ │ │ │ ├── empty_yarn_v1.8.2.shot │ │ │ │ │ ├── empty_yarn_v1.9.0.shot │ │ │ │ │ ├── gemfile_v1.7.0.shot │ │ │ │ │ ├── gemfile_v1.8.2.shot │ │ │ │ │ ├── gemfile_v1.9.0.shot │ │ │ │ │ ├── go_v1.7.0.shot │ │ │ │ │ ├── go_v1.8.2.shot │ │ │ │ │ ├── go_v1.9.0.shot │ │ │ │ │ ├── requirements_v1.7.0.shot │ │ │ │ │ ├── requirements_v1.8.2.shot │ │ │ │ │ ├── requirements_v1.9.0.shot │ │ │ │ │ ├── yarn_v1.7.0.shot │ │ │ │ │ ├── yarn_v1.8.2.shot │ │ │ │ │ └── yarn_v1.9.0.shot │ │ │ │ ├── cargo.in │ │ │ │ │ └── Cargo.lock │ │ │ │ ├── composer.in │ │ │ │ │ └── composer.lock │ │ │ │ ├── empty_yarn.in │ │ │ │ │ └── yarn.lock │ │ │ │ ├── gemfile.in │ │ │ │ │ └── Gemfile.lock │ │ │ │ ├── go.in │ │ │ │ │ ├── go.mod │ │ │ │ │ └── go.sum │ │ │ │ ├── requirements.in │ │ │ │ │ └── requirements.txt │ │ │ │ └── yarn.in │ │ │ │ │ └── yarn.lock │ │ │ ├── osv-scanner.test.ts │ │ │ └── plugin.toml │ │ ├── oxc │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v0.11.1.shot │ │ │ │ └── basic.in.js │ │ │ ├── oxc.test.ts │ │ │ └── plugin.toml │ │ ├── php-codesniffer │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v3.10.1.shot │ │ │ │ │ ├── basic_v3.10.3.shot │ │ │ │ │ ├── batched_v3.10.1.shot │ │ │ │ │ ├── batched_v3.10.3.shot │ │ │ │ │ ├── empty_v3.10.1.shot │ │ │ │ │ ├── empty_v3.10.3.shot │ │ │ │ │ ├── no_issues_v3.10.1.shot │ │ │ │ │ └── no_issues_v3.10.3.shot │ │ │ │ ├── basic.in.php │ │ │ │ ├── batched.in │ │ │ │ │ ├── basic.php │ │ │ │ │ └── basic_batched.php │ │ │ │ ├── empty.in.php │ │ │ │ └── no_issues.in.php │ │ │ ├── php-codesniffer.test.ts │ │ │ └── plugin.toml │ │ ├── php-cs-fixer │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v3.73.1.shot │ │ │ │ │ └── multiple_files_v3.73.1.shot │ │ │ │ ├── basic.in.php │ │ │ │ └── multiple_files.in │ │ │ │ │ ├── basic.php │ │ │ │ │ └── basic_too.php │ │ │ ├── php-cs-fixer.test.ts │ │ │ └── plugin.toml │ │ ├── phpstan │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.12.7.shot │ │ │ │ │ └── batched_v1.12.7.shot │ │ │ │ ├── basic.in.php │ │ │ │ └── batched.in │ │ │ │ │ ├── basic.php │ │ │ │ │ └── basic_batched.php │ │ │ ├── phpstan.test.ts │ │ │ └── plugin.toml │ │ ├── pmd │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── apex_v7.0.0.shot │ │ │ │ │ ├── batch_v7.0.0.shot │ │ │ │ │ └── hello_v7.0.0.shot │ │ │ │ ├── apex.in.cls │ │ │ │ ├── batch.in │ │ │ │ │ ├── hello.java │ │ │ │ │ └── second.java │ │ │ │ └── hello.in.java │ │ │ ├── plugin.toml │ │ │ └── pmd.test.ts │ │ ├── prettier │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v2.6.2.shot │ │ │ │ │ └── basic_v3.3.3.shot │ │ │ │ └── basic.in.js │ │ │ ├── plugin.toml │ │ │ └── prettier.test.ts │ │ ├── prisma │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v5.14.0.shot │ │ │ │ │ └── basic_v5.21.1.shot │ │ │ │ └── basic.in.prisma │ │ │ ├── plugin.toml │ │ │ └── prisma.test.ts │ │ ├── radarlint-go │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── main_v1.1.3.shot │ │ │ │ │ └── main_v2.0.0.shot │ │ │ │ └── main.in.go │ │ │ ├── plugin.toml │ │ │ └── radarlint-go.test.ts │ │ ├── radarlint-iac │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.tf │ │ │ ├── plugin.toml │ │ │ └── radarlint-iac.test.ts │ │ ├── radarlint-java │ │ │ ├── fixtures │ │ │ │ ├── Empty.in.java │ │ │ │ ├── Foo.in.java │ │ │ │ ├── HasIssue.in.java │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── Empty_v1.1.3.shot │ │ │ │ │ ├── Empty_v2.0.0.shot │ │ │ │ │ ├── Foo_v1.1.3.shot │ │ │ │ │ ├── Foo_v2.0.0.shot │ │ │ │ │ ├── HasIssue_v1.1.3.shot │ │ │ │ │ ├── HasIssue_v2.0.0.shot │ │ │ │ │ ├── batch_v1.1.3.shot │ │ │ │ │ ├── batch_v2.0.0.shot │ │ │ │ │ ├── no_issue_v1.1.3.shot │ │ │ │ │ └── no_issue_v2.0.0.shot │ │ │ │ ├── batch.in │ │ │ │ │ ├── Foo.java │ │ │ │ │ └── HasIssue.java │ │ │ │ └── no_issue.in │ │ │ │ │ └── pkg │ │ │ │ │ └── HasNoIssue.java │ │ │ ├── plugin.toml │ │ │ └── radarlint-java.test.ts │ │ ├── radarlint-js │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.js │ │ │ ├── plugin.toml │ │ │ └── radarlint-js.test.ts │ │ ├── radarlint-kotlin │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.kt │ │ │ ├── plugin.toml │ │ │ └── radarlint-kotlin.test.ts │ │ ├── radarlint-php │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.php │ │ │ ├── plugin.toml │ │ │ └── radarlint-php.test.ts │ │ ├── radarlint-python │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.py │ │ │ ├── plugin.toml │ │ │ └── radarlint-python.test.ts │ │ ├── radarlint-ruby │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.rb │ │ │ ├── plugin.toml │ │ │ └── radarlint-ruby.test.ts │ │ ├── radarlint-scala │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── foo_v1.1.3.shot │ │ │ │ │ └── foo_v2.0.0.shot │ │ │ │ └── foo.in.scala │ │ │ ├── plugin.toml │ │ │ └── radarlint-scala.test.ts │ │ ├── radarlint │ │ │ ├── fixtures │ │ │ │ ├── Empty.in.java │ │ │ │ ├── Foo.in.java │ │ │ │ ├── HasIssue.in.java │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── Empty_v1.0.1.shot │ │ │ │ │ ├── Foo_v1.0.1.shot │ │ │ │ │ ├── HasIssue_v1.0.1.shot │ │ │ │ │ ├── batch_v1.0.1.shot │ │ │ │ │ └── no_issue_v1.0.1.shot │ │ │ │ ├── batch.in │ │ │ │ │ ├── Foo.java │ │ │ │ │ └── HasIssue.java │ │ │ │ └── no_issue.in │ │ │ │ │ └── pkg │ │ │ │ │ └── HasNoIssue.java │ │ │ ├── plugin.toml │ │ │ └── radarlint.test.ts │ │ ├── redocly │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── openapi_v1.18.1.shot │ │ │ │ │ └── openapi_v1.25.8.shot │ │ │ │ └── openapi.in.yaml │ │ │ ├── plugin.toml │ │ │ └── redocly.test.ts │ │ ├── reek │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v6.3.0.shot │ │ │ │ └── basic.in.rb │ │ │ ├── plugin.toml │ │ │ └── reek.test.ts │ │ ├── ripgrep │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v14.1.0.shot │ │ │ │ │ ├── basic_v14.1.1.shot │ │ │ │ │ ├── no_match_v14.1.0.shot │ │ │ │ │ └── no_match_v14.1.1.shot │ │ │ │ ├── basic.in.rs │ │ │ │ └── no_match.in.rs │ │ │ ├── plugin.toml │ │ │ └── ripgrep.test.ts │ │ ├── rubocop │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── .rubocop.yml │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.63.2.shot │ │ │ │ │ ├── basic_v1.67.0.shot │ │ │ │ │ ├── plugins_v1.63.2.shot │ │ │ │ │ └── plugins_v1.67.0.shot │ │ │ │ ├── basic.in.rb │ │ │ │ └── plugins.in │ │ │ │ │ ├── .qlty │ │ │ │ │ └── qlty.toml │ │ │ │ │ ├── .rubocop.yml │ │ │ │ │ ├── Gemfile.qlty │ │ │ │ │ ├── Gemfile.qlty.lock │ │ │ │ │ └── basic.in.rb │ │ │ ├── plugin.toml │ │ │ └── rubocop.test.ts │ │ ├── ruby-stree │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v6.2.0.shot │ │ │ │ └── basic.in.rb │ │ │ ├── plugin.toml │ │ │ └── ruby-stree.test.ts │ │ ├── ruff │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v0.3.3.shot │ │ │ │ │ ├── basic_v0.5.3.shot │ │ │ │ │ └── unformatted_v0.11.3.shot │ │ │ │ ├── basic.in.py │ │ │ │ └── unformatted.in.py │ │ │ ├── plugin.toml │ │ │ └── ruff.test.ts │ │ ├── rustfmt │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.77.2.shot │ │ │ │ │ └── empty_v1.77.2.shot │ │ │ │ ├── basic.in.rs │ │ │ │ └── empty.in.rs │ │ │ ├── plugin.toml │ │ │ └── rustfmt.test.ts │ │ ├── semgrep │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── .semgrep.yaml │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.40.0.shot │ │ │ │ │ └── basic_v1.92.0.shot │ │ │ │ └── basic.in.rs │ │ │ ├── plugin.toml │ │ │ └── semgrep.test.ts │ │ ├── shellcheck │ │ │ ├── .shellcheckrc │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v0.10.0.shot │ │ │ │ │ └── basic_v0.8.0.shot │ │ │ │ └── basic.in.sh │ │ │ ├── plugin.toml │ │ │ └── shellcheck.test.ts │ │ ├── shfmt │ │ │ ├── fixtures │ │ │ │ ├── .editorconfig │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v3.8.0.shot │ │ │ │ │ └── empty_v3.8.0.shot │ │ │ │ ├── basic.in.sh │ │ │ │ └── empty.in.sh │ │ │ ├── plugin.toml │ │ │ └── shfmt.test.ts │ │ ├── sqlfluff │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_check_v3.0.0.shot │ │ │ │ │ ├── basic_check_v3.2.4.shot │ │ │ │ │ ├── basic_fmt_v3.0.0.shot │ │ │ │ │ └── basic_fmt_v3.2.4.shot │ │ │ │ ├── basic_check.in.sql │ │ │ │ └── basic_fmt.in.sql │ │ │ ├── plugin.toml │ │ │ └── sqlfluff.test.ts │ │ ├── standardrb │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── .standard.yml │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v1.31.0.shot │ │ │ │ │ └── basic_v1.41.1.shot │ │ │ │ └── basic.in.rb │ │ │ ├── plugin.toml │ │ │ └── standardrb.test.ts │ │ ├── stringslint │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_strings_v0.1.9.shot │ │ │ │ │ └── basic_v0.1.9.shot │ │ │ │ ├── basic.in.swift │ │ │ │ └── basic_strings.in.strings │ │ │ ├── plugin.toml │ │ │ └── stringslint.test.ts │ │ ├── stylelint │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── .stylelintrc.json │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v14.6.1.shot │ │ │ │ │ └── basic_v16.15.0.shot │ │ │ │ └── basic.in.css │ │ │ ├── plugin.toml │ │ │ └── stylelint.test.ts │ │ ├── swiftformat │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v0.55.5.shot │ │ │ │ └── basic.in.swift │ │ │ ├── plugin.toml │ │ │ └── swiftformat.test.ts │ │ ├── swiftlint │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── basic_v0.55.1.shot │ │ │ │ └── basic.in.swift │ │ │ ├── plugin.toml │ │ │ └── swiftlint.test.ts │ │ ├── terraform │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── aws_nested_v1.12.1.shot │ │ │ │ │ └── aws_v1.12.1.shot │ │ │ │ ├── aws.in.tf │ │ │ │ └── aws_nested.in │ │ │ │ │ ├── aws.in.tf │ │ │ │ │ └── nested │ │ │ │ │ └── aws.in.tf │ │ │ ├── plugin.toml │ │ │ └── terraform.test.ts │ │ ├── tflint │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── aws_nested_v0.51.1.shot │ │ │ │ │ ├── aws_nested_v0.52.0.shot │ │ │ │ │ ├── aws_v0.51.1.shot │ │ │ │ │ └── aws_v0.52.0.shot │ │ │ │ ├── aws.in.tf │ │ │ │ └── aws_nested.in │ │ │ │ │ └── nested │ │ │ │ │ └── aws.in.tf │ │ │ ├── plugin.toml │ │ │ └── tflint.test.ts │ │ ├── trivy │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── Gemfile.in │ │ │ │ │ └── Gemfile.lock │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── Gemfile_v0.57.1.shot │ │ │ │ │ ├── basic_dockerfile_v0.57.1.shot │ │ │ │ │ ├── basic_py_v0.57.1.shot │ │ │ │ │ ├── basic_yaml_v0.57.1.shot │ │ │ │ │ ├── go_v0.57.1.shot │ │ │ │ │ └── requirements_v0.57.1.shot │ │ │ │ ├── basic_dockerfile.in.Dockerfile │ │ │ │ ├── basic_py.in.py │ │ │ │ ├── basic_yaml.in.yaml │ │ │ │ ├── go.in │ │ │ │ │ └── go.mod │ │ │ │ └── requirements.in │ │ │ │ │ └── requirements.txt │ │ │ ├── plugin.toml │ │ │ └── trivy.test.ts │ │ ├── trufflehog │ │ │ ├── README.md │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── no_issues_v3.82.12.shot │ │ │ │ │ ├── secrets_v3.73.0.shot │ │ │ │ │ ├── secrets_v3.80.1.shot │ │ │ │ │ └── secrets_v3.82.12.shot │ │ │ │ ├── no_issues.in.py │ │ │ │ └── secrets.in.py │ │ │ ├── plugin.toml │ │ │ └── trufflehog.test.ts │ │ ├── tsc │ │ │ └── plugin.toml │ │ ├── vale │ │ │ ├── fixtures │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── basic_v3.6.1.shot │ │ │ │ │ └── basic_v3.8.0.shot │ │ │ │ └── basic.in │ │ │ │ │ ├── .vale.ini │ │ │ │ │ └── basic.md │ │ │ ├── plugin.toml │ │ │ └── vale.test.ts │ │ └── yamllint │ │ │ ├── .yamllint.yaml │ │ │ ├── fixtures │ │ │ ├── .yamllint.yaml │ │ │ ├── __snapshots__ │ │ │ │ └── basic_v1.35.1.shot │ │ │ └── basic.in.yaml │ │ │ ├── plugin.toml │ │ │ └── yamllint.test.ts │ ├── package-lock.json │ ├── package.json │ ├── plugin_guide.md │ ├── scripts │ │ ├── fetchLatestVersion │ │ │ ├── fetchLatestVersion.ts │ │ │ ├── github.ts │ │ │ ├── node.ts │ │ │ ├── php.ts │ │ │ ├── python.ts │ │ │ ├── ruby.ts │ │ │ └── runnableArchive.ts │ │ └── updateLinterVersions.ts │ ├── tests │ │ ├── driver.ts │ │ ├── index.ts │ │ ├── jest_setup.ts │ │ ├── runLinterTest.ts │ │ └── utils.ts │ └── tsconfig.json └── src │ └── lib.rs ├── qlty-smells ├── Cargo.toml └── src │ ├── duplication │ ├── code.rs │ ├── executor.rs │ ├── format.rs │ ├── mod.rs │ ├── plan.rs │ ├── planner.rs │ ├── settings.rs │ ├── transformers.rs │ └── visitor.rs │ ├── lib.rs │ ├── metrics │ ├── executor.rs │ ├── lines.rs │ ├── metrics.rs │ ├── metrics │ │ ├── classes.rs │ │ ├── cognitive.rs │ │ ├── cyclomatic.rs │ │ ├── fields.rs │ │ ├── functions.rs │ │ └── lcom.rs │ ├── mod.rs │ ├── plan.rs │ ├── planner.rs │ ├── processor.rs │ ├── results.rs │ └── settings.rs │ └── structure │ ├── checks.rs │ ├── checks │ ├── boolean_logic.rs │ ├── file_complexity.rs │ ├── function_complexity.rs │ ├── nested_control.rs │ ├── parameters.rs │ └── returns.rs │ ├── executor.rs │ ├── mod.rs │ ├── plan.rs │ └── planner.rs ├── qlty-test-utilities ├── Cargo.toml └── src │ ├── git.rs │ └── lib.rs └── qlty-types ├── Cargo.toml └── src ├── lib.rs └── protos ├── qlty.analysis.v1.rs ├── qlty.analysis.v1.serde.rs ├── qlty.history.v1.rs ├── qlty.rules.v1.rs ├── qlty.tests.v1.rs └── qlty.tests.v1.serde.rs /.agents/scripts/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | curl https://qlty.sh | sh 3 | source /root/.profile 4 | qlty --help 5 | qlty install || echo "qlty install failed" -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .dockerignore 2 | .git/ 3 | .github/ 4 | .qlty/ 5 | Dockerfile 6 | docs/ 7 | target/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/* 2 | !/target/doc 3 | flamegraph.svg 4 | .env 5 | **/plugin_cachedir 6 | /.markdownlint.json 7 | /.rustfmt.toml 8 | /.yamllint.yaml 9 | tmp/ -------------------------------------------------------------------------------- /.qlty/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !configs 3 | !configs/** 4 | !qlty.toml 5 | !.gitignore 6 | -------------------------------------------------------------------------------- /.qlty/configs/.flake8: -------------------------------------------------------------------------------- 1 | # Autoformatter friendly flake8 config (all formatting rules disabled) 2 | [flake8] 3 | extend-ignore = D1, D2, E1, E2, E3, E501, W1, W2, W3, W5 -------------------------------------------------------------------------------- /.qlty/configs/.hadolint.yaml: -------------------------------------------------------------------------------- 1 | ignored: 2 | - DL3008 3 | -------------------------------------------------------------------------------- /.qlty/configs/.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "MD013": false 3 | } 4 | -------------------------------------------------------------------------------- /.qlty/configs/.rustfmt.toml: -------------------------------------------------------------------------------- 1 | skip_children = true 2 | edition = "2018" 3 | -------------------------------------------------------------------------------- /.qlty/configs/.yamllint.yaml: -------------------------------------------------------------------------------- 1 | rules: 2 | quoted-strings: 3 | required: false 4 | -------------------------------------------------------------------------------- /plugins: -------------------------------------------------------------------------------- 1 | qlty-plugins/plugins -------------------------------------------------------------------------------- /qlty-analysis/src/git.rs: -------------------------------------------------------------------------------- 1 | mod diff; 2 | mod upstream; 3 | 4 | pub use diff::{DiffLineFilter, DiffMode, GitDiff}; 5 | pub use upstream::compute_upstream; 6 | -------------------------------------------------------------------------------- /qlty-check/src/llm/mod.rs: -------------------------------------------------------------------------------- 1 | mod fixer; 2 | 3 | pub use fixer::Fixer; 4 | -------------------------------------------------------------------------------- /qlty-check/tests/fixtures/planner/patch_builder/parse.03.input.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo $x 4 | echo "You are running on `uname`" 5 | -------------------------------------------------------------------------------- /qlty-check/tests/fixtures/planner/patch_builder/parse.05.input.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $# != 3 ]]; then 4 | username=$1 5 | sudo su - ${username} -c whoami 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /qlty-check/tests/fixtures/planner/plugin_tab_column_width_transformer/parse.01.input.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $# != 3 ]]; then 4 | username=$1 5 | sudo su - ${username} -c whoami 6 | exit 1 7 | fi 8 | -------------------------------------------------------------------------------- /qlty-cli/src/allocator.rs: -------------------------------------------------------------------------------- 1 | use cap::Cap; 2 | use std::alloc; 3 | 4 | #[global_allocator] 5 | pub static ALLOCATOR: Cap = Cap::new(alloc::System, usize::max_value()); 6 | -------------------------------------------------------------------------------- /qlty-cli/src/commands/githooks/pre_commit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | qlty fmt --trigger pre-commit --index-file="$GIT_INDEX_FILE" 3 | -------------------------------------------------------------------------------- /qlty-cli/src/commands/githooks/pre_push.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | qlty check \ 3 | --trigger pre-push \ 4 | --upstream-from-pre-push \ 5 | --no-formatters \ 6 | --skip-errored-plugins 7 | -------------------------------------------------------------------------------- /qlty-cli/src/format/mod.rs: -------------------------------------------------------------------------------- 1 | mod sarif; 2 | 3 | pub use sarif::SarifFormatter; 4 | -------------------------------------------------------------------------------- /qlty-cli/src/initializer/activator.rs: -------------------------------------------------------------------------------- 1 | #[derive(Debug, Clone)] 2 | pub struct Activator {} 3 | -------------------------------------------------------------------------------- /qlty-cli/src/initializer/templates/gitignore.txt: -------------------------------------------------------------------------------- 1 | * 2 | !configs 3 | !configs/** 4 | !hooks 5 | !hooks/** 6 | !qlty.toml 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /qlty-cli/src/initializer/templates/source_default.toml: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "default" 3 | default = true 4 | -------------------------------------------------------------------------------- /qlty-cli/src/initializer/templates/source_directory.toml: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "{name}" 3 | directory = "{directory}" 4 | -------------------------------------------------------------------------------- /qlty-cli/src/initializer/templates/source_git.toml: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "{name}" 3 | repository = "{repository}" 4 | {reference_type} = "{reference}" 5 | -------------------------------------------------------------------------------- /qlty-cli/src/main.rs: -------------------------------------------------------------------------------- 1 | pub fn main() { 2 | qlty::run_command_line(); 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/build/upstream.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/build/upstream.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/build/upstream.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/build/upstream.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/build/upstream.toml: -------------------------------------------------------------------------------- 1 | args = ["build", "--print"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.in/config.shared.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/batch_by_config.in/config.shared.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.in/sub/config.different.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/batch_by_config.in/sub/config.different.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.in/sub/sample_2.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_config.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_invocation_directory.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_invocation_directory.in/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/batch_by_invocation_directory.in/config.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_invocation_directory.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_invocation_directory.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/batch_by_invocation_directory.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/config_matcher.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/config_matcher.in/config.shared.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/config_matcher.in/config.shared.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/config_matcher.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/config_matcher.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/config_matcher.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.in/diff/test_sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.in/main_sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.stderr: -------------------------------------------------------------------------------- 1 | [..][0/1] [..]Planning...[..] 2 | [..][1/1] [..]Analyzing vs. main...[..] 3 | ✔ No issues 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.stdout: -------------------------------------------------------------------------------- 1 | [..]JOBS: 1[..] 2 | 3 | Plugin Result Targets Time Debug File 4 | exists Success 1 target[..] 5 | 6 | Checked 1 modified file 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/diff_mode.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--no-cache", "--verbose"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.in/diff/prefix/prefix_sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.in/diff/test_sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.in/main_sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.stderr: -------------------------------------------------------------------------------- 1 | [..][0/1] [..]Planning...[..] 2 | [..][1/1] [..]Analyzing vs. main...[..] 3 | ✔ No issues 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.stdout: -------------------------------------------------------------------------------- 1 | [..]JOBS: 1[..] 2 | 3 | Plugin Result Targets Time Debug File 4 | exists Success 1 target[..] 5 | 6 | Checked 1 modified file 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/diff_tests/prefix_diff_mode.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--no-cache", "--verbose"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/driver_script_config_file_interpolation.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/driver_script_config_file_interpolation.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/driver_script_config_file_interpolation.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/driver_script_config_file_interpolation.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude.in/ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude.stderr: -------------------------------------------------------------------------------- 1 | [0/1] [..]Planning... [..]s 2 | [1/1] [..]Analyzing all targets... 3 | ✖ 2 issues 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--verbose"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.in/deep/folder/also_ignored.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.in/folder/also_ignored.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.in/ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.stderr: -------------------------------------------------------------------------------- 1 | [0/1] [..]Planning... [..]s 2 | [1/1] [..]Analyzing all targets... 3 | ✔ No issues 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exclude_patterns.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--verbose"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exists.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exists.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exists.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exists.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/config-exporter/config.yml: -------------------------------------------------------------------------------- 1 | configuration: true 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/config-exporter/results.txt: -------------------------------------------------------------------------------- 1 | sample.sh:2:1: ERROR invalid line 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/config-exporter/subdir/config.alternate.yml: -------------------------------------------------------------------------------- 1 | configuration: true 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/results.txt: -------------------------------------------------------------------------------- 1 | sample.sh:2:1: OVERRIDE valid line 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo hi 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 1[..] 3 | 4 | sample.sh:2:0 5 | 2:0 medium valid line config-exporter:OVERRIDE[..] 6 | [..] 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/exported_config_files.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/formatter_batch_by_config.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/formatter_batch_by_config.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/formatter_batch_by_config.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/formatter_batch_by_config.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.in/ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.stderr: -------------------------------------------------------------------------------- 1 | WARNING: The `[[ignore]]` field in qlty.toml is deprecated. Please use `[[exclude]]` or `exclude_patterns` instead. 2 | ✖ 2 issues 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 2 3 | 4 | :0:0 5 | 0:0 high exists failed exists:fail 6 | 0:0 high exists failed exists:fail 7 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore_config_files.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore_config_files.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore_config_files.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/ignore_config_files.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/missing_output_as_error.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/missing_output_as_error.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "hi" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/missing_output_as_error.stderr: -------------------------------------------------------------------------------- 1 | ❌ Lint error 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/missing_output_as_error.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 3 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/multiple_drivers.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/multiple_drivers.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if ((x = 2)) { 4 | console.log("hi"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/multiple_drivers.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/multiple_drivers.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 1 3 | 4 | :0:0 5 | 0:0 high multi_driver_with_issue failed multi_driver_with_issue:fail 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/multiple_drivers.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.in/ignores/dont_ignore/dont_ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.in/ignores/ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.stderr: -------------------------------------------------------------------------------- 1 | ✖ 3 issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_exclude_patterns.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.in/ignores/dont_ignore/dont_ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.in/ignores/ignore.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$bar" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.stderr: -------------------------------------------------------------------------------- 1 | WARNING: The `[[ignore]]` field in qlty.toml is deprecated. Please use `[[exclude]]` or `exclude_patterns` instead. 2 | ✖ 4 issues 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/negated_ignore.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/override.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/override.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/override.stderr: -------------------------------------------------------------------------------- 1 | WARNING: The `[[override]]` field in qlty.toml is deprecated. Please use `[[triage]]` instead. 2 | ✖ 1 issue 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/override.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/pass_fail.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/pass_fail.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if ((x = 2)) { 4 | console.log("hi"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/pass_fail.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/pass_fail.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 1 3 | 4 | :0:0 5 | 0:0 high always_fail failed always_fail:fail 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/pass_fail.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/plugin_mode.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/plugin_mode.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/plugin_mode.stderr: -------------------------------------------------------------------------------- 1 | ✖ 3 issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/plugin_mode.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/plugins/source.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[plugin]] 4 | name = "simple" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.in/sub/nested/sample_3.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.in/sub/sample_2.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.in/sub2/sample_3.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.stdout: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.in/sub/sample_2.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.in/sub2/sample_3.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.stdout: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefix_formatter.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.in/sub/nested/deep.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.in/sub/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.in/sub2/not_target.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prefixed_formatter_batch_by_config.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prepare_script_fail.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prepare_script_fail.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prepare_script_fail.stderr: -------------------------------------------------------------------------------- 1 | 2 | ... 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/prepare_script_fail.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 99 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/regex_category_level.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/regex_category_level.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/regex_category_level.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/regex_category_level.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_or_parent_with_config.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_or_parent_with_config.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_or_parent_with_config.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_or_parent_with_config.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[source]] 4 | name = "local" 5 | directory = "../plugins" 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.stderr: -------------------------------------------------------------------------------- 1 | [0/1] [..]Planning... [..]s 2 | [1/1] [..]Analyzing all targets... 3 | ✔ No issues 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.stdout: -------------------------------------------------------------------------------- 1 | JOBS: 1 2 | 3 | Plugin Result Targets Time Debug File 4 | simple Success 1 target [..]s .qlty/out/invoke-[..].yaml 5 | 6 | Checked 1 file 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/root_source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--verbose", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | nested_folder/target/* 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from.in/nested_folder/src/high.rs: -------------------------------------------------------------------------------- 1 | fn do_bad_math() { 2 | 100u8 << 10; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from.in/nested_folder/src/main.rs: -------------------------------------------------------------------------------- 1 | mod high; 2 | 3 | fn main() { 4 | let x = 1; 5 | let y = 2; 6 | println!("Hello World {} {}", x, y); 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.in/nested_folder/sample.sh: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.in/root.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.in/root.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.stdout: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/runs_from_root_or_parent_with.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if ((x = 2)) { 4 | console.log("hi"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--skip-errored-plugins"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_installation.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_installation.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if ((x = 2)) { 4 | console.log("hi"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_installation.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_installation.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--skip-errored-plugins"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_reports_other_failures.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_reports_other_failures.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if ((x = 2)) { 4 | console.log("hi"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_reports_other_failures.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/skip_errored_plugins_reports_other_failures.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--skip-errored-plugins"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/subdir_from_subdir.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/subdir_from_subdir.stdout: -------------------------------------------------------------------------------- 1 | JOBS: 1 2 | 3 | Plugin Result Targets Time Debug File 4 | exists Success 1 target [..].[..]s ../.qlty/out/invoke-[..].yaml 5 | 6 | Checked 1 file 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/subdir_from_subdir.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--no-cache", "--verbose", "subdir2"] 3 | fs.cwd = "subdir_from_subdir.in/subdir1" -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | target/* 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.in/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "target" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.in/src/high.rs: -------------------------------------------------------------------------------- 1 | fn do_bad_math() { 2 | 100u8 << 10; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.in/src/main.rs: -------------------------------------------------------------------------------- 1 | mod high; 2 | 3 | fn main() { 4 | let x = 1; 5 | let y = 2; 6 | println!("Hello World {} {}", x, y); 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/target.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/timeout.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/timeout.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/timeout.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/timeout.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 1 3 | 4 | :0:0 5 | 0:0 high timeout failed timeout:fail 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/timeout.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage.stderr: -------------------------------------------------------------------------------- 1 | ✖ 2 issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage_match_level.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage_match_level.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage_match_level.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triage_match_level.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache", "--json"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triggers.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triggers.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triggers.stderr: -------------------------------------------------------------------------------- 1 | ✖ 2 issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triggers.stdout: -------------------------------------------------------------------------------- 1 | 2 | ISSUES: 2 3 | 4 | :0:0 5 | 0:0 high default failed default:fail 6 | 0:0 high manual failed manual:fail 7 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/triggers.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/using_deprecated_default_source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/using_deprecated_default_source.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[source]] 4 | name = "default" 5 | repository = "https://github.com/qltysh/qlty.git" 6 | tag = "v0.463.0" -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/using_deprecated_default_source.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/check/using_deprecated_default_source.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/check/using_deprecated_default_source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 99 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/checks.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/checks.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/checks.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/checks.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/checks.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/exclude_patterns.in/.codeclimate.yml: -------------------------------------------------------------------------------- 1 | exclude_patterns: 2 | - "lib/foundation.js" 3 | - "**/*.rb" 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/exclude_patterns.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/exclude_patterns.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/exclude_patterns.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/exclude_patterns.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/exclude_patterns.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/exclude_patterns.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_multiple.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_multiple.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_multiple.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_multiple.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_multiple.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_path.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_path.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path_plugin_name.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_path_plugin_name.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path_plugin_name.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_path_plugin_name.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_path_plugin_name.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_filename.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_url_filename.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_filename.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_url_filename.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_filename.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_plugin_name.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_url_plugin_name.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_plugin_name.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/match_url_plugin_name.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/match_url_plugin_name.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml.stderr: -------------------------------------------------------------------------------- 1 | 2 | ERROR 3 | 4 | > Could not find a .codeclimate.yml file. 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | status.code = 99 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml_fetch.in/.codeclimate.yml: -------------------------------------------------------------------------------- 1 | plugins: 2 | rubocop: 3 | enabled: true -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml_fetch.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml_fetch.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_codeclimate_yml_fetch.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.stderr: -------------------------------------------------------------------------------- 1 | 2 | ERROR 3 | 4 | > Qlty must be set up in this repository. Try: qlty init 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/missing_qlty_toml.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | status.code = 99 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/no_match.in/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/no_match.in/.gitignore -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/no_match.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/config/migrate/no_match.stderr -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/config/migrate/no_match.toml: -------------------------------------------------------------------------------- 1 | args = ["config", "migrate", "--dry-run",] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/basic.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/basic.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/coverage/basic.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/files_exist.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/files_exist.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/files_exist.in/src/formatter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/coverage/files_exist.in/src/formatter.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/ignore_patterns.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/ignore_patterns.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/ignore_patterns.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/coverage/ignore_patterns.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/json.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/json.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/overrides.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/overrides.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/publish_validate.in/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/publish_validate.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | tmp 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/publish_validate.in/formatter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/coverage/publish_validate.in/formatter.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/coverage/publish_validate.stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/coverage/publish_validate.stdout -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.in/deep/nested/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/fmt/config_copying.in/deep/nested/config.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.in/sample.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/fmt/config_copying.in/sample.sh -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.stderr: -------------------------------------------------------------------------------- 1 | ✔ No issues 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.stdout: -------------------------------------------------------------------------------- 1 | JOBS: 1 2 | 3 | Plugin Result Targets Time Debug File 4 | sample Success 1 target [..]s .qlty/out/invoke-[..].yaml 5 | 6 | Formatted 1 file 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/fmt/config_copying.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["fmt", "--all", "--verbose"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/help/help.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | stdout = "" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/basic.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_multiple_versions.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_multiple_versions.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_multiple_versions.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_new.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_new.in/new_config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/config_based_version_new.in/new_config.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_new.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_new.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_old.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_old.in/old_config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/config_based_version_old.in/old_config.json -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_old.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/config_based_version_old.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/custom_source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/custom_source.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/custom_source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file.in/sample.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file.in/sample.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile.in/sample.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file_gemfile.in/sample.rb -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_lock.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_lock.in/sample.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file_gemfile_lock.in/sample.rb -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_lock.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_with_gemspec.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_with_gemspec.in/sample.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file_gemfile_with_gemspec.in/sample.rb -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_gemfile_with_gemspec.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_package_json.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_package_json.in/sample.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file_package_json.in/sample.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_package_json.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_yarn_lock.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_yarn_lock.in/sample.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/package_file_yarn_lock.in/sample.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/package_file_yarn_lock.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.in/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "package-file-plugin": "5.0.0", 4 | "package-file-plugin-dependency": "1.0.0", 5 | "package-file-no-dep": "4.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.in/sample.js: -------------------------------------------------------------------------------- 1 | console.log("Hello, World!"); 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.in/sub/sample_2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/prefix.in/sub/sample_2.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.in/sub2/sample_3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-cli/tests/cmd/init/prefix.in/sub2/sample_3.js -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/prefix.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--source", "local=../plugins", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/skip_default_source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/skip_default_source.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/skip_default_source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--skip-default-source", "--no-upgrade-check"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/source.in/sample.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "$foo" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/init/source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["init", "--dry-run", "--no-upgrade-check", "--source", "local=../plugins"] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/basic.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/basic.stderr: -------------------------------------------------------------------------------- 1 | [0/3] [..]Planning... [..]s 2 | [1/3] [..]Analyzing files over all targets... [..]s 3 | [2/3] [..]Parsing 1 files... [..]s 4 | [3/3] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/basic.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "--all"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.in/app/initialize.py: -------------------------------------------------------------------------------- 1 | class Initialize: 2 | # Comment 3 | def initialize(self): 4 | if True: 5 | return 10 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.stderr: -------------------------------------------------------------------------------- 1 | [0/3] [..]Planning... [..]s 2 | [1/3] [..]Analyzing files over all targets... [..]s 3 | [2/3] [..]Parsing 3 files... [..]s 4 | [3/3] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "--all", "--max-depth=1"] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.in/app/initialize.py: -------------------------------------------------------------------------------- 1 | class Initialize: 2 | # Comment 3 | def initialize(self): 4 | if True: 5 | return 10 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.stderr: -------------------------------------------------------------------------------- 1 | [0/3] [..]Planning... [..]s 2 | [1/3] [..]Analyzing files over all targets... [..]s 3 | [2/3] [..]Parsing 3 files... [..]s 4 | [3/3] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/depth_advanced.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "--all", "--max-depth=2"] 2 | bin.name = "qlty" 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/json.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/json.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/json.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/json.stderr: -------------------------------------------------------------------------------- 1 | [0/3] [..]Planning... [..]s 2 | [1/3] [..]Analyzing files over all targets... [..]s 3 | [2/3] [..]Parsing 1 files... [..]s 4 | [3/3] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/json.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "--all", "--json"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.in/app/initialize.py: -------------------------------------------------------------------------------- 1 | class Initialize: 2 | # Comment 3 | def initialize(self): 4 | if True: 5 | return 10 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.stderr: -------------------------------------------------------------------------------- 1 | [0/3] [..]Planning... [..]s 2 | [1/3] [..]Analyzing files over 1 paths... [..]s 3 | [2/3] [..]Parsing 1 files... [..]s 4 | [3/3] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "app"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths_with_depth.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths_with_depth.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths_with_depth.in/app/initialize.py: -------------------------------------------------------------------------------- 1 | class Initialize: 2 | # Comment 3 | def initialize(self): 4 | if True: 5 | return 10 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths_with_depth.in/example.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | # Comment 3 | def bar(self): 4 | if True: 5 | return 1 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/metrics/paths_with_depth.toml: -------------------------------------------------------------------------------- 1 | args = ["metrics", "--max-depth=1", "app/controllers"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[source]] 4 | name = "default" 5 | default = true 6 | 7 | [[plugin]] 8 | name = "black" 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/basic.in/basic.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | pass 3 | 4 | import foo 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/basic.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | ✖ 1 unformatted file 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/prefix.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/prefix.in/also_nested/needs_formatting.js: -------------------------------------------------------------------------------- 1 | function x() { 2 | 3 | return 1 ; 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/prefix.in/nested/needs_formatting.js: -------------------------------------------------------------------------------- 1 | function x() { 2 | 3 | return 1 ; 4 | 5 | } -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/prefix.stderr: -------------------------------------------------------------------------------- 1 | ✖ 2 issues 2 | ✖ 2 unformatted files 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/prefix.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/source.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/source.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[source]] 4 | name = "default" 5 | default = true 6 | 7 | [[plugin]] 8 | name = "black" 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/source.in/basic.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | pass 3 | 4 | import foo 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/source.stderr: -------------------------------------------------------------------------------- 1 | ✖ 1 issue 2 | ✖ 1 unformatted file 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/check/source.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["check", "--all", "--no-cache"] 3 | status.code = 1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[source]] 4 | name = "default" 5 | default = true 6 | 7 | [[plugin]] 8 | name = "black" 9 | version = "24.1.1" 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/basic.in/sample.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | 3 | 4 | pass 5 | 6 | 7 | import foo 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/basic.stdout: -------------------------------------------------------------------------------- 1 | ✔ Formatted sample.py 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["fmt", "--all"] 3 | status.code = 0 4 | stderr = "" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/inline.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/inline.in/sample.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | 3 | 4 | pass 5 | 6 | 7 | import foo 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/inline.stdout: -------------------------------------------------------------------------------- 1 | ✔ Formatted sample.py 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/inline.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["fmt", "--all"] 3 | status.code = 0 4 | stderr = "" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/plugin_ignore.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/plugin_ignore.in/sample.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | let y = 2; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/plugin_ignore.in/sample.md: -------------------------------------------------------------------------------- 1 | - This is 2 | 3 | 4 | 5 | a line 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/plugin_ignore.stdout: -------------------------------------------------------------------------------- 1 | ✔ Formatted sample.js 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/plugin_ignore.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["fmt", "--all"] 3 | status.code = 0 4 | stderr = "" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/prefix.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/prefix.in/also_nested/needs_formatting.js: -------------------------------------------------------------------------------- 1 | function x() { 2 | 3 | return 1 ; 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/prefix.in/nested/needs_formatting.js: -------------------------------------------------------------------------------- 1 | function x() { 2 | 3 | return 1 ; 4 | 5 | } -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/prefix.stdout: -------------------------------------------------------------------------------- 1 | ✔ Formatted also_nested/needs_formatting.js 2 | ✔ Formatted nested/needs_formatting.js 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/network/fmt/prefix.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["fmt", "--all"] 3 | status.code = 0 4 | stderr = "" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_identical.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_identical.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [smells.identical_code] 4 | enabled = false 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_identical.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-snippets"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [smells.similar_code] 4 | enabled = false 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-snippets"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar_identical.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar_identical.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [smells.similar_code] 4 | enabled = false 5 | 6 | [smells.identical_code] 7 | enabled = false 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar_identical.stdout: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/disable_similar_identical.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-snippets"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication.stdout: -------------------------------------------------------------------------------- 1 | 2 | [] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-snippets", "--json"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication_paths.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication_paths.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication_paths.stdout: -------------------------------------------------------------------------------- 1 | 2 | 3 | app/models/model.rb 4 | 1 Found 28 lines of identical code in 2 locations (mass = 81) 5 | also found at app/controllers/controller.rb 6 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/duplication_paths.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "app/models", "--no-snippets"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/ignore_duplication_patterns.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/ignore_duplication_patterns.stdout: -------------------------------------------------------------------------------- 1 | 2 | [] 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/ignore_duplication_patterns.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-snippets", "--json"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.in/app/init.js: -------------------------------------------------------------------------------- 1 | function init() { 2 | if (true) { 3 | return; 4 | } 5 | return; 6 | return; 7 | return; 8 | return; 9 | return; 10 | return; 11 | } 12 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.in/returns.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | return; 3 | return; 4 | return; 5 | return; 6 | return; 7 | return; 8 | } 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.stderr: -------------------------------------------------------------------------------- 1 | [0/2] [..]Analyzing 1 path... [..]s 2 | [1/2] [..]Checking structure of 1 files... [..]s 3 | [2/2] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/paths.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--no-duplication", "--no-snippets", "--json", "app"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/structure.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/structure.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/structure.in/returns.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | return; 3 | return; 4 | return; 5 | return; 6 | return; 7 | return; 8 | } 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/structure.stderr: -------------------------------------------------------------------------------- 1 | [0/2] [..]Analyzing all targets... [..]s 2 | [1/2] [..]Checking structure of 1 files... [..]s 3 | [2/2] [..]Reporting...[..] -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/structure.toml: -------------------------------------------------------------------------------- 1 | args = ["smells", "--all", "--no-duplication", "--no-snippets", "--json"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/upstream.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/upstream.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/upstream.stdout: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/smells/upstream.toml: -------------------------------------------------------------------------------- 1 | args = ["smells"] 2 | bin.name = "qlty" 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/version/version.stdout: -------------------------------------------------------------------------------- 1 | qlty [..].[..].[..] [..]-[..] ([..] debug [..]) 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/cmd/version/version.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["--version", "--no-upgrade-check"] 3 | stderr = "" 4 | status.code = 0 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/fixtures/samples/sample.js: -------------------------------------------------------------------------------- 1 | let foo = 3; 2 | 3 | switch (foo) { 4 | case 1: 5 | break; 6 | case 2: 7 | break; 8 | default: 9 | break; 10 | } 11 | -------------------------------------------------------------------------------- /qlty-cli/tests/fixtures/samples/sample.py: -------------------------------------------------------------------------------- 1 | match foo: 2 | case 1: 3 | pass 4 | case _: 5 | pass 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/fixtures/samples/sample.rb: -------------------------------------------------------------------------------- 1 | class Foo 2 | def bar 3 | return 10 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/cognitive/CountRecursion.cs: -------------------------------------------------------------------------------- 1 | namespace cognitive 2 | { 3 | class CountRecursion { 4 | public static void Main() { 5 | Main(); 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/cyclomatic/CycloBasic.cs: -------------------------------------------------------------------------------- 1 | namespace Cyclomatic { 2 | class CycloBasic { 3 | public static void Main(string args[]) { 4 | int x = 1; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/cyclomatic/EmptyFunction.cs: -------------------------------------------------------------------------------- 1 | namespace Cyclomatic 2 | { 3 | class EmptyFunction { 4 | public static string Main(string args[]) { 5 | } 6 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/cyclomatic/EmptyIf.cs: -------------------------------------------------------------------------------- 1 | namespace Cyclomatic 2 | { 3 | class EmptyIf { 4 | public static string Main(bool arg) { 5 | if (arg) { 6 | } 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.in/functions/SingletonMethodsWithoutParams.cs: -------------------------------------------------------------------------------- 1 | public class SingletonMethodsWithoutParams 2 | { 3 | public static string Bar() 4 | { 5 | return "bar"; 6 | } 7 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/csharp/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cognitive/count_else.go: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | func foo() { 4 | if true { // +1 5 | true 6 | } else { // +1 7 | true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cognitive/count_for.go: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | import "fmt" 4 | 5 | func foo(a int) { 6 | for true { // +1 7 | fmt.Printf("This loop will run forever.") 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cognitive/count_goto.go: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | import "fmt" 4 | 5 | func foo() { 6 | fmt.Println(1) 7 | goto End 8 | fmt.Println(2) 9 | End: 10 | fmt.Println(3) 11 | } 12 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cognitive/count_if.go: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | func foo() { 4 | if true { // +1 5 | true 6 | } 7 | 8 | if true { // +1 9 | true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cyclomatic/cyclo_basic.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func greet(name string) string { 6 | return "Hello!" 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cyclomatic/cyclo_for_loop.go: -------------------------------------------------------------------------------- 1 | package testdata 2 | 3 | func l2() { 4 | for { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cyclomatic/cyclo_for_loop_nested.go: -------------------------------------------------------------------------------- 1 | package testdata 2 | 3 | func l3() { 4 | for { 5 | for { 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cyclomatic/cyclo_for_range.go: -------------------------------------------------------------------------------- 1 | package testdata 2 | 3 | func l2range() { 4 | for range []struct{}{} { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/cyclomatic/cyclo_if.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func main() { 6 | x := 1 7 | if x { 8 | y := 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.in/fields/struct_declaration.go: -------------------------------------------------------------------------------- 1 | type Person struct { 2 | Name string 3 | Age int 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/go/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cognitive/CountRecursion.java: -------------------------------------------------------------------------------- 1 | package cognitive; 2 | 3 | class CountRecursion { 4 | public static void main() { 5 | main(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cyclomatic/CycloBasic.java: -------------------------------------------------------------------------------- 1 | class CycloBasic { 2 | public static void main(String[] args) { 3 | int x = 1; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cyclomatic/CycloIf.java: -------------------------------------------------------------------------------- 1 | class CycloIf { 2 | public static void main(String[] args) { 3 | int x = 1; 4 | if (x > 0) { 5 | int y = 1; 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cyclomatic/EmptyFunction.java: -------------------------------------------------------------------------------- 1 | class EmptyFunction { 2 | public static void main(String[] args) { 3 | 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cyclomatic/EmptyIf.java: -------------------------------------------------------------------------------- 1 | class EmptyIf { 2 | public static void main(boolean arg) { 3 | if (arg) { 4 | } 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/cyclomatic/IfWithBool.java: -------------------------------------------------------------------------------- 1 | class IfWithBool { 2 | public static void main(boolean[] args) { 3 | if (args[0] && args[1]) { 4 | } 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.in/functions/SingleTonMethodWithoutParams.java: -------------------------------------------------------------------------------- 1 | class SingleTonMethodWithoutParams { 2 | public static String bar() { 3 | return "bar"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/java/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/boolean_logic.js: -------------------------------------------------------------------------------- 1 | function f0() { 2 | let x = foo - bar + 1; 3 | } 4 | 5 | function f1() { 6 | if (foo && bar && baz && qux) { 7 | return; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cognitive/count_conditional_assignment.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | bar = bar || 10; 3 | foo = foo && 10; 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cognitive/count_function_with_ternary.js: -------------------------------------------------------------------------------- 1 | function abs(num) { 2 | return num > 0 ? num : num * -1; 3 | // +1 +1 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cognitive/count_non_sequential_logical_operators.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | return true || (false && true && false) || true; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cognitive/count_recursion.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | foo(); 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/cyclo_basic.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | let x = 1; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/cyclo_if.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | if (x) { 3 | let y = 1; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/cyclo_if_else.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | if (x) { 3 | let y = 1; 4 | } else { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/cyclo_if_else_if.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | if (x) { 3 | let y = 1; 4 | } else if (z) { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/empty_function.js: -------------------------------------------------------------------------------- 1 | function foo() {} 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/empty_if.js: -------------------------------------------------------------------------------- 1 | function bar() { 2 | if (foo) { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/if_with_bool.js: -------------------------------------------------------------------------------- 1 | function baz() { 2 | if (foo && bar) { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/iterative_for_of.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | for (const animal of ["dog", "cat", "bear"]) { 3 | console.log(animal); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/iterative_map.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | ["dog", "cat", "bear"].map((animal) => { 3 | console.log(animal); 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/cyclomatic/while_loop.js: -------------------------------------------------------------------------------- 1 | function foo() { 2 | while (true) {} 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/ignore_collaborators.js: -------------------------------------------------------------------------------- 1 | other.foo = 1; 2 | other.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/multiple.js: -------------------------------------------------------------------------------- 1 | this.foo; 2 | this.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/private_field_declaration.js: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | #privateField = "privateValue"; 3 | 4 | getPrivateField() { 5 | return this.#privateField; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/public_field_declaration.js: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | fieldName = "someValue"; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/read.js: -------------------------------------------------------------------------------- 1 | this.foo; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/static_field_declaration.js: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | static staticField = "staticValue"; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/unique.js: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | this.foo; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/fields/write.js: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | this.bar = 2; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/functions/singleton_methods_with_parameters.js: -------------------------------------------------------------------------------- 1 | class Foo { 2 | static bar(dog, cat) { 3 | return [dog, cat].map((animal) => animal.toString()); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/functions/singleton_methods_without_parameters.js: -------------------------------------------------------------------------------- 1 | class Foo { 2 | static bar() { 3 | return "bar"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/lcom/lcom_1-1.js: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo() { 7 | return this.baz(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.in/lcom/lcom_1.js: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo() { 7 | return this.baz; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/javascript/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/boolean_logic.kt: -------------------------------------------------------------------------------- 1 | fun f0() { 2 | val x = foo - bar + 1 3 | } 4 | 5 | fun f1() { 6 | if (foo && bar && baz && qux) { 7 | return 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/fields.kt: -------------------------------------------------------------------------------- 1 | data class Foo(val bar: Int, val baz: Int) 2 | 3 | fun doSomething() { 4 | val foo = Foo(bar = 42, baz = 0) 5 | println("${foo.bar} ${foo.baz}") 6 | } 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/lcom_1-1.kt: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | fun foo() { 5 | this.baz() 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.in/lcom_1.kt: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | fun foo() { 5 | this.baz 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/kotlin/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cognitive/count_conditional_assignment.php: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cognitive/count_function_with_ternary.php: -------------------------------------------------------------------------------- 1 | 0 ? $num : $num * -1; 4 | // +1 +1 5 | } 6 | ?> 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cognitive/count_non_sequential_logical_operators.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cognitive/count_recursion.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/cyclo_basic.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/cyclo_if.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/cyclo_if_else.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/cyclo_if_else_if.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/empty_function.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/empty_if.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/if_with_bool.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/iterative_for_of.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/iterative_map.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/cyclomatic/while_loop.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/ignore_collaborators.php: -------------------------------------------------------------------------------- 1 | foo = 1; 3 | $other->bar; 4 | ?> 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/multiple.php: -------------------------------------------------------------------------------- 1 | foo; 3 | $this->bar; 4 | ?> 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/public_field_declaration.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/read.php: -------------------------------------------------------------------------------- 1 | foo; 3 | ?> 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/static_field_declaration.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/unique.php: -------------------------------------------------------------------------------- 1 | foo = 1; 3 | $this->foo; 4 | ?> 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/fields/write.php: -------------------------------------------------------------------------------- 1 | foo = 1; 3 | $this->bar = 2; 4 | ?> 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.in/functions/singleton_methods_without_parameters.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/php/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/boolean_logic.py: -------------------------------------------------------------------------------- 1 | def f0(): 2 | x = foo - bar + 1 3 | 4 | 5 | def f1(): 6 | if foo and bar and baz and qux: 7 | return 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_boolean.py: -------------------------------------------------------------------------------- 1 | if foo and bar or baz: 2 | bar() 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_catch_rescue_statements.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | try: 3 | pass 4 | except Exception as e: 5 | pass 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_conditional_assignment.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | global bar, foo 3 | if not bar: 4 | bar = 10 5 | if foo: 6 | foo = 10 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_decorator.py: -------------------------------------------------------------------------------- 1 | def decorator(a, b): 2 | def wrapper(f): 3 | if foo: 4 | print(a) 5 | f() 6 | 7 | return wrapper 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_function_with_ternary.py: -------------------------------------------------------------------------------- 1 | def abs(num): 2 | num = num if num > 0 else num * -1 3 | # +1 +1 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_if.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | bar() 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_if_elif_else.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | bar() 3 | elif bar: 4 | baz() 5 | else: 6 | qux() 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_if_else.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | bar() 3 | else: 4 | baz() 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_if_elsif.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | bar() 3 | elif bar: 4 | baz() 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_jumps.py: -------------------------------------------------------------------------------- 1 | while foo: 2 | break 3 | continue 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_lambdas.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | x = 1 3 | 4 | def bar(): 5 | if x > 1: 6 | x += 1 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_multiple_if_statements.py: -------------------------------------------------------------------------------- 1 | def foo 2 | if true # +1 3 | end 4 | 5 | if true # +1 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_nesting_elif.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | 1 3 | elif bar: 4 | if baz: 5 | baz() 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_nesting_else.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | 1 3 | else: 4 | if baz: 5 | baz() 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_nesting_except.py: -------------------------------------------------------------------------------- 1 | try: 2 | baz() 3 | except ValueError: 4 | if bar: 5 | baz() 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_nesting_if.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | if bar: 3 | baz() 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_nesting_loops.py: -------------------------------------------------------------------------------- 1 | while foo: 2 | if bar: 3 | baz() 4 | 5 | for foo in bar: 6 | if bar: 7 | baz() 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_no_logic.py: -------------------------------------------------------------------------------- 1 | foo() 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_non_sequential_logical_operators.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | return True or False and True and False or True 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_recursion.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | foo() 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cognitive/count_ternary.py: -------------------------------------------------------------------------------- 1 | x = 1 if foo else 2 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/count_binary.py: -------------------------------------------------------------------------------- 1 | if foo and bar: 2 | pass 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/count_if.py: -------------------------------------------------------------------------------- 1 | if foo: 2 | pass 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/count_loop.py: -------------------------------------------------------------------------------- 1 | while true: 2 | pass 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/count_no_logic.py: -------------------------------------------------------------------------------- 1 | def baz(): 2 | pass 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/cyclo_if_elif.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | if x: 3 | y = 1 4 | elif z: 5 | y = 2 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/cyclo_if_elif_else.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | if x: 3 | y = 1 4 | elif z: 5 | y = 2 6 | else: 7 | y = 3 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/cyclo_if_else.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | if x: 3 | y = 1 4 | else: 5 | y = 2 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/iterative_for_in.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | for animal in ["dog", "cat", "bear"]: 3 | print(animal) 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/cyclomatic/iterative_map.py: -------------------------------------------------------------------------------- 1 | def foo(): 2 | result = map(lambda animal: print(animal), ["dog", "cat", "bear"]) 3 | list(result) 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/fields/ignore_collaborators.py: -------------------------------------------------------------------------------- 1 | other.foo = 1 2 | other.bar 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/fields/multiple.py: -------------------------------------------------------------------------------- 1 | self.foo 2 | self.bar 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/fields/read.py: -------------------------------------------------------------------------------- 1 | self.foo 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/fields/unique.py: -------------------------------------------------------------------------------- 1 | self.foo = 1 2 | self.foo 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/fields/write.py: -------------------------------------------------------------------------------- 1 | self.foo = 1 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/functions/singleton_methods_with_parameters.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | @staticmethod 3 | def bar(dog, cat): 4 | return [str(animal) for animal in [dog, cat]] 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/functions/singleton_methods_without_parameters.py: -------------------------------------------------------------------------------- 1 | class Foo: 2 | @staticmethod 3 | def bar(): 4 | return "bar" 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/lcom/lcom_1-1.py: -------------------------------------------------------------------------------- 1 | # lcom=1 2 | 3 | 4 | class Klass: 5 | def foo(self): 6 | return self.baz() 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.in/lcom/lcom_1.py: -------------------------------------------------------------------------------- 1 | # lcom=1 2 | 3 | 4 | class Klass: 5 | def foo(self): 6 | return self.baz 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/python/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/boolean_logic.rb: -------------------------------------------------------------------------------- 1 | def f0 2 | x = foo - bar + 1 3 | end 4 | 5 | def f1 6 | if foo && bar && baz && qux 7 | return 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_catch_rescue_statements.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | begin 3 | rescue # +1 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_conditional_assignment.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | bar ||= 10 3 | foo &&= 10 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_function_with_ternary.rb: -------------------------------------------------------------------------------- 1 | def abs(num) 2 | num > 0 ? num : num * -1 3 | # +1 +1 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_multiple_if_statements.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | if true # +1 3 | end 4 | 5 | if true # +1 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_nested_logical_expressions.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | return foo0 && foo1 && (foo2 || (foo3 || foo4)) && foo5 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_non_sequential_logical_operators.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | foo || cat && dog && mouse || bar 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_recursion.rb: -------------------------------------------------------------------------------- 1 | def foo(a) 2 | foo(a) 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_simple_logical_operator_sequences.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | true and true or false # +2 3 | true && true || false # +2 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/count_switch_statements.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | case true # +1 3 | when true 4 | when false 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/does_not_increment_for_eponymous_method_called_on_object.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | n.foo # 0 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/does_not_increment_recursion_for_class_method.rb: -------------------------------------------------------------------------------- 1 | class Foo 2 | def foo 3 | self.class.foo # 0 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/no_params_with_parenthesis.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | foo() 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cognitive/recursion_no_params_with_self.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | self.foo 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/empty_function.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | end 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/empty_if.rb: -------------------------------------------------------------------------------- 1 | def bar(foo) 2 | if foo 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/if_else.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | if x 3 | y = 1 4 | else 5 | y = 2 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/if_elsif.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | if x 3 | y = 1 4 | elsif z 5 | y = 2 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/if_elsif_else.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | if x 3 | y = 1 4 | elsif z 5 | y = 2 6 | else 7 | y = 3 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/if_with_conjunction.rb: -------------------------------------------------------------------------------- 1 | def baz(foo, bar) 2 | if foo && bar 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/if_with_var.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | if x 3 | y = 1 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/iterative_each.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | animals = ["dog", "cat", "bear"] 3 | 4 | animals.each do |animal| 5 | puts animal 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/iterative_for.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | for animal in ["dog", "cat", "bear"] 3 | puts animal 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/iterative_map.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | ["dog", "cat", "bear"].map do |animal| 3 | puts animal 4 | animal 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/non_iterative_do.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | File.open('some_file.txt', 'r') do |file| 3 | puts file.read 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/single_variable.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | x = 1 3 | end 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/cyclomatic/while_loop.rb: -------------------------------------------------------------------------------- 1 | def foo 2 | while true 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/ignore_collaborators.rb: -------------------------------------------------------------------------------- 1 | other.foo = 1 2 | other.bar 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/manual_method_declaration.rb: -------------------------------------------------------------------------------- 1 | def my_var 2 | @my_var 3 | end 4 | 5 | def my_var=(value) 6 | @my_var = value 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/multiple.rb: -------------------------------------------------------------------------------- 1 | @foo 2 | @bar 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/read.rb: -------------------------------------------------------------------------------- 1 | @foo 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/struct_declaration.rb: -------------------------------------------------------------------------------- 1 | Person = Struct.new(:name, :age) 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/unique.rb: -------------------------------------------------------------------------------- 1 | @foo = 1 2 | @foo 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/fields/write.rb: -------------------------------------------------------------------------------- 1 | @foo = 1 2 | @@bar = 2 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/functions/singleton_methods_with_parameters.rb: -------------------------------------------------------------------------------- 1 | class Foo 2 | def self.bar(dog, cat) 3 | [dog, cat].map { |animal| animal.to_s } 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/functions/singleton_methods_without_parameters.rb: -------------------------------------------------------------------------------- 1 | class Foo 2 | def self.bar 3 | "bar" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/lcom/lcom_1-1.rb: -------------------------------------------------------------------------------- 1 | # lcom=1 2 | 3 | class Klass 4 | def foo 5 | self.baz 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.in/lcom/lcom_1.rb: -------------------------------------------------------------------------------- 1 | # lcom=1 2 | 3 | class Klass 4 | def foo 5 | self.baz 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/ruby/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/rust/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/rust/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/rust/basic.in/boolean_logic.rs: -------------------------------------------------------------------------------- 1 | fn f0() { 2 | let x = foo - bar + 1; 3 | } 4 | 5 | fn f1() { 6 | if foo && bar && baz && qux { 7 | return; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/rust/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.in/cyclomatic/CycloBasic.swift: -------------------------------------------------------------------------------- 1 | // Basic cyclomatic complexity test 2 | 3 | func basic(a: Int, b: Int) -> Int { 4 | return a + b 5 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.in/cyclomatic/EmptyFunction.swift: -------------------------------------------------------------------------------- 1 | // Empty function cyclomatic complexity test 2 | 3 | func emptyFunction() { 4 | // Empty function 5 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.in/cyclomatic/EmptyIf.swift: -------------------------------------------------------------------------------- 1 | // Empty if statement cyclomatic complexity test 2 | 3 | func emptyIf(condition: Bool) { 4 | if condition { 5 | // Empty if block 6 | } 7 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.in/lcom/lcom_1-1.swift: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | // No fields 5 | 6 | func method1() -> String { 7 | return "method1" 8 | } 9 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.in/lcom/lcom_1.swift: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | private var field: String = "field" 5 | 6 | func getField() -> String { 7 | return field 8 | } 9 | } -------------------------------------------------------------------------------- /qlty-cli/tests/lang/swift/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cognitive/count_ternary.tsx: -------------------------------------------------------------------------------- 1 | let x = foo ? 1 : 2; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/count_binary.tsx: -------------------------------------------------------------------------------- 1 | if (foo && bar) { 2 | } 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/count_if.tsx: -------------------------------------------------------------------------------- 1 | if (foo) { 2 | } 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/count_loop.tsx: -------------------------------------------------------------------------------- 1 | while (true) {} 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/count_no_logic.tsx: -------------------------------------------------------------------------------- 1 | function baz() {} 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/cyclo_if_else.tsx: -------------------------------------------------------------------------------- 1 | function f2(): void { 2 | if (x) { 3 | let y = 1; 4 | } else { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/cyclo_if_else_if.tsx: -------------------------------------------------------------------------------- 1 | function f3(): void { 2 | if (x) { 3 | let y = 1; 4 | } else if (z) { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/iterative_for_of.tsx: -------------------------------------------------------------------------------- 1 | function f1(): void { 2 | for (const animal of ["dog", "cat", "bear"]) { 3 | console.log(animal); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/cyclomatic/iterative_map.tsx: -------------------------------------------------------------------------------- 1 | function f(): void { 2 | ["dog", "cat", "bear"].map((animal: string) => { 3 | console.log(animal); 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/basic_declaration.tsx: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | fieldName: string; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/declaration_with_initializer.tsx: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | fieldName: string = "Initial Value"; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/ignore_collaborators.tsx: -------------------------------------------------------------------------------- 1 | other.foo = 1; 2 | other.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/multiple.tsx: -------------------------------------------------------------------------------- 1 | this.foo; 2 | this.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/read.tsx: -------------------------------------------------------------------------------- 1 | this.foo; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/unique.tsx: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | this.foo; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/fields/write.tsx: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/lcom/lcom_1-1.tsx: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo(): any { 7 | return this.baz(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.in/lcom/lcom_1.tsx: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo(): any { 7 | return this.baz; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/tsx/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/.gitignore: -------------------------------------------------------------------------------- 1 | .qlty/results 2 | .qlty/logs 3 | .qlty/out 4 | .qlty/sources 5 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cognitive/count_ternary.ts: -------------------------------------------------------------------------------- 1 | let x = foo ? 1 : 2; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/count_binary.ts: -------------------------------------------------------------------------------- 1 | if (foo && bar) { 2 | } 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/count_if.ts: -------------------------------------------------------------------------------- 1 | if (foo) { 2 | } 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/count_loop.ts: -------------------------------------------------------------------------------- 1 | while (true) {} 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/count_no_logic.ts: -------------------------------------------------------------------------------- 1 | function baz() {} 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/cyclo_if_else.ts: -------------------------------------------------------------------------------- 1 | function f2(): void { 2 | if (x) { 3 | let y = 1; 4 | } else { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/cyclo_if_else_if.ts: -------------------------------------------------------------------------------- 1 | function f3(): void { 2 | if (x) { 3 | let y = 1; 4 | } else if (z) { 5 | let y = 2; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/iterative_for_of.ts: -------------------------------------------------------------------------------- 1 | function f1(): void { 2 | for (const animal of ["dog", "cat", "bear"]) { 3 | console.log(animal); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/cyclomatic/iterative_map.ts: -------------------------------------------------------------------------------- 1 | function f(): void { 2 | ["dog", "cat", "bear"].map((animal: string) => { 3 | console.log(animal); 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/basic_declaration.ts: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | fieldName: string; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/declaration_with_initializer.ts: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | fieldName: string = "Initial Value"; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/ignore_collaborators.ts: -------------------------------------------------------------------------------- 1 | other.foo = 1; 2 | other.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/multiple.ts: -------------------------------------------------------------------------------- 1 | this.foo; 2 | this.bar; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/read.ts: -------------------------------------------------------------------------------- 1 | this.foo; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/unique.ts: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | this.foo; 3 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/fields/write.ts: -------------------------------------------------------------------------------- 1 | this.foo = 1; 2 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/functions/singleton_methods_without_parameters.ts: -------------------------------------------------------------------------------- 1 | class Foo { 2 | static bar(): string { 3 | return "bar"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/lcom/lcom_1-1.ts: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo(): any { 7 | return this.baz(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.in/lcom/lcom_1.ts: -------------------------------------------------------------------------------- 1 | // lcom=1 2 | 3 | class Klass { 4 | constructor() {} 5 | 6 | foo(): any { 7 | return this.baz; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /qlty-cli/tests/lang/typescript/basic.toml: -------------------------------------------------------------------------------- 1 | bin.name = "qlty" 2 | args = ["build", "--no-plugins", "--print"] 3 | status.code = 0 4 | -------------------------------------------------------------------------------- /qlty-cli/tests/tests.rs: -------------------------------------------------------------------------------- 1 | mod cmd; 2 | mod helpers; 3 | mod lang; 4 | -------------------------------------------------------------------------------- /qlty-coverage/src/macros.rs: -------------------------------------------------------------------------------- 1 | #[macro_export] 2 | macro_rules! eprintln_unless { 3 | ($cond:expr, $($arg:tt)*) => { 4 | if !$cond { 5 | eprintln!($($arg)*); 6 | } 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/.gitattributes: -------------------------------------------------------------------------------- 1 | * -text eol=lf 2 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | tmp 3 | qlty-results 4 | github_issues.json 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/actionlint/actionlint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("actionlint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ast-grep/ast-grep.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("ast-grep", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ast-grep/fixtures/basic.in/sample.ts: -------------------------------------------------------------------------------- 1 | async function foo() {} 2 | 3 | Promise.all([await foo()]); 4 | 5 | export default {}; 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ast-grep/fixtures/basic.in/sgconfig.yml: -------------------------------------------------------------------------------- 1 | ruleDirs: 2 | - rules 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/bandit/bandit.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("bandit", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/biome/biome.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("biome", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/black/black.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("black", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/black/fixtures/basic.in.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | pass 3 | 4 | import foo 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/brakeman/brakeman.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("brakeman", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/brakeman/fixtures/basic.in/app/helpers/users_helper.rb: -------------------------------------------------------------------------------- 1 | module UsersHelper 2 | def bad_helper 3 | eval(params[:x]) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/brakeman/fixtures/basic_nested.in/nested/app/helpers/users_helper.rb: -------------------------------------------------------------------------------- 1 | module UsersHelper 2 | def bad_helper 3 | eval(params[:x]) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/checkov/checkov.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("checkov", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/checkstyle/checkstyle.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("checkstyle", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/checkstyle/fixtures/Empty.in.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/checkstyle/fixtures/Empty.in.java -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/clippy/clippy.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("clippy", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/clippy/fixtures/multiple_files.in/src/high.rs: -------------------------------------------------------------------------------- 1 | fn do_bad_math() { 2 | 100u8 << 10; 3 | } 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/clippy/fixtures/multiple_files.in/src/main.rs: -------------------------------------------------------------------------------- 1 | mod high; 2 | 3 | fn main() { 4 | let x = 1; 5 | let y = 2; 6 | if x == y || x < y {} 7 | println!("Hello World"); 8 | } 9 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/coffeelint/coffeelint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("coffeelint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/dockerfmt/dockerfmt.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("dockerfmt", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/dotenv-linter/dotenv_linter.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("dotenv-linter", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/dotenv-linter/fixtures/basic.in.env: -------------------------------------------------------------------------------- 1 | 1ABC=2345 2 | asFD=123 3 | FOO=BAR 4 | FOO=BAZ 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/eslint/eslint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("eslint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/eslint/fixtures/basic_8.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if (x = 2) { 4 | console.log('hi'); 5 | } -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/eslint/fixtures/basic_9.in/basic.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if (x = 2) { 4 | console.log('hi'); 5 | } -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/flake8/.flake8: -------------------------------------------------------------------------------- 1 | # Autoformatter friendly flake8 config (all formatting rules disabled) 2 | [flake8] 3 | extend-ignore = D1, D2, E1, E2, E3, E501, W1, W2, W3, W5 -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/flake8/fixtures/basic.in.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | pass 3 | 4 | import foo 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/flake8/flake8.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("flake8", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/gitleaks/fixtures/basic.in.py: -------------------------------------------------------------------------------- 1 | aws_secret = "AKIAIMNOJVGFDXXXE4OA" -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/gitleaks/gitleaks.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("gitleaks", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/gofmt/fixtures/basic.in.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // 🧗. 4 | func main() { 5 | 6 | 7 | 8 | } 9 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/gofmt/fixtures/empty.in.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/gofmt/fixtures/empty.in.go -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/gofmt/gofmt.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("gofmt", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/golangci-lint/fixtures/basic.in.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "time" 4 | 5 | // ✋✋✋✋ 6 | // this is the main function 🏃 7 | func main() { 8 | time.Parse("asdf", "") 9 | } 10 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/golangci-lint/fixtures/basic_new.in/go.mod: -------------------------------------------------------------------------------- 1 | module golangcilint_linter_test 2 | 3 | go 1.18 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/golangci-lint/fixtures/go.mod: -------------------------------------------------------------------------------- 1 | module golangcilint_linter_test 2 | 3 | go 1.18 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/golangci-lint/fixtures/unused_func.in.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func helper() { 6 | fmt.Println("✋ World!") 7 | } 8 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/golangci-lint/golangci-lint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("golangci-lint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/google-java-format/google-java-format.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("google-java-format", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/hadolint/.hadolint.yaml: -------------------------------------------------------------------------------- 1 | ignored: 2 | - DL3008 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/hadolint/fixtures/basic.in.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu 2 | 3 | RUN cd /tmp && echo "foo" -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/hadolint/hadolint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("hadolint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/haml-lint/fixtures/basic.in.haml: -------------------------------------------------------------------------------- 1 | -# Should report issues on line 2 and 3 2 | #PascalCase 3 | %img{ alt: 'A relevant description' } 4 | 5 | - 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/haml-lint/fixtures/empty.in.haml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/haml-lint/fixtures/empty.in.haml -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/haml-lint/haml-lint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("haml-lint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/knip/fixtures/basic.in/src/hello.js: -------------------------------------------------------------------------------- 1 | function hello() { 2 | console.log('Hello'); 3 | } 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/knip/fixtures/basic_nested.in/nested/src/hello.js: -------------------------------------------------------------------------------- 1 | function hello() { 2 | console.log('Hello'); 3 | } 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/knip/knip.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("knip", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/kube-linter/kube-linter.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("kube-linter", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/markdownlint/fixtures/.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "MD047": false 3 | } -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/markdownlint/fixtures/basic.in.md: -------------------------------------------------------------------------------- 1 | ## Crazy 2 | 3 | # Headers 4 | 5 | #### Here -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/markdownlint/fixtures/no_issues.in.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/markdownlint/fixtures/no_issues.in.md -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/markdownlint/markdownlint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("markdownlint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/mypy/mypy.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("mypy", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/fixtures/__snapshots__/yarn_v1.7.0.shot: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`linter=osv-scanner fixture=yarn version=1.7.0 1`] = `No issues found.`; 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/fixtures/__snapshots__/yarn_v1.8.2.shot: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`linter=osv-scanner fixture=yarn version=1.8.2 1`] = `No issues found.`; 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/fixtures/__snapshots__/yarn_v1.9.0.shot: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`linter=osv-scanner fixture=yarn version=1.9.0 1`] = `No issues found.`; 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/fixtures/empty_yarn.in/yarn.lock: -------------------------------------------------------------------------------- 1 | # empty yarn file 2 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/fixtures/requirements.in/requirements.txt: -------------------------------------------------------------------------------- 1 | pillow==9.1.1 2 | langchain==0.0.171 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/osv-scanner/osv-scanner.test.ts: -------------------------------------------------------------------------------- 1 | import { linterStructureTest } from "tests"; 2 | 3 | linterStructureTest("osv-scanner", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/oxc/fixtures/basic.in.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | if (x = 2) { 4 | console.log('hi'); 5 | } 6 | 7 | debugger; 8 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/oxc/oxc.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("oxc", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/php-codesniffer/fixtures/empty.in.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/php-codesniffer/fixtures/empty.in.php -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/php-codesniffer/fixtures/no_issues.in.php: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/php-codesniffer/php-codesniffer.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("php-codesniffer", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/php-cs-fixer/php-cs-fixer.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("php-cs-fixer", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/phpstan/phpstan.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("phpstan", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/pmd/fixtures/apex.in.cls: -------------------------------------------------------------------------------- 1 | global class HelloWorld { 2 | public String hello() { 3 | return 'Hello World!'; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/pmd/pmd.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("pmd", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/prettier/fixtures/basic.in.js: -------------------------------------------------------------------------------- 1 | let x = 1; 2 | 3 | 4 | 5 | if (x = 2) { 6 | console.log('hi'); 7 | } -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/prettier/prettier.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("prettier", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/prisma/prisma.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("prisma", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-go/radarlint-go.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-go", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-iac/radarlint-iac.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-iac", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-java/fixtures/Empty.in.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/radarlint-java/fixtures/Empty.in.java -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-java/radarlint-java.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-java", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-js/fixtures/foo.in.js: -------------------------------------------------------------------------------- 1 | // TODO: Refactor this function 2 | function main() { 3 | // FIXME: This is a bug 4 | console.log('foo'); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-js/radarlint-js.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-js", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-kotlin/radarlint-kotlin.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-kotlin", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-php/radarlint-php.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-php", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-python/radarlint-python.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-python", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-ruby/radarlint-ruby.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-ruby", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint-scala/radarlint-scala.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint-scala", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint/fixtures/Empty.in.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/radarlint/fixtures/Empty.in.java -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/radarlint/radarlint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("radarlint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/redocly/redocly.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("redocly", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/reek/reek.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("reek", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ripgrep/fixtures/no_match.in.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let note = 1; // doesn't capture lowercase note 3 | println!("note: {}", note); 4 | println!("Hello, world!"); 5 | } 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ripgrep/ripgrep.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("ripgrep", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/fixtures/.rubocop.yml: -------------------------------------------------------------------------------- 1 | Style/EndOfLine: 2 | EnforcedStyle: lf 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/fixtures/plugins.in/.qlty/qlty.toml: -------------------------------------------------------------------------------- 1 | config_version = "0" 2 | 3 | [[plugin]] 4 | name = "rubocop" 5 | package_file = "Gemfile.qlty" 6 | package_filters = ["rubocop"] 7 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/fixtures/plugins.in/.rubocop.yml: -------------------------------------------------------------------------------- 1 | require: rubocop-rails 2 | 3 | Style/EndOfLine: 4 | EnforcedStyle: lf 5 | 6 | AllCops: 7 | TargetRubyVersion: 3.x 8 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/fixtures/plugins.in/Gemfile.qlty: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'rubocop' 4 | gem 'rubocop-rails', require: false 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/fixtures/plugins.in/basic.in.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | def check_blank(value) 4 | value.nil? || value.empty? 5 | end 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rubocop/rubocop.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("rubocop", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ruby-stree/ruby-stree.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("ruby-stree", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/ruff/ruff.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("ruff", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rustfmt/fixtures/empty.in.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/rustfmt/fixtures/empty.in.rs -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/rustfmt/rustfmt.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("rustfmt", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/semgrep/fixtures/basic.in.rs: -------------------------------------------------------------------------------- 1 | struct Foo { 2 | bar: i32, 3 | } 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/semgrep/semgrep.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("semgrep", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shellcheck/.shellcheckrc: -------------------------------------------------------------------------------- 1 | source-path=SCRIPTDIR -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shellcheck/fixtures/basic.in.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | x = 1 4 | echo $x -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shellcheck/shellcheck.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("shellcheck", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shfmt/fixtures/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shfmt/fixtures/basic.in.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | num=`awk '{print $1}' $i` 3 | if (( $num >= 1000 )); then # potential CPU hogs? 4 | fi 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shfmt/fixtures/empty.in.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qltysh/qlty/1da63c5295da307b96ec16993b3650a4bc2585f1/qlty-plugins/plugins/linters/shfmt/fixtures/empty.in.sh -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/shfmt/shfmt.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("shfmt", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/sqlfluff/fixtures/basic_check.in.sql: -------------------------------------------------------------------------------- 1 | SeLEct *, 1, blah as fOO from mySchema.myTable 2 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/sqlfluff/sqlfluff.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("sqlfluff", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/standardrb/fixtures/.standard.yml: -------------------------------------------------------------------------------- 1 | # Must use ignore instead of direct rule: https://github.com/standardrb/standard/issues/621 2 | ignore: 3 | - "**/*": 4 | - Layout/EndOfLine 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/standardrb/standardrb.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("standardrb", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stringslint/fixtures/basic.in.swift: -------------------------------------------------------------------------------- 1 | class Foo { 2 | func Bar() { 3 | baz.typeText("test") 4 | } 5 | } 6 | 7 | NSLocalizedString("def", comment:"") 8 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stringslint/fixtures/basic_strings.in.strings: -------------------------------------------------------------------------------- 1 | "abc" = "A B C"; 2 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stringslint/stringslint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("stringslint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stylelint/fixtures/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "block-no-empty": true 4 | } 5 | } -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stylelint/fixtures/basic.in.css: -------------------------------------------------------------------------------- 1 | a {} -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/stylelint/stylelint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("stylelint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/swiftformat/fixtures/basic.in.swift: -------------------------------------------------------------------------------- 1 | func Bar() { 2 | if true { return } 3 | } 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/swiftformat/swiftformat.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("swiftformat", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/swiftlint/swiftlint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("swiftlint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/terraform/terraform.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("terraform", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/tflint/tflint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("tflint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/trivy/fixtures/basic_dockerfile.in.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | RUN true 4 | RUN true 5 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/trivy/fixtures/requirements.in/requirements.txt: -------------------------------------------------------------------------------- 1 | pillow==9.1.1 2 | langchain==0.0.171 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/trivy/trivy.test.ts: -------------------------------------------------------------------------------- 1 | import { linterStructureTest } from "tests"; 2 | 3 | linterStructureTest("trivy", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/trufflehog/trufflehog.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("trufflehog", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/vale/fixtures/basic.in/.vale.ini: -------------------------------------------------------------------------------- 1 | [formats] 2 | markdoc = md 3 | 4 | [*.md] 5 | BasedOnStyles = Vale 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/vale/fixtures/basic.in/basic.md: -------------------------------------------------------------------------------- 1 | Hello world! 2 | Hallo, wurld? 3 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/vale/vale.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("vale", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/yamllint/fixtures/basic.in.yaml: -------------------------------------------------------------------------------- 1 | object: {True: 1, 1: True} 2 | foo: 'bar' 3 | stuff: 4 | - key 2: v 5 | key 1: val 6 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/linters/yamllint/yamllint.test.ts: -------------------------------------------------------------------------------- 1 | import { linterCheckTest } from "tests"; 2 | 3 | linterCheckTest("yamllint", __dirname); 4 | -------------------------------------------------------------------------------- /qlty-plugins/plugins/tests/jest_setup.ts: -------------------------------------------------------------------------------- 1 | jest.setTimeout(300000); // 300s = 5m 2 | -------------------------------------------------------------------------------- /qlty-smells/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod duplication; 2 | pub mod metrics; 3 | pub mod structure; 4 | -------------------------------------------------------------------------------- /qlty-smells/src/metrics/results.rs: -------------------------------------------------------------------------------- 1 | use qlty_types::analysis::v1::Stats; 2 | 3 | #[derive(Clone, Debug)] 4 | pub struct Results { 5 | pub stats: Vec, 6 | } 7 | -------------------------------------------------------------------------------- /qlty-smells/src/structure/mod.rs: -------------------------------------------------------------------------------- 1 | mod checks; 2 | mod executor; 3 | mod plan; 4 | mod planner; 5 | 6 | pub use executor::Executor; 7 | pub use plan::{LanguagePlan, Plan}; 8 | pub use planner::Planner; 9 | -------------------------------------------------------------------------------- /qlty-test-utilities/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod git; 2 | -------------------------------------------------------------------------------- /qlty-types/src/protos/qlty.history.v1.rs: -------------------------------------------------------------------------------- 1 | // @generated 2 | // @@protoc_insertion_point(module) 3 | -------------------------------------------------------------------------------- /qlty-types/src/protos/qlty.rules.v1.rs: -------------------------------------------------------------------------------- 1 | // @generated 2 | // @@protoc_insertion_point(module) 3 | --------------------------------------------------------------------------------