workspace-conformance 4.0.1 → 4.0.3

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.
Files changed (2) hide show
  1. package/README.md +2 -0
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # workspace-conformance
2
2
 
3
+ [![GitHub](https://img.shields.io/badge/GitHub-181717?logo=github&logoColor=white)](https://github.com/ExaDev/workspace-conformance) [![npm](https://img.shields.io/badge/npm-CB3837?logo=npm&logoColor=white)](https://www.npmjs.com/package/workspace-conformance) [![Release](https://img.shields.io/github/v/release/ExaDev/workspace-conformance)](https://github.com/ExaDev/workspace-conformance/releases/latest) [![CI](https://img.shields.io/github/actions/workflow/status/ExaDev/workspace-conformance/ci.yml?branch=main)](https://github.com/ExaDev/workspace-conformance/actions)
4
+
3
5
  Conformance checks for a pnpm workspace that ESLint cannot express. Type-graph checks run on [ts-morph](https://ts-morph.com), import-graph checks run on [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) with rules generated from the shared `layout` section of [`@exadev/config`](https://github.com/ExaDev/config), file-tree and cross-config checks compare two files or read git state, workflow checks read GitHub Actions files, and settings checks read the repository's settings through the GitHub API. Each check reports violations with a stable code, a message and what the violation is about: a file and, where it has one, a position, or for the settings checks the repository.
4
6
 
5
7
  It complements the workspace architecture rules of [`@exadev/eslint-config`](https://github.com/ExaDev/eslint-config), it does not replace them. Those rules run in the editor and check what `package.json` files declare (`no-uphill-dependency` and `no-dependency-cycle`), incrementally and one file at a time. This tool checks what the code does: the import statements that actually cross packages, whether written as a package name, a relative path or a path alias, and everything that needs two files, the type checker or git. Both read the same `layout` section, so one description of the workspace drives both. Naming (`package-name-mirrors-path`) and per-file lint stay in ESLint.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "workspace-conformance",
3
3
  "description": "Conformance checks for a pnpm workspace that ESLint cannot express: type-graph, import-graph and cross-file checks driven by the shared layout section of @exadev/config",
4
- "version": "4.0.1",
4
+ "version": "4.0.3",
5
5
  "bin": {
6
6
  "workspace-conformance": "./dist/cli.js"
7
7
  },
@@ -33,6 +33,7 @@
33
33
  "@types/node": "26.6.3",
34
34
  "@types/semver": "7.8.0",
35
35
  "@vitest/coverage-v8": "4.1.11",
36
+ "conventional-changelog-conventionalcommits": "9.3.1",
36
37
  "cosmiconfig": "10.0.1",
37
38
  "eslint": "10.11.0",
38
39
  "husky": "9.1.7",