@pragmatiks/lint 0.2.0 → 0.3.4

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,35 @@
1
1
  # Changelog
2
2
 
3
+ ## js-v0.3.4 (2026-05-25)
4
+
5
+ ### Bug Fixes
6
+
7
+ - **js**: upgrade npm in CI to enable OIDC trusted publishers
8
+
9
+ ## js-v0.3.3 (2026-05-25)
10
+
11
+ ### Bug Fixes
12
+
13
+ - **js**: remove registry-url from setup-node so npm uses OIDC
14
+
15
+ ## js-v0.3.2 (2026-05-25)
16
+
17
+ ### Bug Fixes
18
+
19
+ - **js**: add OIDC subject debug step to publish workflow
20
+
21
+ ## js-v0.3.1 (2026-05-25)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **js**: use npm publish for OIDC compatibility
26
+
27
+ ## js-v0.3.0 (2026-05-25)
28
+
29
+ ### Features
30
+
31
+ - **rules**: recognize pathlib + subprocess + shutil I/O in pra-io-prefix-mismatch (#4)
32
+
3
33
  ## js-v0.2.0 (2026-05-10)
4
34
 
5
35
  ### Misc
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pragmatiks/lint",
3
- "version": "0.2.0",
3
+ "version": "0.3.4",
4
4
  "description": "Pragmatiks engineering principles eslint config and bundled semgrep rules.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -23,6 +23,12 @@
23
23
  "LICENSE",
24
24
  "CHANGELOG.md"
25
25
  ],
26
+ "scripts": {
27
+ "build": "tsup",
28
+ "format": "prettier --write .",
29
+ "check": "eslint . && tsc --noEmit",
30
+ "test": "vitest run"
31
+ },
26
32
  "peerDependencies": {
27
33
  "eslint": "^9.0.0",
28
34
  "eslint-plugin-sonarjs": "^4.0.0",
@@ -47,6 +53,11 @@
47
53
  "publishConfig": {
48
54
  "access": "public"
49
55
  },
56
+ "pnpm": {
57
+ "onlyBuiltDependencies": [
58
+ "esbuild"
59
+ ]
60
+ },
50
61
  "keywords": [
51
62
  "eslint",
52
63
  "eslint-config",
@@ -60,11 +71,5 @@
60
71
  "type": "git",
61
72
  "url": "git+https://github.com/pragmatiks/pragma-lint.git",
62
73
  "directory": "js"
63
- },
64
- "scripts": {
65
- "build": "tsup",
66
- "format": "prettier --write .",
67
- "check": "eslint . && tsc --noEmit",
68
- "test": "vitest run"
69
74
  }
70
- }
75
+ }
@@ -36,6 +36,67 @@ rules:
36
36
  ...
37
37
  requests.$METHOD(...)
38
38
  ...
39
+ - pattern-not: |
40
+ def $NAME(...):
41
+ ...
42
+ $PATH.read_text(...)
43
+ ...
44
+ - pattern-not: |
45
+ def $NAME(...):
46
+ ...
47
+ $PATH.read_bytes(...)
48
+ ...
49
+ - pattern-not: |
50
+ def $NAME(...):
51
+ ...
52
+ $PATH.write_text(...)
53
+ ...
54
+ - pattern-not: |
55
+ def $NAME(...):
56
+ ...
57
+ $PATH.write_bytes(...)
58
+ ...
59
+ - pattern-not: |
60
+ def $NAME(...):
61
+ ...
62
+ $PATH.unlink(...)
63
+ ...
64
+ - pattern-not: |
65
+ def $NAME(...):
66
+ ...
67
+ $PATH.mkdir(...)
68
+ ...
69
+ - pattern-not: |
70
+ def $NAME(...):
71
+ ...
72
+ $PATH.exists(...)
73
+ ...
74
+ - pattern-not: |
75
+ def $NAME(...):
76
+ ...
77
+ $PATH.iterdir(...)
78
+ ...
79
+ - pattern-not: |
80
+ def $NAME(...):
81
+ ...
82
+ $PATH.glob(...)
83
+ ...
84
+ - pattern-not: |
85
+ def $NAME(...):
86
+ ...
87
+ $PATH.rmdir(...)
88
+ ...
89
+ - pattern-not: |
90
+ def $NAME(...):
91
+ ...
92
+ shutil.$METHOD(...)
93
+ ...
94
+ - pattern-not: |
95
+ def $NAME(...):
96
+ ...
97
+ subprocess.$METHOD(...)
98
+ ...
99
+ - pattern-not-regex: '(?s)\bos\.(mkdir|makedirs|rmdir|removedirs|remove|unlink|rename|replace|kill|chdir|chmod|chown|symlink|link|stat|lstat|listdir|scandir|access|system|popen|path\.(exists|isfile|isdir|islink|getsize))\('
39
100
  - pattern-not-regex: '(?s)(database|session|connection|cursor|client)\.(execute|fetch|get|post|put|delete|query|read|write|save)\('
40
101
  message: "principle #7 I/O-prefixed function appears pure. Rename it with compute, build, derive, format, or parse."
41
102
  severity: WARNING