@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,8 +1,4 @@
|
|
|
1
1
|
import { criarOcorrencia } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Analista global que analisa o projeto completo e recomenda
|
|
4
|
-
* a melhor arquitetura (Clean Architecture, Microsserviços, MVC, etc.)
|
|
5
|
-
*/
|
|
6
2
|
const CONFIANCA_SIMPLES = 60;
|
|
7
3
|
function adicionarOcorrenciasRecomendacao(ocorrencias, _relPath, sinaisCleanArch, sinaisDistributed, recomendacoes, arquiteturaRecomendada, confianca) {
|
|
8
4
|
ocorrencias.push(criarOcorrencia({
|
|
@@ -53,10 +49,8 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
53
49
|
const ocorrencias = [];
|
|
54
50
|
const caminhos = contexto.arquivos.map(a => a.relPath.toLowerCase());
|
|
55
51
|
const conteudos = contexto.arquivos.map(a => a.content?.toLowerCase() ?? '');
|
|
56
|
-
// === SINAIS PARA CLEAN ARCHITECTURE ===
|
|
57
52
|
let scoreCleanArch = 0;
|
|
58
53
|
const sinaisCleanArch = [];
|
|
59
|
-
// Domain layer
|
|
60
54
|
const temEntities = caminhos.some(c => c.includes('/entities/') || c.endsWith('entity.ts') || c.endsWith('entity.js'));
|
|
61
55
|
const temValueObjects = caminhos.some(c => c.includes('value-object') || c.includes('value_object'));
|
|
62
56
|
const temDomainServices = caminhos.some(c => c.includes('/domain/') && c.includes('service'));
|
|
@@ -77,7 +71,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
77
71
|
scoreCleanArch += 10;
|
|
78
72
|
sinaisCleanArch.push('Eventos de domínio');
|
|
79
73
|
}
|
|
80
|
-
// Application layer
|
|
81
74
|
const temUseCases = caminhos.some(c => c.includes('/use-cases') || c.includes('/usecases') || c.includes('/application/'));
|
|
82
75
|
const temPorts = caminhos.some(c => c.includes('/ports/') || c.includes('/application/port'));
|
|
83
76
|
const temDtos = caminhos.some(c => c.includes('/dto/') || c.endsWith('.dto.ts') || c.endsWith('.dto.js'));
|
|
@@ -93,7 +86,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
93
86
|
scoreCleanArch += 10;
|
|
94
87
|
sinaisCleanArch.push('DTOs');
|
|
95
88
|
}
|
|
96
|
-
// Infrastructure layer
|
|
97
89
|
const temInfra = caminhos.some(c => c.includes('/infrastructure/') || c.includes('/infra/'));
|
|
98
90
|
const temRepositories = caminhos.some(c => c.includes('/repositories/') || c.endsWith('.repository.ts'));
|
|
99
91
|
const temGateways = caminhos.some(c => c.includes('/gateways/'));
|
|
@@ -109,7 +101,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
109
101
|
scoreCleanArch += 5;
|
|
110
102
|
sinaisCleanArch.push('Gateways');
|
|
111
103
|
}
|
|
112
|
-
// Presentation layer
|
|
113
104
|
const temControllers = caminhos.some(c => c.includes('/controllers/') || c.endsWith('.controller.ts'));
|
|
114
105
|
const temPresenters = caminhos.some(c => c.includes('/presenters/') || c.endsWith('.presenter.ts'));
|
|
115
106
|
if (temControllers) {
|
|
@@ -120,16 +111,13 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
120
111
|
scoreCleanArch += 5;
|
|
121
112
|
sinaisCleanArch.push('Presenters');
|
|
122
113
|
}
|
|
123
|
-
// DI Container
|
|
124
114
|
const temDI = conteudos.some(c => c.includes('tsyringe') || c.includes('inversify') || c.includes('awilix') || c.includes('typedi'));
|
|
125
115
|
if (temDI) {
|
|
126
116
|
scoreCleanArch += 5;
|
|
127
117
|
sinaisCleanArch.push('Container DI');
|
|
128
118
|
}
|
|
129
|
-
// === SINAIS PARA ARQUITETURA DISTRIBUÍDA ===
|
|
130
119
|
let scoreDistributed = 0;
|
|
131
120
|
const sinaisDistributed = [];
|
|
132
|
-
// Múltiplos serviços
|
|
133
121
|
const servicosSet = new Set();
|
|
134
122
|
for (const c of caminhos) {
|
|
135
123
|
const match = c.match(/services\/([^/]+)/);
|
|
@@ -145,7 +133,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
145
133
|
scoreDistributed += 10;
|
|
146
134
|
sinaisDistributed.push('1 boundary de serviço');
|
|
147
135
|
}
|
|
148
|
-
// Mensageria
|
|
149
136
|
const temMensageria = caminhos.some(c => c.includes('/events/') || c.includes('/messaging') || c.includes('/queues') ||
|
|
150
137
|
c.includes('/consumers') || c.includes('/producers'));
|
|
151
138
|
const temMensageriaDeps = conteudos.some(c => c.includes('kafkajs') || c.includes('amqplib') || c.includes('ioredis') ||
|
|
@@ -154,50 +141,42 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
154
141
|
scoreDistributed += 15;
|
|
155
142
|
sinaisDistributed.push('Mensageria');
|
|
156
143
|
}
|
|
157
|
-
// API Gateway
|
|
158
144
|
const temGateway = caminhos.some(c => c.includes('/gateway') || c.includes('/api-gateway'));
|
|
159
145
|
if (temGateway) {
|
|
160
146
|
scoreDistributed += 15;
|
|
161
147
|
sinaisDistributed.push('API Gateway');
|
|
162
148
|
}
|
|
163
|
-
// Service Discovery
|
|
164
149
|
const temDiscovery = caminhos.some(c => c.includes('/discovery') || c.includes('consul') || c.includes('eureka'));
|
|
165
150
|
if (temDiscovery) {
|
|
166
151
|
scoreDistributed += 10;
|
|
167
152
|
sinaisDistributed.push('Service Discovery');
|
|
168
153
|
}
|
|
169
|
-
// Docker/Container
|
|
170
154
|
const temDocker = caminhos.some(c => c.endsWith('dockerfile') || c.includes('docker-compose'));
|
|
171
155
|
if (temDocker) {
|
|
172
156
|
scoreDistributed += 10;
|
|
173
157
|
sinaisDistributed.push('Docker');
|
|
174
158
|
}
|
|
175
|
-
// K8s
|
|
176
159
|
const temK8s = caminhos.some(c => c.includes('kubernetes') || c.includes('k8s/'));
|
|
177
160
|
if (temK8s) {
|
|
178
161
|
scoreDistributed += 10;
|
|
179
162
|
sinaisDistributed.push('Kubernetes');
|
|
180
163
|
}
|
|
181
|
-
// Event-driven patterns
|
|
182
164
|
const temEventDriven = conteudos.filter(c => c.includes('eventemitter') || c.includes('publish') || c.includes('subscribe') ||
|
|
183
165
|
c.includes('webhook') || c.includes('observable')).length > 3;
|
|
184
166
|
if (temEventDriven) {
|
|
185
167
|
scoreDistributed += 10;
|
|
186
168
|
sinaisDistributed.push('Padrões event-driven');
|
|
187
169
|
}
|
|
188
|
-
// Monitoring
|
|
189
170
|
const temMonitoring = caminhos.some(c => c.includes('/health') || c.includes('/monitoring') || c.includes('/metrics'));
|
|
190
171
|
if (temMonitoring) {
|
|
191
172
|
scoreDistributed += 10;
|
|
192
173
|
sinaisDistributed.push('Monitoramento');
|
|
193
174
|
}
|
|
194
|
-
// Shared lib
|
|
195
175
|
const temShared = caminhos.some(c => c.includes('/shared/') || c.includes('/common/'));
|
|
196
176
|
if (temShared) {
|
|
197
177
|
scoreDistributed += 5;
|
|
198
178
|
sinaisDistributed.push('Biblioteca compartilhada');
|
|
199
179
|
}
|
|
200
|
-
// === DECISÃO DA ARQUITETURA ===
|
|
201
180
|
const totalArquivos = contexto.arquivos.length;
|
|
202
181
|
const complexidadeBaixa = totalArquivos < 30;
|
|
203
182
|
const temFrontend = caminhos.some(c => c.includes('/pages/') || c.includes('/components/') || c.includes('/views/'));
|
|
@@ -205,7 +184,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
205
184
|
let melhorScore = 0;
|
|
206
185
|
let confianca = 0;
|
|
207
186
|
const recomendacoes = [];
|
|
208
|
-
// Clean Architecture é recomendada para projetos com regras de negócio complexas
|
|
209
187
|
if (scoreCleanArch >= 40 || (temEntities && temUseCases)) {
|
|
210
188
|
if (scoreCleanArch > melhorScore) {
|
|
211
189
|
arquiteturaRecomendada = 'Clean Architecture (Arquitetura Limpa)';
|
|
@@ -225,7 +203,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
225
203
|
recomendacoes.push('Implemente o padrão Repository para abstrair persistência');
|
|
226
204
|
}
|
|
227
205
|
}
|
|
228
|
-
// Arquitetura Distribuída é recomendada para projetos com múltiplos serviços
|
|
229
206
|
if (scoreDistributed >= 35 && servicosSet.size >= 1) {
|
|
230
207
|
if (scoreDistributed > melhorScore) {
|
|
231
208
|
arquiteturaRecomendada = 'Arquitetura Distribuída / Microsserviços';
|
|
@@ -245,7 +222,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
245
222
|
recomendacoes.push('Adicione health checks e monitoramento centralizado');
|
|
246
223
|
}
|
|
247
224
|
}
|
|
248
|
-
// MVC para projetos web tradicionais
|
|
249
225
|
if (temFrontend && temControllers && !temEntities) {
|
|
250
226
|
const scoreMvc = 30;
|
|
251
227
|
if (scoreMvc > melhorScore && !complexidadeBaixa) {
|
|
@@ -254,7 +230,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
254
230
|
confianca = Math.min(80, scoreMvc + 30);
|
|
255
231
|
}
|
|
256
232
|
}
|
|
257
|
-
// Se ainda não há recomendação clara, sugerir a mais adequada
|
|
258
233
|
if (melhorScore === 0) {
|
|
259
234
|
if (complexidadeBaixa) {
|
|
260
235
|
arquiteturaRecomendada = 'Arquitetura Simples / Monolítica';
|
|
@@ -273,7 +248,6 @@ export const analistaRecomendacaoArquitetura = {
|
|
|
273
248
|
recomendacoes.push('Organize o código em camadas (controllers, services, repositories)');
|
|
274
249
|
}
|
|
275
250
|
}
|
|
276
|
-
// Adicionar recomendações gerais
|
|
277
251
|
if (scoreCleanArch >= 20 && scoreDistributed >= 20) {
|
|
278
252
|
recomendacoes.push('Projeto apresenta características híbridas - considere Clean Architecture com boundaries de microsserviços');
|
|
279
253
|
}
|
|
@@ -21,20 +21,15 @@ export const analistaSeguranca = {
|
|
|
21
21
|
});
|
|
22
22
|
const problemas = [];
|
|
23
23
|
try {
|
|
24
|
-
// Detectar problemas por padrões de texto (mais confiável que AST para alguns casos)
|
|
25
24
|
detectarPadroesPerigosos(src, relPath, problemas);
|
|
26
|
-
// Detectar problemas via AST quando disponível
|
|
27
25
|
if (ast) {
|
|
28
26
|
detectarProblemasAST(ast, problemas);
|
|
29
27
|
}
|
|
30
|
-
// Converter para ocorrências
|
|
31
28
|
const ocorrencias = [];
|
|
32
|
-
// Agrupar por severidade
|
|
33
29
|
const porSeveridade = agruparPor(problemas, caminho => caminho.severidade);
|
|
34
30
|
for (const [severidade, items] of Object.entries(porSeveridade)) {
|
|
35
31
|
if (items.length > 0) {
|
|
36
32
|
const nivel = mapearSeveridadeParaNivel(severidade);
|
|
37
|
-
// Ajustar severidade baseado no contexto
|
|
38
33
|
const nivelAjustado = contextoArquivo.isTest && nivel === 'aviso' ? 'info' : nivel;
|
|
39
34
|
const resumo = items.slice(0, 3).map(caminho => caminho.tipo).join(', ');
|
|
40
35
|
ocorrencias.push(criarOcorrencia({
|
|
@@ -46,7 +41,6 @@ export const analistaSeguranca = {
|
|
|
46
41
|
}));
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
|
-
// Aplicar supressões inline antes de retornar
|
|
50
44
|
return filtrarOcorrenciasSuprimidas(ocorrencias, 'seguranca', src);
|
|
51
45
|
}
|
|
52
46
|
catch (erro) {
|
|
@@ -61,7 +55,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
61
55
|
if (!headerValue) {
|
|
62
56
|
return false;
|
|
63
57
|
}
|
|
64
|
-
// Header names geralmente são curtos/médios e usam letras/números/hífens.
|
|
65
58
|
if (headerValue.length < 4 || headerValue.length > 80) {
|
|
66
59
|
return false;
|
|
67
60
|
}
|
|
@@ -71,7 +64,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
71
64
|
if (headerValue.startsWith('-') || headerValue.endsWith('-')) {
|
|
72
65
|
return false;
|
|
73
66
|
}
|
|
74
|
-
// Heurística: costuma ter hífen (ex.: Content-Type) e, muitas vezes, prefixo X-
|
|
75
67
|
if (!/-/.test(headerValue) && !/^X[A-Za-z]?/.test(headerValue)) {
|
|
76
68
|
return false;
|
|
77
69
|
}
|
|
@@ -85,10 +77,8 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
85
77
|
const hasValorProp = /\bvalue\b\s*[:=]/i.test(ctx);
|
|
86
78
|
return hasHeaders && hasValorProp;
|
|
87
79
|
}
|
|
88
|
-
// Detecção de segredos hardcoded via helper compartilhado
|
|
89
80
|
const segredos = detectarSegredosHardcoded(src, relPath);
|
|
90
81
|
segredos.forEach(string => {
|
|
91
|
-
// Redução de falsos positivos específica para detector-seguranca: headers HTTP
|
|
92
82
|
if (string.campo === 'key' && isLikelyHttpHeaderName(string.valor) && isHttpHeadersKeyValueContext(string.linha - 1)) {
|
|
93
83
|
return;
|
|
94
84
|
}
|
|
@@ -102,10 +92,8 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
102
92
|
});
|
|
103
93
|
linhas.forEach((linha, index) => {
|
|
104
94
|
const numeroLinha = index + 1;
|
|
105
|
-
// Ignorar comentários, strings e regex patterns para reduzir falsos positivos
|
|
106
95
|
const linhaSemComentarios = linha.replace(/\/\/.*$/gm, '').replace(/\/\*.*?\*\//gs, '');
|
|
107
96
|
const linhaSemStrings = linhaSemComentarios.replace(/'[^']*'/g, '').replace(/"[^"]*"/g, '').replace(/`[^`]*`/g, '').replace(/\/(?:[^\/\\]|\\.)*\//g, '');
|
|
108
|
-
// eval() usage - apenas em código real, não em comentários/strings/regex
|
|
109
97
|
if (/\beval\s*\(/.test(linhaSemStrings)) {
|
|
110
98
|
problemas.push({
|
|
111
99
|
tipo: 'eval-usage',
|
|
@@ -115,7 +103,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
115
103
|
sugestao: 'Use JSON.parse() ou funções específicas ao invés de eval()'
|
|
116
104
|
});
|
|
117
105
|
}
|
|
118
|
-
// dangerouslySetInnerHTML - React security risk
|
|
119
106
|
if (/dangerouslySetInnerHTML\s*[:=]/.test(linhaSemStrings)) {
|
|
120
107
|
problemas.push({
|
|
121
108
|
tipo: 'dangerously-set-inner-html',
|
|
@@ -125,7 +112,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
125
112
|
sugestao: 'Use sanitize-html ou DOMPurify para limpar o conteúdo antes de renderizar'
|
|
126
113
|
});
|
|
127
114
|
}
|
|
128
|
-
// innerHTML com variáveis
|
|
129
115
|
if (/\.(innerHTML|outerHTML)\s*=\s*[^"']/.test(linha)) {
|
|
130
116
|
problemas.push({
|
|
131
117
|
tipo: 'dangerous-html',
|
|
@@ -135,7 +121,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
135
121
|
sugestao: 'Use textContent ou sanitize o HTML antes de inserir'
|
|
136
122
|
});
|
|
137
123
|
}
|
|
138
|
-
// document.write usage
|
|
139
124
|
if (/\bdocument\.write(ln)?\s*\(/.test(linhaSemStrings)) {
|
|
140
125
|
problemas.push({
|
|
141
126
|
tipo: 'xss-vulnerability',
|
|
@@ -145,9 +130,7 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
145
130
|
sugestao: 'Use manipulação de DOM segura (createElement, appendChild, etc.)'
|
|
146
131
|
});
|
|
147
132
|
}
|
|
148
|
-
// SQL Injection patterns
|
|
149
133
|
if (/\.(query|execute|raw|queryRaw|executeRaw)\s*\(/.test(linha) && (/req\.|params\.|query\.|body\./.test(linha) || /\$\{.*\}/.test(linha) || /\s\+\s/.test(linha))) {
|
|
150
|
-
// Ignorar se parecer que está usando parâmetros (ex: ?, $1, :name)
|
|
151
134
|
const temParametros = /['"`].*(\?|\$\d|:\w+).*['"`]/.test(linha);
|
|
152
135
|
if (!temParametros) {
|
|
153
136
|
problemas.push({
|
|
@@ -159,7 +142,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
159
142
|
});
|
|
160
143
|
}
|
|
161
144
|
}
|
|
162
|
-
// Command Injection
|
|
163
145
|
if (/\b(exec|execSync|spawn|spawnSync)\s*\(/.test(linha) && /req\.|params\.|query\.|body\./.test(linha)) {
|
|
164
146
|
problemas.push({
|
|
165
147
|
tipo: 'command-injection',
|
|
@@ -169,7 +151,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
169
151
|
sugestao: 'Evite executar comandos shell com input do usuário; use APIs específicas ou valide rigorosamente'
|
|
170
152
|
});
|
|
171
153
|
}
|
|
172
|
-
// Insecure cookie settings
|
|
173
154
|
if (/\.cookie\s*\(/.test(linha) && !/req\.cookie|request\.cookie/.test(linha) && !/httpOnly\s*:\s*true/.test(linha)) {
|
|
174
155
|
problemas.push({
|
|
175
156
|
tipo: 'insecure-cookie',
|
|
@@ -179,7 +160,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
179
160
|
sugestao: 'Sempre use httpOnly: true para evitar acesso via JavaScript (XSS). Se estiver usando configuração multi-line, o detector AST cuidará da validação.'
|
|
180
161
|
});
|
|
181
162
|
}
|
|
182
|
-
// Redirecionamentos inseguros
|
|
183
163
|
if (/\.(assign|replace|href)\s*=\s*.*(req\.|params\.|query\.|body\.)/.test(linha)) {
|
|
184
164
|
problemas.push({
|
|
185
165
|
tipo: 'xss-vulnerability',
|
|
@@ -189,7 +169,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
189
169
|
sugestao: 'Valide a URL de destino contra uma whitelist antes de redirecionar'
|
|
190
170
|
});
|
|
191
171
|
}
|
|
192
|
-
// Math.random() para criptografia
|
|
193
172
|
if (/Math\.random\(\)/.test(linha) && /crypto|password|token|secret/i.test(linha)) {
|
|
194
173
|
problemas.push({
|
|
195
174
|
tipo: 'weak-crypto',
|
|
@@ -199,7 +178,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
199
178
|
sugestao: 'Use crypto.randomBytes() ou crypto.getRandomValues()'
|
|
200
179
|
});
|
|
201
180
|
}
|
|
202
|
-
// Exposure of sensitive environment variables
|
|
203
181
|
if (/\b(console\.log|console\.debug|console\.info|res\.send|res\.json|res\.write|reply\.send)\s*\(.*(process\.env\.(PASSWORD|SECRET|TOKEN|KEY|API|PWD|AUTH|CREDENTIALS|DB|PASS|STRIPE|AWS|PRIVATE))/i.test(linha)) {
|
|
204
182
|
problemas.push({
|
|
205
183
|
tipo: 'sensitive-env-exposure',
|
|
@@ -209,10 +187,8 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
209
187
|
sugestao: 'Nunca exponha variáveis de ambiente que contenham segredos em logs ou respostas'
|
|
210
188
|
});
|
|
211
189
|
}
|
|
212
|
-
// Algoritmos de hash fracos
|
|
213
190
|
if (/createHash\s*\(\s*['"`](md5|md4|sha1)['"`]\s*\)/.test(linha)) {
|
|
214
191
|
const algoritmo = /createHash\s*\(\s*['"`](md5|md4|sha1)['"`]\s*\)/.exec(linha)?.[1];
|
|
215
|
-
// Verificar se há comentário justificando o uso (ex: fingerprinting, não-criptográfico)
|
|
216
192
|
const linhaAnterior = index > 0 ? linhas[index - 1] : '';
|
|
217
193
|
const linha2Atras = index > 1 ? linhas[index - 2] : '';
|
|
218
194
|
const comentarioContexto = linhaAnterior + linha2Atras;
|
|
@@ -227,7 +203,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
227
203
|
});
|
|
228
204
|
}
|
|
229
205
|
}
|
|
230
|
-
// RegExp com input do usuário
|
|
231
206
|
if (/new RegExp\s*\([^)]*\)/.test(linha) && /req\.|params\.|query\.|body\./.test(linha)) {
|
|
232
207
|
problemas.push({
|
|
233
208
|
tipo: 'unsafe-regex',
|
|
@@ -237,13 +212,9 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
237
212
|
sugestao: 'Valide e escape o input antes de usar em RegExp'
|
|
238
213
|
});
|
|
239
214
|
}
|
|
240
|
-
// Dangerous literal regex (heuristic for ReDoS)
|
|
241
215
|
const regexLiteralMatch = linha.match(/\/([^\/\\]|\\.)+\/[gimuy]*/);
|
|
242
216
|
if (regexLiteralMatch) {
|
|
243
217
|
const pattern = regexLiteralMatch[0];
|
|
244
|
-
// Heurística para quantificadores aninhados ou repetitivos que causam backtracking catastrófico
|
|
245
|
-
// Foca em padrões como (a+)+, (.*)*, (.+)+ e .*.* ou .+ .+
|
|
246
|
-
// Ignora padrões seguros como [\s\S]*? (usados em parsers)
|
|
247
218
|
const isParserLoop = /[\s\S]*?\//.test(pattern) || /[\s\S]*?/.test(pattern);
|
|
248
219
|
if (!isParserLoop && (/(\([^)]+\+?\)\+|\([^)]+\+?\)\*|(\.\*){2,}|(\.\+){2,}|([a-zA-Z0-9])\+\+)/.test(pattern) || /\[[^\]]+\]\+\+/.test(pattern))) {
|
|
249
220
|
problemas.push({
|
|
@@ -255,7 +226,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
255
226
|
});
|
|
256
227
|
}
|
|
257
228
|
}
|
|
258
|
-
// __proto__ manipulation - evitar falsos positivos em strings/comentários
|
|
259
229
|
if (/__proto__/.test(linhaSemStrings)) {
|
|
260
230
|
problemas.push({
|
|
261
231
|
tipo: 'prototype-pollution',
|
|
@@ -265,7 +235,6 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
265
235
|
sugestao: 'Use Object.create(null) ou Object.setPrototypeOf() com cuidado'
|
|
266
236
|
});
|
|
267
237
|
}
|
|
268
|
-
// Path traversal patterns
|
|
269
238
|
if (/\.\.\//g.test(linha) && /req\.|params\.|query\./.test(linha)) {
|
|
270
239
|
problemas.push({
|
|
271
240
|
tipo: 'path-traversal',
|
|
@@ -276,39 +245,26 @@ function detectarPadroesPerigosos(src, relPath, problemas) {
|
|
|
276
245
|
});
|
|
277
246
|
}
|
|
278
247
|
});
|
|
279
|
-
// Detectar async/await sem try-catch (melhoria exclusiva)
|
|
280
248
|
detectarAsyncSemTryCatch(src, problemas);
|
|
281
249
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Detecta uso de async/await sem tratamento adequado de erro
|
|
284
|
-
*/
|
|
285
250
|
function detectarAsyncSemTryCatch(src, problemas) {
|
|
286
251
|
const lines = splitLines(src);
|
|
287
|
-
// Contexto global do arquivo para detectar padrões do Next.js
|
|
288
252
|
const isNextJsServerComponent = /^['"](use server|use client)['"]/.test(src.trim()) || /export\s+(default\s+)?async\s+function/.test(src);
|
|
289
253
|
const hasDynamicImport = /next\/dynamic|import\s*\(/.test(src);
|
|
290
254
|
for (let indice = 0; indice < lines.length; indice++) {
|
|
291
255
|
const line = lines[indice];
|
|
292
256
|
const trimmedLine = line.trim();
|
|
293
|
-
// Detectar await sem try-catch
|
|
294
257
|
if (/\bawait\s+/.test(line) && !trimmedLine.startsWith('//')) {
|
|
295
|
-
// Verificar contexto expandido para detectar event handlers
|
|
296
258
|
const contextLines = lines.slice(Math.max(0, indice - 10), indice);
|
|
297
259
|
const context = contextLines.join(' ');
|
|
298
|
-
// Detectar se está dentro de event handler (fire-and-forget por design)
|
|
299
260
|
const isEventHandler = /\.on\s*\(/.test(context) || /\.once\s*\(/.test(context) || /addEventListener\s*\(/.test(context) || /collector\.on\s*\(/.test(context) || /emitter\.on\s*\(/.test(context) || /process\.on\s*\(/.test(context);
|
|
300
|
-
// Verificar se é dynamic import do Next.js (tratamento gerenciado pelo framework)
|
|
301
261
|
const isDynamicImport = hasDynamicImport && (/import\s*\(/.test(line) || /dynamic\s*\(/.test(context));
|
|
302
|
-
// Server Components do Next.js: tratamento gerenciado pelo framework
|
|
303
262
|
if (isNextJsServerComponent || isDynamicImport) {
|
|
304
263
|
continue;
|
|
305
264
|
}
|
|
306
|
-
// Verificar se há try-catch em escopo expandido (100 linhas antes/depois)
|
|
307
265
|
const extendedContext = lines.slice(Math.max(0, indice - 100), Math.min(lines.length, indice + 100));
|
|
308
266
|
const fullContext = extendedContext.join('\n');
|
|
309
|
-
// Detectar try-catch em escopo pai (bloco que envolve o await)
|
|
310
267
|
const hasErroHandling = /try\s*\{[\s\S]*?\}\s*catch/.test(fullContext) || /\.catch\s*\(/.test(line) || /\.catch\s*\(/.test(lines[indice + 1] || '') ||
|
|
311
|
-
// Promise encadeada com .then().catch()
|
|
312
268
|
/\.then\s*\([^)]*\)\s*\.catch/.test(fullContext);
|
|
313
269
|
if (!hasErroHandling) {
|
|
314
270
|
problemas.push({
|
|
@@ -366,7 +322,6 @@ function detectarSQLInjectionAST(callee, args, path, problemas) {
|
|
|
366
322
|
function detectarProblemasAST(ast, problemas) {
|
|
367
323
|
try {
|
|
368
324
|
traverse(ast.node, {
|
|
369
|
-
// Detectar Function constructor
|
|
370
325
|
NewExpression(path) {
|
|
371
326
|
if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'Function') {
|
|
372
327
|
problemas.push({
|
|
@@ -378,11 +333,9 @@ function detectarProblemasAST(ast, problemas) {
|
|
|
378
333
|
});
|
|
379
334
|
}
|
|
380
335
|
},
|
|
381
|
-
// Detectar chamadas perigosas
|
|
382
336
|
CallExpression(path) {
|
|
383
337
|
const callee = path.node.callee;
|
|
384
338
|
const args = path.node.arguments;
|
|
385
|
-
// 1. setTimeout/setInterval com strings
|
|
386
339
|
if (callee.type === 'Identifier' && ['setTimeout', 'setInterval'].includes(callee.name) && args[0]?.type === 'StringLiteral') {
|
|
387
340
|
problemas.push({
|
|
388
341
|
tipo: 'eval-usage',
|
|
@@ -398,7 +351,6 @@ function detectarProblemasAST(ast, problemas) {
|
|
|
398
351
|
});
|
|
399
352
|
}
|
|
400
353
|
catch {
|
|
401
|
-
// Ignorar erros de traverse para não quebrar a análise
|
|
402
354
|
}
|
|
403
355
|
}
|
|
404
356
|
function mapearSeveridadeParaNivel(severidade) {
|
|
@@ -30,10 +30,6 @@ function verificarConvencoesNomesDiretorios(ocorrencias, caminhosNorm) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Analisa a estrutura do projeto e detecta padrões como monorepo, fullstack, mistura de src/packages, etc.
|
|
35
|
-
* Retorna ocorrências para cada sinal relevante encontrado.
|
|
36
|
-
*/
|
|
37
33
|
export const detectorEstrutura = {
|
|
38
34
|
nome: 'detector-estrutura',
|
|
39
35
|
global: true,
|
|
@@ -45,11 +41,8 @@ export const detectorEstrutura = {
|
|
|
45
41
|
return [];
|
|
46
42
|
}
|
|
47
43
|
const caminhos = contexto.arquivos.map(arquivo => arquivo.relPath);
|
|
48
|
-
// Normaliza separadores para evitar falsos negativos em Windows (\\ vs /)
|
|
49
44
|
const caminhosNorm = caminhos.map(caminho => caminho ? caminho.replace(/\\/g, '/') : '');
|
|
50
|
-
// Conjuntos para buscas O(1) e deduplicação implícita
|
|
51
45
|
const setCaminhos = new Set(caminhos);
|
|
52
|
-
// Detecta contexto geral do projeto para análise inteligente
|
|
53
46
|
const arquivoPrincipal = caminhos?.find(caminho => /package\.json$/.test(caminho)) ?? caminhos[0];
|
|
54
47
|
const conteudoPrincipal = contexto.arquivos?.find(arquivo => arquivo.relPath === arquivoPrincipal)?.content ?? '';
|
|
55
48
|
const contextoProjeto = detectarContextoProjeto({
|
|
@@ -57,11 +50,9 @@ export const detectorEstrutura = {
|
|
|
57
50
|
conteudo: conteudoPrincipal,
|
|
58
51
|
relPath: arquivoPrincipal
|
|
59
52
|
});
|
|
60
|
-
// Se é um projeto pequeno ou de teste, reduz a agressividade das verificações
|
|
61
53
|
const isProjetoPequeno = caminhos.length < 20;
|
|
62
54
|
const isProjetoTeste = contextoProjeto.isTest || caminhos.every(caminho => /(test|spec|mock)/i.test(caminho));
|
|
63
55
|
const sinais = {
|
|
64
|
-
// Next.js: considerar tanto pages/ quanto app/
|
|
65
56
|
temPages: caminhosNorm.some(caminho => caminho.includes('pages/') || caminho.includes('app/')),
|
|
66
57
|
temApi: caminhosNorm.some(caminho => caminho.includes('api/')),
|
|
67
58
|
temControllers: caminhosNorm.some(caminho => caminho.includes('controllers/')),
|
|
@@ -76,7 +67,6 @@ export const detectorEstrutura = {
|
|
|
76
67
|
const ehMonorepo = !!sinais.temPackages;
|
|
77
68
|
Object.assign(sinaisDetectados, sinais);
|
|
78
69
|
const ocorrencias = [];
|
|
79
|
-
// Estrutura monorepo
|
|
80
70
|
if (ehMonorepo) {
|
|
81
71
|
ocorrencias.push({
|
|
82
72
|
tipo: 'estrutura-monorepo',
|
|
@@ -86,7 +76,6 @@ export const detectorEstrutura = {
|
|
|
86
76
|
relPath: '[raiz do projeto]',
|
|
87
77
|
linha: 0
|
|
88
78
|
});
|
|
89
|
-
// Monorepo sem packages
|
|
90
79
|
if (!caminhos.some(caminho => caminho.includes('packages/'))) {
|
|
91
80
|
ocorrencias.push({
|
|
92
81
|
tipo: 'estrutura-monorepo-incompleto',
|
|
@@ -98,7 +87,6 @@ export const detectorEstrutura = {
|
|
|
98
87
|
});
|
|
99
88
|
}
|
|
100
89
|
}
|
|
101
|
-
// Estrutura fullstack
|
|
102
90
|
if (ehFullstack) {
|
|
103
91
|
ocorrencias.push({
|
|
104
92
|
tipo: 'estrutura-fullstack',
|
|
@@ -110,45 +98,37 @@ export const detectorEstrutura = {
|
|
|
110
98
|
});
|
|
111
99
|
}
|
|
112
100
|
else if (sinais.temPages && !sinais.temApi && !isProjetoPequeno) {
|
|
113
|
-
// Só reporta para projetos maiores que realmente deveriam ter API
|
|
114
101
|
ocorrencias.push({
|
|
115
102
|
tipo: 'estrutura-incompleta',
|
|
116
103
|
nivel: 'info',
|
|
117
|
-
// Reduzido de 'aviso' para 'info'
|
|
118
104
|
mensagem: messages.DetectorEstruturaMensagens.pagesSemApi,
|
|
119
105
|
origem: 'detector-estrutura',
|
|
120
106
|
relPath: '[raiz do projeto]',
|
|
121
107
|
linha: 0
|
|
122
108
|
});
|
|
123
109
|
}
|
|
124
|
-
// Mistura de padrões: src/ e packages/ juntos - só reporta se não for projeto experimental
|
|
125
110
|
if (sinais.temSrc && sinais.temPackages && !contextoProjeto.isTest) {
|
|
126
111
|
ocorrencias.push({
|
|
127
112
|
tipo: 'estrutura-mista',
|
|
128
113
|
nivel: 'info',
|
|
129
|
-
// Reduzido de 'aviso' para 'info'
|
|
130
114
|
mensagem: messages.DetectorEstruturaMensagens.estruturaMista,
|
|
131
115
|
origem: 'detector-estrutura',
|
|
132
116
|
relPath: '[raiz do projeto]',
|
|
133
117
|
linha: 0
|
|
134
118
|
});
|
|
135
119
|
}
|
|
136
|
-
// Muitos arquivos na raiz (considera apenas nível imediato sem subpastas)
|
|
137
120
|
const arquivosRaiz = caminhosNorm.filter(caminho => !caminho.includes('/') && caminho.trim() !== '');
|
|
138
|
-
const LIMITE_RAIZ = (config.ESTRUTURA_ARQUIVOS_RAIZ_MAX || 15);
|
|
139
|
-
// Só reporta se não for projeto pequeno ou de teste
|
|
121
|
+
const LIMITE_RAIZ = (config.ESTRUTURA_ARQUIVOS_RAIZ_MAX || 15);
|
|
140
122
|
if (arquivosRaiz.length > LIMITE_RAIZ && !isProjetoPequeno && !isProjetoTeste) {
|
|
141
123
|
ocorrencias.push({
|
|
142
124
|
tipo: 'estrutura-suspeita',
|
|
143
125
|
nivel: 'info',
|
|
144
|
-
// Reduzido de 'aviso' para 'info'
|
|
145
126
|
mensagem: messages.DetectorEstruturaMensagens.muitosArquivosRaiz,
|
|
146
127
|
origem: 'detector-estrutura',
|
|
147
128
|
relPath: '[raiz do projeto]',
|
|
148
129
|
linha: 0
|
|
149
130
|
});
|
|
150
131
|
}
|
|
151
|
-
// Sinais de backend
|
|
152
132
|
if (sinais.temControllers || sinais.temPrisma || sinais.temApi) {
|
|
153
133
|
ocorrencias.push({
|
|
154
134
|
tipo: 'estrutura-backend',
|
|
@@ -159,7 +139,6 @@ export const detectorEstrutura = {
|
|
|
159
139
|
linha: 0
|
|
160
140
|
});
|
|
161
141
|
}
|
|
162
|
-
// Sinais de frontend
|
|
163
142
|
if (sinais.temComponents || sinais.temPages) {
|
|
164
143
|
ocorrencias.push({
|
|
165
144
|
tipo: 'estrutura-frontend',
|
|
@@ -170,7 +149,6 @@ export const detectorEstrutura = {
|
|
|
170
149
|
linha: 0
|
|
171
150
|
});
|
|
172
151
|
}
|
|
173
|
-
// Arquivos de configuração conhecidos - agrupa em uma única ocorrência para reduzir ruído
|
|
174
152
|
const arquivosConfiguracao = ['package.json', 'tsconfig.json', 'turbo.json', 'pnpm-workspace.yaml'];
|
|
175
153
|
const detectados = arquivosConfiguracao.filter(cfg => setCaminhos.has(cfg));
|
|
176
154
|
if (detectados.length > 0) {
|
|
@@ -183,15 +161,12 @@ export const detectorEstrutura = {
|
|
|
183
161
|
linha: 1
|
|
184
162
|
});
|
|
185
163
|
}
|
|
186
|
-
// Múltiplos entrypoints
|
|
187
|
-
// Lista de entrypoints potencialmente grande em repositórios com dependências; filtra ignorados
|
|
188
164
|
const entrypointsAll = caminhosNorm.filter(caminho => /(^|[\\/])(cli|index|main)\.(ts|js)$/.test(caminho));
|
|
189
165
|
const ignoredDyn = config.INCLUDE_EXCLUDE_RULES.globalExcludeGlob;
|
|
190
166
|
const entrypoints = entrypointsAll.filter(caminho => !micromatch.isMatch(caminho, ignoredDyn)).sort();
|
|
191
167
|
if (entrypoints.length > 1) {
|
|
192
168
|
const MAX_LIST = 20;
|
|
193
169
|
if (entrypoints.length > MAX_LIST) {
|
|
194
|
-
// Muitos entrypoints: agrega por diretório para reduzir ruído sem perder o sinal
|
|
195
170
|
const dirCounts = new Map();
|
|
196
171
|
for (const caminho of entrypoints) {
|
|
197
172
|
const dir = caminho.includes('/') ? caminho.slice(0, caminho.lastIndexOf('/')) : '.';
|
|
@@ -218,7 +193,6 @@ export const detectorEstrutura = {
|
|
|
218
193
|
});
|
|
219
194
|
}
|
|
220
195
|
else {
|
|
221
|
-
// Quantidade moderada: lista direta mantendo ordenação estável
|
|
222
196
|
const preview = entrypoints.slice(0, MAX_LIST);
|
|
223
197
|
const resto = entrypoints.length - preview.length;
|
|
224
198
|
ocorrencias.push({
|
|
@@ -231,15 +205,11 @@ export const detectorEstrutura = {
|
|
|
231
205
|
});
|
|
232
206
|
}
|
|
233
207
|
}
|
|
234
|
-
// Ausência de src/ em projetos grandes (verifica realmente se diretório src existe fisicamente)
|
|
235
|
-
// Só reporta para projetos que realmente deveriam ter src/ baseado no contexto
|
|
236
208
|
const deveriaTerSrc = !contextoProjeto.isTest && !contextoProjeto.isConfiguracao && (contextoProjeto.isLibrary || contextoProjeto.frameworks.length > 0);
|
|
237
209
|
if (!sinais.temSrc && caminhosNorm.length > 50 && deveriaTerSrc) {
|
|
238
|
-
// Aumentado de 30 para 50
|
|
239
210
|
ocorrencias.push({
|
|
240
211
|
tipo: 'estrutura-sem-src',
|
|
241
212
|
nivel: 'info',
|
|
242
|
-
// Reduzido de 'aviso' para 'info'
|
|
243
213
|
mensagem: messages.DetectorEstruturaMensagens.projetoGrandeSemSrc,
|
|
244
214
|
origem: 'detector-estrutura',
|
|
245
215
|
relPath: '[raiz do projeto]',
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { YAMLMap } from 'yaml';
|
|
2
2
|
import { registrarDetectorGithubActions } from './analyst-github-actions.js';
|
|
3
|
-
/**
|
|
4
|
-
* Plugin de exemplo para demonstrar o sistema de extensibilidade v0.5.0
|
|
5
|
-
*/
|
|
6
3
|
registrarDetectorGithubActions({
|
|
7
4
|
nome: 'security-hardening',
|
|
8
5
|
descricao: 'Regras adicionais de segurança para workflows',
|
|
@@ -14,7 +11,6 @@ registrarDetectorGithubActions({
|
|
|
14
11
|
return problemas;
|
|
15
12
|
}
|
|
16
13
|
for (const [jobId, job] of Object.entries(wf.jobs)) {
|
|
17
|
-
// Regra: Todo job deve ter permissões explícitas
|
|
18
14
|
if (!job.permissions && !wf.permissions) {
|
|
19
15
|
problemas.push({
|
|
20
16
|
tipo: 'security-hardening',
|