@mocoto/mahoraga 0.14.7 → 0.14.9
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 +6 -16
- 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 +1 -5
- 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 +9 -11
- 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 +22 -42
- 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 +3 -59
- 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 +2 -5
- 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 +6 -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 +1 -41
- 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 +13 -0
- 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 +3 -14
- package/dist/shared/formatters/code-min-formatter.js +1 -7
- 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 +12 -18
- 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 +93 -28
- 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 +3 -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 +1 -40
- 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 +12 -24
- package/dist/shared/helpers/rule-config.js +1 -38
- package/dist/shared/helpers/structural-hash.js +0 -21
- package/dist/shared/helpers/structure.js +2 -25
- 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 +27 -0
- 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 +7 -0
- package/dist/types/shared/validation.js +98 -0
- 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 +7 -4
- package/dist/vulnerabilities/vulnerabilities.js +0 -1
- package/package.json +7 -15
- package/dist/bin/cli-bootstrap.js +0 -241
- package/dist/reports/advisor-sukuna.js +0 -23
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
// @mahoraga-disable ml-alta-probabilidade-bugs ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
/**
|
|
4
|
-
* Detector de tipos inseguros (any e unknown) - Versão Inteligente
|
|
5
|
-
* Identifica uso de any e unknown com análise contextual avançada
|
|
6
|
-
*
|
|
7
|
-
* Estratégia:
|
|
8
|
-
* - Analisa contexto para determinar legitimidade do uso
|
|
9
|
-
* - Sugere alternativas específicas quando possível
|
|
10
|
-
* - Explica variantes e possibilidades quando análise é incerta
|
|
11
|
-
* - Sempre recomenda revisão manual para casos complexos
|
|
12
|
-
*/
|
|
13
1
|
import { config } from '../../../core/config/index.js';
|
|
14
2
|
import { messages } from '../../../core/messages/index.js';
|
|
15
3
|
import { categorizarUnknown, extractVariableName, isAnyInGenericFunction, isInStringOrComment, isLegacyOrVendorFile, isTypeScriptContext, isUnknownInGenericContext } from '../../corrections/type-safety/index.js';
|
|
@@ -23,43 +11,32 @@ const ANALISTA = {
|
|
|
23
11
|
},
|
|
24
12
|
aplicar: (srcParam, relPath, _ast, fullCaminho) => {
|
|
25
13
|
const ocorrencias = [];
|
|
26
|
-
// IMPORTANTE: Normalização de line endings para compatibilidade Windows/Linux
|
|
27
|
-
// Sem isso, arquivos com \r\n causam split('\n') incorreto (retorna 1 linha)
|
|
28
|
-
// Ver: docs/reports/DEBUG-TYPE-SAFETY-DETECTOR-2025-11-03.md
|
|
29
14
|
const src = srcParam.replace(/\r\n/g, '\n');
|
|
30
15
|
const allowAnyInTests = Boolean(config.testPadroes?.allowAnyType);
|
|
31
16
|
if (allowAnyInTests && isTestArquivo(fullCaminho ?? relPath)) {
|
|
32
17
|
return ocorrencias;
|
|
33
18
|
}
|
|
34
|
-
// Verificar se é arquivo que deve ser ignorado
|
|
35
19
|
if (isLegacyOrVendorFile(fullCaminho ?? relPath)) {
|
|
36
20
|
return ocorrencias;
|
|
37
21
|
}
|
|
38
|
-
// Detectar uso de any
|
|
39
22
|
const anyPadrao = /:\s*(any|NonNullable<any>|Partial<any>|Omit<any,\s*[^>]+>|Pick<any,\s*[^>]+>)\b/g;
|
|
40
23
|
let anyMatch;
|
|
41
24
|
while ((anyMatch = anyPadrao.exec(src)) !== null) {
|
|
42
25
|
const position = anyMatch.index ?? 0;
|
|
43
|
-
// Pular se estiver em string ou comentário
|
|
44
26
|
if (isInStringOrComment(src, position)) {
|
|
45
27
|
continue;
|
|
46
28
|
}
|
|
47
|
-
// Pular se estiver em contexto TypeScript específico (type assertions)
|
|
48
29
|
if (isTypeScriptContext(src, position)) {
|
|
49
30
|
continue;
|
|
50
31
|
}
|
|
51
|
-
// Pular se any está em função genérica apropriada
|
|
52
32
|
if (isAnyInGenericFunction(src, position)) {
|
|
53
33
|
continue;
|
|
54
34
|
}
|
|
55
|
-
// Extrair nome da variável e contexto
|
|
56
35
|
const varNome = extractVariableName(anyMatch, src);
|
|
57
36
|
const linha = splitLines(src.substring(0, position)).length;
|
|
58
37
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
59
|
-
// Análise contextual para any
|
|
60
38
|
let mensagem = '';
|
|
61
39
|
let sugestao = '';
|
|
62
|
-
// Detectar padrões específicos
|
|
63
40
|
if (anyMatch[1] !== 'any') {
|
|
64
41
|
mensagem = messages.DetectorJsTsMensagens.tipoAnyComUtilidade(varNome ?? '', anyMatch[1]);
|
|
65
42
|
sugestao = messages.DetectorJsTsMensagens.tipoAnyComUtilidadeSugestao(anyMatch[1]);
|
|
@@ -100,7 +77,6 @@ const ANALISTA = {
|
|
|
100
77
|
contextoAdicional = messages.DetectorJsTsMensagens.contextoAdicionalCore;
|
|
101
78
|
}
|
|
102
79
|
const mensagemCompleta = `${mensagem} | [IDEIA] ${sugestao}${contextoAdicional}${messages.DetectorJsTsMensagens.revisaoManual}`;
|
|
103
|
-
// Verifica se regra está suprimida para este arquivo
|
|
104
80
|
if (shouldSuppressOccurrence('tipo-inseguro-any', relPath)) {
|
|
105
81
|
continue;
|
|
106
82
|
}
|
|
@@ -113,7 +89,6 @@ const ANALISTA = {
|
|
|
113
89
|
contexto: lineContext
|
|
114
90
|
});
|
|
115
91
|
}
|
|
116
|
-
// ─── DETECTAR Object e {} (tipos fracos) ──────────────────────
|
|
117
92
|
const tiposFracosPadrao = /:\s*(Object|\{\})(?![a-zA-Z0-9_$])/g;
|
|
118
93
|
let matchFraco;
|
|
119
94
|
while ((matchFraco = tiposFracosPadrao.exec(src)) !== null) {
|
|
@@ -121,7 +96,6 @@ const ANALISTA = {
|
|
|
121
96
|
if (isInStringOrComment(src, position)) {
|
|
122
97
|
continue;
|
|
123
98
|
}
|
|
124
|
-
// Pular se Object é usado como método estático (ex: Object.keys(), Object.create())
|
|
125
99
|
const antesObj = src.substring(Math.max(0, position - 10), position);
|
|
126
100
|
if (/Object\s*\.\s*$/.test(antesObj)) {
|
|
127
101
|
continue;
|
|
@@ -129,46 +103,32 @@ const ANALISTA = {
|
|
|
129
103
|
const linha = splitLines(src.substring(0, position)).length;
|
|
130
104
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
131
105
|
const tipo = matchFraco[1];
|
|
132
|
-
// Filtrar contextos legítimos onde {} é aceitável
|
|
133
|
-
// 1. Inicialização de objeto vazio: prop?: {} = {}
|
|
134
|
-
// 2. Partial types: Partial<SomeType> - contexto válido
|
|
135
|
-
// 3. Parâmetros opcionais com valor padrão
|
|
136
|
-
// 4. Type assertions em objetos reais (não tipagem explícita)
|
|
137
106
|
const antes = src.substring(Math.max(0, position - 30), position);
|
|
138
107
|
const depois = lineContext.substring(lineContext.indexOf(':') + 1);
|
|
139
|
-
// Pular se é inicialização de objeto vazio (prop?: {} = {})
|
|
140
108
|
if (/\?\s*:\s*\{\}\s*=/.test(`${antes}: {}`)) {
|
|
141
109
|
continue;
|
|
142
110
|
}
|
|
143
|
-
// Pular se é parâmetro de função com valor default
|
|
144
111
|
if (/\?\s*:\s*\{\}\s*[=,)]/.test(antes)) {
|
|
145
112
|
continue;
|
|
146
113
|
}
|
|
147
|
-
// Pular se é parte de Partial/Required/Readonly
|
|
148
114
|
if (/Partial<|Required<|Readonly<|\}\?$/.test(antes)) {
|
|
149
115
|
continue;
|
|
150
116
|
}
|
|
151
|
-
// Pular se é em contexto de catch block
|
|
152
117
|
if (/catch\s*\([^)]*:\s*\{\}/.test(lineContext)) {
|
|
153
118
|
continue;
|
|
154
119
|
}
|
|
155
|
-
// Pular se é inicialização de objeto vazio: algo = {}
|
|
156
120
|
if (depois.trim().startsWith('=')) {
|
|
157
121
|
continue;
|
|
158
122
|
}
|
|
159
|
-
// Pular se é parâmetro de função com default: : {} = ou : {} ,
|
|
160
123
|
if (/^\s*\{?\s*\}\s*[,=)]/.test(depois)) {
|
|
161
124
|
continue;
|
|
162
125
|
}
|
|
163
|
-
// Pular se é valor de propriedade em objeto: chave: {}
|
|
164
126
|
if (/\w+\s*:\s*\{\}\s*$/.test(lineContext)) {
|
|
165
127
|
continue;
|
|
166
128
|
}
|
|
167
|
-
// Pular se é spread com objeto vazio condicional: ...cond ? {x} : {}
|
|
168
129
|
if (/\?\s*\{[^}]*\}\s*:\s*\{\}/.test(lineContext)) {
|
|
169
130
|
continue;
|
|
170
131
|
}
|
|
171
|
-
// Pular se é ternário com objeto vazio como fallback
|
|
172
132
|
if (/:\s*\{\}\s*$/.test(lineContext.trim())) {
|
|
173
133
|
continue;
|
|
174
134
|
}
|
|
@@ -186,18 +146,15 @@ const ANALISTA = {
|
|
|
186
146
|
contexto: lineContext
|
|
187
147
|
});
|
|
188
148
|
}
|
|
189
|
-
// ─── DETECTAR TYPE ASSERTIONS (as any) ────────────────────────
|
|
190
149
|
const asAnyPadrao = /\b(as\s+any)\b/g;
|
|
191
150
|
let asAnyMatch;
|
|
192
151
|
while ((asAnyMatch = asAnyPadrao.exec(src)) !== null) {
|
|
193
152
|
const position = asAnyMatch.index ?? 0;
|
|
194
|
-
// Pular se estiver em string ou comentário
|
|
195
153
|
if (isInStringOrComment(src, position)) {
|
|
196
154
|
continue;
|
|
197
155
|
}
|
|
198
156
|
const linha = splitLines(src.substring(0, position)).length;
|
|
199
157
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
200
|
-
// Extrair contexto da expressão
|
|
201
158
|
const after = src.substring(position, Math.min(src.length, position + 50));
|
|
202
159
|
const mensagem = messages.DetectorJsTsMensagens.typeAssertionAny;
|
|
203
160
|
let sugestao = '';
|
|
@@ -214,33 +171,28 @@ const ANALISTA = {
|
|
|
214
171
|
sugestao = messages.DetectorJsTsMensagens.assertionCastGenericoSugestao;
|
|
215
172
|
}
|
|
216
173
|
const mensagemCompleta = `${mensagem} | [IDEIA] ${sugestao}${messages.DetectorJsTsMensagens.assertionCritico}${messages.DetectorJsTsMensagens.revisaoManual}`;
|
|
217
|
-
// Verifica se regra está suprimida para este arquivo
|
|
218
174
|
if (shouldSuppressOccurrence('tipo-inseguro-any-assertion', relPath)) {
|
|
219
175
|
continue;
|
|
220
176
|
}
|
|
221
177
|
ocorrencias.push({
|
|
222
178
|
tipo: 'tipo-inseguro-any-assertion',
|
|
223
179
|
nivel: 'erro',
|
|
224
|
-
// Mais severo que declaração de tipo
|
|
225
180
|
mensagem: mensagemCompleta,
|
|
226
181
|
relPath,
|
|
227
182
|
linha,
|
|
228
183
|
contexto: lineContext
|
|
229
184
|
});
|
|
230
185
|
}
|
|
231
|
-
// ─── DETECTAR ANGLE BRACKET CASTING (<any>) ───────────────────
|
|
232
186
|
const angleBracketPadrao = /<any>/g;
|
|
233
187
|
let angleBracketMatch;
|
|
234
188
|
while ((angleBracketMatch = angleBracketPadrao.exec(src)) !== null) {
|
|
235
189
|
const position = angleBracketMatch.index ?? 0;
|
|
236
|
-
// Pular se estiver em string ou comentário
|
|
237
190
|
if (isInStringOrComment(src, position)) {
|
|
238
191
|
continue;
|
|
239
192
|
}
|
|
240
193
|
const linha = splitLines(src.substring(0, position)).length;
|
|
241
194
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
242
195
|
const mensagemCompleta = `${messages.DetectorJsTsMensagens.angleBracketCast}${messages.DetectorJsTsMensagens.revisaoManual}`;
|
|
243
|
-
// Verifica se regra está suprimida para este arquivo
|
|
244
196
|
if (shouldSuppressOccurrence('tipo-inseguro-any-cast', relPath)) {
|
|
245
197
|
continue;
|
|
246
198
|
}
|
|
@@ -253,28 +205,6 @@ const ANALISTA = {
|
|
|
253
205
|
contexto: lineContext
|
|
254
206
|
});
|
|
255
207
|
}
|
|
256
|
-
// ─── DETECTAR 'as' QUE PODEM SER SUBSTITUÍDOS POR 'satisfies' ─
|
|
257
|
-
// Referência: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-9.html#the-satisfies-operator
|
|
258
|
-
//
|
|
259
|
-
// PRINCÍPIO FUNDAMENTAL:
|
|
260
|
-
// 'as' (type assertion) MUDA o tipo da expressão — pode estreitar (narrow)
|
|
261
|
-
// de unknown→concreto, string→union, tipo→subtipo, ou até mentir.
|
|
262
|
-
// 'satisfies' apenas VALIDA — o tipo da expressão permanece o original.
|
|
263
|
-
//
|
|
264
|
-
// Portanto, 'satisfies' SÓ pode substituir 'as' sem quebrar o código
|
|
265
|
-
// quando a expressão é um LITERAL (objeto {...} ou array [...]).
|
|
266
|
-
// Nesse caso, 'satisfies' é ESTRITAMENTE MELHOR: valida a constraint
|
|
267
|
-
// sem widen (perda de inferência precisa).
|
|
268
|
-
//
|
|
269
|
-
// Para QUALQUER outra expressão (variável, função, propriedade, acesso
|
|
270
|
-
// indexado, parênteses, operador), 'as' está fazendo narrowing que
|
|
271
|
-
// 'satisfies' não replica — NUNCA sugerir satisfies.
|
|
272
|
-
//
|
|
273
|
-
// Exemplo clássico onde satisfies é melhor:
|
|
274
|
-
// const x = { red: [255,0,0], blue: [0,0,255] } as Record<string, number[]>
|
|
275
|
-
// → perde inferência de 'red' e 'blue' como tuplas
|
|
276
|
-
// const x = { red: [255,0,0], blue: [0,0,255] } satisfies Record<string, number[]>
|
|
277
|
-
// → valida a constraint, mantém inferência precisa das tuplas
|
|
278
208
|
const asTypePadrao = /\bas\s+([A-Za-z_$][A-Za-z0-9_$.]+)\b(?!\s*[=(])/g;
|
|
279
209
|
let asTypeMatch;
|
|
280
210
|
while ((asTypeMatch = asTypePadrao.exec(src)) !== null) {
|
|
@@ -285,71 +215,36 @@ const ANALISTA = {
|
|
|
285
215
|
const linha = splitLines(src.substring(0, position)).length;
|
|
286
216
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
287
217
|
const tipoAsserido = asTypeMatch[1];
|
|
288
|
-
// Skip 'as any' — já detectado em seção anterior como erro
|
|
289
|
-
// Skip 'as const' — é literal narrowing, não type assertion
|
|
290
218
|
if (tipoAsserido === 'any' || tipoAsserido === 'const') {
|
|
291
219
|
continue;
|
|
292
220
|
}
|
|
293
|
-
// ─── FILTROS DE SEGURANÇA: padrões que NUNCA devem sugerir satisfies ───
|
|
294
|
-
// Import/export rename: 'import { x as y }', 'export { x as y }'
|
|
295
|
-
// Pega linhas que começam com import/export E linhas de continuação
|
|
296
|
-
// dentro de blocos import { ... } (linhas indentadas com 'as' entre vírgulas)
|
|
297
221
|
if (/^(import|export)\b/.test(lineContext)) {
|
|
298
222
|
continue;
|
|
299
223
|
}
|
|
300
|
-
// Detecta 'as' dentro de blocos import/export em linhas de continuação:
|
|
301
|
-
// Padrão: linha indentada com 'identificador as identificador,' e há
|
|
302
|
-
// um import/export nas linhas anteriores próximas
|
|
303
224
|
const windowBefore = src.slice(Math.max(0, position - 500), position);
|
|
304
225
|
if (/^\s+\w+\s+as\s+\w+,?\s*$/.test(lineContext) &&
|
|
305
226
|
/(?:^|\n)\s*(?:import|export)\s*\{/.test(windowBefore)) {
|
|
306
227
|
continue;
|
|
307
228
|
}
|
|
308
|
-
// Skip 'as' dentro de template literal ${...}
|
|
309
229
|
const beforePos = src.slice(Math.max(0, position - 120), position);
|
|
310
230
|
if (lineContext.includes('${') || beforePos.includes('${')) {
|
|
311
231
|
continue;
|
|
312
232
|
}
|
|
313
|
-
// Skip dupla asserção 'unknown as'
|
|
314
233
|
if (lineContext.includes('unknown as')) {
|
|
315
234
|
continue;
|
|
316
235
|
}
|
|
317
|
-
// Skip em arrow function: (x) => x as Type
|
|
318
236
|
if (/=>\s*\(?[^)]*\)?\s*as\s+\w+/.test(lineContext)) {
|
|
319
237
|
continue;
|
|
320
238
|
}
|
|
321
|
-
// ─── VERIFICAÇÃO PRINCIPAL: expressão antes de 'as' é literal? ───
|
|
322
|
-
//
|
|
323
|
-
// A única situação onde 'satisfies' pode substituir 'as' com segurança
|
|
324
|
-
// é quando a expressão é um literal objeto `{...}` ou array `[...]`.
|
|
325
|
-
//
|
|
326
|
-
// Diferente da abordagem anterior (que usava 120 chars de janela e
|
|
327
|
-
// podia capturar { de linhas anteriores), aqui extraímos APENAS o
|
|
328
|
-
// texto na MESMA LINHA antes de 'as'.
|
|
329
|
-
//
|
|
330
|
-
// Critérios para identificar literal:
|
|
331
|
-
// 1. Objeto: texto (após remover declaração) começa com '{' e termina com '}'
|
|
332
|
-
// 2. Array: texto (após remover declaração) começa com '[' e termina com ']'
|
|
333
|
-
// 3. '{}' vazio → sentinel, pular
|
|
334
|
-
//
|
|
335
|
-
// Isso diferencia corretamente:
|
|
336
|
-
// - `{ a: 1 } as T` → objeto literal ✓
|
|
337
|
-
// - `[1, 2] as T` → array literal ✓
|
|
338
|
-
// - `arr[i] as T` → index access (começa com 'a', não '[') ✗
|
|
339
|
-
// - `found.ast as T` → property access (começa com 'f') ✗
|
|
340
|
-
// - `framework as T` → variável simples ✗
|
|
341
239
|
const lineText = splitLines(src)[linha - 1];
|
|
342
240
|
const colMatch = src.lastIndexOf('\n', Math.max(0, position - 1));
|
|
343
241
|
const posInLine = position - (colMatch >= 0 ? colMatch + 1 : 0);
|
|
344
242
|
const textBeforeOnLine = lineText.substring(0, Math.max(0, posInLine - 'as'.length)).trimEnd();
|
|
345
|
-
// Remove declaração (const/let/var/return/yield) para ver a expressão pura
|
|
346
243
|
const exprText = textBeforeOnLine
|
|
347
244
|
.replace(/^(?:const|let|var|return|yield)\s+\w+\s*=\s*/, '')
|
|
348
245
|
.trim();
|
|
349
|
-
// Verifica se é literal: abre e fecha com {}/{ ou [ /]
|
|
350
246
|
const isObjectLiteral = /\}\s*$/.test(exprText) && /^\s*\{/.test(exprText) && !/^\s*\{\s*\}\s*$/.test(exprText);
|
|
351
247
|
const isArrayLiteral = /\]\s*$/.test(exprText) && /^\s*\[/.test(exprText);
|
|
352
|
-
// Se NÃO é literal → é narrowing, NUNCA sugerir satisfies
|
|
353
248
|
if (!isObjectLiteral && !isArrayLiteral) {
|
|
354
249
|
continue;
|
|
355
250
|
}
|
|
@@ -366,36 +261,28 @@ const ANALISTA = {
|
|
|
366
261
|
contexto: lineContext
|
|
367
262
|
});
|
|
368
263
|
}
|
|
369
|
-
// Detectar uso de unknown
|
|
370
264
|
const unknownPadrao = /:\s*unknown\b/g;
|
|
371
265
|
let unknownMatch;
|
|
372
266
|
while ((unknownMatch = unknownPadrao.exec(src)) !== null) {
|
|
373
267
|
const position = unknownMatch.index ?? 0;
|
|
374
|
-
// Pular se estiver em string ou comentário
|
|
375
268
|
if (isInStringOrComment(src, position)) {
|
|
376
269
|
continue;
|
|
377
270
|
}
|
|
378
|
-
// Pular se unknown está em contexto genérico apropriado (validação básica)
|
|
379
271
|
if (isUnknownInGenericContext(src, position)) {
|
|
380
272
|
continue;
|
|
381
273
|
}
|
|
382
|
-
// Análise contextual inteligente
|
|
383
274
|
const linha = splitLines(src.substring(0, position)).length;
|
|
384
275
|
const lineContext = splitLines(src)[linha - 1]?.trim() || '';
|
|
385
276
|
const categorizacao = categorizarUnknown(src, fullCaminho ?? relPath, lineContext);
|
|
386
|
-
// Extrair nome da variável
|
|
387
277
|
const varNome = extractVariableName(unknownMatch, src);
|
|
388
|
-
// Construir mensagem baseada na categorização
|
|
389
278
|
let mensagem = '';
|
|
390
279
|
let nivel;
|
|
391
280
|
if (categorizacao.categoria === 'legitimo') {
|
|
392
|
-
// Legítimo com alta confiança (>=95%) - PULAR completamente
|
|
393
281
|
if (categorizacao.confianca >= 95) {
|
|
394
282
|
continue;
|
|
395
283
|
}
|
|
396
284
|
mensagem = messages.DetectorJsTsMensagens.unknownLegitimo(varNome ?? undefined, categorizacao.motivo);
|
|
397
285
|
nivel = 'info';
|
|
398
|
-
// Se tem sugestão, adicionar
|
|
399
286
|
if (categorizacao.sugestao) {
|
|
400
287
|
mensagem += ` | [IDEIA] ${categorizacao.sugestao}`;
|
|
401
288
|
}
|
|
@@ -421,7 +308,6 @@ const ANALISTA = {
|
|
|
421
308
|
}
|
|
422
309
|
mensagem += messages.DetectorJsTsMensagens.unknownRevisaoObrigatoria;
|
|
423
310
|
}
|
|
424
|
-
// Verifica se regra está suprimida para este arquivo
|
|
425
311
|
if (shouldSuppressOccurrence('tipo-inseguro-unknown', relPath)) {
|
|
426
312
|
continue;
|
|
427
313
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Sistema de registro de detectores JS/TS
|
|
4
|
-
*/
|
|
5
1
|
const detectoresJsTs = [];
|
|
6
2
|
export function registrarDetectorJsTs(detector) {
|
|
7
|
-
if (!detector.nome) {
|
|
3
|
+
if (!detector || !detector.nome) {
|
|
8
4
|
return;
|
|
9
5
|
}
|
|
10
6
|
const exists = detectoresJsTs.some(d => d.nome === detector.nome);
|
|
@@ -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 } 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_PHP === '1';
|
|
7
5
|
function isPhpFile(relPath) {
|
|
8
6
|
return /\.(php|phtml|php3|php4|php5|php7|php8)$/i.test(relPath);
|
|
9
7
|
}
|
|
@@ -20,68 +18,54 @@ function warn(message, relPath, line, nivel) {
|
|
|
20
18
|
function collectPhpIssues(src, relPath) {
|
|
21
19
|
const ocorrencias = [];
|
|
22
20
|
const lineOf = createLineLookup(src).lineAt;
|
|
23
|
-
// Reduz falsos positivos mascarando strings
|
|
24
21
|
const scanWithoutStrings = src.replace(/['"`][^'"]*['"`]/g, '""');
|
|
25
|
-
// --- Security: SQL injection (mysql_query, mysqli_query, etc) ---
|
|
26
22
|
for (const match of scanWithoutStrings.matchAll(/\b(?:mysql|mysqli|sqlite|pg)_query\s*\(\s*\$[^)]*(?:\$|\.)/gi)) {
|
|
27
23
|
const line = lineOf(match.index);
|
|
28
24
|
ocorrencias.push(warn(messages.PhpMensagens.sqlInjection, relPath, line, messages.SeverityNiveis.error));
|
|
29
25
|
}
|
|
30
|
-
// --- Security: eval() usage ---
|
|
31
26
|
for (const match of scanWithoutStrings.matchAll(/\beval\s*\(/gi)) {
|
|
32
27
|
const line = lineOf(match.index);
|
|
33
28
|
ocorrencias.push(warn(messages.PhpMensagens.evalUsage, relPath, line, messages.SeverityNiveis.error));
|
|
34
29
|
}
|
|
35
|
-
// --- Security: assert() with string (code injection) ---
|
|
36
30
|
for (const match of scanWithoutStrings.matchAll(/\bassert\s*\(\s*['"]/gi)) {
|
|
37
31
|
const line = lineOf(match.index);
|
|
38
32
|
ocorrencias.push(warn(messages.PhpMensagens.assertString, relPath, line, messages.SeverityNiveis.error));
|
|
39
33
|
}
|
|
40
|
-
// --- Security: unserialize() ---
|
|
41
34
|
for (const match of scanWithoutStrings.matchAll(/\bunserialize\s*\(/gi)) {
|
|
42
35
|
const line = lineOf(match.index);
|
|
43
36
|
ocorrencias.push(warn(messages.PhpMensagens.unserializeUsage, relPath, line, messages.SeverityNiveis.error));
|
|
44
37
|
}
|
|
45
|
-
// --- Security: extract() ---
|
|
46
38
|
for (const match of scanWithoutStrings.matchAll(/\bextract\s*\(/gi)) {
|
|
47
39
|
const line = lineOf(match.index);
|
|
48
40
|
ocorrencias.push(warn(messages.PhpMensagens.extractUsage, relPath, line, messages.SeverityNiveis.error));
|
|
49
41
|
}
|
|
50
|
-
// --- Security: file_get_contents with URL ---
|
|
51
42
|
for (const match of scanWithoutStrings.matchAll(/\bfile_get_contents\s*\(\s*['"](?:https?:\/\/)/gi)) {
|
|
52
43
|
const line = lineOf(match.index);
|
|
53
44
|
ocorrencias.push(warn(messages.PhpMensagens.urlFetch, relPath, line));
|
|
54
45
|
}
|
|
55
|
-
// --- Security: system/exec/shell_exec/passthru ---
|
|
56
46
|
for (const match of scanWithoutStrings.matchAll(/\b(?:system|exec|shell_exec|passthru|popen|proc_open)\s*\(/gi)) {
|
|
57
47
|
const line = lineOf(match.index);
|
|
58
48
|
ocorrencias.push(warn(messages.PhpMensagens.commandExecution, relPath, line, messages.SeverityNiveis.error));
|
|
59
49
|
}
|
|
60
|
-
// --- Security: $_REQUEST usage ---
|
|
61
50
|
for (const match of scanWithoutStrings.matchAll(/\$_REQUEST\b/gi)) {
|
|
62
51
|
const line = lineOf(match.index);
|
|
63
52
|
ocorrencias.push(warn(messages.PhpMensagens.requestUsage, relPath, line));
|
|
64
53
|
}
|
|
65
|
-
// --- Security: hardcoded secrets ---
|
|
66
54
|
for (const match of scanWithoutStrings.matchAll(/(?:password|secret|api[_-]?key|token|credential|db_password|db_user)\s*(?::\s*|=>\s*|=\s*["'`])([^"'`\s]{4,})/gi)) {
|
|
67
55
|
const line = lineOf(match.index);
|
|
68
56
|
ocorrencias.push(warn(messages.PhpMensagens.hardcodedSecret, relPath, line, messages.SeverityNiveis.error));
|
|
69
57
|
}
|
|
70
|
-
// --- Code Quality: deprecated mysql_* functions ---
|
|
71
58
|
for (const match of scanWithoutStrings.matchAll(/\bmysql_\w+\s*\(/gi)) {
|
|
72
59
|
const line = lineOf(match.index);
|
|
73
60
|
ocorrencias.push(warn(messages.PhpMensagens.deprecatedMysql, relPath, line));
|
|
74
61
|
}
|
|
75
|
-
// --- Code Quality: short_open_tag ---
|
|
76
62
|
if (/^<\?[^=phHP\r\n]/m.test(src)) {
|
|
77
63
|
ocorrencias.push(warn(messages.PhpMensagens.shortOpenTag, relPath, 1));
|
|
78
64
|
}
|
|
79
|
-
// --- Code Quality: error suppression (@) ---
|
|
80
65
|
for (const match of src.matchAll(/@\s*(?:mkdir|file_put_contents|fopen|include|require|unlink|copy|rename|move_uploaded_file|file_get_contents)\s*\(/g)) {
|
|
81
66
|
const line = lineOf(match.index);
|
|
82
67
|
ocorrencias.push(warn(messages.PhpMensagens.errorSuppression, relPath, line));
|
|
83
68
|
}
|
|
84
|
-
// --- Code Quality: long function/method ---
|
|
85
69
|
const funcMatches = src.matchAll(/(?:^|\n)\s*(?:public|private|protected|static)?\s*function\s+\w+\s*\([^)]*\)\s*(?::\s*\w+)?\s*\{/g);
|
|
86
70
|
for (const funcMatch of funcMatches) {
|
|
87
71
|
const startIdx = funcMatch.index + funcMatch[0].length;
|
|
@@ -103,14 +87,12 @@ function collectPhpIssues(src, relPath) {
|
|
|
103
87
|
ocorrencias.push(warn(messages.PhpMensagens.longFunction, relPath, line));
|
|
104
88
|
}
|
|
105
89
|
}
|
|
106
|
-
// --- Code Quality: var_dump/die in production ---
|
|
107
90
|
for (const match of src.matchAll(/\b(?:var_dump|dump|print_r|die|exit)\s*\(/g)) {
|
|
108
91
|
const line = lineOf(match.index);
|
|
109
92
|
if (!relPath.includes('tests/') && !relPath.includes('debug/')) {
|
|
110
93
|
ocorrencias.push(warn(messages.PhpMensagens.debugOutput, relPath, line));
|
|
111
94
|
}
|
|
112
95
|
}
|
|
113
|
-
// --- Style: naming convention (snake_case) ---
|
|
114
96
|
for (const match of scanWithoutStrings.matchAll(/\bfunction\s+([a-z][a-zA-Z0-9]*)\s*\(/g)) {
|
|
115
97
|
const funcName = match[1];
|
|
116
98
|
if (/^[a-z]+[A-Z]/.test(funcName)) {
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
1
|
import { messages } from '../../../core/messages/index.js';
|
|
4
2
|
import { createLineLookup, maskPhpComments } from '../../../shared/helpers/index.js';
|
|
5
3
|
import { criarAnalista } from '../../../types/index.js';
|
|
6
|
-
const disableEnv = process.env.
|
|
4
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_PHP === '1';
|
|
7
5
|
function detectBestPracticesIssues(src, relPath) {
|
|
8
6
|
const ocorrencias = [];
|
|
9
7
|
const lineOf = createLineLookup(src).lineAt;
|
|
10
8
|
const scan = maskPhpComments(src);
|
|
11
|
-
// Missing strict types declaration
|
|
12
9
|
if (/^<\?php/i.test(src) && !/^<\?php\s+declare\s*\(\s*strict_types\s*=\s*1\s*\)/im.test(src)) {
|
|
13
10
|
ocorrencias.push({
|
|
14
11
|
relPath,
|
|
@@ -19,7 +16,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
19
16
|
tipo: 'php/rule'
|
|
20
17
|
});
|
|
21
18
|
}
|
|
22
|
-
// Deprecated functions
|
|
23
19
|
const deprecatedFns = [
|
|
24
20
|
/\bmysql_\w+\s*\(/gi,
|
|
25
21
|
/\bereg(?:_\w+)?\s*\(/gi,
|
|
@@ -46,7 +42,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
46
42
|
});
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
|
-
// Magic numbers (numeric literals that aren't 0, 1, -1, or common config values)
|
|
50
45
|
for (const match of scan.matchAll(/(?<!\$)[\s(,=[+\-*/%&|^]=?](\d{3,})\b(?!\s*=>)/g)) {
|
|
51
46
|
const line = lineOf(match.index);
|
|
52
47
|
const context = scan.slice(Math.max(0, match.index - 40), match.index);
|
|
@@ -61,7 +56,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
61
56
|
});
|
|
62
57
|
}
|
|
63
58
|
}
|
|
64
|
-
// Complex functions (cyclomatic complexity via brace counting)
|
|
65
59
|
for (const funcMatch of scan.matchAll(/(?:^|\n)\s*(?:public|private|protected|static)?\s*function\s+\w+\s*\([^)]*\)\s*(?::\s*\w+(?:\s*\|\s*\w+)*)?\s*\{/g)) {
|
|
66
60
|
const funcStart = funcMatch.index;
|
|
67
61
|
const bodyStart = funcStart + funcMatch[0].length;
|
|
@@ -91,7 +85,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
91
85
|
});
|
|
92
86
|
}
|
|
93
87
|
}
|
|
94
|
-
// Missing error handling around risky operations
|
|
95
88
|
const riskyOps = ['file_get_contents', 'file_put_contents', 'fopen', 'mkdir', 'unlink', 'copy', 'rename', 'move_uploaded_file', 'curl_exec', 'ftp_get', 'ftp_put'];
|
|
96
89
|
for (const op of riskyOps) {
|
|
97
90
|
for (const match of scan.matchAll(new RegExp(`\\b${op}\\s*\\(`, 'gi'))) {
|
|
@@ -109,7 +102,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
109
102
|
}
|
|
110
103
|
}
|
|
111
104
|
}
|
|
112
|
-
// Superglobal access without filtering
|
|
113
105
|
for (const match of scan.matchAll(/\$(?:_GET|_POST|_REQUEST|_COOKIE|_SERVER)\s*\[/gi)) {
|
|
114
106
|
const line = lineOf(match.index);
|
|
115
107
|
const before = scan.slice(Math.max(0, match.index - 150), match.index);
|
|
@@ -124,7 +116,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
124
116
|
});
|
|
125
117
|
}
|
|
126
118
|
}
|
|
127
|
-
// Use of `global` keyword in functions
|
|
128
119
|
for (const match of scan.matchAll(/(?:^|\n)\s*global\s+\$/gm)) {
|
|
129
120
|
const line = lineOf(match.index);
|
|
130
121
|
ocorrencias.push({
|
|
@@ -136,7 +127,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
136
127
|
tipo: 'php/rule'
|
|
137
128
|
});
|
|
138
129
|
}
|
|
139
|
-
// Method naming conventions (PSR-12: methods should be camelCase)
|
|
140
130
|
for (const match of scan.matchAll(/(?:^|\n)\s*(?:public|private|protected)\s+function\s+([a-zA-Z_]\w*)\s*\(/g)) {
|
|
141
131
|
const funcName = match[1];
|
|
142
132
|
if (funcName && /^[A-Z]/.test(funcName)) {
|
|
@@ -151,7 +141,6 @@ function detectBestPracticesIssues(src, relPath) {
|
|
|
151
141
|
});
|
|
152
142
|
}
|
|
153
143
|
}
|
|
154
|
-
// Long parameter lists (>5 params)
|
|
155
144
|
for (const match of scan.matchAll(/(?:^|\n)\s*(?:public|private|protected|static)?\s*function\s+\w+\s*\(([^)]*)\)/g)) {
|
|
156
145
|
const params = match[1];
|
|
157
146
|
if (params) {
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
1
|
import { messages } from '../../../core/messages/index.js';
|
|
4
2
|
import { createLineLookup, maskPhpComments } from '../../../shared/helpers/index.js';
|
|
5
3
|
import { criarAnalista } from '../../../types/index.js';
|
|
6
|
-
const disableEnv = process.env.
|
|
4
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_PHP === '1';
|
|
7
5
|
function detectSecurityIssues(src, relPath) {
|
|
8
6
|
const ocorrencias = [];
|
|
9
7
|
const lineOf = createLineLookup(src).lineAt;
|
|
10
8
|
const scan = maskPhpComments(src);
|
|
11
|
-
// Loose comparison (== vs ===) in security-sensitive contexts
|
|
12
9
|
for (const match of scan.matchAll(/(?:if|elseif|while)\s*\([^)]*==[^=][^)]*\)/gi)) {
|
|
13
10
|
const line = lineOf(match.index);
|
|
14
11
|
const snippet = scan.slice(Math.max(0, match.index - 40), match.index + 120);
|
|
@@ -23,7 +20,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
23
20
|
});
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
|
-
// Insecure file inclusion (include/require with user input)
|
|
27
23
|
for (const match of scan.matchAll(/\b(?:include|require)(?:_once)?\s*\(\s*\$/gi)) {
|
|
28
24
|
const line = lineOf(match.index);
|
|
29
25
|
ocorrencias.push({
|
|
@@ -35,7 +31,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
35
31
|
tipo: 'php/rule'
|
|
36
32
|
});
|
|
37
33
|
}
|
|
38
|
-
// XSS: echo/print with user input without htmlspecialchars
|
|
39
34
|
for (const match of scan.matchAll(/(?:echo|print)\s+.*\$(?:_GET|_POST|_REQUEST|_COOKIE|_SERVER)/gi)) {
|
|
40
35
|
const line = lineOf(match.index);
|
|
41
36
|
const before = scan.slice(Math.max(0, match.index - 120), match.index);
|
|
@@ -50,7 +45,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
50
45
|
});
|
|
51
46
|
}
|
|
52
47
|
}
|
|
53
|
-
// CSRF protection missing
|
|
54
48
|
for (const match of scan.matchAll(/<form[^>]*>/gi)) {
|
|
55
49
|
const formPos = match.index;
|
|
56
50
|
const formTag = match[0];
|
|
@@ -68,7 +62,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
68
62
|
});
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
|
-
// Open redirect: header('Location: ...') with user input
|
|
72
65
|
for (const match of scan.matchAll(/header\s*\(\s*['"]\s*Location\s*['"]\s*,\s*\$/gi)) {
|
|
73
66
|
const line = lineOf(match.index);
|
|
74
67
|
ocorrencias.push({
|
|
@@ -91,7 +84,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
91
84
|
tipo: 'php/rule'
|
|
92
85
|
});
|
|
93
86
|
}
|
|
94
|
-
// Dangerous ini_set calls
|
|
95
87
|
const dangerousIni = ['allow_url_include', 'allow_url_fopen', 'display_errors', 'register_globals', 'session.use_cookies', 'session.use_only_cookies', 'session.use_trans_sid'];
|
|
96
88
|
for (const match of scan.matchAll(/ini_set\s*\(\s*['"]([^'"]+)['"]/gi)) {
|
|
97
89
|
const key = match[1];
|
|
@@ -107,7 +99,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
107
99
|
});
|
|
108
100
|
}
|
|
109
101
|
}
|
|
110
|
-
// register_globals usage
|
|
111
102
|
for (const match of scan.matchAll(/\bregister_globals\b/gi)) {
|
|
112
103
|
const line = lineOf(match.index);
|
|
113
104
|
ocorrencias.push({
|
|
@@ -119,7 +110,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
119
110
|
tipo: 'php/rule'
|
|
120
111
|
});
|
|
121
112
|
}
|
|
122
|
-
// Password hashing without password_hash/password_verify
|
|
123
113
|
if (/password/i.test(scan)) {
|
|
124
114
|
const hasHash = /\bpassword_hash\s*\(/.test(scan);
|
|
125
115
|
const hasVerify = /\bpassword_verify\s*\(/.test(scan);
|
|
@@ -153,7 +143,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
153
143
|
}
|
|
154
144
|
}
|
|
155
145
|
}
|
|
156
|
-
// Session fixation risks
|
|
157
146
|
if (/\bsession_start\s*\(/i.test(scan)) {
|
|
158
147
|
const hasRegenerate = /\bsession_regenerate_id\s*\(/i.test(scan);
|
|
159
148
|
if (!hasRegenerate) {
|
|
@@ -170,7 +159,6 @@ function detectSecurityIssues(src, relPath) {
|
|
|
170
159
|
}
|
|
171
160
|
}
|
|
172
161
|
}
|
|
173
|
-
// Second-order injection patterns (storing user input then using unsafely)
|
|
174
162
|
for (const match of scan.matchAll(/\b(?:mysql|mysqli|sqlite|pg)_query\s*\(\s*[^)]*\$(?:row|data|result|res|item|entry)\b/gi)) {
|
|
175
163
|
const line = lineOf(match.index);
|
|
176
164
|
ocorrencias.push({
|