Skip to content

v0.30.0

Latest

Choose a tag to compare

@getlarge getlarge released this 01 Apr 07:53
v0.30.0
5564945

0.30.0 (2024-04-01)

馃殌 Features

  • configure build and tests to handle ESM and CJS configs (48cd967)
  • support TS config files using Jiti + hackfix lighthouse import.meta usages (3b7927d)
  • support top-level await in config files (7712250)
  • add transform to persist config (#229)
  • cli: use bundle-require instead of jiti (no hackfix, but also no CJS configs) (028c592)
  • cli: setup yargs for cli (#42)
  • cli: initial collect command (#45)
  • cli: persist login and formatting options (#47)
  • cli: disabled version option (#162)
  • cli: add --persist.filename cli option (#187)
  • cli: introduce the onlyPlugins option (#246)
  • cli: add autoloading of the config file (#361)
  • cli: add hints to commands (#443)
  • cli: add logger (#459)
  • cli: print full report url after upload (0eb7771)
  • cli: add --tsconfig option (67abfb7)
  • cli: include commit info in report.json (5965900)
  • cli: implement compare command (314e7ba)
  • cli: include md format by default (65a08ea)
  • core: add core package (dd8ddae)
  • core: add esm plugin logic (#248)
  • core: change to execute all plugins before throwing on failed (#275)
  • core: improve upload error messages, extend icon set (2251ebd)
  • core: add grouping of promise results by status (5f50e8e)
  • core: update portal-client to version with request timeouts (173bd2f)
  • core: add optional upload.timeout to config (fdc3f58)
  • core: convert all issue file paths after executing plugin (d82c68d)
  • core: implement categories, groups and audits comparisons (72d6c14)
  • core: implement compare reports functions (5493cc4)
  • core: add history logic (#541)
  • core: create report-diff.md file if specified by persist.format (8c4e1e4)
  • examples-plugins: add package-json plugin 馃摝 (#354)
  • examples-plugins: add lighthouse to examples (#417)
  • models: setup types and parser with zod (7d5c99e)
  • models: validate plugin icons using portal-client package (f52cc75)
  • models: add isBinary field to category schema (8b13039)
  • models: add report filename option (#174)
  • models: add missing schema exports (36d3eea)
  • models: create reportsDiff schema (75dc8aa)
  • nx-plugin: initial setup and init command (#51)
  • nx-plugin: add configuration generator (#294)
  • plugin-coverage: set up plugin-coverage package (8b18a0f)
  • plugin-coverage: implement plugin configuration (513c518)
  • plugin-coverage: implement lcov parsing (800e2d0)
  • plugin-coverage: provide coverage group (8cddfcd)
  • plugin-coverage: add coverage tool run option, convert to runnerConfig (d259c14)
  • plugin-coverage: get coverage paths using nx (cd499ea)
  • plugin-coverage: allow passing results as strings (6813021)
  • plugin-eslint: register audit metadata based on eslintrc and file patterns (3aac581)
  • plugin-eslint: convert rule ids to slugs, add basic description to audits (971c97a)
  • plugin-eslint: rule options used to identify audit, options in slug (hash) and description (b9f51c9)
  • plugin-eslint: include NPM package name and version (25bda11)
  • plugin-eslint: validate initializer params with Zod (56e1aee)
  • plugin-eslint: implement runner logic (0ad5445)
  • plugin-eslint: configure bin entry point (b34ecb2)
  • plugin-eslint: create groups from rules' meta.type (problem/suggestion/layout) (0350e49)
  • plugin-eslint: create groups from rules' meta.docs.category (per plugin) (56e129c)
  • plugin-eslint: add support for inline eslint config (67571eb)
  • plugin-eslint: provide Nx helper to combine eslint config from all projects (82fa3e1)
  • plugin-eslint: provide Nx helper to combine eslint configs from project with deps (29cd887)
  • plugin-eslint: add docs url (d6a6b2a)
  • plugin-eslint: set "passed" displayValue for ESLint audits (40f61a4)
  • plugin-js-packages: implement plugin schema and configuration flow (e2ce3f6)
  • plugin-js-packages: use group per check, audit per dependency group (1405e7d)
  • plugin-js-packages: implement runner for npm audit (6aa55a2)
  • plugin-js-packages: implement runner for npm outdated (7cb623b)
  • plugin-js-packages: add runner config integration test, restructure runner (cae4ca8)
  • plugin-js-packages: improve output, scoring, error handling (b9f1432)
  • plugin-js-packages: introduce yarn v1 outdated, unify type (ca7905a)
  • plugin-js-packages: introduce yarn v1 audit, unify type (ee3209d)
  • plugin-js-packages: process audit and outdated for different package managers (3218162)
  • plugin-js-packages: fix npm v10 behaviour, parse json-lines (daa5c5d)
  • plugin-js-packages: add Yarn v2 outdated, improve naming (1feaf05)
  • plugin-js-packages: add Yarn v2 audit, improve plugin title (ab2402b)
  • plugin-lighthouse: add onlyAudits logic (#472)
  • plugin-lighthouse: add only filters logic for categories (#515)
  • plugin-lighthouse: implement basic audit parsing (#523)
  • utils: add package utils for cli independent logic (#39)
  • utils: add command line args helper (#52)
  • utils: add file size logging (#65)
  • utils: move parts from utils into core (#81)
  • utils: add upload logic (#66)
  • utils: implement verbose helper logic (#121)
  • utils: add scoring logic (#133)
  • utils: implement report.md formatting (#196)
  • utils: update git latest commit functionality (#205)
  • utils: implement a new design for stdout (#206)
  • utils: add audits sorting for reports (#302)
  • utils: add file-system helper (#336)
  • utils: add utility function for truncating texts (bdce572)
  • utils: add sorting of audit issues for report md (b1c5dd7)
  • utils: include timezone in report.md (27d267a)
  • utils: implement helpers for making paths relative to git root (b12df6d)
  • utils: add git helper (#469)
  • utils: add helper functions for diffing (4e87cd5)
  • utils: implement markdown diff formatting (5f453ef)
  • utils: improve reports diff formatting (2bee85e)
  • utils: handle unchanged reports diff (0cdcb9e)
  • utils: sort changed categories/groups/audits by most affected (74cb57e)
  • utils: include unchanged and added categories in markdown table (4e53077)
  • utils: improve diff md formatting - change icon, n/a cells, percentage space (27290f2)
  • utils: use auto-link commit format (GitHub/GitLab) in markdown (2f26c6c)

馃┕ Fixes

  • sync package-lock.json with npm install (0fde5f3)
  • formatting (7e5e743)
  • lint config and errors (6f5f677)
  • refactor after core package intro (#83)
  • stop CLI when a plugin fails (263537c)
  • package json lock (#562)
  • cli: run npm install before tests (6507c2e)
  • cli: changed persist format options to array (#153)
  • cli: parse multiple config args to last item of array (#164)
  • cli: replace clui on @isaacs/cliui (#282)
  • cli: exclude nested kebab-case keys, update tests (741d5a5)
  • cli: fix json format handling (#360)
  • cli: adjust persist.format options (#363)
  • cli: set terminal output to full width (#362)
  • cli: make onlyPlugins filter based on plugin not audit/group slug (e963c36)
  • cli: fix missing executable permissions for index.js (0fd2eb4)
  • cli-e2e: re-create package-lock.json (8a99ec0)
  • core: audit metadata looked up in plugin config, not expected in output (31ffd5e)
  • core: include package.json data (0fef0c3)
  • core: update portal-client, fixed missing graphql dependency (c16c0c8)
  • core: upload issue without source if file not linked (2923dbd)
  • core: ensure output directory exists in compareReportFiles (cf309bc)
  • models: add package.lock (8075613)
  • models: allow empty string as docsUrl (1c34d92)
  • models: increase character limit for issue message (e6f6fc8)
  • models: fix use case for a group reference but empty audits, clean up tests (d311b95)
  • models: issue file positions must be positive integers (727926e)
  • plugin-coverage: calculate coverage for no found entities as full coverage (349c772)
  • plugin-coverage: convert new lines on Windows for parse-lcov, update docs (3195da2)
  • plugin-eslint: exclude rules which are turned off (f2cc454)
  • plugin-eslint: ensure runner output directory exists (fca87f5)
  • plugin-eslint: pluralize audit display value based on count (aa35d0c)
  • plugin-eslint: handle implicitly relative config paths (39a7d43)
  • plugin-eslint: omit empty docsUrl in audit metadata (3127683)
  • plugin-eslint: allow unmatched patterns (d350187)
  • plugin-eslint: ensure working directory exists before writing .eslintrc.json (3f19d6f)
  • plugin-eslint: dynamic import for optional peer dep @nx/devkit (ab62f2f)
  • plugin-eslint: truncate rule texts to pass models validations (a6aac56)
  • plugin-eslint: set default lint file patterns for Nx projects (9db19d0)
  • plugin-eslint: fix default Nx lint patterns - directory not valid for "files" in eslintrc (6865800)
  • plugin-eslint: truncate long issue messages (c39d0cc)
  • plugin-eslint: handle rules which emit column 0 (de791e1)
  • plugin-eslint: pass arguments via config file instead of argv (dca0266)
  • plugin-eslint: eslint startline can be zero (#563)
  • plugin-eslint: allow minor updates to eslint dependency (efbe028)
  • testing: fix tests for Windows (#165)
  • utils: handle descriptions ending in code block in report.md (a9a05ad)
  • utils: set fixed locale for date in report.md (aa4694b)
  • utils: sort groups and category refs correctly in report (76a7636)
  • utils: use shields.io for colorizing changed values (d0eb475)
  • utils: literal asterisk in Markdown doc should be escaped (6348ba3)
  • utils: prevent mixed summary when some audit changed only value (20673fd)
  • utils: use unicode arrows with wider OS support (271155e)
  • utils,cli: remove all mentions of the interactive option (#245)
  • workflows: update and improve labeler options (146434a)

馃敟 Performance

  • utils: add benchmark logic and example (#137)
  • utils: improve the performance of scoring and reporting (#212)
  • utils: setup microbenchmark for crawlFileSystem (#355)
  • utils: add benchmarks for file system walk and glob libs (#514)

鉂わ笍 Thank You