@systemfsoftware/omp-typescript-discipline 1.0.5 → 1.0.7

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,17 @@
1
1
  # @systemfsoftware/omp-typescript-discipline
2
2
 
3
+ ## 1.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - The tsconfig rule now also covers a package's app project when the package is split into project references, allows `node` types in test projects, and no longer interrupts the agent mid-stream.
8
+
9
+ ## 1.0.6
10
+
11
+ ### Patch Changes
12
+
13
+ - Bump the stryker catalog to pull in the latest patch releases of the stryker-js ecosystem.
14
+
3
15
  ## 1.0.5
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@systemfsoftware/omp-typescript-discipline",
3
3
  "license": "Apache-2.0",
4
- "version": "1.0.5",
4
+ "version": "1.0.7",
5
5
  "author": "Ryan Lee <drdgvhbh@gmail.com>",
6
6
  "description": "OMP TypeScript discipline plugin: enforces project references for tooling files and pure tsconfig boundaries",
7
7
  "type": "module",
@@ -11,10 +11,6 @@
11
11
  "publishConfig": {
12
12
  "provenance": true
13
13
  },
14
- "devDependencies": {
15
- "oxlint": "~1.82.0",
16
- "@systemfsoftware/oxlint-config": "^0.1.0"
17
- },
18
14
  "repository": {
19
15
  "type": "git",
20
16
  "url": "git+https://github.com/systemfsoftware/systemfsoftware.git",
@@ -1,15 +1,18 @@
1
1
  ---
2
- description: Enforce TypeScript project references for root/tooling configs and forbid @types/node in main tsconfig.json
2
+ description: Tooling files and @types/node belong in a referenced tsconfig.node.json, never in a package's main or app project, so shipped source is not typechecked against Node globals
3
3
  condition: '("types"\s*:\s*\[[^\]]*"(@types\/)?node"[^\]]*\]|"include"\s*:\s*\[[^\]]*\b(tsdown|vitest|vite|eslint|oxlint|playwright|storybook|dprint|scripts)\b)'
4
4
  scope:
5
5
  - "tool:edit(**/tsconfig.json)"
6
6
  - "tool:write(**/tsconfig.json)"
7
7
  - "tool:edit(**/tsconfig.build.json)"
8
8
  - "tool:write(**/tsconfig.build.json)"
9
- - "tool:edit(**/tsconfig.src.json)"
10
- - "tool:write(**/tsconfig.src.json)"
11
- interruptMode: 'tool-only'
9
+ - "tool:edit(**/tsconfig.app.json)"
10
+ - "tool:write(**/tsconfig.app.json)"
11
+ interruptMode: never
12
+ recurrence: recurring
12
13
  ---
13
14
 
14
- 1. **Tooling & Root files:** Root-level tooling files (e.g. `tsdown.config.ts`, `vitest.config.ts`, `vite.config.ts`, scripts, configs) outside `src` / `test` / `tests` / `__tests__` must NOT be included in the primary package `tsconfig.json`. They must be isolated in a dedicated project configuration (e.g. `tsconfig.node.json`) referenced via TypeScript project references (`references: [{ "path": "./tsconfig.node.json" }]`).
15
- 2. **Node Types Boundary:** `"node"` or `"@types/node"` must not appear in `compilerOptions.types` in the main library `tsconfig.json`. Node types belong exclusively in the referenced tooling config (e.g. `tsconfig.node.json`).
15
+ 1. **Tooling & Root files:** Root-level tooling files (e.g. `tsdown.config.ts`, `vitest.config.ts`, `vite.config.ts`, scripts, configs) outside `src` / `test` / `tests` / `__tests__` must NOT be included in the package's source project (`tsconfig.app.json`, or `tsconfig.json` where the package has no project split). They belong in a dedicated `tsconfig.node.json` referenced from the root `tsconfig.json`.
16
+ 2. **Node Types Boundary:** `"node"` or `"@types/node"` must not appear in `compilerOptions.types` of the source project. Node types belong in `tsconfig.node.json`, or in `tsconfig.test.json` when the tests themselves need them.
17
+
18
+ Legal: a test project listing `node` types; a root `tsconfig.json` holding only `files: []` and `references`. Same-turn re-issue of the corrected write is not a new trigger.