Skip to content

feat(config): one .polyscan.toml for every language, with --config - #199

Merged
DaisukeYoda merged 2 commits into
mainfrom
feat/polyscan-config
Oct 10, 2026
Merged

DaisukeYoda merged 2 commits into
mainfrom
feat/polyscan-config

Conversation

@DaisukeYoda

Copy link
Copy Markdown
Member

Closes #183.

  • polyscan reads the nearest .polyscan.toml at or above the first analyzed path, or the file given with --config/-c on analyze and check.
  • The file has three sections:
    • [analysis] sets exclude and include_tests.
    • [complexity] sets the risk thresholds, which now apply to Go, Rust and C++ as well.
    • [check] sets the thresholds of polyscan check.
  • A flag takes precedence over the file, and --exclude adds to the file's patterns.
  • The file is strict. An unknown key or an invalid value fails the run, and check exits 2.
  • The jscan configuration files, such as jscan.config.json, and the JSCAN_CONFIG variable are no longer read. A run that reaches one before any .polyscan.toml fails and names the file. polyscan does not read pyscn's own files and does not treat them as errors.
  • The jscan loader, its parsed-but-ignored schema and viper are removed.
  • The docs, README, CHANGELOG and jscan wrapper messages are updated.

…ig (#183)

polyscan reads the nearest .polyscan.toml at or above the first analyzed
path, or the file given with --config/-c on analyze and check. The file
sets [analysis] exclude and include_tests, the [complexity] risk
thresholds for every language, and the [check] thresholds. A flag takes
precedence over the file, and --exclude adds to its patterns. An unknown
key or an invalid value fails the run.

The jscan configuration files and JSCAN_CONFIG are no longer read. A run
that meets one before any .polyscan.toml fails and names the file. The
jscan loader, its parsed-but-ignored schema and viper are removed.
@DaisukeYoda
DaisukeYoda merged commit 900dc25 into main Oct 10, 2026
6 checks passed
@DaisukeYoda
DaisukeYoda deleted the feat/polyscan-config branch October 10, 2026 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

config: one configuration file for every language, with --config

1 participant