@mocoto/mahoraga 0.14.8 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -9
- package/THIRD-PARTY-NOTICES.txt +482 -0
- package/dist/analysts/architects/analyst-structure.js +0 -3
- package/dist/analysts/architects/archetypes-custom.js +4 -69
- package/dist/analysts/architects/detector-archetypes.js +6 -44
- package/dist/analysts/architects/diagnostic-project.js +0 -3
- package/dist/analysts/architects/index.js +0 -4
- package/dist/analysts/architects/orchestrator-archetypes.js +0 -30
- package/dist/analysts/architects/signals-project-advanced.js +1 -32
- package/dist/analysts/architects/signals-project.js +0 -10
- package/dist/analysts/architects/strategist-structure.js +0 -40
- package/dist/analysts/azure-pipelines/analysts/analyst-azure.js +0 -7
- package/dist/analysts/azure-pipelines/corrections/autofix-engine.js +1 -2
- package/dist/analysts/azure-pipelines/corrections/correction-azure.js +0 -2
- package/dist/analysts/azure-pipelines/corrections/index.js +0 -1
- package/dist/analysts/azure-pipelines/detectors/detector-azure-performance.js +0 -9
- package/dist/analysts/azure-pipelines/detectors/detector-azure-security.js +0 -12
- package/dist/analysts/azure-pipelines/detectors/detector-azure-structure.js +1 -12
- package/dist/analysts/azure-pipelines/detectors/index.js +0 -1
- package/dist/analysts/azure-pipelines/index.js +0 -4
- package/dist/analysts/azure-pipelines/reports/generator-report-azure.js +0 -1
- package/dist/analysts/azure-pipelines/reports/index.js +0 -1
- package/dist/analysts/azure-pipelines/scorers/index.js +0 -1
- package/dist/analysts/azure-pipelines/scorers/scorer-azure.js +0 -5
- package/dist/analysts/circleci/analysts/analyst-circleci.js +0 -3
- package/dist/analysts/circleci/corrections/autofix-engine.js +1 -2
- package/dist/analysts/circleci/corrections/correction-circleci.js +0 -1
- package/dist/analysts/circleci/corrections/index.js +0 -1
- package/dist/analysts/circleci/detectors/detector-circleci-performance.js +0 -9
- package/dist/analysts/circleci/detectors/detector-circleci-security.js +0 -2
- package/dist/analysts/circleci/detectors/detector-circleci-structure.js +1 -10
- package/dist/analysts/circleci/detectors/index.js +0 -1
- package/dist/analysts/circleci/index.js +0 -4
- package/dist/analysts/circleci/reports/generator-report-circleci.js +0 -1
- package/dist/analysts/circleci/reports/index.js +0 -1
- package/dist/analysts/circleci/scorers/index.js +0 -1
- package/dist/analysts/circleci/scorers/scorer-circleci.js +0 -1
- package/dist/analysts/converters/converter-base.js +0 -4
- package/dist/analysts/converters/engines/converter-gha-to-gitlab.js +0 -15
- package/dist/analysts/converters/index.js +0 -7
- package/dist/analysts/corrections/analyst-quick-fixes.js +0 -3
- package/dist/analysts/corrections/analyst-scoring.js +0 -8
- package/dist/analysts/corrections/auto-fix-engine.js +0 -20
- package/dist/analysts/corrections/correction-aggregator-analyst.js +0 -2
- package/dist/analysts/corrections/corrector-structure.js +0 -5
- package/dist/analysts/corrections/fix-alias-imports.js +0 -1
- package/dist/analysts/corrections/fix-md-fences.js +0 -1
- package/dist/analysts/corrections/index.js +0 -3
- package/dist/analysts/corrections/map-reversion.js +3 -53
- package/dist/analysts/corrections/pruning.js +1 -3
- package/dist/analysts/corrections/quick-fixes/fix-any-to-proper-type.js +1 -30
- package/dist/analysts/corrections/quick-fixes/fix-unknown-to-specific-type.js +1 -22
- package/dist/analysts/corrections/quick-fixes/index.js +0 -4
- package/dist/analysts/corrections/reorganize-barrels.js +1 -30
- package/dist/analysts/corrections/rewrite-testes-aliases.js +0 -3
- package/dist/analysts/corrections/scoring-shared.js +1 -37
- package/dist/analysts/corrections/type-safety/context-analyzer.js +1 -96
- package/dist/analysts/corrections/type-safety/index.js +0 -5
- package/dist/analysts/corrections/type-safety/type-analyzer.js +0 -20
- package/dist/analysts/corrections/type-safety/type-creator.js +2 -49
- package/dist/analysts/corrections/type-safety/type-inference.js +1 -44
- package/dist/analysts/corrections/type-safety/type-validator.js +0 -33
- package/dist/analysts/corrections/type-safety/usage-analyzer.js +1 -47
- package/dist/analysts/css/analysts/analyst-css.js +1 -44
- package/dist/analysts/css/corrections/correction-css.js +0 -10
- package/dist/analysts/css/corrections/index.js +0 -1
- package/dist/analysts/css/detectors/detector-css-best-practices.js +0 -2
- package/dist/analysts/css/detectors/index.js +0 -1
- package/dist/analysts/css/index.js +0 -1
- package/dist/analysts/css/plugins/index.js +0 -1
- package/dist/analysts/css/plugins/plugin-registry.js +0 -1
- package/dist/analysts/css/scorers/index.js +0 -1
- package/dist/analysts/css/scorers/scorer-css.js +0 -2
- package/dist/analysts/css-in-js/analysts/analyst-css-in-js.js +1 -3
- package/dist/analysts/css-in-js/corrections/correction-css-in-js.js +0 -12
- package/dist/analysts/css-in-js/corrections/index.js +0 -1
- package/dist/analysts/css-in-js/detectors/detector-css-in-js-best-practices.js +0 -4
- package/dist/analysts/css-in-js/detectors/index.js +0 -1
- package/dist/analysts/css-in-js/index.js +0 -1
- package/dist/analysts/css-in-js/plugins/index.js +0 -1
- package/dist/analysts/css-in-js/plugins/plugin-registry.js +0 -1
- package/dist/analysts/css-in-js/scorers/index.js +0 -1
- package/dist/analysts/css-in-js/scorers/scorer-css-in-js.js +0 -4
- package/dist/analysts/css-in-js/shared.js +0 -3
- package/dist/analysts/detectors/detector-architecture.js +3 -66
- package/dist/analysts/detectors/detector-bugs-ml.js +0 -43
- package/dist/analysts/detectors/detector-code-fragile.js +1 -12
- package/dist/analysts/detectors/detector-dependencies.js +0 -38
- package/dist/analysts/detectors/detector-duplications.js +4 -22
- package/dist/analysts/detectors/detector-monorepo.js +0 -16
- package/dist/analysts/detectors/detector-performance.js +0 -18
- package/dist/analysts/detectors/detector-phantoms.js +1 -24
- package/dist/analysts/detectors/detector-recommendation-architecture.js +0 -26
- package/dist/analysts/detectors/detector-security.js +0 -48
- package/dist/analysts/detectors/detector-structure.js +1 -31
- package/dist/analysts/detectors/index.js +0 -4
- package/dist/analysts/github-actions/analysts/analyst-github-actions-security-hardening.js +0 -4
- package/dist/analysts/github-actions/analysts/analyst-github-actions.js +0 -59
- package/dist/analysts/github-actions/corrections/autofix-engine.js +0 -16
- package/dist/analysts/github-actions/corrections/correction-workflow.js +0 -10
- package/dist/analysts/github-actions/corrections/index.js +0 -1
- package/dist/analysts/github-actions/detectors/detector-dependencies-vulnerable.js +1 -26
- package/dist/analysts/github-actions/detectors/detector-workflow-accessibility.js +0 -8
- package/dist/analysts/github-actions/detectors/detector-workflow-compliance.js +0 -12
- package/dist/analysts/github-actions/detectors/detector-workflow-performance.js +0 -18
- package/dist/analysts/github-actions/detectors/detector-workflow-security.js +0 -13
- package/dist/analysts/github-actions/detectors/detector-workflow-structure.js +0 -23
- package/dist/analysts/github-actions/detectors/detector-workflow-trigger-unsafe.js +0 -29
- package/dist/analysts/github-actions/detectors/index.js +0 -1
- package/dist/analysts/github-actions/detectors/org-verified.js +16 -27
- package/dist/analysts/github-actions/index.js +0 -6
- package/dist/analysts/github-actions/reports/generator-report-github-actions.js +0 -6
- package/dist/analysts/github-actions/reports/index.js +0 -1
- package/dist/analysts/github-actions/scorers/index.js +0 -1
- package/dist/analysts/github-actions/scorers/scorer-workflow.js +0 -17
- package/dist/analysts/gitlab-ci/analysts/analyst-gitlab-ci.js +2 -16
- package/dist/analysts/gitlab-ci/corrections/autofix-engine.js +1 -2
- package/dist/analysts/gitlab-ci/corrections/correction-gitlab-ci.js +0 -2
- package/dist/analysts/gitlab-ci/corrections/index.js +0 -1
- package/dist/analysts/gitlab-ci/detectors/detector-gitlab-ci-performance.js +0 -13
- package/dist/analysts/gitlab-ci/detectors/detector-gitlab-ci-security.js +0 -14
- package/dist/analysts/gitlab-ci/detectors/detector-gitlab-ci-structure.js +1 -3
- package/dist/analysts/gitlab-ci/detectors/index.js +0 -1
- package/dist/analysts/gitlab-ci/index.js +0 -4
- package/dist/analysts/gitlab-ci/reports/generator-report-gitlab-ci.js +0 -1
- package/dist/analysts/gitlab-ci/reports/index.js +0 -1
- package/dist/analysts/gitlab-ci/scorers/index.js +0 -1
- package/dist/analysts/gitlab-ci/scorers/scorer-gitlab-ci.js +0 -1
- package/dist/analysts/go/analysts/analyst-best-practices.js +1 -8
- package/dist/analysts/go/analysts/analyst-concurrency.js +1 -7
- package/dist/analysts/go/analysts/analyst-go.js +1 -8
- package/dist/analysts/go/analysts/analyst-resources.js +1 -7
- package/dist/analysts/go/analysts/analyst-security.js +1 -5
- package/dist/analysts/go/analysts/index.js +0 -1
- package/dist/analysts/go/detectors/detector-conventions.js +1 -7
- package/dist/analysts/go/detectors/detector-errors-un-handled.js +1 -5
- package/dist/analysts/go/detectors/detector-vulnerabilities.js +1 -7
- package/dist/analysts/go/detectors/index.js +0 -1
- package/dist/analysts/go/index.js +0 -1
- package/dist/analysts/html/analysts/analyst-html.js +1 -3
- package/dist/analysts/html/corrections/correction-html.js +0 -10
- package/dist/analysts/html/corrections/index.js +0 -1
- package/dist/analysts/html/detectors/detector-html-accessibility.js +0 -13
- package/dist/analysts/html/detectors/detector-html.js +0 -46
- package/dist/analysts/html/detectors/index.js +0 -1
- package/dist/analysts/html/index.js +0 -6
- package/dist/analysts/html/scorers/index.js +0 -1
- package/dist/analysts/html/scorers/scorer-html.js +0 -18
- package/dist/analysts/jenkins/analysts/analyst-jenkins.js +0 -9
- package/dist/analysts/jenkins/corrections/autofix-engine.js +1 -2
- package/dist/analysts/jenkins/corrections/correction-jenkins.js +0 -2
- package/dist/analysts/jenkins/corrections/index.js +0 -1
- package/dist/analysts/jenkins/detectors/detector-jenkins-best-practices.js +0 -32
- package/dist/analysts/jenkins/detectors/detector-jenkins-security.js +0 -32
- package/dist/analysts/jenkins/detectors/detector-jenkins-structure.js +0 -32
- package/dist/analysts/jenkins/detectors/index.js +0 -1
- package/dist/analysts/jenkins/index.js +0 -4
- package/dist/analysts/jenkins/reports/generator-report-jenkins.js +0 -1
- package/dist/analysts/jenkins/reports/index.js +0 -1
- package/dist/analysts/jenkins/scorers/index.js +0 -1
- package/dist/analysts/jenkins/scorers/scorer-jenkins.js +0 -5
- package/dist/analysts/js-ts/analysts/analyst-commands-cli.js +0 -6
- package/dist/analysts/js-ts/analysts/analyst-patterns-usage.js +0 -9
- package/dist/analysts/js-ts/analysts/analyst-todo-comments.js +0 -5
- package/dist/analysts/js-ts/analysts/index.js +0 -4
- package/dist/analysts/js-ts/detectors/detector-anti-patterns-async.js +0 -16
- package/dist/analysts/js-ts/detectors/detector-constructions-syntactic.js +0 -15
- package/dist/analysts/js-ts/detectors/detector-context-smart.js +7 -68
- package/dist/analysts/js-ts/detectors/detector-interfaces-inline.js +0 -109
- package/dist/analysts/js-ts/detectors/detector-leaks-memory.js +1 -15
- package/dist/analysts/js-ts/detectors/detector-types-unsafe.js +0 -114
- package/dist/analysts/js-ts/detectors/index.js +0 -4
- package/dist/analysts/js-ts/index.js +0 -4
- package/dist/analysts/js-ts/registrar.js +0 -4
- package/dist/analysts/php/analysts/analyst-php.js +1 -19
- package/dist/analysts/php/corrections/index.js +0 -1
- package/dist/analysts/php/detectors/detector-php-best-practices.js +1 -12
- package/dist/analysts/php/detectors/detector-php-security.js +1 -13
- package/dist/analysts/php/detectors/index.js +0 -1
- package/dist/analysts/php/index.js +0 -1
- package/dist/analysts/php/scorers/index.js +0 -1
- package/dist/analysts/php/scorers/scorer-php.js +0 -5
- package/dist/analysts/plugins/analyst-formatter.js +1 -5
- package/dist/analysts/plugins/detector-documentation.js +1 -45
- package/dist/analysts/plugins/detector-markdown.js +0 -60
- package/dist/analysts/plugins/detector-node.js +0 -5
- package/dist/analysts/plugins/index.js +0 -20
- package/dist/analysts/python/analysts/analyst-python.js +1 -32
- package/dist/analysts/python/corrections/correction-python.js +0 -10
- package/dist/analysts/python/corrections/index.js +0 -1
- package/dist/analysts/python/detectors/detector-python-best-practices.js +0 -7
- package/dist/analysts/python/detectors/index.js +0 -1
- package/dist/analysts/python/index.js +0 -6
- package/dist/analysts/python/scorers/index.js +0 -1
- package/dist/analysts/python/scorers/scorer-python.js +0 -17
- package/dist/analysts/react/analysts/analyst-react-hooks.js +2 -51
- package/dist/analysts/react/analysts/analyst-react.js +1 -46
- package/dist/analysts/react/corrections/correction-react.js +0 -4
- package/dist/analysts/react/corrections/index.js +0 -1
- package/dist/analysts/react/detectors/detector-react-best-practices.js +0 -29
- package/dist/analysts/react/detectors/index.js +0 -1
- package/dist/analysts/react/index.js +0 -6
- package/dist/analysts/react/scorers/index.js +0 -1
- package/dist/analysts/react/scorers/scorer-react.js +0 -16
- package/dist/analysts/registry/autodiscovery.js +0 -15
- package/dist/analysts/registry/index.js +0 -4
- package/dist/analysts/registry/registry.js +0 -26
- package/dist/analysts/rust/analysts/analyst-best-practices.js +1 -15
- package/dist/analysts/rust/analysts/analyst-concurrency.js +1 -7
- package/dist/analysts/rust/analysts/analyst-memory.js +1 -7
- package/dist/analysts/rust/analysts/analyst-rust.js +1 -12
- package/dist/analysts/rust/analysts/analyst-security.js +1 -13
- package/dist/analysts/rust/analysts/index.js +0 -1
- package/dist/analysts/rust/detectors/detector-conventions.js +1 -7
- package/dist/analysts/rust/detectors/detector-errors-potential.js +1 -7
- package/dist/analysts/rust/detectors/detector-unsafe.js +1 -6
- package/dist/analysts/rust/detectors/index.js +0 -1
- package/dist/analysts/rust/index.js +0 -1
- package/dist/analysts/scorers/index.js +0 -4
- package/dist/analysts/scorers/scorer.js +2 -39
- package/dist/analysts/shell/analysts/analyst-shell.js +0 -22
- package/dist/analysts/shell/corrections/correction-shell.js +0 -13
- package/dist/analysts/shell/corrections/index.js +0 -1
- package/dist/analysts/shell/detectors/detector-shell-security.js +0 -43
- package/dist/analysts/shell/detectors/index.js +0 -1
- package/dist/analysts/shell/index.js +0 -6
- package/dist/analysts/shell/scorers/index.js +0 -1
- package/dist/analysts/shell/scorers/scorer-shell.js +0 -47
- package/dist/analysts/sql/analysts/analyst-sql.js +0 -12
- package/dist/analysts/sql/corrections/correction-sql.js +0 -10
- package/dist/analysts/sql/corrections/index.js +0 -1
- package/dist/analysts/sql/detectors/detector-sql-best-practices.js +0 -7
- package/dist/analysts/sql/detectors/detector-sql.js +0 -51
- package/dist/analysts/sql/detectors/index.js +0 -1
- package/dist/analysts/sql/index.js +0 -6
- package/dist/analysts/sql/scorers/index.js +0 -1
- package/dist/analysts/sql/scorers/scorer-sql.js +0 -32
- package/dist/analysts/strategists/archetypes-defs.js +11 -20
- package/dist/analysts/strategists/index.js +0 -4
- package/dist/analysts/strategists/operator-structure.js +2 -14
- package/dist/analysts/strategists/suggestions-contextuais.js +2 -26
- package/dist/analysts/svg/analysts/analyst-svg.js +1 -8
- package/dist/analysts/svg/corrections/correction-svg.js +0 -10
- package/dist/analysts/svg/corrections/index.js +0 -1
- package/dist/analysts/svg/detectors/detector-svg-security.js +0 -28
- package/dist/analysts/svg/detectors/index.js +0 -1
- package/dist/analysts/svg/index.js +0 -6
- package/dist/analysts/svg/scorers/index.js +0 -1
- package/dist/analysts/svg/scorers/scorer-svg.js +0 -35
- package/dist/analysts/tailwind/analysts/analyst-tailwind.js +1 -3
- package/dist/analysts/tailwind/corrections/correction-tailwind.js +0 -2
- package/dist/analysts/tailwind/corrections/index.js +0 -1
- package/dist/analysts/tailwind/detectors/detector-tailwind-best-practices.js +0 -2
- package/dist/analysts/tailwind/detectors/index.js +0 -1
- package/dist/analysts/tailwind/index.js +0 -1
- package/dist/analysts/tailwind/plugins/index.js +0 -1
- package/dist/analysts/tailwind/plugins/plugin-registry.js +0 -1
- package/dist/analysts/tailwind/scorers/index.js +0 -1
- package/dist/analysts/tailwind/scorers/scorer-tailwind.js +0 -1
- package/dist/analysts/xml/analysts/analyst-xml.js +1 -20
- package/dist/analysts/xml/corrections/correction-xml.js +0 -11
- package/dist/analysts/xml/corrections/index.js +0 -1
- package/dist/analysts/xml/detectors/detector-xml-security.js +0 -20
- package/dist/analysts/xml/detectors/detector-xml.js +0 -7
- package/dist/analysts/xml/detectors/index.js +0 -1
- package/dist/analysts/xml/index.js +0 -6
- package/dist/analysts/xml/scorers/index.js +0 -1
- package/dist/analysts/xml/scorers/scorer-xml.js +0 -31
- package/dist/app/github.js +0 -1
- package/dist/bin/index.js +1 -22
- package/dist/caretakers/caretaker-imports.js +1 -57
- package/dist/caretakers/imports-barrel.js +0 -1
- package/dist/caretakers/imports.js +0 -7
- package/dist/caretakers/map-reversion.js +0 -1
- package/dist/caretakers/pruning.js +0 -1
- package/dist/caretakers/scoring.js +0 -1
- package/dist/cli/commands/command-analysts.js +1 -4
- package/dist/cli/commands/command-azure.js +0 -7
- package/dist/cli/commands/command-barrels.js +0 -2
- package/dist/cli/commands/command-circleci.js +0 -7
- package/dist/cli/commands/command-compliance.js +0 -2
- package/dist/cli/commands/command-convert.js +0 -7
- package/dist/cli/commands/command-diagnose.js +1 -6
- package/dist/cli/commands/command-fix-types.js +0 -3
- package/dist/cli/commands/command-format.js +1 -9
- package/dist/cli/commands/command-formatters.js +0 -2
- package/dist/cli/commands/command-github-actions.js +1 -3
- package/dist/cli/commands/command-gitlab-ci.js +0 -7
- package/dist/cli/commands/command-guardian.js +1 -5
- package/dist/cli/commands/command-imports.js +0 -4
- package/dist/cli/commands/command-jenkins.js +0 -7
- package/dist/cli/commands/command-licenses.js +0 -8
- package/dist/cli/commands/command-marketplace.js +0 -2
- package/dist/cli/commands/command-metrics.js +0 -4
- package/dist/cli/commands/command-names.js +0 -6
- package/dist/cli/commands/command-optimize-svg.js +0 -5
- package/dist/cli/commands/command-perf.js +1 -7
- package/dist/cli/commands/command-plugins.js +0 -6
- package/dist/cli/commands/command-prune.js +0 -8
- package/dist/cli/commands/command-reverter.js +1 -5
- package/dist/cli/commands/command-update.js +0 -3
- package/dist/cli/commands/commands.js +0 -6
- package/dist/cli/commands/index.js +0 -13
- package/dist/cli/diagnostic/auto-fix.js +1 -3
- package/dist/cli/diagnostic/exporters/compliance-exporter.js +0 -1
- package/dist/cli/diagnostic/exporters/index.js +0 -4
- package/dist/cli/diagnostic/exporters/json-exporter.js +0 -54
- package/dist/cli/diagnostic/exporters/markdown-exporter.js +2 -27
- package/dist/cli/diagnostic/exporters/sharded-exporter.js +0 -35
- package/dist/cli/diagnostic/exporters/svg-optimization-exporter.js +0 -4
- package/dist/cli/diagnostic/filters.js +1 -76
- package/dist/cli/diagnostic/handlers/archetype-handler.js +1 -42
- package/dist/cli/diagnostic/handlers/auto-fix-handler.js +2 -49
- package/dist/cli/diagnostic/handlers/guardian-handler.js +2 -26
- package/dist/cli/diagnostic/handlers/index.js +0 -4
- package/dist/cli/diagnostic/index.js +0 -4
- package/dist/cli/diagnostic/normalize-occurrences-json.js +0 -3
- package/dist/cli/diagnostic/options-diagnose.js +0 -3
- package/dist/cli/diagnostic/processing-diagnostic.js +10 -13
- package/dist/cli/diagnostic/processing-helpers.js +0 -2
- package/dist/cli/handlers/command-vulnerabilities.js +0 -2
- package/dist/cli/handlers/fix-types-exporter.js +0 -36
- package/dist/cli/handlers/guardian-exporter.js +0 -31
- package/dist/cli/handlers/index.js +0 -4
- package/dist/cli/handlers/pruning-exporter.js +0 -24
- package/dist/cli/helpers/display-frame.js +0 -42
- package/dist/cli/helpers/exit-codes.js +0 -3
- package/dist/cli/helpers/flags-helpers.js +0 -20
- package/dist/cli/helpers/get-files-src.js +0 -7
- package/dist/cli/helpers/index.js +0 -4
- package/dist/cli/helpers/pattern-helpers.js +0 -42
- package/dist/cli/options/flags-validator.js +4 -43
- package/dist/cli/options/index.js +0 -4
- package/dist/core/config/auto/auto-fix-config.js +0 -7
- package/dist/core/config/auto/fix-config.js +0 -9
- package/dist/core/config/auto/index.js +0 -4
- package/dist/core/config/auto/validation.js +0 -39
- package/dist/core/config/chalk-safe.js +1 -15
- package/dist/core/config/config.js +21 -41
- package/dist/core/config/configuracao-scoring.js +1 -22
- package/dist/core/config/conventions.js +0 -19
- package/dist/core/config/excludes-padrao.js +2 -55
- package/dist/core/config/filters.js +0 -1
- package/dist/core/config/format.js +0 -7
- package/dist/core/config/include-exclude.js +0 -6
- package/dist/core/config/index.js +0 -1
- package/dist/core/config/limites.js +0 -10
- package/dist/core/config/paths.js +0 -7
- package/dist/core/config/security.js +0 -35
- package/dist/core/config/traverse.js +0 -2
- package/dist/core/corrections/auto-fix.js +0 -4
- package/dist/core/execution/ambiente.js +0 -1
- package/dist/core/execution/analysis-cache.js +0 -32
- package/dist/core/execution/ast-cache.js +1 -32
- package/dist/core/execution/executor.js +7 -43
- package/dist/core/execution/fix-001.js +0 -13
- package/dist/core/execution/index.js +0 -4
- package/dist/core/execution/inquisitor.js +15 -22
- package/dist/core/execution/linguagens.js +0 -1
- package/dist/core/execution/parse-errors.js +0 -1
- package/dist/core/execution/registry.js +0 -4
- package/dist/core/execution/results.js +0 -1
- package/dist/core/execution/scanner.js +7 -39
- package/dist/core/execution/schema.js +0 -5
- package/dist/core/execution/structure-json.js +0 -1
- package/dist/core/execution/workers.js +0 -4
- package/dist/core/formatters/index.js +0 -1
- package/dist/core/formatters/registro-builtin.js +4 -9
- package/dist/core/formatters/registry.js +0 -4
- package/dist/core/index.js +0 -4
- package/dist/core/messages/en/analysts/analyst-commands-cli-messages.js +0 -6
- package/dist/core/messages/en/analysts/analyst-github-actions-messages.js +0 -5
- package/dist/core/messages/en/analysts/analyst-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/en/analysts/analyst-patterns-usage-messages.js +0 -1
- package/dist/core/messages/en/analysts/analyst-shell-messages.js +0 -6
- package/dist/core/messages/en/analysts/analyst-todo-comments-messages.js +0 -1
- package/dist/core/messages/en/analysts/archetypes-defs-messages.js +0 -1
- package/dist/core/messages/en/analysts/archetypes-extra-messages.js +0 -3
- package/dist/core/messages/en/analysts/corrector-structure-extra-messages.js +0 -3
- package/dist/core/messages/en/analysts/detector-aggregates-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-architecture-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-bugs-ml-messages.js +0 -2
- package/dist/core/messages/en/analysts/detector-clean-arch-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-code-fragile-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-constructions-syntactic-messages.js +0 -2
- package/dist/core/messages/en/analysts/detector-context-extra-messages.js +0 -3
- package/dist/core/messages/en/analysts/detector-css-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-dependencies-messages.js +0 -7
- package/dist/core/messages/en/analysts/detector-distributed-arch-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-html-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-interfaces-inline-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-jenkins-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-js-ts-messages.js +0 -2
- package/dist/core/messages/en/analysts/detector-python-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-react-messages.js +0 -4
- package/dist/core/messages/en/analysts/detector-shell-messages.js +0 -6
- package/dist/core/messages/en/analysts/detector-sql-messages.js +0 -7
- package/dist/core/messages/en/analysts/detector-structure-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-svg-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-tailwind-messages.js +0 -1
- package/dist/core/messages/en/analysts/detector-xml-messages.js +0 -1
- package/dist/core/messages/en/analysts/index.js +0 -4
- package/dist/core/messages/en/analysts/map-reversion-extra-messages.js +0 -5
- package/dist/core/messages/en/analysts/report-azure-messages.js +0 -5
- package/dist/core/messages/en/analysts/report-circleci-messages.js +0 -5
- package/dist/core/messages/en/analysts/report-github-actions-messages.js +0 -1
- package/dist/core/messages/en/analysts/report-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/en/analysts/report-jenkins-messages.js +0 -1
- package/dist/core/messages/en/analysts/scorer-messages.js +0 -1
- package/dist/core/messages/en/caretakers/caretaker-messages.js +1 -49
- package/dist/core/messages/en/caretakers/index.js +0 -4
- package/dist/core/messages/en/cli/cli-archetype-handler-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-auto-fix-handler-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-bin-index.js +0 -1
- package/dist/core/messages/en/cli/cli-bin-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-analysts-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-azure-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-barrels-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-circleci-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-compliance-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-convert-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-diagnose-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-fix-types-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-format-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-github-actions-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-guardian-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-imports-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-jenkins-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-licenses-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-marketplace-messages.js +0 -2
- package/dist/core/messages/en/cli/cli-command-metrics-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-names-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-optimize-svg-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-perf-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-plugins-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-prune-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-restructure-extra-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-restructure-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-reverter-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-update-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-command-vulnerabilities-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-display-frame-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-exporters-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-flags-validator-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-options-diagnose-messages.js +0 -1
- package/dist/core/messages/en/cli/cli-processing-diagnostic-messages.js +0 -8
- package/dist/core/messages/en/cli/cli-processing-extra-messages.js +0 -1
- package/dist/core/messages/en/cli/index.js +0 -4
- package/dist/core/messages/en/core/correcoes-messages.js +0 -39
- package/dist/core/messages/en/core/diagnostic-messages.js +5 -59
- package/dist/core/messages/en/core/excecoes-messages.js +1 -18
- package/dist/core/messages/en/core/executor-extra-messages.js +0 -3
- package/dist/core/messages/en/core/fix-types-messages.js +0 -62
- package/dist/core/messages/en/core/formatters-messages.js +1 -2
- package/dist/core/messages/en/core/index.js +0 -4
- package/dist/core/messages/en/core/inquisitor-extra-messages.js +0 -3
- package/dist/core/messages/en/core/inquisitor-messages.js +0 -6
- package/dist/core/messages/en/core/parser-extra-messages.js +0 -3
- package/dist/core/messages/en/core/plugin-messages.js +0 -48
- package/dist/core/messages/en/github/github-app-messages.js +0 -1
- package/dist/core/messages/en/github/github-push-report-messages.js +1 -2
- package/dist/core/messages/en/github/github-repo-downloader-messages.js +0 -1
- package/dist/core/messages/en/github/github-webhook-messages.js +0 -1
- package/dist/core/messages/en/github/index.js +0 -1
- package/dist/core/messages/en/guardian/guardian-messages.js +0 -1
- package/dist/core/messages/en/guardian/index.js +0 -4
- package/dist/core/messages/en/guardian/watcher-hidden-messages.js +0 -3
- package/dist/core/messages/en/index.js +0 -4
- package/dist/core/messages/en/licenses/index.js +0 -4
- package/dist/core/messages/en/licenses/licenses-messages.js +0 -3
- package/dist/core/messages/en/log/index.js +0 -4
- package/dist/core/messages/en/log/log-engine.js +0 -5
- package/dist/core/messages/en/log/log-helper.js +0 -72
- package/dist/core/messages/en/log/log-messages.js +1 -19
- package/dist/core/messages/en/log/log.js +7 -47
- package/dist/core/messages/en/reports/index.js +0 -4
- package/dist/core/messages/en/reports/json-messages.js +0 -23
- package/dist/core/messages/en/reports/report-async-patterns-messages.js +0 -3
- package/dist/core/messages/en/reports/report-caretaker-health-messages.js +0 -3
- package/dist/core/messages/en/reports/report-messages.js +0 -27
- package/dist/core/messages/en/reports/report-templates.js +0 -34
- package/dist/core/messages/en/reports/streaming-report-messages.js +0 -1
- package/dist/core/messages/en/shared/index.js +0 -4
- package/dist/core/messages/en/shared/marketplace-messages.js +0 -1
- package/dist/core/messages/en/shared/plugin-core-messages.js +0 -3
- package/dist/core/messages/en/shared/plugin-registry-messages.js +0 -3
- package/dist/core/messages/en/shared/shared-common-messages.js +0 -1
- package/dist/core/messages/en/shared/stylelint-messages.js +0 -1
- package/dist/core/messages/en/ui/filter-config.js +0 -28
- package/dist/core/messages/en/ui/index.js +0 -4
- package/dist/core/messages/en/ui/suggestions-contextuais-messages.js +0 -7
- package/dist/core/messages/en/ui/suggestions.js +0 -53
- package/dist/core/messages/i18n-system.js +2 -24
- package/dist/core/messages/index.js +2 -29
- package/dist/core/messages/ja/analysts/analyst-commands-cli-messages.js +0 -7
- package/dist/core/messages/ja/analysts/analyst-github-actions-messages.js +0 -6
- package/dist/core/messages/ja/analysts/analyst-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/ja/analysts/analyst-patterns-usage-messages.js +0 -1
- package/dist/core/messages/ja/analysts/analyst-shell-messages.js +0 -6
- package/dist/core/messages/ja/analysts/analyst-todo-comments-messages.js +0 -1
- package/dist/core/messages/ja/analysts/archetypes-defs-messages.js +0 -1
- package/dist/core/messages/ja/analysts/archetypes-extra-messages.js +0 -3
- package/dist/core/messages/ja/analysts/corrector-structure-extra-messages.js +0 -3
- package/dist/core/messages/ja/analysts/detector-aggregates-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-architecture-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-bugs-ml-messages.js +0 -2
- package/dist/core/messages/ja/analysts/detector-clean-arch-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-code-fragile-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-constructions-syntactic-messages.js +0 -2
- package/dist/core/messages/ja/analysts/detector-context-extra-messages.js +0 -3
- package/dist/core/messages/ja/analysts/detector-css-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-dependencies-messages.js +0 -8
- package/dist/core/messages/ja/analysts/detector-distributed-arch-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-html-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-interfaces-inline-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-jenkins-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-js-ts-messages.js +0 -2
- package/dist/core/messages/ja/analysts/detector-python-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-react-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-shell-messages.js +0 -6
- package/dist/core/messages/ja/analysts/detector-sql-messages.js +0 -7
- package/dist/core/messages/ja/analysts/detector-structure-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-svg-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-tailwind-messages.js +0 -1
- package/dist/core/messages/ja/analysts/detector-xml-messages.js +0 -1
- package/dist/core/messages/ja/analysts/index.js +0 -4
- package/dist/core/messages/ja/analysts/map-reversion-extra-messages.js +0 -3
- package/dist/core/messages/ja/analysts/report-azure-messages.js +0 -5
- package/dist/core/messages/ja/analysts/report-circleci-messages.js +0 -5
- package/dist/core/messages/ja/analysts/report-github-actions-messages.js +0 -1
- package/dist/core/messages/ja/analysts/report-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/ja/analysts/report-jenkins-messages.js +0 -1
- package/dist/core/messages/ja/analysts/scorer-messages.js +0 -1
- package/dist/core/messages/ja/caretakers/caretaker-messages.js +1 -49
- package/dist/core/messages/ja/caretakers/index.js +0 -4
- package/dist/core/messages/ja/cli/cli-archetype-handler-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-auto-fix-handler-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-bin-index.js +0 -1
- package/dist/core/messages/ja/cli/cli-bin-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-analysts-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-azure-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-barrels-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-circleci-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-compliance-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-convert-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-diagnose-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-fix-types-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-format-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-github-actions-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-guardian-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-imports-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-jenkins-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-licenses-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-marketplace-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-metrics-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-names-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-optimize-svg-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-perf-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-plugins-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-prune-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-restructure-extra-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-restructure-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-reverter-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-update-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-command-vulnerabilities-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-display-frame-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-exporters-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-flags-validator-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-options-diagnose-messages.js +0 -1
- package/dist/core/messages/ja/cli/cli-processing-diagnostic-messages.js +0 -8
- package/dist/core/messages/ja/cli/cli-processing-extra-messages.js +0 -1
- package/dist/core/messages/ja/cli/index.js +0 -4
- package/dist/core/messages/ja/core/correcoes-messages.js +0 -39
- package/dist/core/messages/ja/core/diagnostic-messages.js +5 -59
- package/dist/core/messages/ja/core/excecoes-messages.js +1 -18
- package/dist/core/messages/ja/core/executor-extra-messages.js +0 -3
- package/dist/core/messages/ja/core/fix-types-messages.js +0 -62
- package/dist/core/messages/ja/core/formatters-messages.js +1 -2
- package/dist/core/messages/ja/core/index.js +0 -4
- package/dist/core/messages/ja/core/inquisitor-extra-messages.js +0 -3
- package/dist/core/messages/ja/core/inquisitor-messages.js +0 -6
- package/dist/core/messages/ja/core/parser-extra-messages.js +0 -3
- package/dist/core/messages/ja/core/plugin-messages.js +0 -44
- package/dist/core/messages/ja/github/github-app-messages.js +0 -1
- package/dist/core/messages/ja/github/github-push-report-messages.js +1 -2
- package/dist/core/messages/ja/github/github-repo-downloader-messages.js +0 -1
- package/dist/core/messages/ja/github/github-webhook-messages.js +0 -1
- package/dist/core/messages/ja/github/index.js +0 -1
- package/dist/core/messages/ja/guardian/guardian-messages.js +0 -1
- package/dist/core/messages/ja/guardian/index.js +0 -4
- package/dist/core/messages/ja/index.js +0 -4
- package/dist/core/messages/ja/licenses/index.js +0 -4
- package/dist/core/messages/ja/licenses/licenses-messages.js +0 -3
- package/dist/core/messages/ja/log/index.js +0 -4
- package/dist/core/messages/ja/log/log-engine.js +0 -5
- package/dist/core/messages/ja/log/log-helper.js +0 -72
- package/dist/core/messages/ja/log/log-messages.js +1 -19
- package/dist/core/messages/ja/log/log.js +7 -47
- package/dist/core/messages/ja/reports/index.js +0 -4
- package/dist/core/messages/ja/reports/json-messages.js +0 -23
- package/dist/core/messages/ja/reports/report-async-patterns-messages.js +0 -3
- package/dist/core/messages/ja/reports/report-caretaker-health-messages.js +0 -3
- package/dist/core/messages/ja/reports/report-messages.js +0 -27
- package/dist/core/messages/ja/reports/report-templates.js +0 -34
- package/dist/core/messages/ja/reports/streaming-report-messages.js +0 -1
- package/dist/core/messages/ja/shared/index.js +0 -4
- package/dist/core/messages/ja/shared/marketplace-messages.js +0 -1
- package/dist/core/messages/ja/shared/plugin-core-messages.js +0 -3
- package/dist/core/messages/ja/shared/plugin-registry-messages.js +0 -3
- package/dist/core/messages/ja/shared/shared-common-messages.js +0 -1
- package/dist/core/messages/ja/shared/stylelint-messages.js +0 -1
- package/dist/core/messages/ja/ui/filter-config.js +0 -28
- package/dist/core/messages/ja/ui/index.js +0 -4
- package/dist/core/messages/ja/ui/suggestions-contextuais-messages.js +0 -7
- package/dist/core/messages/ja/ui/suggestions.js +0 -53
- package/dist/core/messages/log.js +0 -8
- package/dist/core/messages/message-structure-types.js +0 -4
- package/dist/core/messages/pt/analysts/analyst-commands-cli-messages.js +0 -7
- package/dist/core/messages/pt/analysts/analyst-github-actions-messages.js +0 -5
- package/dist/core/messages/pt/analysts/analyst-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/pt/analysts/analyst-patterns-usage-messages.js +0 -1
- package/dist/core/messages/pt/analysts/analyst-shell-messages.js +0 -6
- package/dist/core/messages/pt/analysts/analyst-todo-comments-messages.js +0 -1
- package/dist/core/messages/pt/analysts/archetypes-defs-messages.js +0 -1
- package/dist/core/messages/pt/analysts/archetypes-extra-messages.js +0 -3
- package/dist/core/messages/pt/analysts/corrector-structure-extra-messages.js +0 -3
- package/dist/core/messages/pt/analysts/detector-aggregates-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-architecture-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-bugs-ml-messages.js +0 -2
- package/dist/core/messages/pt/analysts/detector-clean-arch-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-code-fragile-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-constructions-syntactic-messages.js +0 -2
- package/dist/core/messages/pt/analysts/detector-context-extra-messages.js +0 -3
- package/dist/core/messages/pt/analysts/detector-css-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-dependencies-messages.js +0 -7
- package/dist/core/messages/pt/analysts/detector-distributed-arch-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-html-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-interfaces-inline-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-jenkins-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-js-ts-messages.js +0 -2
- package/dist/core/messages/pt/analysts/detector-python-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-react-messages.js +0 -4
- package/dist/core/messages/pt/analysts/detector-shell-messages.js +0 -6
- package/dist/core/messages/pt/analysts/detector-sql-messages.js +0 -7
- package/dist/core/messages/pt/analysts/detector-structure-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-svg-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-tailwind-messages.js +0 -1
- package/dist/core/messages/pt/analysts/detector-xml-messages.js +0 -1
- package/dist/core/messages/pt/analysts/index.js +0 -4
- package/dist/core/messages/pt/analysts/map-reversion-extra-messages.js +0 -3
- package/dist/core/messages/pt/analysts/report-azure-messages.js +0 -5
- package/dist/core/messages/pt/analysts/report-circleci-messages.js +0 -5
- package/dist/core/messages/pt/analysts/report-github-actions-messages.js +0 -1
- package/dist/core/messages/pt/analysts/report-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/pt/analysts/report-jenkins-messages.js +0 -1
- package/dist/core/messages/pt/analysts/scorer-messages.js +0 -1
- package/dist/core/messages/pt/caretakers/caretaker-messages.js +1 -49
- package/dist/core/messages/pt/caretakers/index.js +0 -4
- package/dist/core/messages/pt/cli/cli-archetype-handler-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-auto-fix-handler-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-bin-index.js +0 -1
- package/dist/core/messages/pt/cli/cli-bin-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-analysts-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-azure-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-barrels-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-circleci-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-compliance-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-convert-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-diagnose-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-fix-types-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-format-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-github-actions-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-guardian-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-imports-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-jenkins-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-licenses-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-marketplace-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-metrics-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-names-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-optimize-svg-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-perf-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-plugins-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-prune-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-restructure-extra-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-restructure-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-reverter-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-update-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-command-vulnerabilities-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-display-frame-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-exporters-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-flags-validator-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-options-diagnose-messages.js +0 -1
- package/dist/core/messages/pt/cli/cli-processing-diagnostic-messages.js +0 -8
- package/dist/core/messages/pt/cli/cli-processing-extra-messages.js +0 -1
- package/dist/core/messages/pt/cli/index.js +0 -4
- package/dist/core/messages/pt/core/correcoes-messages.js +0 -39
- package/dist/core/messages/pt/core/diagnostic-messages.js +5 -59
- package/dist/core/messages/pt/core/excecoes-messages.js +1 -18
- package/dist/core/messages/pt/core/executor-extra-messages.js +0 -3
- package/dist/core/messages/pt/core/fix-types-messages.js +0 -62
- package/dist/core/messages/pt/core/formatters-messages.js +1 -2
- package/dist/core/messages/pt/core/index.js +0 -4
- package/dist/core/messages/pt/core/inquisitor-extra-messages.js +0 -3
- package/dist/core/messages/pt/core/inquisitor-messages.js +0 -6
- package/dist/core/messages/pt/core/parser-extra-messages.js +0 -3
- package/dist/core/messages/pt/core/plugin-messages.js +0 -48
- package/dist/core/messages/pt/github/github-app-messages.js +0 -1
- package/dist/core/messages/pt/github/github-push-report-messages.js +1 -2
- package/dist/core/messages/pt/github/github-repo-downloader-messages.js +0 -1
- package/dist/core/messages/pt/github/github-webhook-messages.js +0 -1
- package/dist/core/messages/pt/github/index.js +0 -1
- package/dist/core/messages/pt/guardian/guardian-messages.js +0 -1
- package/dist/core/messages/pt/guardian/index.js +0 -4
- package/dist/core/messages/pt/guardian/watcher-hidden-messages.js +0 -3
- package/dist/core/messages/pt/index.js +0 -4
- package/dist/core/messages/pt/licenses/index.js +0 -4
- package/dist/core/messages/pt/licenses/licenses-messages.js +0 -3
- package/dist/core/messages/pt/log/index.js +0 -4
- package/dist/core/messages/pt/log/log-engine.js +2 -48
- package/dist/core/messages/pt/log/log-helper.js +0 -72
- package/dist/core/messages/pt/log/log-messages.js +1 -19
- package/dist/core/messages/pt/log/log.js +7 -47
- package/dist/core/messages/pt/reports/index.js +0 -4
- package/dist/core/messages/pt/reports/json-messages.js +0 -24
- package/dist/core/messages/pt/reports/report-async-patterns-messages.js +0 -3
- package/dist/core/messages/pt/reports/report-caretaker-health-messages.js +0 -3
- package/dist/core/messages/pt/reports/report-messages.js +0 -27
- package/dist/core/messages/pt/reports/report-templates.js +0 -34
- package/dist/core/messages/pt/reports/streaming-report-messages.js +0 -1
- package/dist/core/messages/pt/shared/index.js +0 -4
- package/dist/core/messages/pt/shared/marketplace-messages.js +0 -1
- package/dist/core/messages/pt/shared/plugin-core-messages.js +0 -3
- package/dist/core/messages/pt/shared/plugin-registry-messages.js +0 -3
- package/dist/core/messages/pt/shared/shared-common-messages.js +0 -1
- package/dist/core/messages/pt/shared/stylelint-messages.js +0 -1
- package/dist/core/messages/pt/ui/filter-config.js +0 -28
- package/dist/core/messages/pt/ui/index.js +0 -4
- package/dist/core/messages/pt/ui/suggestions-contextuais-messages.js +0 -7
- package/dist/core/messages/pt/ui/suggestions.js +0 -53
- package/dist/core/messages/shared/icons.js +0 -56
- package/dist/core/messages/shared/index.js +0 -4
- package/dist/core/messages/zh/analysts/analyst-commands-cli-messages.js +0 -6
- package/dist/core/messages/zh/analysts/analyst-github-actions-messages.js +0 -5
- package/dist/core/messages/zh/analysts/analyst-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/zh/analysts/analyst-patterns-usage-messages.js +0 -1
- package/dist/core/messages/zh/analysts/analyst-shell-messages.js +0 -6
- package/dist/core/messages/zh/analysts/analyst-todo-comments-messages.js +0 -1
- package/dist/core/messages/zh/analysts/archetypes-defs-messages.js +0 -1
- package/dist/core/messages/zh/analysts/archetypes-extra-messages.js +0 -3
- package/dist/core/messages/zh/analysts/detector-aggregates-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-architecture-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-bugs-ml-messages.js +0 -2
- package/dist/core/messages/zh/analysts/detector-clean-arch-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-code-fragile-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-constructions-syntactic-messages.js +0 -2
- package/dist/core/messages/zh/analysts/detector-context-extra-messages.js +0 -3
- package/dist/core/messages/zh/analysts/detector-css-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-dependencies-messages.js +0 -7
- package/dist/core/messages/zh/analysts/detector-distributed-arch-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-html-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-interfaces-inline-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-jenkins-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-js-ts-messages.js +0 -2
- package/dist/core/messages/zh/analysts/detector-python-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-react-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-shell-messages.js +0 -6
- package/dist/core/messages/zh/analysts/detector-sql-messages.js +0 -7
- package/dist/core/messages/zh/analysts/detector-structure-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-svg-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-tailwind-messages.js +0 -1
- package/dist/core/messages/zh/analysts/detector-xml-messages.js +0 -1
- package/dist/core/messages/zh/analysts/index.js +0 -4
- package/dist/core/messages/zh/analysts/map-reversion-extra-messages.js +0 -3
- package/dist/core/messages/zh/analysts/report-azure-messages.js +0 -5
- package/dist/core/messages/zh/analysts/report-circleci-messages.js +0 -5
- package/dist/core/messages/zh/analysts/report-github-actions-messages.js +0 -1
- package/dist/core/messages/zh/analysts/report-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/zh/analysts/report-jenkins-messages.js +0 -1
- package/dist/core/messages/zh/analysts/scorer-messages.js +0 -1
- package/dist/core/messages/zh/caretakers/caretaker-messages.js +1 -49
- package/dist/core/messages/zh/caretakers/index.js +0 -4
- package/dist/core/messages/zh/cli/cli-archetype-handler-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-auto-fix-handler-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-bin-index.js +0 -1
- package/dist/core/messages/zh/cli/cli-bin-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-analysts-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-azure-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-barrels-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-circleci-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-compliance-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-convert-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-diagnose-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-fix-types-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-format-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-github-actions-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-gitlab-ci-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-guardian-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-imports-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-jenkins-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-licenses-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-marketplace-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-metrics-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-names-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-optimize-svg-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-perf-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-plugins-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-prune-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-restructure-extra-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-restructure-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-reverter-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-update-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-command-vulnerabilities-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-display-frame-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-exporters-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-flags-validator-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-options-diagnose-messages.js +0 -1
- package/dist/core/messages/zh/cli/cli-processing-diagnostic-messages.js +0 -8
- package/dist/core/messages/zh/cli/cli-processing-extra-messages.js +0 -1
- package/dist/core/messages/zh/cli/index.js +0 -4
- package/dist/core/messages/zh/core/correcoes-messages.js +0 -39
- package/dist/core/messages/zh/core/diagnostic-messages.js +5 -59
- package/dist/core/messages/zh/core/excecoes-messages.js +1 -18
- package/dist/core/messages/zh/core/executor-extra-messages.js +0 -3
- package/dist/core/messages/zh/core/fix-types-messages.js +0 -62
- package/dist/core/messages/zh/core/formatters-messages.js +1 -2
- package/dist/core/messages/zh/core/index.js +0 -4
- package/dist/core/messages/zh/core/inquisitor-extra-messages.js +0 -3
- package/dist/core/messages/zh/core/inquisitor-messages.js +0 -6
- package/dist/core/messages/zh/core/parser-extra-messages.js +0 -3
- package/dist/core/messages/zh/core/plugin-messages.js +0 -44
- package/dist/core/messages/zh/github/github-app-messages.js +0 -1
- package/dist/core/messages/zh/github/github-push-report-messages.js +1 -2
- package/dist/core/messages/zh/github/github-repo-downloader-messages.js +0 -1
- package/dist/core/messages/zh/github/github-webhook-messages.js +0 -1
- package/dist/core/messages/zh/github/index.js +0 -1
- package/dist/core/messages/zh/guardian/guardian-messages.js +0 -1
- package/dist/core/messages/zh/guardian/index.js +0 -4
- package/dist/core/messages/zh/index.js +0 -4
- package/dist/core/messages/zh/licenses/index.js +0 -4
- package/dist/core/messages/zh/licenses/licenses-messages.js +0 -3
- package/dist/core/messages/zh/log/index.js +0 -4
- package/dist/core/messages/zh/log/log-engine.js +0 -5
- package/dist/core/messages/zh/log/log-helper.js +0 -72
- package/dist/core/messages/zh/log/log-messages.js +1 -19
- package/dist/core/messages/zh/log/log.js +7 -47
- package/dist/core/messages/zh/reports/index.js +0 -4
- package/dist/core/messages/zh/reports/json-messages.js +0 -23
- package/dist/core/messages/zh/reports/report-async-patterns-messages.js +0 -3
- package/dist/core/messages/zh/reports/report-caretaker-health-messages.js +0 -3
- package/dist/core/messages/zh/reports/report-messages.js +0 -27
- package/dist/core/messages/zh/reports/report-templates.js +0 -34
- package/dist/core/messages/zh/reports/streaming-report-messages.js +0 -1
- package/dist/core/messages/zh/shared/index.js +0 -4
- package/dist/core/messages/zh/shared/marketplace-messages.js +0 -1
- package/dist/core/messages/zh/shared/plugin-core-messages.js +0 -3
- package/dist/core/messages/zh/shared/plugin-registry-messages.js +0 -3
- package/dist/core/messages/zh/shared/shared-common-messages.js +0 -1
- package/dist/core/messages/zh/shared/stylelint-messages.js +0 -1
- package/dist/core/messages/zh/ui/filter-config.js +0 -28
- package/dist/core/messages/zh/ui/index.js +0 -4
- package/dist/core/messages/zh/ui/suggestions-contextuais-messages.js +0 -7
- package/dist/core/messages/zh/ui/suggestions.js +0 -53
- package/dist/core/messages.js +0 -5
- package/dist/core/parsing/babel-narrow.js +0 -1
- package/dist/core/parsing/filters.js +0 -8
- package/dist/core/parsing/index.js +0 -4
- package/dist/core/parsing/langs/css.js +0 -2
- package/dist/core/parsing/langs/go.js +0 -2
- package/dist/core/parsing/langs/html.js +0 -3
- package/dist/core/parsing/langs/index.js +0 -1
- package/dist/core/parsing/langs/json.js +0 -3
- package/dist/core/parsing/langs/markdown.js +0 -2
- package/dist/core/parsing/langs/php.js +0 -3
- package/dist/core/parsing/langs/python.js +0 -3
- package/dist/core/parsing/langs/rust.js +0 -3
- package/dist/core/parsing/langs/scss.js +0 -3
- package/dist/core/parsing/langs/shell.js +0 -3
- package/dist/core/parsing/langs/text.js +0 -1
- package/dist/core/parsing/langs/typescript.js +0 -11
- package/dist/core/parsing/langs/vue.js +0 -2
- package/dist/core/parsing/langs/xml.js +0 -1
- package/dist/core/parsing/langs/yaml.js +0 -1
- package/dist/core/parsing/parser.js +0 -3
- package/dist/core/parsing/plugins.js +0 -1
- package/dist/core/parsing/utils.js +0 -4
- package/dist/core/registry/file-registry.js +4 -86
- package/dist/core/registry/index.js +0 -4
- package/dist/core/registry/paths.js +20 -86
- package/dist/core/reporting/default-reporter.js +0 -9
- package/dist/core/reporting/index.js +0 -4
- package/dist/core/runtime/index.js +0 -4
- package/dist/core/runtime/node-adapter.js +0 -4
- package/dist/core/runtime.js +0 -1
- package/dist/core/schema/index.js +0 -4
- package/dist/core/schema/version.js +0 -40
- package/dist/core/utils/chalk.js +0 -1
- package/dist/core/utils/exec-safe.js +0 -39
- package/dist/core/utils/import-safe.js +0 -2
- package/dist/core/utils/index.js +0 -4
- package/dist/core/workers/index.js +0 -4
- package/dist/core/workers/worker-executor.js +0 -13
- package/dist/core/workers/worker-pool.js +0 -0
- package/dist/guardian/baseline.js +0 -8
- package/dist/guardian/constants.js +5 -23
- package/dist/guardian/diff.js +3 -11
- package/dist/guardian/gpg.js +0 -1
- package/dist/guardian/hash.js +0 -11
- package/dist/guardian/index.js +0 -4
- package/dist/guardian/integrity.js +0 -1
- package/dist/guardian/records.js +0 -8
- package/dist/guardian/result.js +0 -13
- package/dist/guardian/sentinel.js +0 -8
- package/dist/guardian/snapshot.js +0 -1
- package/dist/guardian/verifier.js +0 -9
- package/dist/guardian/watcher-hidden.js +0 -2
- package/dist/lib/api.js +0 -1
- package/dist/licenses/disclaimer.js +0 -2
- package/dist/licenses/fs-utils.js +0 -14
- package/dist/licenses/generate-notices.js +0 -3
- package/dist/licenses/header-options.js +0 -1
- package/dist/licenses/index.js +0 -4
- package/dist/licenses/licenses.js +0 -4
- package/dist/licenses/normalizer.js +0 -11
- package/dist/licenses/scanner.js +0 -4
- package/dist/node.loader.js +0 -17
- package/dist/reports/advisor-mahoraga.js +19 -2
- package/dist/reports/advisor.js +0 -4
- package/dist/reports/analise-async-patterns.js +0 -35
- package/dist/reports/async-analysis.js +0 -7
- package/dist/reports/compliance/index.js +0 -1
- package/dist/reports/compliance/iso-mapping.js +0 -1
- package/dist/reports/compliance/soc2-mapping.js +0 -1
- package/dist/reports/compliance.js +0 -1
- package/dist/reports/filter-smart.js +4 -48
- package/dist/reports/fragmentation.js +0 -5
- package/dist/reports/generator-report.js +0 -11
- package/dist/reports/index.js +0 -5
- package/dist/reports/processing.js +0 -4
- package/dist/reports/reader.js +0 -5
- package/dist/reports/report-archetypes.js +1 -11
- package/dist/reports/report-caretaker-health.js +0 -6
- package/dist/reports/report-patterns-usage.js +0 -5
- package/dist/reports/report-pruning.js +0 -1
- package/dist/reports/report-structure.js +0 -1
- package/dist/reports/report-type-definitions.js +0 -6
- package/dist/reports/streaming-report.js +0 -1
- package/dist/reports/streaming.js +0 -1
- package/dist/reports/structure.js +0 -4
- package/dist/scripts/index.js +0 -1
- package/dist/scripts/migrar-aliases.js +0 -1
- package/dist/shared/context-project.js +2 -34
- package/dist/shared/data-processing/fragment-report.js +1 -13
- package/dist/shared/data-processing/index.js +0 -4
- package/dist/shared/data-processing/json.js +0 -40
- package/dist/shared/data-processing/occurrences.js +0 -14
- package/dist/shared/formatters/code-min-formatter.js +0 -6
- package/dist/shared/formatters/core/formatter-registry.js +0 -11
- package/dist/shared/formatters/core/syntax-map.js +0 -13
- package/dist/shared/formatters/engines/prettier.js +1 -4
- package/dist/shared/formatters/engines/stylelint.js +0 -17
- package/dist/shared/formatters/engines/svgs.js +0 -16
- package/dist/shared/formatters/formatter.js +1 -6
- package/dist/shared/formatters/formatters/code.js +0 -18
- package/dist/shared/formatters/formatters/commons.js +0 -20
- package/dist/shared/formatters/formatters/css.js +0 -58
- package/dist/shared/formatters/formatters/dockerfile.js +0 -19
- package/dist/shared/formatters/formatters/dotfiles.js +0 -25
- package/dist/shared/formatters/formatters/go.js +0 -25
- package/dist/shared/formatters/formatters/html.js +0 -36
- package/dist/shared/formatters/formatters/json.js +0 -18
- package/dist/shared/formatters/formatters/markdown.js +0 -30
- package/dist/shared/formatters/formatters/properties.js +0 -25
- package/dist/shared/formatters/formatters/shell.js +1 -55
- package/dist/shared/formatters/formatters/sql.js +0 -28
- package/dist/shared/formatters/formatters/svg.js +0 -5
- package/dist/shared/formatters/formatters/toml.js +0 -25
- package/dist/shared/formatters/formatters/xml.js +0 -5
- package/dist/shared/formatters/formatters/yaml.js +1 -26
- package/dist/shared/formatters/index.js +0 -8
- package/dist/shared/helpers/analyst-wrapper.js +0 -13
- package/dist/shared/helpers/ast-visitor-utils.js +0 -8
- package/dist/shared/helpers/context-utils.js +1 -19
- package/dist/shared/helpers/detectors-common.js +0 -23
- package/dist/shared/helpers/framework-detector.js +0 -11
- package/dist/shared/helpers/fs.js +0 -4
- package/dist/shared/helpers/group.js +0 -4
- package/dist/shared/helpers/helpers-analysts.js +0 -8
- package/dist/shared/helpers/imports.js +0 -39
- package/dist/shared/helpers/json-mode.js +0 -21
- package/dist/shared/helpers/json.js +0 -20
- package/dist/shared/helpers/line-lookup.js +0 -6
- package/dist/shared/helpers/lines.js +0 -4
- package/dist/shared/helpers/magic-constants-whitelist.js +0 -30
- package/dist/shared/helpers/masking.js +0 -68
- package/dist/shared/helpers/occurrences.js +0 -5
- package/dist/shared/helpers/path.js +0 -4
- package/dist/shared/helpers/pool.js +0 -4
- package/dist/shared/helpers/reader-report.js +0 -25
- package/dist/shared/helpers/rule-config.js +1 -38
- package/dist/shared/helpers/structural-hash.js +0 -21
- package/dist/shared/helpers/structure.js +0 -23
- package/dist/shared/helpers/suppressao.js +2 -39
- package/dist/shared/helpers.js +0 -4
- package/dist/shared/impar.js +0 -1
- package/dist/shared/imports.js +0 -5
- package/dist/shared/index.js +0 -4
- package/dist/shared/marketplace/index.js +0 -1
- package/dist/shared/marketplace/registry.js +2 -3
- package/dist/shared/marketplace/remote.js +0 -2
- package/dist/shared/marketplace/versionamento.js +0 -7
- package/dist/shared/memory.js +0 -13
- package/dist/shared/persistence/index.js +0 -4
- package/dist/shared/persistence/persistence.js +1 -43
- package/dist/shared/persistence.js +0 -6
- package/dist/shared/plugins/core-plugin.js +0 -1
- package/dist/shared/plugins/init.js +0 -15
- package/dist/shared/plugins/registry.js +3 -78
- package/dist/shared/structure.js +0 -5
- package/dist/shared/stylelint.js +0 -4
- package/dist/shared/validation/index.js +0 -4
- package/dist/shared/validation/validation.js +1 -27
- package/dist/shared/validation.js +0 -23
- package/dist/shared/vitest-alias.js +0 -4
- package/dist/types/analysts/azure-pipelines.js +0 -1
- package/dist/types/analysts/circleci.js +0 -1
- package/dist/types/analysts/context.js +0 -5
- package/dist/types/analysts/corrections/reorganize-barrels.js +0 -1
- package/dist/types/analysts/corrections/type-safety.js +0 -5
- package/dist/types/analysts/corrections.js +0 -5
- package/dist/types/analysts/css-in-js.js +0 -1
- package/dist/types/analysts/detectors.js +0 -1
- package/dist/types/analysts/dynamic-modules.js +0 -1
- package/dist/types/analysts/github-actions-plugins.js +0 -1
- package/dist/types/analysts/github-actions-reports.js +0 -4
- package/dist/types/analysts/gitlab-ci.js +0 -1
- package/dist/types/analysts/handlers.js +0 -1
- package/dist/types/analysts/index.js +0 -12
- package/dist/types/analysts/jenkins.js +0 -1
- package/dist/types/analysts/markdown.js +0 -7
- package/dist/types/analysts/metrics.js +0 -1
- package/dist/types/analysts/plugins.js +0 -1
- package/dist/types/analysts/scoring.js +0 -1
- package/dist/types/analysts/strategists.js +0 -1
- package/dist/types/analysts/svg-plugins.js +0 -1
- package/dist/types/analysts/tailwind-correction.js +0 -1
- package/dist/types/common/analysts.js +0 -7
- package/dist/types/common/file-entries.js +0 -1
- package/dist/types/common/index.js +0 -4
- package/dist/types/common/marketplace.js +0 -1
- package/dist/types/common/occurrences.js +0 -3
- package/dist/types/common/package-json.js +0 -1
- package/dist/types/common/utils.js +0 -4
- package/dist/types/guardian/result.js +0 -11
- package/dist/types/processing/commands.js +0 -4
- package/dist/types/processing/diagnostic-handlers.js +0 -4
- package/dist/types/processing/diagnostic.js +0 -6
- package/dist/types/processing/display.js +0 -17
- package/dist/types/processing/exporters.js +0 -4
- package/dist/types/processing/filters.js +1 -27
- package/dist/types/processing/formatters.js +0 -1
- package/dist/types/processing/handlers.js +0 -4
- package/dist/types/processing/index.js +0 -4
- package/dist/types/processing/log-extensions.js +0 -4
- package/dist/types/processing/metrics-analysts.js +0 -1
- package/dist/types/processing/metrics.js +0 -1
- package/dist/types/processing/options.js +0 -4
- package/dist/types/processing/processing-diagnostic.js +0 -1
- package/dist/types/project/context.js +0 -5
- package/dist/types/project/detection.js +0 -1
- package/dist/types/project/index.js +0 -4
- package/dist/types/reports/processing.js +0 -5
- package/dist/types/shared/validation.js +0 -13
- package/dist/types/structure/archetypes.js +0 -1
- package/dist/types/structure/index.js +0 -4
- package/dist/types/structure/plano-structure.js +0 -2
- package/dist/vulnerabilities/index.js +0 -1
- package/dist/vulnerabilities/npm-audit.js +0 -1
- package/dist/vulnerabilities/scanner.js +0 -2
- package/dist/vulnerabilities/vulnerabilities.js +0 -1
- package/package.json +8 -16
- package/dist/bin/cli-bootstrap.js +0 -241
- package/dist/reports/advisor-sukuna.js +0 -23
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
1
|
import { splitLines } from '../../../shared/helpers/index.js';
|
|
3
2
|
import { detectorPhpBestPractices, detectorPhpSecurity } from '../detectors/index.js';
|
|
4
3
|
export function pontuarPhp(src, relPath) {
|
|
@@ -8,7 +7,6 @@ export function pontuarPhp(src, relPath) {
|
|
|
8
7
|
const strengths = [];
|
|
9
8
|
const linhas = splitLines(src);
|
|
10
9
|
const linesCount = linhas.length;
|
|
11
|
-
// Security score (40 points)
|
|
12
10
|
let securityScore = 0;
|
|
13
11
|
const securityMsgs = detectorPhpSecurity.aplicar(src, relPath);
|
|
14
12
|
const securityCount = (securityMsgs ?? []).length;
|
|
@@ -20,7 +18,6 @@ export function pontuarPhp(src, relPath) {
|
|
|
20
18
|
securityScore = Math.max(0, 40 - securityCount * 8);
|
|
21
19
|
issues.push(`${securityCount} problema(s) de segurança`);
|
|
22
20
|
}
|
|
23
|
-
// PSR/best practices score (35 points)
|
|
24
21
|
let psrScore = 0;
|
|
25
22
|
const bpMsgs = detectorPhpBestPractices.aplicar(src, relPath);
|
|
26
23
|
const bpCount = (bpMsgs ?? []).length;
|
|
@@ -32,7 +29,6 @@ export function pontuarPhp(src, relPath) {
|
|
|
32
29
|
psrScore = Math.max(0, 35 - bpCount * 5);
|
|
33
30
|
issues.push(`${bpCount} desvio(s) de boas práticas`);
|
|
34
31
|
}
|
|
35
|
-
// Complexity score (25 points)
|
|
36
32
|
let complexityScore = 25;
|
|
37
33
|
const fnMatches = src.matchAll(/(?:^|\n)\s*(?:public|private|protected|static)?\s*function\s+\w+\s*\([^)]*\)\s*(?::\s*\w+(?:\s*\|\s*\w+)*)?\s*\{/g);
|
|
38
34
|
let hasComplex = false;
|
|
@@ -64,7 +60,6 @@ export function pontuarPhp(src, relPath) {
|
|
|
64
60
|
else {
|
|
65
61
|
strengths.push('Funções com complexidade adequada');
|
|
66
62
|
}
|
|
67
|
-
// File size penalty
|
|
68
63
|
if (linesCount > 500) {
|
|
69
64
|
const penalty = Math.min(10, Math.floor((linesCount - 500) / 100));
|
|
70
65
|
score -= penalty;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
1
|
import { messages } from '../../core/messages/index.js';
|
|
4
2
|
import { formatarMarkdownMinimo, formatarPrettierMinimo } from '../../shared/formatters/index.js';
|
|
5
3
|
import { extrairSupressoes, shouldSuppressOccurrence } from '../../shared/helpers/index.js';
|
|
6
4
|
import { criarAnalista, criarOcorrencia } from '../../types/index.js';
|
|
7
|
-
const disableEnv = process.env.
|
|
5
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_FORMATADOR === '1';
|
|
8
6
|
function parserParaTipo(parser) {
|
|
9
7
|
return `formatador-${parser}`;
|
|
10
8
|
}
|
|
@@ -57,7 +55,6 @@ export const analistaFormatador = criarAnalista({
|
|
|
57
55
|
if (disableEnv) {
|
|
58
56
|
return null;
|
|
59
57
|
}
|
|
60
|
-
// Para markdown, extrair supressões inline e passar ao formatter
|
|
61
58
|
const isMarkdown = /\.(md|markdown)$/i.test(relPath);
|
|
62
59
|
let res;
|
|
63
60
|
if (isMarkdown) {
|
|
@@ -86,7 +83,6 @@ export const analistaFormatador = criarAnalista({
|
|
|
86
83
|
}
|
|
87
84
|
const linha = primeiraLinhaDiferente(src, res.formatted);
|
|
88
85
|
const detalhes = [`primeira diferença na linha ${linha}`, res.reason ? `motivo: ${res.reason}` : null].filter(Boolean).join(', ');
|
|
89
|
-
// Manter como aviso (alinha com intenção de "check" sem mutação)
|
|
90
86
|
return [msg(messages.FormatadorMensagens.naoFormatado(res.parser, detalhes || undefined), relPath, res.parser, messages.SeverityNiveis.warning, linha)];
|
|
91
87
|
}
|
|
92
88
|
});
|
|
@@ -20,20 +20,15 @@ export const analistaDocumentacao = {
|
|
|
20
20
|
});
|
|
21
21
|
const problemas = [];
|
|
22
22
|
try {
|
|
23
|
-
// Detectar problemas por padrões de texto
|
|
24
23
|
detectarPadroesDocumentacao(src, problemas, relPath);
|
|
25
|
-
// Detectar problemas via AST quando disponível
|
|
26
24
|
if (ast) {
|
|
27
25
|
detectarProblemasDocumentacaoAST(ast, problemas);
|
|
28
26
|
}
|
|
29
|
-
// Converter para ocorrências
|
|
30
27
|
const ocorrencias = [];
|
|
31
|
-
// Agrupar por prioridade
|
|
32
28
|
const porPrioridade = agruparPorPrioridade(problemas);
|
|
33
29
|
for (const [prioridade, items] of Object.entries(porPrioridade)) {
|
|
34
30
|
if (items.length > 0) {
|
|
35
31
|
const nivel = mapearPrioridadeParaNivel(prioridade);
|
|
36
|
-
// Ser mais relaxado com testes e arquivos de configuração
|
|
37
32
|
const nivelAjustado = (contextoArquivo.isTest || contextoArquivo.isConfiguracao) && nivel === 'aviso' ? 'info' : nivel;
|
|
38
33
|
const resumo = items.slice(0, 3).map(caminho => caminho.tipo).join(', ');
|
|
39
34
|
ocorrencias.push(criarOcorrencia({
|
|
@@ -45,7 +40,6 @@ export const analistaDocumentacao = {
|
|
|
45
40
|
}));
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
// Aplicar supressões inline antes de retornar
|
|
49
43
|
return filtrarOcorrenciasSuprimidas(ocorrencias, 'documentacao', src);
|
|
50
44
|
}
|
|
51
45
|
catch (erro) {
|
|
@@ -61,42 +55,30 @@ export const analistaDocumentacao = {
|
|
|
61
55
|
};
|
|
62
56
|
function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
63
57
|
const linhas = src.split('\n');
|
|
64
|
-
// [ALVO] FILOSOFIA: Documentação é importante mas não deve poluir
|
|
65
|
-
// - Detectar apenas problemas reais, não ausência de JSDoc em código interno
|
|
66
|
-
// - Priorizar qualidade do código sobre quantidade de comentários
|
|
67
|
-
// - Arquivos de biblioteca pública precisam mais documentação que utils internos
|
|
68
|
-
// Verificar se é arquivo de biblioteca pública (requer documentação rigorosa)
|
|
69
58
|
const isLibraryArquivo = relPath.includes('src/shared/') || relPath.includes('src/core/') || relPath.includes('lib/');
|
|
70
|
-
// Arquivos que não precisam JSDoc rigoroso
|
|
71
59
|
const isInternalArquivo = relPath.includes('/cli/') || relPath.includes('/test') || relPath.includes('/spec') || relPath.includes('/__tests__/') || relPath.includes('/fixtures/') || relPath.includes('/mocks/') || relPath.includes('config.') || relPath.includes('setup.') || relPath.includes('/messages/');
|
|
72
60
|
let temExportacaoPublica = false;
|
|
73
61
|
let temJSDoc = false;
|
|
74
62
|
let dentroDeJSDoc = false;
|
|
75
63
|
linhas.forEach((linha, index) => {
|
|
76
64
|
const numeroLinha = index + 1;
|
|
77
|
-
// Rastrear contexto JSDoc
|
|
78
65
|
if (/\/\*\*/.test(linha)) {
|
|
79
66
|
temJSDoc = true;
|
|
80
67
|
dentroDeJSDoc = true;
|
|
81
68
|
}
|
|
82
|
-
// Pular análise de problemas se estiver dentro de JSDoc ou linha começa com * (JSDoc)
|
|
83
69
|
const linhaJSDoc = dentroDeJSDoc || /^\s*\*/.test(linha);
|
|
84
70
|
if (linhaJSDoc) {
|
|
85
|
-
// Verificar fechamento depois de pular análise
|
|
86
71
|
if (/\*\//.test(linha)) {
|
|
87
72
|
dentroDeJSDoc = false;
|
|
88
73
|
}
|
|
89
|
-
return;
|
|
74
|
+
return;
|
|
90
75
|
}
|
|
91
|
-
// Detectar exportações
|
|
92
76
|
if (/^export\s+(function|class|const|let|var|default)/.test(linha.trim())) {
|
|
93
77
|
temExportacaoPublica = true;
|
|
94
78
|
}
|
|
95
|
-
// Variáveis com nomes de uma letra (exceto loops, cast types, e contextos legítimos)
|
|
96
79
|
const singleLetterMatch = /\b(const|let|var)\s+([a-z])\s*=/.exec(linha);
|
|
97
80
|
if (singleLetterMatch && !/for\s*\(/.test(linha) && !/while\s*\(/.test(linha)) {
|
|
98
81
|
const varNome = singleLetterMatch[2];
|
|
99
|
-
// Excluir variáveis legítimas: i, j, k em contexto de iteração, tipos (x as Type)
|
|
100
82
|
const isLoopContext = /\b(i|j|k)\s*=\s*\d+/.test(linha) || /\b(i|j|k)\s*[+\-]=/.test(linha);
|
|
101
83
|
const isTipoCast = /as\s+\w+/.test(linha) || /:\s*\w+\s*=/.test(linha);
|
|
102
84
|
if (!isLoopContext && !isTipoCast) {
|
|
@@ -111,7 +93,6 @@ function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
|
111
93
|
});
|
|
112
94
|
}
|
|
113
95
|
}
|
|
114
|
-
// Números mágicos (não em arrays ou comparações simples)
|
|
115
96
|
const numMagico = /\b(\d{2,})\b/.exec(linha);
|
|
116
97
|
if (numMagico && !/(length|size|count)\s*[=><!]/.test(linha) && !/\[\s*\d+\s*\]/.test(linha) && parseInt(numMagico[1]) > 10) {
|
|
117
98
|
problemas.push({
|
|
@@ -124,7 +105,6 @@ function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
|
124
105
|
sugestao: 'Extraia para constante nomeada com comentário'
|
|
125
106
|
});
|
|
126
107
|
}
|
|
127
|
-
// Comentários TODO antigos (aproximação heurística)
|
|
128
108
|
if (/TODO.*\d{4}/.test(linha)) {
|
|
129
109
|
const ano = /TODO.*(\d{4})/.exec(linha)?.[1];
|
|
130
110
|
const anoAtual = new Date().getFullYear();
|
|
@@ -140,18 +120,14 @@ function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
|
140
120
|
});
|
|
141
121
|
}
|
|
142
122
|
}
|
|
143
|
-
// TypeScript: tipos 'any' sem comentário explicativo (exceto em strings literais)
|
|
144
123
|
if (/:\s*any\b/.test(linha) && !/\/\/|\/\*/.test(linha)) {
|
|
145
|
-
// Verificar se não está dentro de string (ex: const code = 'x: any')
|
|
146
124
|
const anyMatch = /:\s*any\b/.exec(linha);
|
|
147
125
|
if (anyMatch) {
|
|
148
126
|
const position = anyMatch.index;
|
|
149
127
|
const before = linha.substring(0, position);
|
|
150
|
-
// Contar aspas antes da posição
|
|
151
128
|
const singleQuotes = (before.match(/'/g) ?? []).length;
|
|
152
129
|
const doubleQuotes = (before.match(/"/g) ?? []).length;
|
|
153
130
|
const backticks = (before.match(/`/g) ?? []).length;
|
|
154
|
-
// Se número ímpar de aspas, está dentro de string
|
|
155
131
|
const dentroDeString = singleQuotes % 2 !== 0 || doubleQuotes % 2 !== 0 || backticks % 2 !== 0;
|
|
156
132
|
if (!dentroDeString) {
|
|
157
133
|
problemas.push({
|
|
@@ -167,20 +143,11 @@ function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
|
167
143
|
}
|
|
168
144
|
}
|
|
169
145
|
});
|
|
170
|
-
// [BIBLIOTECA] DETECÇÃO INTELIGENTE DE FALTA DE DOCUMENTAÇÃO
|
|
171
|
-
// Apenas reportar se:
|
|
172
|
-
// 1. É arquivo de biblioteca pública (shared/, core/, lib/) E
|
|
173
|
-
// 2. Tem exportações públicas E
|
|
174
|
-
// 3. Não tem nenhum JSDoc E
|
|
175
|
-
// 4. Não é arquivo de teste/config/setup
|
|
176
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- vars mutated inside forEach closure; TS can't track
|
|
177
146
|
if (isLibraryArquivo && temExportacaoPublica && !temJSDoc && !isInternalArquivo && src.length > 200) {
|
|
178
|
-
// Arquivo grande o suficiente para justificar documentação
|
|
179
147
|
problemas.push({
|
|
180
148
|
tipo: 'missing-jsdoc',
|
|
181
149
|
descricao: 'Arquivo de biblioteca pública sem documentação',
|
|
182
150
|
prioridade: 'media',
|
|
183
|
-
// Reduzido de 'alta' para 'media'
|
|
184
151
|
linha: 1,
|
|
185
152
|
coluna: 1,
|
|
186
153
|
contexto: 'Arquivo de biblioteca',
|
|
@@ -191,15 +158,12 @@ function detectarPadroesDocumentacao(src, problemas, relPath) {
|
|
|
191
158
|
function detectarProblemasDocumentacaoAST(ast, problemas) {
|
|
192
159
|
try {
|
|
193
160
|
ast.traverse({
|
|
194
|
-
// [ALVO] FILOSOFIA: Detectar apenas exports DEFAULT sem JSDoc
|
|
195
|
-
// Exports nomeados podem ser auto-explicativos pelo nome
|
|
196
161
|
ExportDefaultDeclaration(path) {
|
|
197
162
|
if ((path.node.declaration.type === 'FunctionDeclaration' || path.node.declaration.type === 'ClassDeclaration') && !path.node.leadingComments?.some(elem => elem.value.startsWith('*'))) {
|
|
198
163
|
problemas.push({
|
|
199
164
|
tipo: 'missing-jsdoc',
|
|
200
165
|
descricao: 'Export default (principal) sem JSDoc',
|
|
201
166
|
prioridade: 'media',
|
|
202
|
-
// Reduzido de 'alta'
|
|
203
167
|
linha: path.node.loc?.start.line ?? 0,
|
|
204
168
|
coluna: path.node.loc?.start.column ?? 0,
|
|
205
169
|
contexto: 'Export default',
|
|
@@ -207,13 +171,10 @@ function detectarProblemasDocumentacaoAST(ast, problemas) {
|
|
|
207
171
|
});
|
|
208
172
|
}
|
|
209
173
|
},
|
|
210
|
-
// Classes públicas complexas (>3 métodos) sem documentação
|
|
211
174
|
ClassDeclaration(path) {
|
|
212
175
|
const node = path.node;
|
|
213
176
|
if (node.body.body.length > 3 &&
|
|
214
|
-
// Apenas classes não-triviais
|
|
215
177
|
!node.leadingComments?.some(elem => elem.value.startsWith('*')) && node.id?.name && !node.id.name.toLowerCase().includes('test') && !node.id.name.toLowerCase().includes('mock')) {
|
|
216
|
-
// Verificar se é exportada
|
|
217
178
|
const parent = path.parent;
|
|
218
179
|
const isExported = parent.type === 'ExportNamedDeclaration' || parent.type === 'ExportDefaultDeclaration';
|
|
219
180
|
if (isExported) {
|
|
@@ -229,13 +190,9 @@ function detectarProblemasDocumentacaoAST(ast, problemas) {
|
|
|
229
190
|
}
|
|
230
191
|
}
|
|
231
192
|
}
|
|
232
|
-
// [NO] REMOVIDO: Detecção de funções com muitos parâmetros
|
|
233
|
-
// Motivo: Gera muito ruído em código interno/utils
|
|
234
|
-
// Alternativa: Revisar code review manual ou usar linter específico
|
|
235
193
|
});
|
|
236
194
|
}
|
|
237
195
|
catch {
|
|
238
|
-
// Ignorar erros de traverse
|
|
239
196
|
}
|
|
240
197
|
}
|
|
241
198
|
function agruparPorPrioridade(problemas) {
|
|
@@ -252,7 +209,6 @@ function mapearPrioridadeParaNivel(prioridade) {
|
|
|
252
209
|
switch (prioridade) {
|
|
253
210
|
case 'alta':
|
|
254
211
|
return 'aviso';
|
|
255
|
-
// Documentação raramente é erro crítico
|
|
256
212
|
case 'media':
|
|
257
213
|
return 'aviso';
|
|
258
214
|
case 'baixa':
|
|
@@ -1,66 +1,33 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
/**
|
|
4
|
-
* @fileoverview Detector de problemas em arquivos Markdown
|
|
5
|
-
*
|
|
6
|
-
* Verifica compliance de licenças, proveniência e referências em documentação.
|
|
7
|
-
* Migrado de: scripts/scan-markdown.mjs
|
|
8
|
-
* Data: 2025-11-02
|
|
9
|
-
*
|
|
10
|
-
* Funcionalidades:
|
|
11
|
-
* - Detecta licenças incompatíveis (GPL, AGPL, CC-BY, etc)
|
|
12
|
-
* - Verifica presença de aviso de proveniência
|
|
13
|
-
* - Identifica referências de risco (Stack Overflow, cessão de direitos)
|
|
14
|
-
* - Whitelist configurável para documentos de política
|
|
15
|
-
*/
|
|
16
1
|
import { config } from '../../core/config/index.js';
|
|
17
2
|
import { getMessages } from '../../core/messages/index.js';
|
|
18
3
|
import { extrairSupressoes, isRegraSuprimida } from '../../shared/helpers/index.js';
|
|
19
4
|
const { log } = getMessages();
|
|
20
|
-
/**
|
|
21
|
-
* Padrões de licenças e cessões problemáticas
|
|
22
|
-
*/
|
|
23
5
|
const LICENCA_PADROES = {
|
|
24
6
|
incompativeis: [/\bGPL\b/i, /\bAGPL\b/i, /\bLGPL\b/i, /Creative\s+Commons/i, /\bCC-BY\b/i, /All\s+rights\s+reserved/i],
|
|
25
7
|
cessaoDireitos: [/cess(?:ã|a)o\s+de\s+direitos/i, /transfer(?:ê|e)ncia\s+de\s+direitos/i],
|
|
26
8
|
referenciasRisco: [/Stack\s*Overflow/i, /(?:^|https?:\/\/|\/\/)(?:[^\/\s@]+\.)?stackoverflow\.com(?::\d+)?(?:[\/?#]|$)/i, /\bassign\b/i, /\bcession\b/i]
|
|
27
9
|
};
|
|
28
|
-
/**
|
|
29
|
-
* Whitelist padrão de arquivos
|
|
30
|
-
*/
|
|
31
10
|
const PADRAO_LISTA_BRANCA = {
|
|
32
11
|
paths: ['.github/copilot-instructions.md', 'docs/POLICY-PROVENIENCIA.md', 'docs/partials/AVISO-PROVENIENCIA.md'],
|
|
33
12
|
patterns: ['**/reports/**', 'docs/history/**', 'tests/**', 'tmp*.md'],
|
|
34
13
|
dirs: ['pre-public', 'preview-mahoraga', '.abandonados', '.deprecados', 'reports']
|
|
35
14
|
};
|
|
36
|
-
/**
|
|
37
|
-
* Cria regex combinado de todos os padrões de risco
|
|
38
|
-
*/
|
|
39
15
|
function createRiskRegex() {
|
|
40
16
|
const allPadroes = [...LICENCA_PADROES.incompativeis, ...LICENCA_PADROES.cessaoDireitos, ...LICENCA_PADROES.referenciasRisco].map(raiz => raiz.source).join('|');
|
|
41
17
|
return new RegExp(allPadroes, 'i');
|
|
42
18
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Verifica se arquivo tem aviso de proveniência
|
|
45
|
-
*/
|
|
46
19
|
function hasProvenienciaHeader(content, headerLines = 30) {
|
|
47
20
|
const head = content.split(/\r?\n/).slice(0, headerLines).join('\n');
|
|
48
21
|
return /Proveni[eê]ncia\s+e\s+Autoria/i.test(head);
|
|
49
22
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Verifica se arquivo está na whitelist
|
|
52
|
-
*/
|
|
53
23
|
function isWhitelisted(relPath, whitelist) {
|
|
54
24
|
const normalized = relPath.replace(/\\/g, '/');
|
|
55
|
-
// Paths exatos
|
|
56
25
|
if (whitelist.paths.some((caminho) => normalized === caminho || normalized.endsWith(`/${caminho}`))) {
|
|
57
26
|
return true;
|
|
58
27
|
}
|
|
59
|
-
// Diretórios
|
|
60
28
|
if (whitelist.dirs.some((dir) => normalized.startsWith(`${dir}/`))) {
|
|
61
29
|
return true;
|
|
62
30
|
}
|
|
63
|
-
// Patterns (simplificado - sem glob completo)
|
|
64
31
|
for (const pattern of whitelist.patterns) {
|
|
65
32
|
if (pattern.includes('**')) {
|
|
66
33
|
const parts = pattern.split('**');
|
|
@@ -82,16 +49,10 @@ function isWhitelisted(relPath, whitelist) {
|
|
|
82
49
|
}
|
|
83
50
|
return false;
|
|
84
51
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Verifica se tem marcador de risco aprovado
|
|
87
|
-
*/
|
|
88
52
|
function hasRiskReferenceMarker(content) {
|
|
89
53
|
return /<!--\s*RISCO_REFERENCIA_OK\s*-->/i.test(content);
|
|
90
54
|
}
|
|
91
55
|
function hasMahoragaIgnoreMarker(content, key) {
|
|
92
|
-
// Suporta ambos os padrões:
|
|
93
|
-
// <!-- mahoraga-ignore: license-check -->
|
|
94
|
-
// <!-- @mahoraga-disable license-check -->
|
|
95
56
|
const escaped = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
96
57
|
const oldPattern = new RegExp(`<!--\\s*mahoraga-ignore\\s*:\\s*${escaped}\\s*-->`, 'i');
|
|
97
58
|
const newPattern = new RegExp(`<!--\\s*@mahoraga-disable\\s+${escaped}(?:\\s|-->|$)`, 'i');
|
|
@@ -116,9 +77,6 @@ function mergeWhitelist(base, override, mode) {
|
|
|
116
77
|
dirs: uniq([...base.dirs, ...overrideDirs])
|
|
117
78
|
};
|
|
118
79
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Verifica se o único termo de risco é do aviso de proveniência
|
|
121
|
-
*/
|
|
122
80
|
function isBenignProvenienciaOnly(content) {
|
|
123
81
|
const rxCessao = /cess(?:ã|a)o\s+de\s+direitos/i;
|
|
124
82
|
const rxOthers = new RegExp(['\\bGPL\\b', '\\bAGPL\\b', '\\bLGPL\\b', 'Creative\\s+Commons', '\\bCC-BY\\b', 'Stack\\s*Overflow', '(?:^|[^\\w.-])(?:[\\w-]+\\.)*stackoverflow\\.com(?:$|[^\\w.-])', 'All\\s+rights\\s+reserved', 'transfer(?:ê|e)ncia\\s+de\\s+direitos', '\\bassign\\b', '\\bcession\\b'].join('|'), 'i');
|
|
@@ -127,9 +85,6 @@ function isBenignProvenienciaOnly(content) {
|
|
|
127
85
|
const hasAviso = /Proveni[eê]ncia\s+e\s+Autoria/i.test(content);
|
|
128
86
|
return hasAviso && hasCessao && !hasOthers;
|
|
129
87
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Analisa um arquivo Markdown
|
|
132
|
-
*/
|
|
133
88
|
function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
134
89
|
const whitelist = options.whitelist ?? PADRAO_LISTA_BRANCA;
|
|
135
90
|
const problemas = [];
|
|
@@ -137,7 +92,6 @@ function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
|
137
92
|
const temRiscoOk = hasRiskReferenceMarker(content);
|
|
138
93
|
const temProveniencia = hasProvenienciaHeader(content, options.headerLines ?? 30);
|
|
139
94
|
const ignoreLicencaCheck = hasMahoragaIgnoreMarker(content, 'license-check');
|
|
140
|
-
// Verificar proveniência
|
|
141
95
|
if (options.checkProveniencia !== false && !temProveniencia && !whitelisted) {
|
|
142
96
|
problemas.push({
|
|
143
97
|
tipo: 'falta-proveniencia',
|
|
@@ -146,18 +100,15 @@ function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
|
146
100
|
sugestao: 'Adicione o aviso usando scripts/add-disclaimer-md.js'
|
|
147
101
|
});
|
|
148
102
|
}
|
|
149
|
-
// Verificar licenças e referências
|
|
150
103
|
if (options.checkLicenses !== false || options.checkReferences !== false) {
|
|
151
104
|
const riskRegex = createRiskRegex();
|
|
152
105
|
const hasRisk = riskRegex.test(content);
|
|
153
106
|
if (hasRisk && !isBenignProvenienciaOnly(content) && !whitelisted && !temRiscoOk) {
|
|
154
|
-
// Identificar problemas específicos
|
|
155
107
|
const lines = content.split(/\r?\n/);
|
|
156
108
|
const supressoes = extrairSupressoes(content);
|
|
157
109
|
for (let indice = 0; indice < lines.length; indice++) {
|
|
158
110
|
const line = lines[indice];
|
|
159
111
|
const linhaAtual = indice + 1;
|
|
160
|
-
// Verificar licenças incompatíveis
|
|
161
112
|
if (options.checkLicenses !== false && !ignoreLicencaCheck) {
|
|
162
113
|
for (const pattern of LICENCA_PADROES.incompativeis) {
|
|
163
114
|
if (pattern.test(line)) {
|
|
@@ -175,7 +126,6 @@ function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
|
175
126
|
}
|
|
176
127
|
}
|
|
177
128
|
}
|
|
178
|
-
// Verificar cessão de direitos
|
|
179
129
|
if (options.checkReferences !== false) {
|
|
180
130
|
for (const pattern of LICENCA_PADROES.cessaoDireitos) {
|
|
181
131
|
if (pattern.test(line)) {
|
|
@@ -192,7 +142,6 @@ function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
|
192
142
|
}
|
|
193
143
|
}
|
|
194
144
|
}
|
|
195
|
-
// Verificar referências externas
|
|
196
145
|
for (const pattern of LICENCA_PADROES.referenciasRisco) {
|
|
197
146
|
if (pattern.test(line)) {
|
|
198
147
|
const regraNome = `markdown-referencia-risco`;
|
|
@@ -221,9 +170,6 @@ function analisarArquivoMarkdown(fullCaminho, relPath, content, options) {
|
|
|
221
170
|
temRiscoOk
|
|
222
171
|
};
|
|
223
172
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Converte análise para ocorrências do Mahoraga
|
|
226
|
-
*/
|
|
227
173
|
function converterParaOcorrencias(analise) {
|
|
228
174
|
const ocorrencias = [];
|
|
229
175
|
for (const problema of analise.problemas) {
|
|
@@ -254,9 +200,6 @@ function converterParaOcorrencias(analise) {
|
|
|
254
200
|
}
|
|
255
201
|
return ocorrencias;
|
|
256
202
|
}
|
|
257
|
-
/**
|
|
258
|
-
* Detector de problemas em Markdown
|
|
259
|
-
*/
|
|
260
203
|
export const detectorMarkdown = {
|
|
261
204
|
nome: 'detector-markdown',
|
|
262
205
|
categoria: 'documentacao',
|
|
@@ -288,7 +231,4 @@ export const detectorMarkdown = {
|
|
|
288
231
|
}
|
|
289
232
|
}
|
|
290
233
|
};
|
|
291
|
-
/**
|
|
292
|
-
* Exporta função de análise standalone para uso em outros módulos
|
|
293
|
-
*/
|
|
294
234
|
export { analisarArquivoMarkdown };
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
1
|
import { scoreArquetipo } from '../scorers/index.js';
|
|
3
2
|
import { ARQUETIPOS } from '../strategists/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Detector especializado para projetos Node.js/TypeScript
|
|
6
|
-
* Retorna lista de candidatos de arquétipo com score/confiança
|
|
7
|
-
*/
|
|
8
3
|
export function detectarArquetipoNode(arquivos) {
|
|
9
4
|
const temPackage = arquivos.some(arquivo => arquivo.endsWith('package.json'));
|
|
10
5
|
const ehNode = temPackage;
|
|
@@ -1,24 +1,4 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
/**
|
|
3
|
-
* [PLUGIN] Plugins do Mahoraga
|
|
4
|
-
*
|
|
5
|
-
* Analistas e detectores especializados que podem ser habilitados/desabilitados.
|
|
6
|
-
* São opcionais e carregados dinamicamente pelo registry.
|
|
7
|
-
*
|
|
8
|
-
* Plugins Genéricos:
|
|
9
|
-
* - analista-formater.ts - Formatação mínima (JSON/MD/YAML)
|
|
10
|
-
*
|
|
11
|
-
* Detectores Especializados (cross-cutting):
|
|
12
|
-
* - detector-documentacao.ts - Qualidade de documentação
|
|
13
|
-
* - detector-markdown.ts - Análise de Markdown
|
|
14
|
-
* - detector-node.ts - Padrões Node.js
|
|
15
|
-
*
|
|
16
|
-
* Nota: Analistas específicos de tecnologia foram movidos para suas respectivas pastas:
|
|
17
|
-
* - react/, python/, css/, html/, sql/, tailwind/, xml/, css-in-js/, github-actions/, shell/, svg/
|
|
18
|
-
*/
|
|
19
|
-
// Analista genérico
|
|
20
1
|
export * from './analyst-formatter.js';
|
|
21
|
-
// Detectores especializados
|
|
22
2
|
export * from './detector-documentation.js';
|
|
23
3
|
export * from './detector-markdown.js';
|
|
24
4
|
export * from './detector-node.js';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
1
|
import { messages } from '../../../core/messages/index.js';
|
|
4
2
|
import { createLineLookup, maskPythonComments, maskPythonStringsAndComments, splitLines } from '../../../shared/helpers/index.js';
|
|
5
3
|
import { criarAnalista, criarOcorrencia } from '../../../types/index.js';
|
|
6
|
-
const disableEnv = process.env.
|
|
4
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_PYTHON === '1';
|
|
7
5
|
const PYTHON_BUILTINS = new Set([
|
|
8
6
|
'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr',
|
|
9
7
|
'classmethod', 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate',
|
|
@@ -34,7 +32,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
34
32
|
const scanNoComentarios = maskPythonComments(src);
|
|
35
33
|
const linhas = splitLines(src);
|
|
36
34
|
const isTestFile = /test/i.test(relPath);
|
|
37
|
-
// ─── Type Hints & Code Quality ────────────────────────────────
|
|
38
35
|
for (const match of scan.matchAll(/^\s*(?:async\s+)?def\s+([a-z_][a-z0-9_]*)\s*\((.*?)\)(?!\s*->)/gm)) {
|
|
39
36
|
const funcNome = match[1] || '';
|
|
40
37
|
const line = lineOf(match.index);
|
|
@@ -43,7 +40,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
43
40
|
}
|
|
44
41
|
ocorrencias.push(warn(messages.PythonMensagens.missingTypeHints, relPath, line));
|
|
45
42
|
}
|
|
46
|
-
// ─── Security Issues ──────────────────────────────────────────
|
|
47
43
|
for (const match of scan.matchAll(/^\s*print\s*\(/gm)) {
|
|
48
44
|
const line = lineOf(match.index);
|
|
49
45
|
ocorrencias.push(warn(messages.PythonMensagens.printInsteadOfLog, relPath, line));
|
|
@@ -93,7 +89,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
93
89
|
const line = lineOf(match.index);
|
|
94
90
|
ocorrencias.push(warn(messages.PythonMensagens.sqlInjection, relPath, line, messages.SeverityNiveis.error));
|
|
95
91
|
}
|
|
96
|
-
// assert in non-test code
|
|
97
92
|
for (const match of scan.matchAll(/^\s*assert\s+/gm)) {
|
|
98
93
|
if (isTestFile) {
|
|
99
94
|
continue;
|
|
@@ -101,12 +96,10 @@ export function collectPythonIssues(src, relPath) {
|
|
|
101
96
|
const line = lineOf(match.index);
|
|
102
97
|
ocorrencias.push(warn(messages.PythonMensagens.assertUsage, relPath, line, messages.SeverityNiveis.warning));
|
|
103
98
|
}
|
|
104
|
-
// Insecure hash algorithms
|
|
105
99
|
for (const match of scan.matchAll(/\bhashlib\.(?:md5|sha1)\s*\(/gi)) {
|
|
106
100
|
const line = lineOf(match.index);
|
|
107
101
|
ocorrencias.push(warn(messages.PythonMensagens.insecureHashLib, relPath, line, messages.SeverityNiveis.warning));
|
|
108
102
|
}
|
|
109
|
-
// HTTP requests without timeout
|
|
110
103
|
for (const match of scanNoComentarios.matchAll(/(?:requests|httpx|aiohttp)\.(?:get|post|put|delete|patch|request)\s*\([^)]*\)/g)) {
|
|
111
104
|
if (/\btimeout\s*=/.test(match[0])) {
|
|
112
105
|
continue;
|
|
@@ -114,12 +107,10 @@ export function collectPythonIssues(src, relPath) {
|
|
|
114
107
|
const line = lineOf(match.index);
|
|
115
108
|
ocorrencias.push(warn(messages.PythonMensagens.requestWithoutTimeout, relPath, line, messages.SeverityNiveis.warning));
|
|
116
109
|
}
|
|
117
|
-
// Insecure temporary file creation
|
|
118
110
|
for (const match of scan.matchAll(/\btempfile\.mktemp\s*\(/gi)) {
|
|
119
111
|
const line = lineOf(match.index);
|
|
120
112
|
ocorrencias.push(warn(messages.PythonMensagens.tempfileSecurity, relPath, line, messages.SeverityNiveis.error));
|
|
121
113
|
}
|
|
122
|
-
// ─── Exception Handling ───────────────────────────────────────
|
|
123
114
|
for (const match of scan.matchAll(/^\s*except\s*:\s*$/gm)) {
|
|
124
115
|
const line = lineOf(match.index);
|
|
125
116
|
ocorrencias.push(warn(messages.PythonMensagens.broadExcept, relPath, line));
|
|
@@ -132,7 +123,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
132
123
|
const line = lineOf(match.index);
|
|
133
124
|
ocorrencias.push(warn(messages.PythonMensagens.bareRaise, relPath, line));
|
|
134
125
|
}
|
|
135
|
-
// except blocks without logging the exception
|
|
136
126
|
for (const match of src.matchAll(/except\s+(\w+)\s+as\s+(\w+)\s*:((?:[ \t]+.*\n?)*?)(?=\n\S|\n\s*(?:except|else|finally|def|class)|$)/gm)) {
|
|
137
127
|
const excVar = match[2];
|
|
138
128
|
const block = match[3];
|
|
@@ -146,7 +136,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
146
136
|
const line = lineOf(match.index);
|
|
147
137
|
ocorrencias.push(warn(messages.PythonMensagens.loggingWithoutException, relPath, line, messages.SeverityNiveis.warning));
|
|
148
138
|
}
|
|
149
|
-
// ─── Code Quality & Best Practices ────────────────────────────
|
|
150
139
|
for (const match of scan.matchAll(/^\s*global\s+\w+/gm)) {
|
|
151
140
|
const line = lineOf(match.index);
|
|
152
141
|
ocorrencias.push(warn(messages.PythonMensagens.globalKeyword, relPath, line));
|
|
@@ -155,7 +144,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
155
144
|
const line = lineOf(match.index);
|
|
156
145
|
ocorrencias.push(warn(messages.PythonMensagens.mutableDefault, relPath, line));
|
|
157
146
|
}
|
|
158
|
-
// Check for typing imports missing
|
|
159
147
|
const hasTypingImport = /^from\s+typing\s+import/m.test(src);
|
|
160
148
|
if (!hasTypingImport) {
|
|
161
149
|
const typingTypes = /\b(List|Dict|Optional|Union|Tuple|Set|FrozenSet|Callable|Iterable|Iterator|Generator|TypeVar|Any|Mapping|Sequence)\b/g;
|
|
@@ -164,24 +152,20 @@ export function collectPythonIssues(src, relPath) {
|
|
|
164
152
|
ocorrencias.push(warn(messages.PythonMensagens.typingImportMissing, relPath, line, messages.SeverityNiveis.suggestion));
|
|
165
153
|
}
|
|
166
154
|
}
|
|
167
|
-
// Wildcard imports
|
|
168
155
|
for (const match of scan.matchAll(/^from\s+[\w.]+\s+import\s+\*/gm)) {
|
|
169
156
|
const line = lineOf(match.index);
|
|
170
157
|
ocorrencias.push(warn(messages.PythonMensagens.wildcardImport, relPath, line, messages.SeverityNiveis.warning));
|
|
171
158
|
}
|
|
172
|
-
// Deep relative imports (3+ dots)
|
|
173
159
|
for (const match of scan.matchAll(/^from\s+\.{3,}\w/gm)) {
|
|
174
160
|
const line = lineOf(match.index);
|
|
175
161
|
ocorrencias.push(warn(messages.PythonMensagens.relativeImportDeep, relPath, line, messages.SeverityNiveis.info));
|
|
176
162
|
}
|
|
177
|
-
// Long lines
|
|
178
163
|
linhas.forEach((linha, idx) => {
|
|
179
164
|
const line = idx + 1;
|
|
180
165
|
if (linha.length > 79 && !/^\s*#/.test(linha)) {
|
|
181
166
|
ocorrencias.push(warn(messages.PythonMensagens.longLine, relPath, line, messages.SeverityNiveis.info));
|
|
182
167
|
}
|
|
183
168
|
});
|
|
184
|
-
// Variables shadowing built-in names
|
|
185
169
|
const varAssignmentPattern = /(?:^|\s)([a-z_][a-z0-9_]*)\s*=\s*(?![=<>!])/gm;
|
|
186
170
|
for (const match of scan.matchAll(varAssignmentPattern)) {
|
|
187
171
|
const varName = match[1];
|
|
@@ -190,12 +174,10 @@ export function collectPythonIssues(src, relPath) {
|
|
|
190
174
|
ocorrencias.push(warn(messages.PythonMensagens.shadowBuiltin, relPath, line, messages.SeverityNiveis.info));
|
|
191
175
|
}
|
|
192
176
|
}
|
|
193
|
-
// Task/FIXME comments (on original src, before masking)
|
|
194
177
|
for (const match of src.matchAll(/#\s*(TODO|FIXME|HACK|XXX|BUG|WORKAROUND)[:\s]/gi)) {
|
|
195
178
|
const line = lineOf(match.index);
|
|
196
179
|
ocorrencias.push(warn(messages.PythonMensagens.todoFixme, relPath, line, messages.SeverityNiveis.info));
|
|
197
180
|
}
|
|
198
|
-
// Commented-out code lines
|
|
199
181
|
for (let i = 0; i < linhas.length; i++) {
|
|
200
182
|
const trimmed = linhas[i].trim();
|
|
201
183
|
const codePattern = /^#\s*(?:if|for|while|def|class|return|import|from|print|self\.|with|try|except|elif|else)\s+/;
|
|
@@ -203,12 +185,10 @@ export function collectPythonIssues(src, relPath) {
|
|
|
203
185
|
ocorrencias.push(warn(messages.PythonMensagens.commentedCode, relPath, i + 1, messages.SeverityNiveis.info));
|
|
204
186
|
}
|
|
205
187
|
}
|
|
206
|
-
// Return outside function (module-level return)
|
|
207
188
|
for (const match of scan.matchAll(/^return\b/gm)) {
|
|
208
189
|
const line = lineOf(match.index);
|
|
209
190
|
ocorrencias.push(warn(messages.PythonMensagens.returnOutsideFunction, relPath, line, messages.SeverityNiveis.error));
|
|
210
191
|
}
|
|
211
|
-
// Unused variable (simple heuristic: variable assigned but never referenced in same function)
|
|
212
192
|
const funcBodies = src.matchAll(/(?:^|\n)((?: |\t)*(?:async\s+)?def\s+\w+\s*\([^)]*\)\s*:\s*\n((?:\1(?: |\t).*(?:\n|$))*))/gm);
|
|
213
193
|
for (const funcMatch of funcBodies) {
|
|
214
194
|
const funcBody = funcMatch[2] || '';
|
|
@@ -240,8 +220,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
240
220
|
}
|
|
241
221
|
}
|
|
242
222
|
}
|
|
243
|
-
// ─── Complexidade ─────────────────────────────────────────────
|
|
244
|
-
// Too many return statements in a function
|
|
245
223
|
for (const funcMatch of src.matchAll(/(^|\n)((?: |\t)*(?:async\s+)?def\s+(\w+)\s*\([^)]*\)\s*:\s*\n((?:\1(?: |\t).*(?:\n|$))*))/gm)) {
|
|
246
224
|
const funcBody = funcMatch[3] || '';
|
|
247
225
|
const funcName = funcMatch[2] || '';
|
|
@@ -254,7 +232,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
254
232
|
ocorrencias.push(warn(messages.PythonMensagens.tooManyReturns, relPath, line, messages.SeverityNiveis.info));
|
|
255
233
|
}
|
|
256
234
|
}
|
|
257
|
-
// Too many branches (if/elif/else) in a function
|
|
258
235
|
for (const funcMatch of src.matchAll(/(^|\n)((?: |\t)*(?:async\s+)?def\s+\w+\s*\([^)]*\)\s*:\s*\n((?:\1(?: |\t).*(?:\n|$))*))/gm)) {
|
|
259
236
|
const funcBody = funcMatch[3] || '';
|
|
260
237
|
const branchCount = (funcBody.match(/\b(?:if|elif|else)\b/g) ?? []).length;
|
|
@@ -263,7 +240,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
263
240
|
ocorrencias.push(warn(messages.PythonMensagens.tooManyBranches, relPath, line, messages.SeverityNiveis.info));
|
|
264
241
|
}
|
|
265
242
|
}
|
|
266
|
-
// ─── Performance & Design ─────────────────────────────────────
|
|
267
243
|
for (const match of scan.matchAll(/for\s+\w+\s+in\s+\w+:\s*\n\s*(\w+)\.append\s*\(/g)) {
|
|
268
244
|
const line = lineOf(match.index);
|
|
269
245
|
ocorrencias.push(warn(messages.PythonMensagens.listComprehensionOpportunity, relPath, line, messages.SeverityNiveis.suggestion));
|
|
@@ -272,12 +248,10 @@ export function collectPythonIssues(src, relPath) {
|
|
|
272
248
|
const line = lineOf(match.index);
|
|
273
249
|
ocorrencias.push(warn(messages.PythonMensagens.loopingOverDict, relPath, line, messages.SeverityNiveis.suggestion));
|
|
274
250
|
}
|
|
275
|
-
// Iterating dict without .items() in complex context (multi-line)
|
|
276
251
|
for (const match of scan.matchAll(/for\s+(\w+)\s+in\s+(\w+):\s*\n(?:\s+.*\n)*?\s+\1\[/gm)) {
|
|
277
252
|
const line = lineOf(match.index);
|
|
278
253
|
ocorrencias.push(warn(messages.PythonMensagens.dictIteration, relPath, line, messages.SeverityNiveis.suggestion));
|
|
279
254
|
}
|
|
280
|
-
// Loop variable overwritten in loop body
|
|
281
255
|
for (const match of scan.matchAll(/for\s+(\w+)\s+in\s+.+:\s*\n((?:\s+.*\n)*?)/g)) {
|
|
282
256
|
const loopVar = match[1];
|
|
283
257
|
const body = match[2] || '';
|
|
@@ -287,7 +261,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
287
261
|
ocorrencias.push(warn(messages.PythonMensagens.redefinedLoopVar, relPath, line, messages.SeverityNiveis.info));
|
|
288
262
|
}
|
|
289
263
|
}
|
|
290
|
-
// Class could be a dataclass
|
|
291
264
|
for (const match of src.matchAll(/^class\s+(\w+)[\s\S]*?^\s+def\s+__init__\s*\(self\s*,\s*([^)]*)\)\s*:\s*\n((?:\s+.*\n)*?)(?=\n\S|\nclass |$)/gm)) {
|
|
292
265
|
const initBody = match[3] || '';
|
|
293
266
|
const params = (match[2] || '').split(',').map(p => p.trim().split('=')[0].trim()).filter(p => p && p !== 'self');
|
|
@@ -304,7 +277,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
304
277
|
ocorrencias.push(warn(messages.PythonMensagens.dataclassOpportunity, relPath, line, messages.SeverityNiveis.suggestion));
|
|
305
278
|
}
|
|
306
279
|
}
|
|
307
|
-
// Consider Enum for string constants group
|
|
308
280
|
for (const match of src.matchAll(/^class\s+(\w+)[\s\S]*?((?:^\s+\w+\s*=\s*['"][^'"]*['"]\s*$\n?)+)/gm)) {
|
|
309
281
|
const constantsBlock = match[2] || '';
|
|
310
282
|
const constLines = constantsBlock.trim().split('\n').filter(l => /^\s+\w+\s*=/.test(l));
|
|
@@ -314,7 +286,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
314
286
|
ocorrencias.push(warn(messages.PythonMensagens.considerEnum, relPath, line, messages.SeverityNiveis.suggestion));
|
|
315
287
|
}
|
|
316
288
|
}
|
|
317
|
-
// Async function without await
|
|
318
289
|
for (const match of src.matchAll(/^\s*async\s+def\s+(\w+)\s*\([^)]*\)\s*:\s*\n((?:(?:\s+.*\n?)*?)(?=\n\S|\n\s*async\s+def|\n\s*def\s+|\nclass |$))/gm)) {
|
|
319
290
|
const body = match[2] || '';
|
|
320
291
|
if (!/\bawait\b/.test(body)) {
|
|
@@ -322,7 +293,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
322
293
|
ocorrencias.push(warn(messages.PythonMensagens.asyncWithoutAwait, relPath, line, messages.SeverityNiveis.warning));
|
|
323
294
|
}
|
|
324
295
|
}
|
|
325
|
-
// f-string without expression (wasted computation)
|
|
326
296
|
for (const match of scan.matchAll(/f(['"])(?:\\[^]|[^\\])*?\1/g)) {
|
|
327
297
|
const fstr = match[0];
|
|
328
298
|
if (!/\{[^}]+\}/.test(fstr)) {
|
|
@@ -330,7 +300,6 @@ export function collectPythonIssues(src, relPath) {
|
|
|
330
300
|
ocorrencias.push(warn(messages.PythonMensagens.fstringWithoutExpression, relPath, line, messages.SeverityNiveis.info));
|
|
331
301
|
}
|
|
332
302
|
}
|
|
333
|
-
// ─── Django-specific (lightweight) ────────────────────────────
|
|
334
303
|
if (/django/i.test(relPath) || /settings\.py$/.test(relPath)) {
|
|
335
304
|
for (const match of scan.matchAll(/SECRET_KEY\s*=\s*['"][^'"]+['"]/g)) {
|
|
336
305
|
const val = match[0];
|