@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,13 +1,3 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
/**
|
|
4
|
-
* [CHAVE-INGLESA] Correções automáticas para Python
|
|
5
|
-
*
|
|
6
|
-
* Fornece correções sugeridas para problemas comuns em Python:
|
|
7
|
-
* - Bare except → except Exception
|
|
8
|
-
* - Mutable defaults → None pattern
|
|
9
|
-
* - print → logging
|
|
10
|
-
*/
|
|
11
1
|
import { messages } from '../../../core/messages/index.js';
|
|
12
2
|
import { maskPythonComments, splitLines } from '../../../shared/helpers/index.js';
|
|
13
3
|
import { criarOcorrencia } from '../../../types/index.js';
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
/**
|
|
3
|
-
* [BUSCA] Detector de boas práticas Python
|
|
4
|
-
*
|
|
5
|
-
* Delega para o analista principal (analyst-python) e retorna
|
|
6
|
-
* as ocorrências usando mensagens centralizadas.
|
|
7
|
-
*/
|
|
8
1
|
import { collectPythonIssues } from '../analysts/analyst-python.js';
|
|
9
2
|
export const detectorPythonBestPractices = {
|
|
10
3
|
nome: 'detector-python-best-practices',
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
/**
|
|
3
|
-
* [BUSCA] Analistas de Python
|
|
4
|
-
*
|
|
5
|
-
* Heurísticas leves para Python (boas práticas e segurança).
|
|
6
|
-
*/
|
|
7
1
|
export * from './analysts/analyst-python.js';
|
|
8
2
|
export * from './corrections/index.js';
|
|
9
3
|
export * from './detectors/index.js';
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
// @mahoraga-disable ml-deep-nesting
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
/**
|
|
4
|
-
* [GRAFICO] Pontuador de qualidade Python
|
|
5
|
-
*
|
|
6
|
-
* Avalia a qualidade do código Python baseado em:
|
|
7
|
-
* - Type hints coverage
|
|
8
|
-
* - Security issues
|
|
9
|
-
* - Error handling
|
|
10
|
-
* - Code organization
|
|
11
|
-
*/
|
|
12
1
|
import { maskPythonComments, splitLines } from '../../../shared/helpers/index.js';
|
|
13
2
|
export function pontuarPython(src, _relPath) {
|
|
14
3
|
let score = 0;
|
|
@@ -18,7 +7,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
18
7
|
const scan = maskPythonComments(src);
|
|
19
8
|
const _linhas = splitLines(scan);
|
|
20
9
|
const srcCompleto = scan;
|
|
21
|
-
// Type hints (25 pontos)
|
|
22
10
|
const funcs = (srcCompleto.match(/def\s+\w+/g) ?? []).length;
|
|
23
11
|
const funcsWithHints = (srcCompleto.match(/def\s+\w+\s*\([^)]*\)\s*->/g) ?? []).length;
|
|
24
12
|
if (funcs > 0) {
|
|
@@ -37,7 +25,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
37
25
|
else {
|
|
38
26
|
score += 25;
|
|
39
27
|
}
|
|
40
|
-
// Sem eval/exec (20 pontos)
|
|
41
28
|
if (!/\b(eval|exec)\s*\(/.test(srcCompleto)) {
|
|
42
29
|
score += 20;
|
|
43
30
|
strengths.push('Sem uso de eval/exec');
|
|
@@ -45,7 +32,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
45
32
|
else {
|
|
46
33
|
issues.push('eval/exec detectado - risco de segurança');
|
|
47
34
|
}
|
|
48
|
-
// Error handling (20 pontos)
|
|
49
35
|
const bareExcept = (srcCompleto.match(/^\s*except\s*:/gm) ?? []).length;
|
|
50
36
|
if (bareExcept === 0) {
|
|
51
37
|
score += 20;
|
|
@@ -55,7 +41,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
55
41
|
score += Math.max(0, 20 - bareExcept * 5);
|
|
56
42
|
issues.push(`${bareExcept} bare except(s) detectado(s)`);
|
|
57
43
|
}
|
|
58
|
-
// Sem mutable defaults (15 pontos)
|
|
59
44
|
const mutableDefaults = (srcCompleto.match(/def\s+\w+\s*\([^)]*=\s*(?:\[|\{)/g) ?? []).length;
|
|
60
45
|
if (mutableDefaults === 0) {
|
|
61
46
|
score += 15;
|
|
@@ -64,7 +49,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
64
49
|
else {
|
|
65
50
|
issues.push(`${mutableDefaults} função(ões) com default mutável`);
|
|
66
51
|
}
|
|
67
|
-
// Logging ao invés de print (10 pontos)
|
|
68
52
|
const printCount = (srcCompleto.match(/^\s*print\s*\(/gm) ?? []).length;
|
|
69
53
|
const loggingCount = (srcCompleto.match(/logging\.\w+\(/g) ?? []).length;
|
|
70
54
|
if (printCount === 0 || loggingCount > printCount) {
|
|
@@ -74,7 +58,6 @@ export function pontuarPython(src, _relPath) {
|
|
|
74
58
|
else {
|
|
75
59
|
issues.push(`${printCount} print(s) - considere usar logging`);
|
|
76
60
|
}
|
|
77
|
-
// Sem subprocess shell=True (10 pontos)
|
|
78
61
|
if (!/subprocess.*shell\s*=\s*True/.test(srcCompleto)) {
|
|
79
62
|
score += 10;
|
|
80
63
|
strengths.push('Sem subprocess com shell=True');
|
|
@@ -4,14 +4,13 @@ import * as t from '@babel/types';
|
|
|
4
4
|
import { messages } from '../../../core/messages/index.js';
|
|
5
5
|
import { createLineLookup } from '../../../shared/helpers/index.js';
|
|
6
6
|
import { criarAnalista, criarOcorrencia } from '../../../types/index.js';
|
|
7
|
-
const disableEnv = process.env.
|
|
7
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_REACT_HOOKS === '1';
|
|
8
8
|
const REACT_18_HOOKS = [
|
|
9
9
|
'useState', 'useEffect', 'useMemo', 'useCallback', 'useRef',
|
|
10
10
|
'useContext', 'useReducer', 'useLayoutEffect', 'useImperativeHandle',
|
|
11
11
|
'useDebugValue', 'useDeferredValue', 'useTransition',
|
|
12
12
|
'useSyncExternalStore', 'useInsertionEffect', 'useId',
|
|
13
13
|
];
|
|
14
|
-
// React 19+ built-in hooks
|
|
15
14
|
const REACT_19_HOOKS = [
|
|
16
15
|
'use', 'useOptimistic', 'useActionState', 'useFormStatus',
|
|
17
16
|
];
|
|
@@ -109,25 +108,17 @@ function extractHookCallContent(src, startIndex) {
|
|
|
109
108
|
function collectHookIssues(src, relPath, opts = {}) {
|
|
110
109
|
const ocorrencias = [];
|
|
111
110
|
const lineOf = createLineLookup(src).lineAt;
|
|
112
|
-
// As verificações estruturais (useEffect/useMemo/useCallback sem deps e hook
|
|
113
|
-
// em condicional) são imprecisas quando feitas por regex/linha e geram falsos
|
|
114
|
-
// positivos. Quando a análise por AST (`parseHooksWithBabel`) está disponível,
|
|
115
|
-
// ela é a fonte autoritativa e estas verificações devem ser ignoradas.
|
|
116
111
|
const skipStructural = opts.skipStructural === true;
|
|
117
112
|
if (!skipStructural) {
|
|
118
|
-
// Check useEffect/useLayoutEffect for deps
|
|
119
113
|
const effectMatches = [...src.matchAll(/use(Layout)?Effect\s*\(/g)];
|
|
120
114
|
effectMatches.forEach(m => {
|
|
121
115
|
const hookInicio = m.index;
|
|
122
116
|
const fullCall = extractHookCallContent(src, hookInicio + m[0].length - 1);
|
|
123
|
-
// More robust deps detection: find the last comma followed by an array or identifier before the closing paren
|
|
124
117
|
const hasDepsArg = (() => {
|
|
125
|
-
// Find the last ')' (closing paren of the full call)
|
|
126
118
|
const lastClosing = fullCall.lastIndexOf(')');
|
|
127
119
|
if (lastClosing === -1)
|
|
128
120
|
return false;
|
|
129
121
|
const beforeClosing = fullCall.slice(0, lastClosing);
|
|
130
|
-
// Find the last '[' or identifier before the closing paren
|
|
131
122
|
const arrayMatch = beforeClosing.match(/,\s*(\[[\s\S]*?\])\s*$/);
|
|
132
123
|
if (arrayMatch)
|
|
133
124
|
return true;
|
|
@@ -153,7 +144,6 @@ function collectHookIssues(src, relPath, opts = {}) {
|
|
|
153
144
|
}
|
|
154
145
|
}
|
|
155
146
|
});
|
|
156
|
-
// useMemo/useCallback deps check
|
|
157
147
|
const memoMatches = [...src.matchAll(/use(Memo|Callback)\s*\(/g)];
|
|
158
148
|
memoMatches.forEach(m => {
|
|
159
149
|
const hookInicio = m.index;
|
|
@@ -165,43 +155,27 @@ function collectHookIssues(src, relPath, opts = {}) {
|
|
|
165
155
|
ocorrencias.push(warn(messages.ReactHooksMensagens.memoCallbackNoDeps, relPath, line));
|
|
166
156
|
}
|
|
167
157
|
});
|
|
168
|
-
// Conditional hooks — only flag when a hook call is directly inside a conditional block,
|
|
169
|
-
// not when the conditional is inside a hook callback (e.g. cleanup inside useEffect).
|
|
170
|
-
// The regex matches: if/for/while (...) { ... useXxx ... } but limits the match scope
|
|
171
|
-
// to avoid matching conditionals that appear inside hook callbacks.
|
|
172
158
|
const conditionalHooks = [...src.matchAll(/(?:^|(?<=[\n;]))\s*(if|for|while)\s*\([^)]*\)\s*\{[\s\S]{0,160}?use[A-Z][A-Za-z0-9_]*/g)];
|
|
173
159
|
conditionalHooks.forEach(m => {
|
|
174
160
|
const line = lineOf(m.index || 0);
|
|
175
|
-
// Heuristic: skip if the 'if' keyword is preceded by a closing paren or brace at the same indentation,
|
|
176
|
-
// which suggests it's inside a callback body rather than at the component top level.
|
|
177
161
|
const pre = src.slice(Math.max(0, (m.index ?? 0) - 80), m.index ?? 0);
|
|
178
162
|
if (/=>\s*$|\)\s*=>\s*$|\)\s*\{[\s\S]{0,40}$/.test(pre))
|
|
179
163
|
return;
|
|
180
164
|
ocorrencias.push(warn(messages.ReactHooksMensagens.hookInConditional, relPath, line));
|
|
181
165
|
});
|
|
182
|
-
}
|
|
183
|
-
// React 19: useOptimistic detected
|
|
166
|
+
}
|
|
184
167
|
for (const match of src.matchAll(/\buseOptimistic\s*\(/g)) {
|
|
185
168
|
const line = lineOf(match.index);
|
|
186
169
|
ocorrencias.push(warn('useOptimistic (React 19) detected', relPath, line, messages.SeverityNiveis.info));
|
|
187
170
|
}
|
|
188
|
-
// React 19: useActionState detected
|
|
189
171
|
for (const match of src.matchAll(/\buseActionState\s*\(/g)) {
|
|
190
172
|
const line = lineOf(match.index);
|
|
191
173
|
ocorrencias.push(warn('useActionState (React 19) detected - verify form action integration', relPath, line, messages.SeverityNiveis.info));
|
|
192
174
|
}
|
|
193
|
-
// React 19: useFormStatus detected
|
|
194
175
|
for (const match of src.matchAll(/\buseFormStatus\s*\(/g)) {
|
|
195
176
|
const line = lineOf(match.index);
|
|
196
177
|
ocorrencias.push(warn('useFormStatus (React 19) detected - access pending form state', relPath, line, messages.SeverityNiveis.info));
|
|
197
178
|
}
|
|
198
|
-
// React 19: use() hook - suspends, must be in Suspense boundary.
|
|
199
|
-
// OBS: esta detecção por regex é intencionalmente OMITIDA aqui porque
|
|
200
|
-
// casaria falsamente com comentários/strings (ex.: "terms-of-use (...)") e
|
|
201
|
-
// com identificadores como "reuse(" / "abuse(". O hook use() é detectado de
|
|
202
|
-
// forma precisa via AST em parseHooksWithBabel (que ignora comentários),
|
|
203
|
-
// tornando este regex redundante e gerador de falsos positivos.
|
|
204
|
-
// Custom hooks naming convention
|
|
205
179
|
const customHooks = [...src.matchAll(/\buse[A-Z][A-Za-z0-9_]*\s*=\s*\(/g)];
|
|
206
180
|
customHooks.forEach(m => {
|
|
207
181
|
const hookName = m[0].replace(/\s*=\s*\(/, '');
|
|
@@ -242,7 +216,6 @@ function parseHooksWithBabel(src, relPath) {
|
|
|
242
216
|
const isHookCallee = (callee) => {
|
|
243
217
|
if (t.isIdentifier(callee)) {
|
|
244
218
|
const name = callee.name;
|
|
245
|
-
// React 19: use() is a special case (not prefixed with use but still a hook)
|
|
246
219
|
if (name === 'use') {
|
|
247
220
|
return { name };
|
|
248
221
|
}
|
|
@@ -263,20 +236,12 @@ function parseHooksWithBabel(src, relPath) {
|
|
|
263
236
|
const isMemoLike = (name) => name === 'useMemo' || name === 'useCallback';
|
|
264
237
|
const isAnyHook = (name) => /^use[A-Z0-9_]/.test(name) || name === 'use';
|
|
265
238
|
const inConditionalOrLoop = (path) => {
|
|
266
|
-
// Só viola as Rules of Hooks se o hook estiver DENTRO de um
|
|
267
|
-
// if/for/while/do-while/switch/conditional no MESMO escopo de função que o
|
|
268
|
-
// contém. Condicionais em funções pais (ex.: um `if` no componente que define
|
|
269
|
-
// um hook customizado como useMusicPlayer) são válidas e NÃO devem gerar falso
|
|
270
|
-
// positivo (feedback.md seção 1.2). Callbacks aninhados (outra função) também
|
|
271
|
-
// delimitam o escopo — um condicional dentro de um callback não conta para o
|
|
272
|
-
// hook de fora.
|
|
273
239
|
let current = path;
|
|
274
240
|
while (current) {
|
|
275
241
|
const parent = current.parentPath;
|
|
276
242
|
if (!parent) {
|
|
277
243
|
break;
|
|
278
244
|
}
|
|
279
|
-
// Função que contém o hook: condicionais acima dela estão em escopo diferente.
|
|
280
245
|
if (parent.isFunction()) {
|
|
281
246
|
break;
|
|
282
247
|
}
|
|
@@ -361,15 +326,12 @@ function parseHooksWithBabel(src, relPath) {
|
|
|
361
326
|
}
|
|
362
327
|
}
|
|
363
328
|
}
|
|
364
|
-
// React 19: use() hook should be in Suspense boundary
|
|
365
329
|
if (name === 'use') {
|
|
366
330
|
pushOnce(warn('React 19 use() hook - ensure wrapped in <Suspense> boundary', relPath, locLine));
|
|
367
331
|
}
|
|
368
|
-
// React 19: useOptimistic should have reducer function
|
|
369
332
|
if (name === 'useOptimistic' && path.node.arguments.length < 2) {
|
|
370
333
|
pushOnce(warn('useOptimistic expects initial state and update function (React 19)', relPath, locLine));
|
|
371
334
|
}
|
|
372
|
-
// React 19: useActionState should have form action
|
|
373
335
|
if (name === 'useActionState') {
|
|
374
336
|
pushOnce(warn('useActionState (React 19) - verify form action handler', relPath, locLine));
|
|
375
337
|
}
|
|
@@ -400,11 +362,6 @@ function parseHooksWithBabel(src, relPath) {
|
|
|
400
362
|
return !depsSet.has(r);
|
|
401
363
|
});
|
|
402
364
|
if (maybeMissing.length > 1) {
|
|
403
|
-
// Apenas useMemo/useCallback com deps faltando são "sem array de
|
|
404
|
-
// dependências". useEffect/useLayoutEffect QUE JÁ POSSUEM um array
|
|
405
|
-
// de deps (mesmo que incompleto) NÃO devem ser reportados como
|
|
406
|
-
// "sem array" — ver feedback.md seção 1.1. O aviso de stale closure
|
|
407
|
-
// para esses casos já é emitido por outro analisador.
|
|
408
365
|
if (isMemoLike(name)) {
|
|
409
366
|
pushOnce(warn(messages.ReactHooksMensagens.memoCallbackNoDeps, relPath, locLine));
|
|
410
367
|
}
|
|
@@ -444,7 +401,6 @@ function parseHooksWithBabel(src, relPath) {
|
|
|
444
401
|
}
|
|
445
402
|
}
|
|
446
403
|
catch {
|
|
447
|
-
// ignora
|
|
448
404
|
}
|
|
449
405
|
}
|
|
450
406
|
};
|
|
@@ -473,11 +429,6 @@ export const analistaReactHooks = criarAnalista({
|
|
|
473
429
|
}
|
|
474
430
|
const astMsgs = parseHooksWithBabel(src, relPath);
|
|
475
431
|
if (astMsgs !== null) {
|
|
476
|
-
// O AST é a fonte autoritativa para verificações estruturais (deps de
|
|
477
|
-
// useEffect/useMemo e hooks em condicional). Quando disponível, o regex
|
|
478
|
-
// estrutural é ignorado para evitar os falsos positivos de análise por
|
|
479
|
-
// texto (ver feedback.md seção 1.1 e 1.2). As verificações informativas
|
|
480
|
-
// do regex permanecem como rede de segurança.
|
|
481
432
|
const regexMsgs = collectHookIssues(src, relPath, { skipStructural: true });
|
|
482
433
|
const all = [...astMsgs, ...regexMsgs];
|
|
483
434
|
const seen = new Set();
|
|
@@ -4,11 +4,8 @@ import * as textoTitulo from '@babel/types';
|
|
|
4
4
|
import { messages } from '../../../core/messages/index.js';
|
|
5
5
|
import { createLineLookup, maskJsComments } from '../../../shared/helpers/index.js';
|
|
6
6
|
import { criarAnalista, criarOcorrencia } from '../../../types/index.js';
|
|
7
|
-
const disableEnv = process.env.
|
|
7
|
+
const disableEnv = process.env.MAHORAGA_DISABLE_PLUGIN_REACT === '1';
|
|
8
8
|
function hasJSX(src) {
|
|
9
|
-
// Evita falsos positivos com genéricos TypeScript (ex.: foo<Bar>(...)).
|
|
10
|
-
// Heurística: JSX normalmente aparece após um separador (início de arquivo/linha, whitespace,
|
|
11
|
-
// pontuação), enquanto genéricos aparecem logo após identificadores.
|
|
12
9
|
const hasTagLike = /(^|[^A-Za-z0-9_$])<([A-Za-z][A-Za-z0-9]*)\b/.test(src);
|
|
13
10
|
const hasFragment = /<>|<\/>|<\/\s*>|<\/\s*Fragment\s*>/i.test(src);
|
|
14
11
|
return hasTagLike || hasFragment || /React\.createElement/.test(src);
|
|
@@ -27,7 +24,6 @@ function warn(message, relPath, line, nivel = messages.SeverityNiveis.warning) {
|
|
|
27
24
|
function collectReactIssues(src, relPath) {
|
|
28
25
|
const ocorrencias = [];
|
|
29
26
|
const lineOf = createLineLookup(src).lineAt;
|
|
30
|
-
// <a target="_blank"> sem rel
|
|
31
27
|
for (const match of src.matchAll(/<a[^>]*target=['"]?_blank['"]?[^>]*>/gi)) {
|
|
32
28
|
const hasRelSafe = /rel=['"][^'"]*(noopener|noreferrer)[^'"]*['"]/i.test(match[0]);
|
|
33
29
|
if (!hasRelSafe) {
|
|
@@ -35,17 +31,13 @@ function collectReactIssues(src, relPath) {
|
|
|
35
31
|
ocorrencias.push(warn(messages.ReactMensagens.linkTargetBlank, relPath, line));
|
|
36
32
|
}
|
|
37
33
|
}
|
|
38
|
-
// dangerouslySetInnerHTML
|
|
39
34
|
for (const match of src.matchAll(/dangerouslySetInnerHTML/gi)) {
|
|
40
35
|
const line = lineOf(match.index);
|
|
41
|
-
// Skip if this is a <script type="speculationrules"> element — dangerouslySetInnerHTML
|
|
42
|
-
// is required for Speculation Rules API (no children allowed, only innerHTML).
|
|
43
36
|
const lineContent = src.split('\n')[line - 1] ?? '';
|
|
44
37
|
if (/speculationrules/.test(lineContent))
|
|
45
38
|
continue;
|
|
46
39
|
ocorrencias.push(warn(messages.ReactMensagens.dangerouslySetInnerHTML, relPath, line));
|
|
47
40
|
}
|
|
48
|
-
// <img> sem alt
|
|
49
41
|
for (const match of src.matchAll(/<img[^>]*>/gi)) {
|
|
50
42
|
const hasAlt = /\salt=/.test(match[0]);
|
|
51
43
|
const ariaHidden = /\saria-hidden=['"]true['"]/i.test(match[0]);
|
|
@@ -55,12 +47,10 @@ function collectReactIssues(src, relPath) {
|
|
|
55
47
|
ocorrencias.push(warn(messages.ReactMensagens.imgWithoutAlt, relPath, line));
|
|
56
48
|
}
|
|
57
49
|
}
|
|
58
|
-
// fetch/axios com HTTP (inseguro)
|
|
59
50
|
for (const match of src.matchAll(/\b(fetch|axios\.get|axios\.post|axios\.[a-z]+)\s*\(\s*['"]http:\/\//gi)) {
|
|
60
51
|
const line = lineOf(match.index);
|
|
61
52
|
ocorrencias.push(warn(messages.ReactMensagens.httpFetch, relPath, line));
|
|
62
53
|
}
|
|
63
|
-
// Hardcoded secrets (heurística)
|
|
64
54
|
for (const match of src.matchAll(/(api[key]?|token|secret|senha|password|passphrase)\s*[:=]\s*['"]([A-Za-z0-9\/_+=.-]{16,})['"]/gi)) {
|
|
65
55
|
const valor = match[2] || '';
|
|
66
56
|
if (valor.length < 24 || /^https?:\/\//i.test(valor)) {
|
|
@@ -69,22 +59,16 @@ function collectReactIssues(src, relPath) {
|
|
|
69
59
|
const line = lineOf(match.index);
|
|
70
60
|
ocorrencias.push(warn(messages.ReactMensagens.hardcodedCredential, relPath, line));
|
|
71
61
|
}
|
|
72
|
-
// Redirecionamento direto via location.href em handlers
|
|
73
|
-
// Ignorar router.push/replace do Next.js (navegação segura via client-side routing)
|
|
74
62
|
const usesNextRouter = /useRouter|router\.(push|replace)/.test(src);
|
|
75
63
|
for (const match of src.matchAll(/location\.href\s*=\s*([^;]+)/gi)) {
|
|
76
64
|
const assignedValor = match[1] || '';
|
|
77
65
|
const line = lineOf(match.index);
|
|
78
|
-
// Ignorar se valor é string literal (não vem de input do usuário)
|
|
79
66
|
const isStaticString = /^['"`][^'"\`]*['"`]$/.test(assignedValor.trim());
|
|
80
|
-
// Ignorar se é window.location.href = '/path' (navegação interna estática)
|
|
81
67
|
const isInternalNavigation = /^['"`]\//.test(assignedValor.trim());
|
|
82
|
-
// Só reportar se for atribuição dinâmica (potencialmente de input do usuário)
|
|
83
68
|
if (!isStaticString && !isInternalNavigation && !usesNextRouter) {
|
|
84
69
|
ocorrencias.push(warn(messages.ReactMensagens.locationHrefRedirect, relPath, line));
|
|
85
70
|
}
|
|
86
71
|
}
|
|
87
|
-
// React 19: <form action={...}>
|
|
88
72
|
for (const match of src.matchAll(/<form[^>]*>/gi)) {
|
|
89
73
|
const hasAction = /\saction\s*=\s*\{/.test(match[0]);
|
|
90
74
|
if (hasAction) {
|
|
@@ -92,19 +76,16 @@ function collectReactIssues(src, relPath) {
|
|
|
92
76
|
ocorrencias.push(warn('React 19 form action detected', relPath, line, messages.SeverityNiveis.info));
|
|
93
77
|
}
|
|
94
78
|
}
|
|
95
|
-
// React 19: use() hook (called at top level in render)
|
|
96
79
|
for (const match of src.matchAll(/\bconst\s+\w+\s*=\s*use\s*\(/g)) {
|
|
97
80
|
const line = lineOf(match.index);
|
|
98
81
|
if (!/use[A-Z]/.test(match[0])) {
|
|
99
82
|
ocorrencias.push(warn('React 19 use() hook detected — ensure wrapped in Suspense boundary', relPath, line, messages.SeverityNiveis.info));
|
|
100
83
|
}
|
|
101
84
|
}
|
|
102
|
-
// 'use client' / 'use server' directives
|
|
103
85
|
if (/^['"]use (client|server)['"];/m.test(src)) {
|
|
104
86
|
ocorrencias.push(warn('Server Component directive detected', relPath, 1, messages.SeverityNiveis.info));
|
|
105
87
|
}
|
|
106
88
|
if (!/^['"]use client['"];/m.test(src) && /useState|useEffect|useContext|onClick/.test(src)) {
|
|
107
|
-
// This file uses client-side features without 'use client'
|
|
108
89
|
const hasClientFeatures = /useState|useEffect|useContext|onClick/.test(src);
|
|
109
90
|
if (hasClientFeatures) {
|
|
110
91
|
const firstLine = src.split('\n')[0]?.trim() ?? '';
|
|
@@ -113,17 +94,14 @@ function collectReactIssues(src, relPath) {
|
|
|
113
94
|
}
|
|
114
95
|
}
|
|
115
96
|
}
|
|
116
|
-
// React 19: forwardRef deprecation
|
|
117
97
|
for (const match of src.matchAll(/\bforwardRef\s*\(/g)) {
|
|
118
98
|
const line = lineOf(match.index);
|
|
119
99
|
ocorrencias.push(warn('forwardRef is deprecated in React 19 — pass ref as a regular prop instead', relPath, line, messages.SeverityNiveis.suggestion));
|
|
120
100
|
}
|
|
121
|
-
// React 19: React.FC / React.FunctionComponent / React.VoidFunctionComponent
|
|
122
101
|
for (const match of src.matchAll(/\bReact\.(FC|FunctionComponent|VoidFunctionComponent)\b/g)) {
|
|
123
102
|
const line = lineOf(match.index);
|
|
124
103
|
ocorrencias.push(warn(`React.${match[1]} is deprecated in React 19 — type props directly: (props: Props) => JSX.Element`, relPath, line, messages.SeverityNiveis.suggestion));
|
|
125
104
|
}
|
|
126
|
-
// React 19: defaultProps
|
|
127
105
|
for (const match of src.matchAll(/\.defaultProps\s*=\s*\{/g)) {
|
|
128
106
|
const line = lineOf(match.index);
|
|
129
107
|
ocorrencias.push(warn('defaultProps is deprecated in React 19 — use default parameter values instead', relPath, line, messages.SeverityNiveis.suggestion));
|
|
@@ -173,8 +151,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
173
151
|
const isTs = lower.endsWith('.ts') || lower.endsWith('.tsx');
|
|
174
152
|
const isJsxLike = lower.endsWith('.tsx') || lower.endsWith('.jsx');
|
|
175
153
|
const isJsFamily = /\.(js|mjs|cjs|jsx)$/i.test(lower);
|
|
176
|
-
// Em .ts puro o Babel com JSX pode aumentar falsos positivos; só parseamos quando o
|
|
177
|
-
// arquivo já passou pela heurística de JSX antes.
|
|
178
154
|
if (lower.endsWith('.ts') && !isJsxLike) {
|
|
179
155
|
return null;
|
|
180
156
|
}
|
|
@@ -183,7 +159,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
183
159
|
if (isTs) {
|
|
184
160
|
plugins.unshift('typescript');
|
|
185
161
|
}
|
|
186
|
-
// Robustez: projetos React frequentemente usam JSX em .js
|
|
187
162
|
if (isJsxLike || isJsFamily) {
|
|
188
163
|
plugins.unshift('jsx');
|
|
189
164
|
}
|
|
@@ -232,14 +207,11 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
232
207
|
const ariaHiddenVal = normalizeStringValue(ariaHidden?.value);
|
|
233
208
|
const roleVal = normalizeStringValue(role?.value);
|
|
234
209
|
const decorative = ariaHiddenVal === 'true' || /^(presentation|none)$/i.test(roleVal);
|
|
235
|
-
// Considerar alt presente se há atributo alt, mesmo se valor é expressão
|
|
236
210
|
if (!alt && !decorative) {
|
|
237
211
|
pushOnce(warn(messages.ReactMensagens.imgWithoutAlt, relPath, locLine));
|
|
238
212
|
}
|
|
239
213
|
}
|
|
240
214
|
if (findAttr(attrs, 'dangerouslySetInnerHTML')) {
|
|
241
|
-
// Skip if this is a <script type="speculationrules"> — dangerouslySetInnerHTML
|
|
242
|
-
// is required for Speculation Rules API (no children, only innerHTML).
|
|
243
215
|
if (tag.toLowerCase() === 'script') {
|
|
244
216
|
const typeAttr = findAttr(attrs, 'type');
|
|
245
217
|
if (typeAttr && /speculationrules/i.test(normalizeStringValue(typeAttr.value)))
|
|
@@ -247,16 +219,13 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
247
219
|
}
|
|
248
220
|
pushOnce(warn(messages.ReactMensagens.dangerouslySetInnerHTML, relPath, locLine));
|
|
249
221
|
}
|
|
250
|
-
// Inline Styles
|
|
251
222
|
const styleAttr = findAttr(attrs, 'style');
|
|
252
223
|
if (styleAttr?.value?.includes('{')) {
|
|
253
|
-
// Heurística: se o estilo tem mais de 2 propriedades, sugere mover para CSS/Styled
|
|
254
224
|
const numProps = (styleAttr.value.match(/:/g) ?? []).length;
|
|
255
225
|
if (numProps > 2) {
|
|
256
226
|
pushOnce(warn(messages.ReactMensagens.complexInlineStyles, relPath, locLine, messages.SeverityNiveis.warning));
|
|
257
227
|
}
|
|
258
228
|
}
|
|
259
|
-
// Verificar handlers inline em atributos JSX (ex.: onClick={() => ...})
|
|
260
229
|
for (const arquivo of node.attributes) {
|
|
261
230
|
try {
|
|
262
231
|
if (!textoTitulo.isJSXAttribute(arquivo) || !textoTitulo.isJSXIdentifier(arquivo.name)) {
|
|
@@ -268,7 +237,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
268
237
|
if (textoTitulo.isArrowFunctionExpression(expr) || textoTitulo.isFunctionExpression(expr)) {
|
|
269
238
|
pushOnce(warn(messages.ReactMensagens.inlineHandlerJsx, relPath, locLine));
|
|
270
239
|
}
|
|
271
|
-
// Detectar uso de índice como key (key={i} / key={index})
|
|
272
240
|
if (attrNome === 'key' && textoTitulo.isJSXExpressionContainer(arquivo.value) && textoTitulo.isIdentifier(arquivo.value.expression)) {
|
|
273
241
|
const id = arquivo.value.expression.name;
|
|
274
242
|
if (['i', 'index', 'idx'].includes(id)) {
|
|
@@ -278,12 +246,10 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
278
246
|
}
|
|
279
247
|
}
|
|
280
248
|
catch {
|
|
281
|
-
// ignora
|
|
282
249
|
}
|
|
283
250
|
}
|
|
284
251
|
}
|
|
285
252
|
catch {
|
|
286
|
-
// ignora
|
|
287
253
|
}
|
|
288
254
|
},
|
|
289
255
|
ClassMethod(path) {
|
|
@@ -298,7 +264,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
298
264
|
}
|
|
299
265
|
}
|
|
300
266
|
catch {
|
|
301
|
-
// ignora
|
|
302
267
|
}
|
|
303
268
|
},
|
|
304
269
|
CallExpression(path) {
|
|
@@ -324,7 +289,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
324
289
|
pushOnce(warn(messages.ReactMensagens.httpFetch, relPath, locLine));
|
|
325
290
|
}
|
|
326
291
|
}
|
|
327
|
-
// Detectar Array#map com callback retornando JSX sem key
|
|
328
292
|
if (propNome === 'map' && args.length >= 1) {
|
|
329
293
|
const cb = args[0];
|
|
330
294
|
const checkCallback = (fn) => {
|
|
@@ -338,7 +302,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
338
302
|
}
|
|
339
303
|
}
|
|
340
304
|
else {
|
|
341
|
-
// JSXFragment (<>...</>) não aceita atributo key - tratar como sem key
|
|
342
305
|
pushOnce(warn(messages.ReactMensagens.listItemNoKey, relPath, jsx.loc?.start.line ?? locLine));
|
|
343
306
|
}
|
|
344
307
|
};
|
|
@@ -356,7 +319,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
356
319
|
}
|
|
357
320
|
}
|
|
358
321
|
catch {
|
|
359
|
-
// ignora
|
|
360
322
|
}
|
|
361
323
|
};
|
|
362
324
|
if (textoTitulo.isFunctionExpression(cb)) {
|
|
@@ -369,7 +331,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
369
331
|
}
|
|
370
332
|
}
|
|
371
333
|
catch {
|
|
372
|
-
// ignora
|
|
373
334
|
}
|
|
374
335
|
},
|
|
375
336
|
AssignmentExpression(path) {
|
|
@@ -385,7 +346,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
385
346
|
const objNome = textoTitulo.isIdentifier(obj) ? obj.name : '';
|
|
386
347
|
const propNome = textoTitulo.isIdentifier(prop) ? prop.name : '';
|
|
387
348
|
if (objNome === 'location' && propNome === 'href') {
|
|
388
|
-
// Ignorar se RHS é string literal estática ou navegação interna
|
|
389
349
|
const right = node.right;
|
|
390
350
|
let isSafe = false;
|
|
391
351
|
if (textoTitulo.isStringLiteral(right)) {
|
|
@@ -398,7 +358,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
398
358
|
}
|
|
399
359
|
}
|
|
400
360
|
catch {
|
|
401
|
-
// ignora
|
|
402
361
|
}
|
|
403
362
|
},
|
|
404
363
|
ObjectProperty(path) {
|
|
@@ -424,7 +383,6 @@ function parseReactWithBabel(scan, relPath) {
|
|
|
424
383
|
pushOnce(warn(messages.ReactMensagens.hardcodedCredential, relPath, locLine));
|
|
425
384
|
}
|
|
426
385
|
catch {
|
|
427
|
-
// ignora
|
|
428
386
|
}
|
|
429
387
|
}
|
|
430
388
|
};
|
|
@@ -449,8 +407,6 @@ export const analistaReact = criarAnalista({
|
|
|
449
407
|
return null;
|
|
450
408
|
}
|
|
451
409
|
const scan = maskJsComments(src);
|
|
452
|
-
// Em arquivos .ts (não TSX), seja mais conservador para evitar falsos positivos
|
|
453
|
-
// com assertions/generics usando <T>.
|
|
454
410
|
if (/\.ts$/i.test(relPath) && !/\.tsx$/i.test(relPath)) {
|
|
455
411
|
const hasStrongJsxEvidence = /<\/[A-Za-z][^>]*>/.test(scan) || /\/>/.test(scan) || /React\.createElement/.test(scan);
|
|
456
412
|
if (!hasStrongJsxEvidence) {
|
|
@@ -465,7 +421,6 @@ export const analistaReact = criarAnalista({
|
|
|
465
421
|
if (!astMsgs.length && !heuristicMsgs.length) {
|
|
466
422
|
return null;
|
|
467
423
|
}
|
|
468
|
-
// Dedupe para evitar duplicatas quando AST e regex cobrem o mesmo caso.
|
|
469
424
|
const seen = new Set();
|
|
470
425
|
const merged = [];
|
|
471
426
|
const pushOnce = (metrica) => {
|
|
@@ -87,7 +87,6 @@ export function detectarCorrecoesReact(src, _relPath) {
|
|
|
87
87
|
confianca: 50
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
// React 19: forwardRef replacement
|
|
91
90
|
if (/\bforwardRef\s*\(/.test(linha)) {
|
|
92
91
|
correcoes.push({
|
|
93
92
|
tipo: 'react-forwardref-to-prop',
|
|
@@ -97,7 +96,6 @@ export function detectarCorrecoesReact(src, _relPath) {
|
|
|
97
96
|
confianca: 85
|
|
98
97
|
});
|
|
99
98
|
}
|
|
100
|
-
// React 19: React.FC replacement
|
|
101
99
|
if (/\bReact\.(FC|FunctionComponent)\s*</.test(linha)) {
|
|
102
100
|
correcoes.push({
|
|
103
101
|
tipo: 'react-fc-to-direct-type',
|
|
@@ -107,7 +105,6 @@ export function detectarCorrecoesReact(src, _relPath) {
|
|
|
107
105
|
confianca: 85
|
|
108
106
|
});
|
|
109
107
|
}
|
|
110
|
-
// React 19: defaultProps replacement
|
|
111
108
|
if (/\.defaultProps\s*=/.test(linha)) {
|
|
112
109
|
correcoes.push({
|
|
113
110
|
tipo: 'react-default-props-to-params',
|
|
@@ -117,7 +114,6 @@ export function detectarCorrecoesReact(src, _relPath) {
|
|
|
117
114
|
confianca: 90
|
|
118
115
|
});
|
|
119
116
|
}
|
|
120
|
-
// React 19: 'use client' directive missing
|
|
121
117
|
if (/^\s*import\s+/.test(linha) && /useState|useEffect|onClick/.test(linha)) {
|
|
122
118
|
correcoes.push({
|
|
123
119
|
tipo: 'react-use-client-missing',
|
|
@@ -9,18 +9,6 @@ const D = messages.DetectorReactMensagens;
|
|
|
9
9
|
function warn(tipo, mensagem, relPath, linha, sugestao, nivel = 'aviso') {
|
|
10
10
|
return criarOcorrencia({ tipo, nivel, mensagem, relPath, linha, sugestao });
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Decide se o valor passado a `dangerouslySetInnerHTML` é estático/controlado
|
|
14
|
-
* e, portanto, seguro o suficiente para NÃO gerar falso positivo.
|
|
15
|
-
* (ver feedback.md seção 1.3 — JSON-LD, string interna, conteúdo sanitizado).
|
|
16
|
-
*
|
|
17
|
-
* Consideramos controlado quando o valor é:
|
|
18
|
-
* - uma string literal (estática);
|
|
19
|
-
* - resultado de `JSON.stringify(...)` (ex.: JSON-LD / structured data);
|
|
20
|
-
* - resultado de uma chamada de sanitização/escape (`sanitize`, `escape`,
|
|
21
|
-
* `encode`, `secure`, etc.);
|
|
22
|
-
* - um template literal (conteúdo estático na prática).
|
|
23
|
-
*/
|
|
24
12
|
function isJsonStringifyCall(node) {
|
|
25
13
|
if (!t.isCallExpression(node)) {
|
|
26
14
|
return false;
|
|
@@ -55,7 +43,6 @@ function isControlledDangerousHtml(expr) {
|
|
|
55
43
|
if (isJsonStringifyCall(expr)) {
|
|
56
44
|
return true;
|
|
57
45
|
}
|
|
58
|
-
// JSON.stringify(data).replace(...) / .trim() — o objeto da chamada é JSON.stringify
|
|
59
46
|
if (t.isMemberExpression(expr.callee) && isJsonStringifyCall(expr.callee.object)) {
|
|
60
47
|
return true;
|
|
61
48
|
}
|
|
@@ -64,8 +51,6 @@ function isControlledDangerousHtml(expr) {
|
|
|
64
51
|
return true;
|
|
65
52
|
}
|
|
66
53
|
}
|
|
67
|
-
// JSON.stringify(...).replace(...) — o objeto da MemberExpression é a chamada
|
|
68
|
-
// JSON.stringify, então o conteúdo é estruturado/controlado (ex.: JSON-LD).
|
|
69
54
|
if (t.isMemberExpression(expr) && isJsonStringifyCall(expr.object)) {
|
|
70
55
|
return true;
|
|
71
56
|
}
|
|
@@ -118,11 +103,6 @@ export const detectorReactBestPractices = {
|
|
|
118
103
|
}
|
|
119
104
|
}
|
|
120
105
|
}
|
|
121
|
-
// Fallback conservador: quando o parse por AST falha, ainda detectamos
|
|
122
|
-
// dangerouslySetInnerHTML de forma limitada, alertando apenas quando o
|
|
123
|
-
// valor claramente vem de fonte externa/não controlada (props, params,
|
|
124
|
-
// localStorage, fetch, location, etc). Conteúdo estático/controlado é
|
|
125
|
-
// ignorado (ver feedback.md seção 1.3 - ex.: JSON-LD).
|
|
126
106
|
if (!deeper) {
|
|
127
107
|
linhas.forEach((linha, index) => {
|
|
128
108
|
if (/dangerouslySetInnerHTML/.test(linha) && !/speculationrules/i.test(linha)) {
|
|
@@ -175,20 +155,15 @@ function detectWithBabel(src, relPath) {
|
|
|
175
155
|
}
|
|
176
156
|
const locLine = path.node.loc?.start.line;
|
|
177
157
|
if (isHookName(name)) {
|
|
178
|
-
// Only flag hooks inside conditionals in the SAME function scope.
|
|
179
|
-
// Stop climbing at function boundaries (callbacks, event handlers, etc.)
|
|
180
|
-
// to avoid false positives when a conditional is inside a hook callback.
|
|
181
158
|
const parent = (() => {
|
|
182
159
|
let currentPath = path;
|
|
183
160
|
while (currentPath) {
|
|
184
161
|
const found = currentPath.findParent(p => p.isIfStatement() || p.isConditionalExpression() || p.isLogicalExpression() || p.isSwitchStatement() || p.isSwitchCase() || p.isForStatement() || p.isWhileStatement() || p.isDoWhileStatement() || p.isLoop());
|
|
185
162
|
if (found)
|
|
186
163
|
return found;
|
|
187
|
-
// Stop at function boundaries
|
|
188
164
|
const fnBoundary = currentPath.findParent(p => p.isFunction());
|
|
189
165
|
if (!fnBoundary)
|
|
190
166
|
return null;
|
|
191
|
-
// Check above the function boundary
|
|
192
167
|
const aboveFn = fnBoundary.findParent(p => p.isIfStatement() || p.isConditionalExpression() || p.isLogicalExpression() || p.isSwitchStatement() || p.isSwitchCase() || p.isForStatement() || p.isWhileStatement() || p.isDoWhileStatement() || p.isLoop());
|
|
193
168
|
if (aboveFn)
|
|
194
169
|
return aboveFn;
|
|
@@ -397,10 +372,6 @@ function detectWithBabel(src, relPath) {
|
|
|
397
372
|
pushOnce(warn('react-key-index', D.keyIndexUsage, relPath, locLine, D.keyIndexUsageSugestao, 'aviso'));
|
|
398
373
|
}
|
|
399
374
|
}
|
|
400
|
-
// dangerouslySetInnerHTML: só alerta quando o valor NÃO é estático/
|
|
401
|
-
// controlado (ex.: vem de props, params, fetch, localStorage). Conteúdo
|
|
402
|
-
// como JSON-LD (JSON.stringify) ou string interna é seguro e não deve
|
|
403
|
-
// gerar ruído (ver feedback.md seção 1.3).
|
|
404
375
|
if (name === 'dangerouslySetInnerHTML') {
|
|
405
376
|
const value = path.node.value;
|
|
406
377
|
let htmlExpr;
|