@fabriziosalmi/slopless 1.6.0 → 1.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabriziosalmi/slopless",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -22,7 +22,7 @@
22
22
  "verify:bundle": "node scripts/verify-bundle.js",
23
23
  "verify:action": "bash scripts/run-action-locally.sh . 'src/**/*.ts'",
24
24
  "release:prep": "npm run docs:gen && npm run build && npm test && npm run verify:bundle",
25
- "version": "npm run docs:gen && npm run build && git add dist docs README.md"
25
+ "version": "node scripts/check-changelog.js && npm run docs:gen && npm run build && git add dist docs README.md"
26
26
  },
27
27
  "keywords": [
28
28
  "linter",
@@ -15,6 +15,15 @@ match:
15
15
  - ts
16
16
  - py
17
17
  - sh
18
+ - go
19
+ - rs
20
+ - java
21
+ - c
22
+ - cpp
23
+ - cs
24
+ - kt
25
+ - swift
26
+ - rb
18
27
  supersedes:
19
28
  - VBC-907
20
29
  - VBC-150
@@ -18,6 +18,13 @@ match:
18
18
  - c
19
19
  - cpp
20
20
  - md
21
+ - go
22
+ - rs
23
+ - java
24
+ - cs
25
+ - kt
26
+ - swift
27
+ - rb
21
28
  message: >-
22
29
  Passive-aggressive or helpless comment '{match}' detected at line {line}. Replace with a
23
30
  technical explanation of the actual constraint or a link to the relevant issue tracker ticket.
@@ -10,26 +10,44 @@ match:
10
10
  (?:^[ \t]*(?:#|//)(?=[^\nA-Za-z0-9]*$)[^\n]*[-=*#_|/\\+~^]{6,}[^\n]*$\n){3,}
11
11
  flags: m
12
12
  multiline: true
13
+ scan: comments
13
14
  file_types:
14
15
  - js
15
16
  - ts
16
17
  - py
17
18
  - sh
19
+ - go
20
+ - rs
21
+ - java
22
+ - c
23
+ - cpp
24
+ - cs
25
+ - kt
26
+ - swift
27
+ - rb
18
28
  message: >-
19
29
  Block of decoration at line {line}: three or more comment lines that are shape and nothing
20
30
  else. A rule around a section heading is punctuation and is not reported; a banner is furniture
21
31
  that has to be maintained.
22
32
  tests:
23
33
  fire:
34
+ # A `#` banner needs a file where `#` opens a comment.
35
+ - file: a.py
36
+ code: |
37
+ # ####################
38
+ # ####################
39
+ # ####################
24
40
  - |
25
- # ####################
26
- # ####################
27
- # ####################
41
+ // ####################
42
+ // ####################
43
+ // ####################
28
44
  quiet:
29
- - |
30
- # --------------------------------
31
- # Shared fixtures from public data
32
- # --------------------------------
33
- - |
34
- # ------------------------------
35
- - '# - handles retries'
45
+ - file: a.py
46
+ code: |
47
+ # --------------------------------
48
+ # Shared fixtures from public data
49
+ # --------------------------------
50
+ - file: a.py
51
+ code: |
52
+ # ------------------------------
53
+ - { file: a.py, code: '# - handles retries' }
@@ -15,6 +15,13 @@ match:
15
15
  - sh
16
16
  - c
17
17
  - cpp
18
+ - go
19
+ - rs
20
+ - java
21
+ - cs
22
+ - kt
23
+ - swift
24
+ - rb
18
25
  message: >-
19
26
  Tracked debt marker still in the code at line {line}. It is attributed, so close the ticket
20
27
  or delete the marker before shipping.
@@ -10,9 +10,26 @@ match:
10
10
  (As an AI language model|It's important to remember that|In conclusion,|Let's dive into|the
11
11
  landscape of|tapestry of|delve into|unleash|unlocking|delving into|testament to)
12
12
  flags: i
13
+ scan: comments
13
14
  file_types:
14
15
  - md
15
16
  - txt
17
+ - go
18
+ - rs
19
+ - java
20
+ - c
21
+ - cpp
22
+ - cs
23
+ - kt
24
+ - swift
25
+ - rb
26
+ - html
27
+ - js
28
+ - ts
29
+ - tsx
30
+ - jsx
31
+ - py
32
+ - sh
16
33
  message: >-
17
34
  Potential AI-generated fluff or overused cliché '{match}' detected at line {line}. Keep
18
35
  documentation concise and human-centric.
@@ -16,6 +16,15 @@ match:
16
16
  - py
17
17
  - sh
18
18
  - css
19
+ - go
20
+ - rs
21
+ - java
22
+ - c
23
+ - cpp
24
+ - cs
25
+ - kt
26
+ - swift
27
+ - rb
19
28
  supersedes:
20
29
  - VBC-907
21
30
  - VBC-150
@@ -5,20 +5,36 @@ category: clean-code
5
5
  tags:
6
6
  - clean-code
7
7
  match:
8
+ # The marker has to open the comment. Matching it mid-sentence read prose
9
+ # about TODOs as a TODO: `// a TODO. Sites that DO build a header ...`
8
10
  regex: >-
9
- \b(?:TODO|FIXME|HACK|XXX)\b(?!\s*[\(\[][^)\]\n]+[\)\]])(?!\s*:?\s*(?:#\d+|[A-Z][A-Z0-9]+-\d+))
11
+ ^[^\n\w]*(?:TODO|FIXME|HACK|XXX)\b(?!\s*[\(\[][^)\]\n]+[\)\]])(?!\s*:?\s*(?:#\d+|[A-Z][A-Z0-9]+-\d+))
12
+ flags: m
10
13
  scan: comments
11
14
  file_types:
12
15
  - js
13
16
  - ts
14
17
  - py
15
18
  - sh
19
+ - go
20
+ - rs
21
+ - java
22
+ - c
23
+ - cpp
24
+ - cs
25
+ - kt
26
+ - swift
27
+ - rb
16
28
  message: >-
17
29
  Unattributed debt marker at line {line}. Nobody owns it, so nobody will fix it. Use TODO(owner):
18
30
  or reference an issue such as TODO: #123.
19
31
  tests:
20
32
  fire:
21
33
  - '// TODO: wire up retries'
34
+ - '// TODO: drain the queue before closing'
22
35
  quiet:
36
+ # Prose about a TODO is not a TODO.
37
+ - '// a TODO. Sites that build a header from dynamic data need one'
38
+ - '/// Reviewer note: `?` used to be a TODO no-op'
23
39
  - '// TODO(fab): wire up retries'
24
40
  - '// TODO: #123 wire up retries'
@@ -20,6 +20,14 @@ match:
20
20
  - rs
21
21
  - java
22
22
  - sh
23
+ - tsx
24
+ - jsx
25
+ - c
26
+ - cpp
27
+ - cs
28
+ - kt
29
+ - swift
30
+ - rb
23
31
  message: >-
24
32
  Placeholder text 'Lorem ipsum' detected at line {line}. Replace with real content before
25
33
  committing.
@@ -8,9 +8,19 @@ tags:
8
8
  match:
9
9
  regex: (coming soon|under construction|not yet written|🚧\s*wip|todo:\s*write)
10
10
  flags: i
11
+ scan: comments
11
12
  file_types:
12
13
  - md
13
14
  - txt
15
+ - go
16
+ - rs
17
+ - java
18
+ - c
19
+ - cpp
20
+ - cs
21
+ - kt
22
+ - swift
23
+ - rb
14
24
  message: >-
15
25
  Placeholder documentation content '{match}' at line {line}. Documentation stubs with "coming
16
26
  soon" text signal an abandoned project to new contributors. Either write the section or