Skip to content

Releases: upgradejs/upjs-plato

Release list

v2.0.0

Choose a tag to compare

@etagwerker etagwerker released this 10 Aug 19:44
v2.0.0
7a79627

First major release of upjs-plato since the fork. Collects the work merged to main since 1.3.1.

Added

  • Dynamic configuration loading for Babel and ESLint: callers can now point at their own .babelrc / ESLint configs without needing the relevant plugins installed as direct dependencies of upjs-plato. (#2)
  • Dependencies reports in the HTML output: audit (yarn audit / npm audit), outdated (yarn outdated / npm outdated), and depngn (Node engine compatibility). Two new CLI flags drive these:
    • -p / --projectRoot: directory containing the lockfile used by audit / outdated / depngn. Defaults to the current working directory.
    • -T / --targetNode: target Node major version for the depngn report. (#3)

Changed

  • Churn collection is now enabled by default when the working directory is a git repo. gitPath defaults to projectRoot (which itself defaults to cwd), so the "Churn vs Complexity" chart populates without needing to pass -g. -g still works as an explicit override (e.g., for monorepos with nested .git directories). Non-git directories log a warning and continue instead of crashing. (#7)

Fixed

  • "Churn vs Complexity" chart in the HTML report no longer renders blank. The serializer was reading aggregate.complexity.cyclomatic (undefined) instead of aggregate.cyclomatic; every point was getting y: undefined so Highcharts rendered nothing. This bug had been there since the chart was first added, but was masked because churn collection itself was opt-in. (#7)

Documentation

  • README example for running via npx upjs-plato. (#5)
  • README install instructions for Yarn and a note clarifying the upjs-plato executable name. (#6)

Infrastructure

  • Replaced the non-functional Travis CI config with a GitHub Actions workflow. CI now runs on Ubuntu and macOS across Node 18, 20, 22, and 24. (#8, #12, #13)
  • Code coverage is reported on every CI run on Node 22+ (where --test-coverage-exclude is available), using Node's built-in --experimental-test-coverage flag. (#12, #13)
  • engines.node set to >= 18.0.0 (was >= 0.10.0) to honestly reflect the supported range. Node 16 was investigated but blocked by a transitive yarn-audit-html engine requirement. (#8, #13)
  • npm test now runs node --test test/*_test.js (built-in test runner, no new dependencies) instead of the previous TODO placeholder. (#8)
  • Published tarball trimmed from 707 files / 4.6 MB to 75 files / 588 KB via a files allowlist in package.json. Dev-only files (.github/, test/, .editorconfig, etc.) are no longer shipped. (#11)