@shivaedev/quality 0.1.1 → 0.2.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 - 2026-09-28
4
+
5
+ ### Changed
6
+
7
+ - **Breaking:** Take `effect`, `@effect/platform-node` and
8
+ `@effect/platform-node-shared` as peer dependencies pinned to exact versions
9
+ instead of dependencies, so an install holds one copy of Effect. pnpm, npm
10
+ and Bun install them with the package. Migrate a repository that depends on
11
+ Effect to the pinned versions, 4.0.0-rc.112, before upgrading.
12
+
13
+ ### Fixed
14
+
15
+ - Pin `@effect/platform-node-shared` to the `effect` version, so the `quality`
16
+ command starts after a fresh install. Before, `@effect/platform-node` resolved
17
+ a newer `@effect/platform-node-shared` prerelease than its `effect`, and the
18
+ command crashed on start importing modules that `effect` lacks.
19
+
3
20
  ## 0.1.1 - 2026-09-26
4
21
 
5
22
  ### Changed
package/README.md CHANGED
@@ -10,6 +10,13 @@ Every rule is an error by default. A repository adopts the gate at once: it reco
10
10
  pnpm add --save-dev @shivaedev/quality
11
11
  ```
12
12
 
13
+ On pnpm 11, installing into a project needs a decision on `msgpackr-extract`, which `effect` pulls in: pnpm refuses its build script by default, and `pnpm add` fails with `ERR_PNPM_IGNORED_BUILDS`. Record the decision under `allowBuilds` in `pnpm-workspace.yaml`, or run `pnpm approve-builds`; `false` skips the build. `pnpm dlx` and `pnpm add --global` need no setting.
14
+
15
+ ```yaml
16
+ allowBuilds:
17
+ msgpackr-extract: false
18
+ ```
19
+
13
20
  Node 24 or later loads `quality.config.ts` directly (type stripping), so no build step runs first. Use only erasable TypeScript in the config, and give relative imports their `.ts` extension.
14
21
 
15
22
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/quality",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Repository quality gate with typed rules, a shrink-only baseline and a registry of reasoned exceptions",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -40,14 +40,20 @@
40
40
  "provenance": true
41
41
  },
42
42
  "dependencies": {
43
- "@effect/platform-node": "4.0.0-rc.112",
44
- "effect": "4.0.0-rc.112",
45
43
  "ignore": "7.0.6"
46
44
  },
45
+ "peerDependencies": {
46
+ "@effect/platform-node": "4.0.0-rc.112",
47
+ "@effect/platform-node-shared": "4.0.0-rc.112",
48
+ "effect": "4.0.0-rc.112"
49
+ },
47
50
  "devDependencies": {
51
+ "@effect/platform-node": "4.0.0-rc.112",
52
+ "@effect/platform-node-shared": "4.0.0-rc.112",
48
53
  "@effect/vitest": "4.0.0-rc.112",
49
54
  "@types/node": "24.10.1",
50
55
  "@typescript/native": "npm:typescript@7.0.2",
56
+ "effect": "4.0.0-rc.112",
51
57
  "typescript": "npm:@typescript/typescript6@6.0.2",
52
58
  "vitest": "4.1.9"
53
59
  },