@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 +12 -0
- package/package.json +1 -5
- package/rules/tsconfigs.md +9 -6
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.
|
|
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",
|
package/rules/tsconfigs.md
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
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.
|
|
10
|
-
- "tool:write(**/tsconfig.
|
|
11
|
-
interruptMode:
|
|
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
|
|
15
|
-
2. **Node Types Boundary:** `"node"` or `"@types/node"` must not appear in `compilerOptions.types`
|
|
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.
|